{"version":3,"sources":["../node_modules/antd/lib/input/Input.js","../node_modules/antd/lib/typography/util.js","../node_modules/antd/lib/typography/Link.js","../node_modules/antd/lib/typography/Title.js","../node_modules/antd/lib/typography/Paragraph.js","../node_modules/pdfjs-dist/build/pdf.worker.js","../node_modules/url/url.js","../node_modules/node-libs-browser/node_modules/punycode/punycode.js","../node_modules/url/util.js","../node_modules/querystring-es3/index.js","../node_modules/querystring-es3/decode.js","../node_modules/querystring-es3/encode.js","../node_modules/antd/node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/antd/node_modules/@babel/runtime/helpers/extends.js","../node_modules/@babel/runtime/helpers/interopRequireWildcard.js","../node_modules/@babel/runtime/helpers/objectSpread2.js","../node_modules/rc-steps/es/Step.js","../node_modules/rc-steps/es/Steps.js","../node_modules/rc-steps/es/index.js","../node_modules/antd/es/steps/index.js","../node_modules/@ant-design/icons/lib/components/AntdIcon.js","../node_modules/antd/lib/config-provider/index.js","../node_modules/antd/node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/@ant-design/icons-svg/es/asn/WarningFilled.js","../node_modules/@ant-design/icons/es/icons/WarningFilled.js","../node_modules/antd/es/result/noFound.js","../node_modules/antd/es/result/serverError.js","../node_modules/antd/es/result/unauthorized.js","../node_modules/antd/es/result/index.js","../node_modules/antd/lib/typography/index.js","../node_modules/antd/lib/_util/devWarning.js","../node_modules/rc-util/node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/antd/node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/antd/node_modules/@babel/runtime/helpers/createClass.js","../node_modules/antd/node_modules/@babel/runtime/helpers/inherits.js","../node_modules/antd/node_modules/@babel/runtime/helpers/createSuper.js","../node_modules/antd/node_modules/@babel/runtime/helpers/slicedToArray.js","../node_modules/antd/es/steps/style/index.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/rc-util/lib/omit.js","../node_modules/antd/lib/typography/Base.js","../node_modules/antd/es/result/style/index.js","../../src/shimKeyboardEvent.js","../../src/index.js","../node_modules/@hcaptcha/react-hcaptcha/dist/index.js","../node_modules/pdfjs-dist/build/pdf.js","../node_modules/@ant-design/react-slick/es/initial-state.js","../node_modules/@ant-design/react-slick/es/utils/innerSliderUtils.js","../node_modules/@ant-design/react-slick/es/track.js","../node_modules/@ant-design/react-slick/es/dots.js","../node_modules/@ant-design/react-slick/es/arrows.js","../node_modules/@ant-design/react-slick/es/inner-slider.js","../node_modules/@ant-design/react-slick/es/default-props.js","../node_modules/@ant-design/react-slick/es/index.js","../node_modules/@ant-design/react-slick/es/slider.js","../node_modules/antd/es/carousel/index.js","../node_modules/rc-pagination/es/locale/nb_NO.js","../node_modules/rc-picker/es/locale/nb_NO.js","../node_modules/antd/es/time-picker/locale/nb_NO.js","../node_modules/antd/es/date-picker/locale/nb_NO.js","../node_modules/antd/es/locale/nb_NO.js","../node_modules/json2mq/index.js","../node_modules/@ant-design/icons/lib/components/Context.js","../node_modules/antd/lib/locale/default.js","../node_modules/antd/lib/locale-provider/LocaleReceiver.js","../node_modules/antd/lib/config-provider/SizeContext.js","../node_modules/@ant-design/icons/lib/utils.js","../node_modules/rc-util/lib/Dom/canUseDom.js","../node_modules/antd/lib/_util/type.js","../node_modules/@ctrl/tinycolor/dist/module/readability.js","../node_modules/@ctrl/tinycolor/dist/module/to-ms-filter.js","../node_modules/@ctrl/tinycolor/dist/module/from-ratio.js","../node_modules/@ctrl/tinycolor/dist/module/random.js","../node_modules/@ctrl/tinycolor/dist/module/public_api.js","../node_modules/antd/es/config-provider/style/index.js","../node_modules/antd/es/carousel/style/index.js","../node_modules/@ant-design/react-slick/node_modules/lodash/isObject.js","../node_modules/@ant-design/react-slick/node_modules/lodash/_root.js","../node_modules/@ant-design/react-slick/node_modules/lodash/_Symbol.js","../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/inherits.js","../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/antd/lib/typography/Typography.js","../node_modules/rc-util/lib/hooks/useMemo.js","../node_modules/rc-util/node_modules/@babel/runtime/helpers/interopRequireWildcard.js","../node_modules/rc-util/lib/warning.js","../node_modules/antd/lib/date-picker/locale/en_US.js","../node_modules/antd/lib/time-picker/locale/en_US.js","../node_modules/antd/lib/locale-provider/context.js","../node_modules/antd/lib/message/index.js","../node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../node_modules/@ant-design/icons/lib/components/IconBase.js","../node_modules/rc-util/lib/Dom/dynamicCSS.js","../node_modules/@ant-design/icons/CloseCircleFilled.js","../node_modules/antd/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/antd/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/rc-notification/lib/useNotification.js","../node_modules/@babel/runtime/helpers/extends.js","../node_modules/antd/node_modules/@babel/runtime/helpers/toConsumableArray.js","../node_modules/rc-util/lib/Children/toArray.js","../node_modules/rc-util/lib/KeyCode.js","../node_modules/rc-util/lib/hooks/useMergedState.js","../node_modules/antd/lib/_util/reactNode.js","../node_modules/antd/lib/input/ClearableLabeledInput.js","../node_modules/antd/lib/input/utils.js","../node_modules/moment/locale/nb.js","../node_modules/@ant-design/react-slick/node_modules/lodash/debounce.js","../node_modules/@ant-design/react-slick/node_modules/lodash/now.js","../node_modules/@ant-design/react-slick/node_modules/lodash/_freeGlobal.js","../node_modules/@ant-design/react-slick/node_modules/lodash/toNumber.js","../node_modules/@ant-design/react-slick/node_modules/lodash/_baseTrim.js","../node_modules/@ant-design/react-slick/node_modules/lodash/_trimmedEndIndex.js","../node_modules/@ant-design/react-slick/node_modules/lodash/isSymbol.js","../node_modules/@ant-design/react-slick/node_modules/lodash/_baseGetTag.js","../node_modules/@ant-design/react-slick/node_modules/lodash/_getRawTag.js","../node_modules/@ant-design/react-slick/node_modules/lodash/_objectToString.js","../node_modules/@ant-design/react-slick/node_modules/lodash/isObjectLike.js","../node_modules/string-convert/camel2hyphen.js","../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/@hcaptcha/react-hcaptcha/dist/utils.js","../node_modules/rc-util/lib/ref.js","../node_modules/antd/lib/locale-provider/index.js","../node_modules/antd/node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/antd/node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/antd/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../node_modules/antd/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/antd/node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/antd/lib/modal/locale.js","../node_modules/rc-pagination/lib/locale/en_US.js","../node_modules/rc-picker/lib/locale/en_US.js","../node_modules/antd/lib/calendar/locale/en_US.js","../node_modules/antd/lib/locale-provider/default.js","../node_modules/antd/lib/config-provider/context.js","../node_modules/antd/lib/config-provider/renderEmpty.js","../node_modules/antd/lib/empty/index.js","../node_modules/antd/lib/empty/empty.js","../node_modules/antd/lib/empty/simple.js","../node_modules/@ant-design/icons/LoadingOutlined.js","../node_modules/@ant-design/icons/lib/icons/LoadingOutlined.js","../node_modules/@ant-design/icons-svg/lib/asn/LoadingOutlined.js","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/@ant-design/icons/lib/components/twoTonePrimaryColor.js","../node_modules/@ant-design/icons/ExclamationCircleFilled.js","../node_modules/@ant-design/icons/lib/icons/ExclamationCircleFilled.js","../node_modules/@ant-design/icons-svg/lib/asn/ExclamationCircleFilled.js","../node_modules/@ant-design/icons/lib/icons/CloseCircleFilled.js","../node_modules/@ant-design/icons-svg/lib/asn/CloseCircleFilled.js","../node_modules/@ant-design/icons/CheckCircleFilled.js","../node_modules/@ant-design/icons/lib/icons/CheckCircleFilled.js","../node_modules/@ant-design/icons-svg/lib/asn/CheckCircleFilled.js","../node_modules/@ant-design/icons/InfoCircleFilled.js","../node_modules/@ant-design/icons/lib/icons/InfoCircleFilled.js","../node_modules/@ant-design/icons-svg/lib/asn/InfoCircleFilled.js","../node_modules/antd/lib/message/hooks/useMessage.js","../node_modules/antd/node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/antd/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/antd/node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/@babel/runtime/helpers/toConsumableArray.js","../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/rc-notification/lib/Notice.js","../node_modules/@babel/runtime/helpers/createSuper.js","../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../node_modules/antd/lib/notification/index.js","../node_modules/@ant-design/icons/CloseOutlined.js","../node_modules/@ant-design/icons/lib/icons/CloseOutlined.js","../node_modules/@ant-design/icons-svg/lib/asn/CloseOutlined.js","../node_modules/@ant-design/icons/CheckCircleOutlined.js","../node_modules/@ant-design/icons/lib/icons/CheckCircleOutlined.js","../node_modules/@ant-design/icons-svg/lib/asn/CheckCircleOutlined.js","../node_modules/@ant-design/icons/CloseCircleOutlined.js","../node_modules/@ant-design/icons/lib/icons/CloseCircleOutlined.js","../node_modules/@ant-design/icons-svg/lib/asn/CloseCircleOutlined.js","../node_modules/@ant-design/icons/ExclamationCircleOutlined.js","../node_modules/@ant-design/icons/lib/icons/ExclamationCircleOutlined.js","../node_modules/@ant-design/icons-svg/lib/asn/ExclamationCircleOutlined.js","../node_modules/@ant-design/icons/InfoCircleOutlined.js","../node_modules/@ant-design/icons/lib/icons/InfoCircleOutlined.js","../node_modules/@ant-design/icons-svg/lib/asn/InfoCircleOutlined.js","../node_modules/antd/lib/notification/hooks/useNotification.js","../node_modules/antd/lib/config-provider/cssVariables.js","../node_modules/antd/lib/typography/Text.js","../node_modules/rc-util/node_modules/@babel/runtime/helpers/objectSpread2.js","../node_modules/rc-util/node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/antd/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/antd/node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/antd/node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/@ant-design/icons/EditOutlined.js","../node_modules/@ant-design/icons/lib/icons/EditOutlined.js","../node_modules/@ant-design/icons-svg/lib/asn/EditOutlined.js","../node_modules/@ant-design/icons/CheckOutlined.js","../node_modules/@ant-design/icons/lib/icons/CheckOutlined.js","../node_modules/@ant-design/icons-svg/lib/asn/CheckOutlined.js","../node_modules/@ant-design/icons/CopyOutlined.js","../node_modules/@ant-design/icons/lib/icons/CopyOutlined.js","../node_modules/@ant-design/icons-svg/lib/asn/CopyOutlined.js","../node_modules/antd/lib/_util/transButton.js","../node_modules/antd/lib/_util/raf.js","../node_modules/rc-util/lib/raf.js","../node_modules/antd/lib/_util/styleChecker.js","../node_modules/rc-util/lib/Dom/styleChecker.js","../node_modules/antd/lib/tooltip/index.js","../node_modules/rc-util/node_modules/@babel/runtime/helpers/slicedToArray.js","../node_modules/rc-util/node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/rc-util/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/rc-util/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/rc-util/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/rc-util/node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/antd/lib/tooltip/placements.js","../node_modules/rc-tooltip/lib/placements.js","../node_modules/antd/lib/_util/colors.js","../node_modules/antd/lib/_util/motion.js","../node_modules/antd/lib/typography/Editable.js","../node_modules/@ant-design/icons/EnterOutlined.js","../node_modules/@ant-design/icons/lib/icons/EnterOutlined.js","../node_modules/@ant-design/icons-svg/lib/asn/EnterOutlined.js","../node_modules/antd/lib/input/TextArea.js"],"names":["_interopRequireDefault","require","_typeof","Object","defineProperty","exports","value","fixControlledValue","resolveOnChange","triggerFocus","_extends2","_defineProperty2","_classCallCheck2","_createClass2","_inherits2","_createSuper2","React","obj","nodeInterop","__esModule","cache","_getRequireWildcardCache","has","get","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_interopRequireWildcard","_classnames","_omit","_ClearableLabeledInput","_configProvider","_SizeContext","_devWarning","_utils","WeakMap","cacheBabelInterop","cacheNodeInterop","target","e","onChange","targetValue","event","type","create","currentTarget","cloneNode","undefined","element","option","focus","cursor","len","length","setSelectionRange","Input","_React$Component","_super","props","_this","this","direction","input","saveClearableInput","clearableInput","saveInput","onFocus","setState","focused","clearPasswordValueAttribute","onBlur","handleReset","setValue","renderInput","prefixCls","size","bordered","arguments","_this$props","className","addonBefore","addonAfter","customizeSize","disabled","htmlSize","otherProps","createElement","autoComplete","handleChange","onKeyDown","handleKeyDown","getInputClassName","ref","removePasswordTimeout","setTimeout","getAttribute","hasAttribute","removeAttribute","_this$props2","onPressEnter","keyCode","renderComponent","_ref2","getPrefixCls","_this$state","state","_this$props3","customizePrefixCls","_this$props3$bordered","Consumer","inputType","defaultValue","prevValue","prevProps","hasPrefixSuffix","document","activeElement","clearTimeout","blur","start","end","select","callback","ConfigConsumer","nextProps","_ref3","newState","Component","defaultProps","_default","_reactDom","_toArray","ellipsisContainer","wrapperStyle","padding","margin","display","lineHeight","resetDomStyles","origin","setAttribute","style","originStyle","window","getComputedStyle","originCSS","Array","slice","apply","map","name","concat","getPropertyValue","join","position","left","height","minHeight","maxHeight","paddingTop","paddingBottom","borderTopWidth","borderBottomWidth","top","zIndex","textOverflow","whiteSpace","webkitLineClamp","originElement","content","fixedContent","ellipsisStr","parentNode","body","appendChild","rows","_option$suffix","suffix","heightContainer","createTextNode","realHeight","getBoundingClientRect","removeChild","getRealLineHeight","Math","round","contentList","children","childList","forEach","child","prevChild","push","mergeChildren","inRange","render","unmountComponentAtNode","text","innerHTML","ellipsis","childNodes","filter","_ref","nodeType","fixedNodes","ellipsisChildren","ellipsisContentHolder","ellipsisTextNode","appendChildNode","node","insertBefore","measureNode","childNode","index","finished","reactNode","fullText","textContent","textNode","measureText","startLoc","endLoc","lastSuccessLoc","midLoc","floor","currentText","step","currentStepText","some","_measureNode","_typeof3","_typeof2","_Base","__rest","s","t","p","indexOf","getOwnPropertySymbols","i","propertyIsEnumerable","Link","_a","rel","restProps","baseRef","useRef","useImperativeHandle","current","contentRef","mergedProps","navigate","component","forwardRef","_type","TITLE_ELE_LIST","tupleNum","_props$level","level","factory","modules","installedModules","__w_pdfjs_require__","moduleId","module","l","m","c","d","getter","o","enumerable","r","Symbol","toStringTag","mode","ns","bind","n","object","property","pdfjsCoreWorker","WorkerMessageHandler","WorkerTask","_regenerator","_util","_primitives","_pdf_manager","_is_node","_message_handler","_worker_stream","_core_utils","iterator","constructor","_slicedToArray","arr","isArray","_arrayWithHoles","_arr","_n","_d","_e","_s","_i","next","done","err","_iterableToArrayLimit","TypeError","_nonIterableRest","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","Promise","then","_asyncToGenerator","fn","self","args","terminated","_capability","createPromiseCapability","promise","finish","terminate","ensureNotTerminated","Error","maybePort","setup","handler","port","testMessageProcessed","on","data","Uint8Array","supportTransfers","postMessageTransfers","xhr","XMLHttpRequest","responseExists","responseType","send","supportTypedArray","setVerbosityLevel","verbosity","createDocumentHandler","docParams","pdfManager","cancelXHRs","WorkerTasks","getVerbosityLevel","apiVersion","docId","docBaseUrl","workerHandlerName","MessageHandler","startWorkerTask","task","finishWorkerTask","splice","loadDocument","_x","_loadDocument","mark","_callee","recoveryMode","_ref4","_ref5","numPages","fingerprint","wrap","_context","prev","ensureDoc","all","sent","abrupt","stop","getPdfManager","evaluatorOptions","pdfManagerCapability","source","LocalPdfManager","password","ex","pdfStream","cachedChunks","PDFWorkerStream","fullRequest","getFullReader","headersReady","isRangeSupported","disableAutoFetch","isStreamingSupported","NetworkPdfManager","msgHandler","contentLength","rangeChunkSize","sendProgressiveData","reason","loaded","read","readChunk","chunk","pdfFile","arraysToBytes","warn","flushChunks","arrayByteLength","total","max","cancelAllRequests","getPage","pageIndex","page","ensure","rotate","userUnit","view","Ref","num","pdfDocument","catalog","getPageIndex","ensureCatalog","id","requestLoadedStream","onLoadedStream","stream","bytes","xref","stats","intent","getAnnotationsData","VerbosityLevel","INFOS","Date","now","getOperatorList","renderInteractiveForms","operatorList","totalLength","featureId","UNSUPPORTED_FEATURES","unknown","wrappedException","minimumStackMessage","message","stack","toString","sink","onPull","desiredSize","onCancel","extractTextContent","normalizeWhitespace","combineTextItems","close","fontFallback","cleanup","clearPrimitiveCaches","waitOn","destroy","onSuccess","doc","pdfInfo","onFailure","PasswordException","code","sendWithPromise","updatePassword","pdfManagerReady","boundException","InvalidPDFException","MissingPDFException","UnexpectedResponseException","UnknownErrorException","XRefParseException","forceDataSchema","disableCreateObjectURL","maxImageSize","disableFontFace","nativeImageDecoderSupport","ignoreErrors","isEvalSupported","newPdfManager","byteLength","setupDoc","initializeFromPort","postMessage","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","method","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","_sent","dispatchException","record","tryCatch","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","previousPromise","callInvokeWithMethodAndArg","invoke","result","__await","unwrapped","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","doneResult","displayName","isGeneratorFunction","genFun","ctor","setPrototypeOf","__proto__","awrap","async","iter","keys","reverse","pop","skipTempReset","charAt","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","webpackPolyfill","deprecate","paths","item","itemLength","resultLength","ii","pos","stringToBytes","assert","bytesToString","String","fromCharCode","strBuf","chunkEnd","min","subarray","capability","isSettled","msg","console","log","isArrayBuffer","v","isArrayEqual","arr1","arr2","every","isBool","isEmptyObj","isNum","isString","isSpace","ch","isSameOrigin","baseUrl","otherUrl","base","_url_polyfill","URL","other","createValidAbsoluteUrl","url","absoluteUrl","protocol","_isValidProtocol","isLittleEndian","buffer8","Uint32Array","buffer","log2","x","ceil","readInt8","readUint16","offset","readUint32","removeNullCharacters","str","replace","NullCharactersRegExp","Number","isInteger","shadow","prop","configurable","writable","string32","stringToPDFString","charCodeAt","PDFStringTranslateTable","stringToUTF8String","decodeURIComponent","escape","utf8StringToString","unescape","encodeURIComponent","unreachable","_streams_polyfill","ReadableStream","createObjectURL","FormatError","Util","TextRenderingMode","StreamType","PermissionFlag","PasswordResponses","NativeImageDecoding","AbortException","CMapCompressionType","ImageKind","FontType","AnnotationType","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","OPS","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","NONE","DECODE","DISPLAY","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","TEXT","LINK","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RL","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","BINARY","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","forms","javaScript","smask","shadingPattern","font","NEED_PASSWORD","INCORRECT_PASSWORD","cond","details","status","rgbBuf","makeCssRgb","g","b","m1","m2","applyTransform","applyInverseTransform","getAxialAlignedBoundingBox","p1","p2","p3","p4","inverseTransform","apply3dTransform","singularValueDecompose2dScale","transpose","a","first","second","sqrt","sx","sy","normalizeRect","rect","intersect","rect1","rect2","compare","orderedX","sort","orderedY","digits","contentType","blob","Blob","b1","b2","b3","d1","d2","d3","d4","globalScope","_pdfjsCompatibilityChecked","isNodeJS","hasDOM","btoa","chars","Buffer","from","atob","Element","remove","div","classList","add","contains","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","_len","tokens","_key","_tokens","token","_len2","_key2","_i2","_tokens2","toggle","force","startsWith","endsWith","includes","assign","WeakSet","codePointAt","fromCodePoint","padStart","padEnd","global","process","versions","$export","toLength","$startsWith","P","F","searchString","that","search","core","hide","redefine","ctx","own","out","exp","IS_FORCED","IS_GLOBAL","G","IS_PROTO","IS_BIND","B","S","expProto","U","W","R","__g","version","__e","dP","createDesc","f","anObject","IE8_DOM_DEFINE","toPrimitive","O","Attributes","isObject","it","exec","is","val","valueOf","bitmap","SRC","$toString","TPL","split","inspectSource","safe","isFunction","px","random","store","copyright","aFunction","toInteger","isRegExp","defined","NAME","cof","MATCH","uid","_Symbol","USE_SYMBOL","KEY","re","$endsWith","endPosition","$includes","el","toIObject","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","IObject","UNSCOPABLES","ArrayProto","$at","iterated","_t","point","TO_STRING","LIBRARY","Iterators","$iterCreate","setToStringTag","ITERATOR","BUGGY","returnThis","Base","Constructor","DEFAULT","IS_SET","FORCED","methods","getMethod","kind","proto","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","descriptor","dPs","enumBugKeys","IE_PROTO","Empty","_createDict","iframeDocument","iframe","src","contentWindow","open","write","lt","Properties","getKeys","defineProperties","$keys","arrayIndexOf","names","shared","documentElement","def","tag","stat","toObject","ObjectProto","isArrayIter","createProperty","getIterFn","arrayLike","C","aLen","mapfn","mapping","iterFn","ret","$defineProperty","classof","getIteratorMethod","ARG","T","tryGet","callee","SAFE_CLOSING","riter","skipClosing","DESCRIPTORS","gOPS","pIE","$assign","A","K","k","getSymbols","isEnum","j","LN2","number","isFinite","test","$iterators","wks","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","addToUnscopables","_k","Arguments","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","anInstance","forOf","speciesConstructor","microtask","newPromiseCapabilityModule","perform","userAgent","promiseResolve","v8","$Promise","isNode","empty","newPromiseCapability","USE_NATIVE","FakePromise","PromiseRejectionEvent","isThenable","notify","isReject","chain","_c","_v","ok","run","reaction","exited","fail","domain","_h","onHandleUnhandled","enter","exit","onUnhandled","unhandled","isUnhandled","emit","onunhandledrejection","onrejectionhandled","$reject","_w","$resolve","wrapper","executor","onFulfilled","onRejected","$$reject","remaining","$index","alreadyCalled","race","forbiddenField","BREAK","RETURN","_exports","SPECIES","D","defer","channel","html","cel","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","listener","nextTick","port2","port1","onmessage","addEventListener","importScripts","clear","un","macrotask","Observer","MutationObserver","WebKitMutationObserver","head","last","flush","parent","navigator","standalone","observe","characterData","PromiseCapability","$$resolve","promiseCapability","onFinally","callbackfn","InternalMap","each","meta","weak","validate","NATIVE_WEAK_MAP","IS_IE11","ActiveXObject","getWeak","isExtensible","uncaughtFrozenStore","ufstore","$WeakMap","getConstructor","NEED","_f","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","res","original","META","setDesc","FREEZE","preventExtensions","setMeta","w","fastKey","onFreeze","redefineAll","createArrayMethod","$has","arrayFind","arrayFindIndex","_l","UncaughtFrozenStore","findUncaughtFrozen","ADDER","fails","$iterDetect","inheritIfRequired","common","IS_WEAK","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","setStrong","check","buggy","gOPD","COLLECTION","of","cb","mapFn","nextItem","$fromCodePoint","RangeError","$fails","wksExt","wksDefine","enumKeys","_create","gOPNExt","$GOPD","$GOPS","$DP","gOPN","$JSON","JSON","_stringify","stringify","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","QObject","setter","findChild","setSymbolDesc","protoDesc","sym","isSymbol","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","getOwnPropertyNames","FAILS_ON_PRIMITIVES","replacer","$replacer","symbols","windowNames","getWindowNames","hiddenKeys","$pad","WEBKIT_BUG","maxLength","repeat","fillString","stringLength","fillStr","intMaxLength","fillLen","stringFiller","count","Infinity","$values","isEntries","isReadableStreamSupported","controller","IsPropertyKey","argument","Call","V","typeIsObject","createDataProperty","createArrayFromList","elements","ArrayBufferCopy","dest","destOffset","srcOffset","CreateIterResultObject","IsFiniteNonNegativeNumber","InvokeOrNoop","PromiseInvokeOrNoop","returnValueE","PromiseInvokeOrPerformFallback","argsF","methodE","TransferArrayBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","ValidateAndNormalizeQueuingStrategy","AssertionError","rethrowAssertionErrorRejection","_createClass","protoProps","staticProps","_classCallCheck","_require","_require2","_require3","DequeueValue","EnqueueValueWithSize","PeekQueueValue","ResetQueue","WritableStream","underlyingSink","_ref$highWaterMark","_state","_storedError","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","WritableStreamDefaultController","__startSteps","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","WritableStreamAbort","AcquireWritableStreamDefaultWriter","WritableStreamDefaultWriter","wasAlreadyErroring","_resolve","_reject","_reason","_wasAlreadyErroring","WritableStreamStartErroring","WritableStreamDealWithRejection","WritableStreamFinishErroring","writer","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","__errorSteps","storedError","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","__abortSteps","WritableStreamFinishInFlightClose","_closedPromise_resolve","_closedPromise_reject","_closedPromiseState","defaultWriterClosedPromiseResolve","WritableStreamCloseQueuedOrInFlight","defaultWriterClosedPromiseReject","_closedPromise","WritableStreamUpdateBackpressure","backpressure","_readyPromise_resolve","_readyPromise_reject","_readyPromise","_readyPromiseState","defaultWriterReadyPromiseReset","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerError","WritableStreamDefaultWriterCloseWithErrorPropagation","_ownerWritableStream","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterAbort","WritableStreamDefaultControllerGetDesiredSize","WritableStreamDefaultWriterGetDesiredSize","closeRequest","WritableStreamDefaultControllerAdvanceQueueIfNeeded","WritableStreamDefaultWriterEnsureClosedPromiseRejected","defaultWriterClosedPromiseResetToRejected","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","releasedError","chunkSize","strategySize","_strategySize","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","WritableStreamDefaultControllerGetChunkSize","writeRequest","WritableStreamAddWriteRequest","writeRecord","enqueueE","_controlledWritableStream","WritableStreamDefaultControllerGetBackpressure","WritableStreamDefaultControllerWrite","_underlyingSink","_queue","_queueTotalSize","normalizedStrategy","_strategyHWM","startResult","WritableStreamMarkCloseRequestInFlight","WritableStreamFinishInFlightCloseWithError","WritableStreamDefaultControllerProcessClose","shift","WritableStreamMarkFirstWriteRequestInFlight","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamDefaultControllerProcessWrite","container","pair","_require4","_require5","underlyingSource","_reader","_disturbed","_readableStreamController","typeString","ReadableByteStreamController","ReadableStreamDefaultController","IsReadableStream","IsReadableStreamLocked","ReadableStreamCancel","AcquireReadableStreamDefaultReader","AcquireReadableStreamBYOBReader","options","readable","ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue","pipeTo","preventClose","preventAbort","preventCancel","Boolean","reader","shuttingDown","currentWrite","action","isOrBecomesErrored","shutdownWithAction","shutdown","destClosed","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","ReadableStreamReaderGenericRelease","pipeLoop","ReadableStreamDefaultReaderRead","branches","ReadableStreamTee","ReadableStreamBYOBReader","ReadableStreamDefaultReader","cloneForBranch2","teeState","closedOrErrored","canceled1","canceled2","reason1","reason2","pull","branch1","_branch1","branch2","_branch2","_teeState","ReadableStreamDefaultControllerClose","value1","value2","ReadableStreamDefaultControllerEnqueue","_cloneForBranch2","cancel1","_stream","cancelResult","cancel2","underlyingSource1","branch1Stream","underlyingSource2","branch2Stream","ReadableStreamDefaultControllerError","ReadableStreamAddReadIntoRequest","IsReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","ReadableStreamAddReadRequest","IsReadableStreamDefaultReader","readRequest","_readRequests","ReadableStreamClose","__cancelSteps","defaultReaderClosedPromiseResolve","ReadableStreamError","defaultReaderClosedPromiseReject","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadIntoRequests","ReadableStreamGetNumReadRequests","ReadableStreamHasBYOBReader","ReadableStreamHasDefaultReader","IsReadableStreamDisturbed","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamReaderGenericInitialize","defaultReaderBrandCheckException","_ownerReadableStream","readerLockException","ReadableStreamReaderGenericCancel","IsReadableByteStreamController","byobReaderBrandCheckException","ArrayBuffer","isView","_controlledReadableStream","elementSize","DataView","BYTES_PER_ELEMENT","pullIntoDescriptor","byteOffset","bytesFilled","readerType","_pendingPullIntos","emptyView","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableByteStreamControllerHandleQueueDrain","_closeRequested","ReadableByteStreamControllerError","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerPullInto","ReadableStreamBYOBReaderRead","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","defaultReaderClosedPromiseResetToRejected","__pullSteps","_underlyingSource","_pullAgain","_pulling","ReadableStreamDefaultControllerCallPullIfNeeded","ReadableStreamDefaultControllerErrorIfNeeded","IsReadableStreamDefaultController","defaultControllerBrandCheckException","pendingPromise","ReadableStreamDefaultControllerShouldCallPull","ReadableStreamBYOBRequest","_associatedReadableByteStreamController","_view","bytesWritten","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","ReadableByteStreamControllerRespondInternal","ReadableByteStreamControllerRespond","firstDescriptor","ReadableByteStreamControllerRespondWithNewView","underlyingByteSource","_underlyingByteSource","ReadableByteStreamControllerClearPendingPullIntos","autoAllocateChunkSize","_autoAllocateChunkSize","byteStreamControllerBrandCheckException","ReadableByteStreamControllerClose","transferredBuffer","ReadableByteStreamControllerEnqueueChunkToQueue","transferredView","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerEnqueue","viewE","bufferE","_byobRequest","ReadableByteStreamControllerGetDesiredSize","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","ReadableStreamFulfillReadIntoRequest","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerRespondInClosedState","remainderSize","remainder","ReadableByteStreamControllerRespondInReadableState","transformStream","readableStream","writableStream","TransformStream","TransformStreamEnqueueToReadable","_errored","_readableClosed","_readableController","TransformStreamErrorIfNeeded","TransformStreamSetBackpressure","TransformStreamCloseReadableInternal","TransformStreamErrorInternal","_writableDone","_writableController","TransformStreamReadableReadyPromise","_backpressureChangePromise","_backpressureChangePromise_resolve","resolution","TransformStreamDefaultTransform","transformStreamController","_controlledTransformStream","IsTransformStreamDefaultController","IsTransformStream","TransformStreamSink","startPromise","_transformStream","_startPromise","_transforming","transformer","_transformer","_transformStreamController","TransformStreamTransform","TransformStreamSource","TransformStreamDefaultController","TransformStreamCloseReadable","TransformStreamError","readableController","readableStrategy","writableStrategy","startPromise_resolve","_readable","_writable","isURLSupported","u","pathname","href","PolyfillURL","OriginalURL","revokeObjectURL","relative","relativePathDotMapping","isRelativeScheme","scheme","invalid","_isInvalid","IDNAToASCII","h","toLowerCase","percentEscape","unicode","percentEscapeQuery","EOF","ALPHA","ALPHANUMERIC","parse","stateOverride","errors","seenAt","seenBracket","loop","_scheme","_isRelative","_query","_fragment","_schemeData","_host","_port","_path","_username","_password","nextC","nextNextC","cp","tempC","temp","parseInt","tmp","JURL","_url","authority","host","_","Cmd","_clearCache","Name","isEOF","isCmd","cmd","isDict","isName","isRef","isRefsEqual","v1","v2","isStream","getBytes","RefSetCache","RefSet","Dict","nameCache","nameValue","cmdCache","cmdValue","nonSerializable","_map","objId","suppressEncryption","__nonSerializable__","assignXref","newXref","key1","key2","key3","fetchIfRef","getAsync","fetchIfRefAsync","getArray","fetch","getRaw","merge","dictArray","mergedDict","dict","keyName","refCache","refValue","put","putAlias","aliasRef","thisArg","_chunked_stream","_document","_possibleConstructorReturn","_assertThisInitialized","_getPrototypeOf","ReferenceError","_inherits","subClass","superClass","_setPrototypeOf","_defineProperties","BasePdfManager","_ensure","_x2","_x3","begin","_docId","_docBaseUrl","_BasePdfManager","Stream","PDFDocument","_loadedStreamPromise","_ensure2","_callee2","_context2","_x4","_x5","_x6","_BasePdfManager2","pdfNetworkStream","_this2","streamManager","ChunkedStreamManager","getStream","_ensure3","_callee3","_context3","t0","MissingDataException","requestRange","_x7","_x8","_x9","requestAllChunks","onReceiveData","abort","ChunkedStream","manager","loadedChunks","numChunksLoaded","numChunks","progressiveDataLength","lastSuccessfulEnsureByteChunk","chunks","beginChunk","endChunk","curChunk","ensureByte","b0","getByte","forceClamped","strEnd","ensureRange","_subarray","Uint8ClampedArray","peekedByte","ChunkedStreamSubstream","getMissingChunks","missingChunks","subStream","currRequestId","chunksNeededByRequest","requestsByChunk","promisesByRequest","aborted","_loadedStreamCapability","rangeReader","getRangeReader","onProgress","chunkData","_requestChunks","requestId","chunksNeeded","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","_chunk","hasChunk","chunksToRequest","groupedChunksToRequest","groupChunks","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","groupedChunk","sendRequest","getBeginChunk","getEndChunk","ranges","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","range","groupedChunks","prevChunk","isProgressive","onReceiveProgressiveData","allChunksLoaded","loadedRequests","_chunk2","requestIds","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_iterator4","nextEmptyChunk","lastChunk","_loadedRequests","_requestId","getLookupTableFactory","initializer","lookup","getInheritableProperty","_ref$getArray","_ref$stopWhenFound","stopWhenFound","loopCount","toRomanNumerals","lowerCase","romanBuf","ROMAN_NUMBER_MAP","romanStr","XRefEntryException","Page","_obj","_stream2","_annotation","_crypto","_parser","_operator_list","_evaluator","_function","LETTER_SIZE_MEDIABOX","isAnnotationRenderable","annotation","viewable","printable","pageDict","fontCache","builtInCMapCache","pdfFunctionFactory","resourcesPromise","idCounters","idFactory","createObjId","getDocId","streams","StreamsSequenceStream","NullStream","ObjectLoader","resources","load","contentStreamPromise","loadResources","partialEvaluator","PartialEvaluator","pageListPromise","contentStream","opList","OperatorList","transparency","hasBlendModes","_parsedAnnotations","_ref6","pageOpList","annotations","opListPromises","opLists","addOp","addOpList","_ref7","_this3","_ref8","getTextContent","annotationsData","_getInheritableProperty","mediaBox","cropBox","intersection","_this4","parsedAnnotations","annotationRefs","annotationPromises","AnnotationFactory","find","needle","limit","backwards","peekBytes","lastIndexOf","XRef","PDFFunctionFactory","_pagePromises","catDict","pdfFormatVersion","acroForm","xfa","fields","collection","moveStart","substring","setStartXRef","startXRef","Catalog","linearization","pageFirst","objectNumberFirst","fetchAsync","pageKidsCountCache","getPageDict","_this5","_getLinearizationPage","_ref10","_ref11","_this6","Linearization","startXRefLength","found","skip","infoDict","DocumentInfoValidators","Title","Author","Subject","Keywords","Creator","Producer","CreationDate","ModDate","Trapped","docInfo","PDFFormatVersion","IsLinearized","IsAcroFormPresent","IsXFAPresent","IsCollectionPresent","trailer","customValue","hash","idArray","calculateMD5","hex","FileSpec","_colorspace","fetchDestination","getCatalogObj","Map","root","items","processed","blackColor","outlineDict","parseDestDictionary","destDict","resultObj","title","flags","color","rgbColor","ColorSpace","singletons","rgb","getRgb","outlineItem","unsafeUrl","newWindow","bold","italic","encrypt","pow","permissions","destinationId","_readDests","NameTree","pageLabels","prefix","nums","NumberTree","getAll","currentLabel","currentIndex","labelDict","st","baseCharCode","letterIndex","character","charBuf","jj","promises","translatedFonts","translatedFont","loadedName","fallback","translated","nodesToVisit","currentPageIndex","_loop","currentNode","kids","_ret","pageRef","kidRef","parentRef","kidPromises","kid","pagesBeforeRef","_args","streamRef","metadata","encryptMetadata","subtype","pagesObj","_readDocumentOutline","_readPermissions","toplevelPagesDict","dests","_readPageLabels","pageLayout","pageMode","ViewerPreferencesValidators","HideToolbar","HideMenubar","HideWindowUI","FitWindow","CenterWindow","DisplayDocTitle","NonFullScreenPageMode","Direction","ViewArea","ViewClip","PrintArea","PrintClip","PrintScaling","Duplex","PickTrayByPDFSize","PrintPageRange","NumCopies","prefs","prefValue","openActionDest","attachments","fs","serializable","appendIfJavaScriptDict","jsDict","js","openActionDict","actionType","params","actionName","addDefaultProtocolToUrl","urlDict","remoteDest","namedAction","jsAction","jsUrl","RegExp","tryConvertUrlEncoding","xrefstms","streamTypes","fontTypes","startXRefQueue","trailerDict","indexObjects","readXRef","ids","fileId","CipherTransformFactory","processXRefTable","parser","tableState","entryNum","streamPos","lexer","parserBuf1","buf1","parserBuf2","buf2","readXRefTable","getObj","firstEntryNum","entryCount","free","uncompressed","processXRefStream","streamParameters","byteWidths","streamState","entryRanges","readXRefStream","typeFieldWidth","offsetFieldWidth","generationFieldWidth","generation","readToken","skipUntil","what","dataLength","skipped","objRegExp","endobjRegExp","nestedObjRegExp","trailerBytes","startxrefBytes","objBytes","xrefBytes","trailers","xrefStms","startPos","endPos","checkPos","tokenStr","objToken","xrefTagOffset","Parser","Lexer","allowStreams","rootDict","startXRefParsedCache","topDict","getEntry","xrefEntry","cacheEntry","fetchUncompressed","fetchCompressed","makeSubStream","obj1","obj2","obj3","createCipherTransform","tableOffset","_fetchIfRefAsync","_fetchAsync","NameOrNumberTree","_ii","kidsOrEntries","limits","_r","_m","currentKey","_m2","mm","_NameOrNumberTree","_NameOrNumberTree2","description","contentAvailable","pickPlatformItem","_filename","filename","fileObj","mayHaveChildren","addChildren","dictKeys","rawValue","_i3","_ii2","refSet","_walk","nodesToRevisit","pendingRequests","getBaseStreams","baseStreams","foundMissingData","requestRanges","_i4","_ii3","_ccitt_stream","_jbig2_stream","_jpeg_stream","_jpx_stream","computeAdler32","bytesLength","_ref$allowStreams","_ref$recoveryMode","imageCache","refill","cipherTransform","makeInlineImage","array","makeStream","decryptString","maybeEIPos","followingBytes","endOffset","peekByte","markerLength","foundEOI","getUint16","findDefaultInlineStreamEnd","inlineStreamSkipEI","dictLength","beginInlineImagePos","filterName","filterZero","findDCTDecodeInlineStreamEnd","findASCII85DecodeInlineStreamEnd","findASCIIHexDecodeInlineStreamEnd","cacheKey","imageStream","imageBytes","initialStreamPos","dictBytes","createStream","signature","signatureLength","scanBytes","scanLength","skipToNextLine","nextChar","tryShift","ENDSTREAM_SIGNATURE","actualLength","_findStreamLength","TRUNCATED_SIGNATURE","maybeLength","lastByte","makeFilter","filterArray","paramsArray","xrefStreamStats","PredictorStream","FlateStream","earlyChange","LZWStream","JpegStream","JpxStream","Ascii85Stream","AsciiHexStream","CCITTFaxStream","RunLengthStream","Jbig2Stream","specialChars","toHexDigit","knownCommands","currentChar","eNotation","divideBy","sign","baseValue","powerValue","powerValueSign","currentDigit","peekChar","numParen","charBuffered","previousCh","x2","firstDigit","secondDigit","isFirstHex","comment","getNumber","getString","getName","getHexString","knownCommandFound","possibleCommand","getInt","linDict","allowZeroValue","hints","hintsLength","hint","getHints","endFirst","mainXRefEntriesOffset","StringStream","DecodeStream","DecryptStream","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","arrayBuffer","getInt32","emptyBuffer","maybeMinBufferLength","_rawMinBufferLength","bufferLength","eof","minBufferLength","readBlock","ensureBuffer","requested","buffer2","bufEnd","newLength","codeLenCodeMap","Int32Array","lengthDecode","distDecode","fixedLitCodeTab","fixedDistCodeTab","cmf","flg","codeSize","codeBuf","getBits","bits","getCode","table","codes","maxLen","codeLen","codeVal","generateHuffmanTable","lengths","code2","hdr","litCodeTable","distCodeTable","numLitCodes","numDistCodes","numCodeLenCodes","codeLenCodeLengths","codeLenCodeTab","bitsLength","bitsOffset","codeLengths","repeatLength","code1","dist","blockLen","predictor","readBlockTiff","readBlockPng","colors","columns","pixBytes","rowBytes","rawBytes","inbuf","outbuf","inbits","outbits","bytesPerPixel","sum","compArray","bitMask","kk","prevRow","up","upLeft","pa","pb","pc","decrypt","nextChunk","initialized","hasMoreData","maxDecodeLength","digit","repeatHeader","cachedData","bitsCached","lzwState","codeLength","nextCode","dictionaryValues","dictionaryLengths","Uint16Array","dictionaryPrevCodes","currentSequence","currentSequenceLength","readBits","lastCode","q","estimatedDecodedSize","blockSize","prevCode","decodedLength","currentBufferLength","hasPrev","_ccitt","ccittFaxDecoder","CCITTFaxDecoder","EndOfLine","EncodedByteAlign","Columns","Rows","EndOfBlock","BlackIs1","readNextChar","twoDimTable","whiteTable1","whiteTable2","blackTable1","blackTable2","blackTable3","encoding","eoline","byteAlign","eoblock","black","codingLine","refLine","codingPos","row","nextLine2D","inputBits","inputBuf","outputBits","rowsDone","_lookBits","_eatBits","refPos","blackPixels","code3","_getTwoDimCode","_addPixels","_getBlackCode","_getWhiteCode","_addPixelsNeg","gotEOL","a1","_findTableCode","limitValue","_jbig","jbig2Image","Jbig2Image","globalsStream","globals","parseChunks","_arithmetic_decoder","Jbig2Error","ContextCache","DecodingContext","decodeInteger","contextCache","procedure","decoder","contexts","getContexts","bit","readBit","decodeIAID","Int8Array","ArithmeticDecoder","SegmentTypes","CodingTemplates","y","RefinementTemplates","coding","reference","ReusedContexts","RefinementReusedContexts","decodeBitmap","mmr","width","templateIndex","prediction","at","decodingContext","decodeMMRBitmap","Reader","contextLabel","pixel","row1","row2","decodeBitmapTemplate0","useskip","template","templateLength","templateX","templateY","changingTemplateEntries","reuseMask","minX","maxX","minY","changingEntriesLength","changingTemplateX","changingTemplateY","changingTemplateBit","i0","j0","sbb_left","sbb_top","sbb_right","pseudoPixelContext","ltp","decodeRefinement","referenceBitmap","offsetX","offsetY","codingTemplate","codingTemplateLength","codingTemplateX","codingTemplateY","referenceTemplate","referenceTemplateLength","referenceTemplateX","referenceTemplateY","referenceWidth","referenceHeight","decodeTextRegion","huffman","refinement","defaultPixelValue","numberOfSymbolInstances","stripSize","inputSymbols","symbolCodeLength","transposed","dsOffset","referenceCorner","combinationOperator","huffmanTables","refinementTemplateIndex","refinementAt","logStripSize","huffmanInput","stripT","tableDeltaT","decode","firstS","currentS","tableFirstS","currentT","symbolId","symbolIDTable","applyRefinement","symbolBitmap","symbolWidth","symbolHeight","rdw","rdh","s2","t2","symbolRow","offsetT","offsetS","maxWidth","deltaS","tableDeltaS","readSegmentHeader","segmentHeader","segmentType","typeName","deferredNonRetain","pageAssociationFieldSize","referredFlags","referredToCount","retainBits","referredToSegmentNumberSize","referredTo","pageAssociation","genericRegionInfo","readRegionSegmentInformation","genericRegionMmr","RegionSegmentInformationFieldLength","searchPattern","headerEnd","readSegments","header","segments","segment","randomAccess","processSegment","visitor","atLength","dictionary","dictionaryFlags","huffmanDHSelector","huffmanDWSelector","bitmapSizeSelector","aggregationInstancesSelector","bitmapCodingContextUsed","bitmapCodingContextRetained","refinementTemplate","numberOfExportedSymbols","numberOfNewSymbols","textRegion","textRegionSegmentFlags","textRegionHuffmanFlags","huffmanFS","huffmanDS","huffmanDT","huffmanRefinementDW","huffmanRefinementDH","huffmanRefinementDX","huffmanRefinementDY","huffmanRefinementSizeSelector","patternDictionary","patternDictionaryFlags","patternWidth","patternHeight","maxPatternIndex","halftoneRegion","halftoneRegionFlags","enableSkip","gridWidth","gridHeight","gridOffsetX","gridOffsetY","gridVectorX","gridVectorY","genericRegion","genericRegionSegmentFlags","pageInfo","resolutionX","resolutionY","pageSegmentFlags","lossless","requiresBuffer","combinationOperatorOverride","callbackName","processSegments","SimpleSegmentVisitor","HuffmanLine","lineData","isOOB","rangeLow","prefixLength","rangeLength","prefixCode","isLowerRange","HuffmanTreeNode","line","isLeaf","HuffmanTable","lines","prefixCodesDone","assignPrefixCodes","rootNode","buildTree","onPageInformation","currentPageInfo","rowSize","drawBitmap","regionInfo","mask","mask0","offset0","onImmediateGenericRegion","region","onImmediateLosslessGenericRegion","onSymbolDictionary","currentSegment","referredSegments","customTables","tableDeltaHeight","tableDeltaWidth","tableBitmapSize","tableAggregateInstances","customIndex","getStandardTable","getCustomHuffmanTable","getSymbolDictionaryHuffmanTables","referredSymbols","tableB1","symbolWidths","newSymbols","currentHeight","currentWidth","totalWidth","firstSymbol","deltaWidth","numberOfInstances","rdx","rdy","bitmapSize","collectiveBitmap","readUncompressedBitmap","originalEnd","bitmapEnd","numberOfSymbolsDecoded","xMin","xMax","exportedSymbols","currentFlag","totalSymbolsLength","runLength","decodeSymbolDictionary","onImmediateTextRegion","numberOfSymbols","runCodesTable","repeatedLength","numberOfRepeats","getTextRegionHuffmanTables","onImmediateLosslessTextRegion","onPatternDictionary","patterns","patternBitmap","decodePatternDictionary","onImmediateHalftoneRegion","regionWidth","regionHeight","regionBitmap","numberOfPatterns","pattern0","bitsPerValue","mmrInput","mg","ng","patternIndex","patternRow","regionRow","grayScaleBitPlanes","regionX","regionY","decodeHalftoneRegion","onImmediateLosslessHalftoneRegion","onTables","lowestValue","highestValue","prefixSizeBits","rangeSizeBits","currentRangeLow","decodeTablesSegment","decodeNode","htOffset","linesLength","prefixLengthMax","histogram","currentCode","currentTemp","currentLength","firstCode","standardTablesCache","currentByte","endOfBlock","numBits","parseJbig2Chunks","_parseJbig","numberOfPages","_visitor$currentPageI","bitPacked","imgData","parseJbig2","QeTable","qe","nmps","nlps","switchFlag","bp","dataEnd","chigh","clow","byteIn","ct","cx_index","cx_mps","qeTableIcx","qeIcx","_jpg","jpegOptions","decodeTransform","colorTransform","decodeArr","forceRGB","bitsPerComponent","decodeArrLength","transformNeeded","maxValue","jpegImage","JpegImage","getData","drawWidth","drawHeight","isSourcePDF","getIR","JpegError","DNLMarkerError","scanLines","EOIMarkerError","dctZigZag","_ref$decodeTransform","_ref$colorTransform","_decodeTransform","_colorTransform","buildHuffmanTable","getBlockBufferOffset","col","blocksPerLine","decodeScan","frame","components","resetInterval","spectralStart","spectralEnd","successivePrev","successive","parseDNLMarker","mcusPerLine","progressive","startOffset","bitsData","bitsCount","nextByte","decodeHuffman","tree","receive","receiveAndExtend","decodeBaseline","huffmanTableDC","diff","blockData","pred","rs","huffmanTableAC","z","decodeDCFirst","decodeDCSuccessive","eobrun","decodeACFirst","successiveACNextValue","successiveACState","decodeACSuccessive","offsetZ","decodeMcu","mcu","mcuCol","decodeBlock","decodeFn","componentsLength","fileMarker","mcuExpected","blocksPerColumn","mcusPerColumn","mcuToRead","findNextFileMarker","marker","quantizeAndInverse","blockBufferOffset","v0","v3","v4","v5","v6","v7","p0","p5","p6","p7","qt","quantizationTable","buildComponentData","computationBuffer","Int16Array","blockRow","blockCol","currentPos","peekUint16","maxPos","newPos","currentMarker","newMarker","_ref2$dnlScanLines","dnlScanLines","readDataBlock","prepareComponents","samplesPerLine","maxH","maxV","blocksPerLineForMcu","blocksBufferSize","jfif","adobe","numSOSMarkers","quantizationTables","huffmanTablesAC","huffmanTablesDC","markerLoop","appData","major","minor","densityUnits","xDensity","yDensity","thumbWidth","thumbHeight","thumbData","flags0","flags1","transformCode","quantizationTablesLength","quantizationTablesEnd","quantizationTableSpec","tableData","extended","precision","sofScanLines","componentIds","componentId","componentsCount","qId","quantizationId","huffmanLength","huffmanTableSpec","codeLengthSum","huffmanValues","selectorsCount","componentIndex","tableSpec","successiveApproximation","nextFileMarker","output","scaleX","scaleY","numComponents","_getLinearizedBlockData","componentScaleX","componentScaleY","blocksPerScanline","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","srcPosition","dataPosition","imgRowSize","tileRowSize","JpxError","SubbandsGainLog2","failOnCorruptedImage","calculateComponentDimensions","siz","x0","XOsiz","XRsiz","x1","Xsiz","y0","YOsiz","YRsiz","y1","Ysiz","calculateTileGrids","tile","SIZ","numXtiles","XTOsiz","XTsiz","numYtiles","YTOsiz","YTsiz","tx0","ty0","tx1","ty1","Csiz","tileComponent","tcx0","tcy0","tcx1","tcy1","getBlocksDimensions","codOrCoc","codingStyleParameters","entropyCoderWithCustomPrecincts","PPx","precinctsSizes","PPy","xcb_","xcb","ycb_","ycb","buildPrecincts","dimensions","precinctWidth","precinctHeight","isZeroRes","resLevel","precinctWidthInSubband","precinctHeightInSubband","numprecinctswide","trx1","trx0","numprecinctshigh","try1","try0","numprecincts","precinctParameters","buildCodeblocks","subband","codeblock","precinctNumber","codeblockWidth","codeblockHeight","cbx0","tbx0","cby0","tby0","cbx1","tbx1","cby1","tby1","codeblocks","precincts","cbx","cby","tbx0_","tby0_","tbx1_","tby1_","subbandType","Lblock","precinct","cbxMin","cbxMax","cbyMin","cbyMax","codeblockParameters","numcodeblockwide","numcodeblockhigh","createPacket","layerNumber","precinctCodeblocks","subbands","LayerResolutionComponentPositionIterator","tileIndex","currentTile","layersCount","codingStyleDefaultParameters","maxDecompositionLevelsCount","decompositionLevelsCount","nextPacket","resolutions","packet","ResolutionLayerComponentPositionIterator","ResolutionPositionComponentLayerIterator","maxNumPrecinctsInLevel","maxNumPrecincts","PositionComponentResolutionLayerIterator","getPrecinctSizesInImageScale","precinctsIterationSizes","py","maxNumHigh","maxNumWide","sizeInImageScale","getPrecinctIndexIfExist","ComponentPositionResolutionLayerIterator","pxIndex","pyIndex","precinctIterationSizes","posX","minWidth","posY","startPrecinctRowIndex","MAX_VALUE","sizePerComponent","sizePerResolution","minWidthCurrentComponent","minHeightCurrentComponent","maxNumWideCurrentComponent","maxNumHighCurrentComponent","scale","widthCurrentResolution","heightCurrentResolution","buildPackets","blocksDimensions","bscale","resolutionSubbands","progressionOrder","packetsIterator","parseTilePackets","bufferSize","skipNextBit","skipMarkerIfEqual","skipBytes","alignToByte","readCodingpasses","sopMarkerUsed","COD","ephMarkerUsed","codeblockColumn","codeblockRow","codeblockIncluded","firstTimeInclusion","inclusionTree","zeroBitPlanesTree","InclusionTree","TagTree","incrementValue","nextLevel","included","zeroBitPlanes","codingpasses","codingpassesLog2","codedDataLength","packetItem","copyCoefficients","coefficients","levelWidth","levelHeight","delta","mb","reversible","segmentationSymbolUsed","right","bottom","blockWidth","blockHeight","bitModel","currentCodingpassType","BitModel","dataItem","encodedData","setDecoder","runSignificancePropagationPass","runMagnitudeRefinementPass","runCleanupPass","checkSegmentationSymbol","nb","coefficentsSign","magnitude","coefficentsMagnitude","bitsDecoded","magnitudeCorrection","interleave","levelOffset","transformTile","quantizationParameters","spqcds","SPqcds","scalarExpounded","guardBits","reversibleTransformation","ReversibleTransform","IrreversibleTransform","subbandCoefficients","Float32Array","mu","epsilon","gainLog2","calculate","initializeTile","qcdOrQcc","QCC","QCD","COC","headerSize","lbox","tbox","jumpDataLength","colorspace","parseCodestream","headerType","parseImageProperties","newByte","doNotRecover","sqcd","spqcdSize","mainHeader","isSigned","qcd","noQuantization","spqcd","cqcc","qcc","cod","scod","multipleComponentTransform","blockStyle","selectiveArithmeticCodingBypass","resetContextProbabilities","terminationOnEachCodingPass","verticallyStripe","predictableTermination","precinctsSize","unsupported","partIndex","partsCount","resultImages","transformedTiles","y2","tile0","fourComponents","y0items","y1items","y2items","y3items","component0","alpha01","transformComponents","levelsLength","levels","currentLevel","stopValue","propagateValues","levelIndex","currentValue","LLAndLHContextsLabel","HLContextLabel","HHContextLabel","contextLabelTable","coefficientCount","neighborsSignificance","processingFlags","setNeighborsSignificance","column","labels","i1","decodeSignBit","contribution","sign0","sign1","significance1","decoded","horizontalContribution","indexNext","width4","index0","iNext","oneRowDown","twoRowsDown","threeRowsDown","indexBase","checkAllEmpty","i2","Transform","u0","ll","iterate","extend","j1","j2","hl_lh_hh","llWidth","llHeight","llItems","rowBuffer","numBuffers","colBuffers","currentBuffer","alpha","beta","gamma","calculateSHA512","calculateSHA384","calculateSHA256","PDF20","PDF17","ARCFourCipher","AES256Cipher","AES128Cipher","keyLength","encryptBlock","tmp2","decryptBlock","h0","h1","h2","h3","paddedLength","padded","rotateArg","Word64","highInteger","lowInteger","high","low","and","word","xor","or","shiftRight","places","shiftLeft","rotateRight","not","lowAdd","highAdd","copyTo","rotr","maj","sigma","sigmaPrime","littleSigma","h4","h5","h6","h7","t1","littleSigmaPrime","mode384","tmp3","tmp1","NullCipher","AESBaseCipher","_inv_s","_mix","_mixCol","bufferPosition","cipherKey","_keySize","_cyclesOfRepetition","_j","_j2","_j3","s0","s1","s3","_j4","_j5","_j6","_j7","_j8","_j9","_k2","sourceLength","iv","plain","_decrypt","outputLength","lastBlock","psLen","_j10","_decryptBlock2","cipher","_encrypt","_j11","_AESBaseCipher","_rcon","_expandKey","rcon","t3","t4","_AESBaseCipher2","compareByteArrays","array1","array2","checkOwnerPassword","ownerValidationSalt","userBytes","ownerPassword","hashData","checkUserPassword","userValidationSalt","userPassword","getOwnerKey","ownerKeySalt","ownerEncryption","getUserKey","userKeySalt","userEncryption","concatArrays","calculatePDF20Hash","arrayLength","k1","concatBytes","CipherTransform","stringCipherConstructor","streamCipherConstructor","StringCipherConstructor","StreamCipherConstructor","defaultPasswordBytes","prepareKeyData","revision","hashDataSize","keyLengthInBytes","checkData","encryptionKey","derivedKey","identityName","algorithm","cfDict","streamCryptoName","handlerDict","passwordBytes","fileIdBytes","uBytes","perms","passwordLength","pdfAlgorithm","createEncryptionKey20","decodeUserPassword","cf","stmf","strf","eff","buildObjectKey","isAes","buildCipherConstructor","cfm","cryptFilter","cipherConstructor","numComps","getRgbItem","inputLength","decodeMap","bpc","isDefaultDecode","originalWidth","originalHeight","actualHeight","comps","numComponentColors","needsResizing","isPassthrough","allColors","colorMap","getRgbBuffer","rgbPos","destPos","w1","w2","oldIndex","xRatio","yRatio","newIndex","xScaled","w1Scanline","resizeRgbImage","_destPos","_rgbPos","cs","IR","parseToIR","fromIR","whitePoint","blackPoint","gray","cmyk","CalGrayCS","matrix","CalRGBCS","basePatternCS","PatternCS","baseIndexedCS","hiVal","IndexedCS","alt","tintFn","AlternateCS","LabCS","colorSpaces","resCS","altIR","altCS","DeviceGrayCS","DeviceRgbCS","DeviceCmykCS","_ColorSpace","tmpBuf","baseNumComps","usesZeroToOneRange","baseBuf","scaled","tinted","getOutputLength","_ColorSpace2","baseCS","_ColorSpace3","highVal","outputDelta","lookupPos","_ColorSpace4","_ColorSpace5","convertToRgb","srcScale","_ColorSpace6","AG","L","YW","_ColorSpace7","XW","ZW","XB","YB","ZB","BRADFORD_SCALE_MATRIX","BRADFORD_SCALE_INVERSE_MATRIX","SRGB_D65_XYZ_TO_RGB_MATRIX","FLAT_WHITEPOINT_MATRIX","tempNormalizeMatrix","tempConvertMatrix1","tempConvertMatrix2","DECODE_L_CONSTANT","matrixProduct","sRGBTransferFunction","adjustToRange","decodeL","AGR","GR","BGG","GG","CGB","GB","X","MXA","MXB","MXC","MYA","MYB","MYC","Z","MZA","MZB","MZC","XYZ","XYZ_Flat","sourceWhitePoint","XYZ_In","LMS","LMS_Flat","convertToFlat","normalizeWhitePointToFlat","XYZ_Black","sourceBlackPoint","zeroDecodeL","X_Scale","X_Offset","Y_Scale","Y_Offset","Z_Scale","Z_Offset","compensateBlackPoint","XYZ_D65","LMS_D65","convertToD65","normalizeWhitePointToD65","SRGB","_ColorSpace8","fn_g","high1","low2","high2","maxVal","Ls","as","bs","amin","amax","bmin","bmax","M","N","_ColorSpace9","MarkupAnnotation","AnnotationBorderStyle","Annotation","_get","receiver","Reflect","_superPropBase","parameters","LinkAnnotation","TextAnnotation","fieldType","TextWidgetAnnotation","ButtonWidgetAnnotation","ChoiceWidgetAnnotation","WidgetAnnotation","PopupAnnotation","FreeTextAnnotation","LineAnnotation","SquareAnnotation","CircleAnnotation","PolylineAnnotation","PolygonAnnotation","CaretAnnotation","InkAnnotation","HighlightAnnotation","UnderlineAnnotation","SquigglyAnnotation","StrikeOutAnnotation","StampAnnotation","FileAttachmentAnnotation","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","bbox","bounds","maxY","getTransformMatrix","_isViewable","_isPrintable","dashArray","horizontalCornerRadius","verticalCornerRadius","isValid","allZeros","radius","_Annotation","setCreationDate","creationDate","hasPopup","_Annotation2","annotationType","fieldName","_constructFieldName","fieldValue","alternativeText","defaultAppearance","fieldResources","fieldFlags","readOnly","hasFieldFlag","unshift","loopDict","_WidgetAnnotation","alignment","textAlignment","maximumLength","multiLine","comb","_WidgetAnnotation2","checkBox","radioButton","pushButton","_processCheckBox","_processRadioButton","_processPushButton","customAppearance","exportValueOptionsDict","exportValues","exportValue","buttonValue","fieldParent","fieldParentValue","_WidgetAnnotation3","isOptionArray","displayValue","combo","multiSelect","_MarkupAnnotation","_this7","_Annotation3","_this8","_Annotation4","_this9","parentItem","parentSubtype","parentType","parentId","parentFlags","_MarkupAnnotation2","_this10","_MarkupAnnotation3","_this11","lineCoordinates","_MarkupAnnotation4","_this12","_MarkupAnnotation5","_this13","_MarkupAnnotation6","_this14","rawVertices","vertices","_PolylineAnnotation","_this15","_MarkupAnnotation7","_this16","_MarkupAnnotation8","_this17","originalInkLists","inkLists","_MarkupAnnotation9","_this18","_MarkupAnnotation10","_this19","_MarkupAnnotation11","_this20","_MarkupAnnotation12","_this21","_MarkupAnnotation13","_this22","_MarkupAnnotation14","_this23","file","QueueOptimizer","addState","parentState","pattern","checkFn","iterateFn","processFn","InitialState","iCurr","fnArray","argsArray","match","lastProcessed","curr","iFirstSave","iFirstTransform","iFirstPIIXO","maxLineHeight","currentX","currentY","img","imgWidth","imgHeight","dataOffset","iFirstPIMXO","imageMask","handlePaintSolidColorImageMask","iTransform","transformArgs","isSameImage","firstPIMXOArg0","firstTransformArg0","firstTransformArg3","iPIMXO","positions","images","maskParams","firstPIXOArg0","iFirstSetFont","firstSetFontArg0","firstSetFontArg1","iFirstBeginText","iFirstSetTextMatrix","iFirstShowText","iFirstEndText","iFirst","iEndText","_optimize","NullOptimizer","messageHandler","optimizer","dependencies","_totalLength","weight","CHUNK_SIZE","addDependency","addDependencies","transfers","cached","_transfers","_cmap","_fonts","_encodings","_unicode","_standard_fonts","_pattern","_bidi","_glyphlist","_metrics","_murmurhash","_image_utils","_image","DefaultPartialEvaluatorOptions","_ref$options","parsingType3Font","fetchBuiltInCMap","compressionType","TimeSlotManager","normalizeBlendMode","checked","endTime","deferred","clone","newOptions","newEvaluator","nodes","graphicStates","graphicStatesKeys","bm","xObjects","xObjectsKeys","xObject","xResources","buildFormXObject","xobj","initialState","group","groupOptions","isolated","knockout","groupSubtype","colorSpace","backdrop","buildPaintImageXObject","_buildPaintImageXObject","image","_ref3$isInline","isInline","_ref3$forceDisableNat","forceDisableNativeImageDecoder","bitStrideLength","imgArray","softMask","imageObj","nativeImageDecoder","imgPromise","PDFImage","createMask","imageIsFromDecodeStream","inverseDecode","createImageData","NativeImageDecoder","isSupported","buildImage","nativeDecoder","handleSMask","stateManager","smaskContent","smaskOptions","transferObj","isPDFFunction","transferFn","transferMap","handleTilingType","patternDict","tilingOpList","resourcesArray","patternResources","getTilingPatternIR","tilingPatternIR","handleSetFont","fontArgs","fontRef","fontName","loadFont","isType3Font","loadType3Data","TranslatedFont","ErrorFont","handleText","glyphs","charsToGlyphs","textRenderingMode","fillColorSpace","buildFontPaths","gState","gStateObj","gStateKeys","errorFont","fontRes","fontID","translatedPromise","fontCapability","preEvaluatedFont","preEvaluateFont","fontRefIsRef","fontAliases","aliasFontRef","Font","getFontID","translateFont","fontType","fontFile3","getFontType","buildPath","parsingText","lastIndex","opArgs","handleColorN","_handleColorN","patternName","typeNum","shading","Pattern","parseShading","_ref4$initialState","EvalState","xobjs","StateManager","preprocessor","EvaluatorPreprocessor","timeSlotManager","closePendingRestoreOPS","savedStatesDepth","promiseBody","operation","resolveXObject","rejectXObject","fontSize","combinedGlyphs","arrLength","arrItem","strokeColorSpace","shadingRes","patternIR","dictName","extGState","_ref5$stateManager","_ref5$normalizeWhites","_ref5$combineTextItem","_ref5$seenStyles","seenStyles","TextState","textState","WhitespaceRegexp","styles","textContentItem","vertical","lastAdvanceWidth","lastAdvanceHeight","textAdvanceScale","spaceWidth","fakeSpaceMin","fakeMultiSpaceMin","fakeMultiSpaceMax","textRunBreakAllowed","skipEmptyXObjs","ensureTextContentItem","fontFamily","fallbackName","ascent","descent","tsm","textHScale","textRise","fontMatrix","glyphHeight","trm","ctm","textMatrix","textLineMatrix","scaleLineX","scaleCtmX","isMonospace","replaceWhitespace","buildTextContentItem","textChunk","glyph","glyphWidth","vmetric","glyphUnicode","NormalizedUnicodes","getNormalizedUnicodes","reverseIfRtl","charSpacing","wordSpacing","addFakeSpaces","tx","ty","translateTextMatrix","abs","fakeSpaces","flushTextContentItem","bidiResult","bidi","dir","runBidiTransform","enqueueChunk","enqueue","advance","fontNameArg","fontSizeArg","leading","isSameTextLine","translateTextLineMatrix","carriageReturn","calcTextLineMatrixAdvance","setTextLineMatrix","breakTextRun","currentState","xObjStateManager","sinkWrapper","enqueueInvoked","gStateFont","extractDataStructures","baseDict","properties","cidToGidBytes","toUnicode","toUnicodePromise","readToUnicode","composite","cidSystemInfo","registry","ordering","supplement","cidToGidMap","differences","baseEncodingName","diffEncoding","defaultEncoding","getEncoding","isSymbolicFont","FontFlags","Symbolic","isNonsymbolicFont","Nonsymbolic","StandardEncoding","WinAnsiEncoding","MacRomanEncoding","SymbolSetEncoding","ZapfDingbatsEncoding","hasEncoding","buildToUnicode","readCidToGidMap","_buildSimpleFontToUnicode","charcode","glyphName","glyphsUnicodeMap","getGlyphsUnicode","getUnicodeForGlyph","baseEncoding","ToUnicodeMap","hasIncludedToUnicodeMap","fallbackToUnicode","cMap","builtInCMap","IdentityCMap","ucs2CMapName","CMapFactory","useCMap","ucs2CMap","cid","ucs2","IdentityToUnicodeMap","firstChar","lastChar","cmapObj","cmap","getMap","charCode","glyphsData","glyphID","extractWidths","defaultVMetrics","widths","glyphsWidths","defaultWidth","glyphsVMetrics","vmetrics","parseFloat","baseFontName","metrics","getBaseFontMetrics","buildCharCodeToWidth","firstWidth","FixedPitch","isSerifFont","fontNameWoStyle","getSerifFonts","monospace","lookupName","getStdFontMap","Metrics","getMetrics","glyphWidths","widthsByGlyphName","uint8array","df","MurmurHash3_64","update","diffLength","diffBuf","diffEntry","hexdigest","maxCharIndex","Serif","getSymbolsFonts","baseFont","fontNameStr","baseFontStr","cMapPromise","fontFile","length1","length2","length3","wideChars","fixedPitch","xHeight","capHeight","italicAngle","cidEncoding","fontChar","renderer","hasBuiltPath","getPathJs","accent","type3Loaded","exportData","glyphCacheValues","parentOperatorList","type3Options","type3Evaluator","loadCharProcsPromise","charProcs","fontResources","charProcKeys","charProcOperatorList","_loop2","glyphStream","stateStack","old","txDiff","tyDiff","denominator","calcRenderMatrix","getOPMap","numArgs","variableArgs","opMap","nonProcessedArgs","_numInvalidPathOPS","opSpec","argsLength","partialMsg","preprocessCommand","CMap","BUILT_IN_CMAPS","codespaceRanges","numCodespaceRanges","dstLow","dst","nn","codespaceRange","_CMap","addCodespaceRange","BinaryCMapReader","hexToInt","hexToStr","addHex","incHex","BinaryCMapStream","readByte","readNumber","readSigned","readHex","readHexNumber","sp","readHexSigned","readString","_char","sequence","dataSize","subitemsCount","mapOne","mapCidRange","mapBfRange","strToInt","expectString","expectInt","parseBfChar","parseBfRange","mapBfRangeToArray","parseCidChar","parseCidRange","parseCodespaceRange","parseWMode","parseCMapName","parseCMap","previous","embeddedUseCMap","objLoop","extendCMap","createBuiltInCMap","newCMap","useCodespaceRanges","cMapData","parsedCMap","isIdentityCMap","SEAC_ANALYSIS_ENABLED","_cff_parser","_font_renderer","_type1_parser","PRIVATE_USE_AREAS","Script","Italic","AllCap","SmallCap","ForceBold","MacStandardGlyphOrdering","adjustWidths","recoverGlyphName","Glyph","operatorListId","isInFont","matchesForCache","charCodeOf","amend","OpenTypeFileBuilder","writeInt16","writeInt32","writeData","sfnt","tables","getSearchParams","entriesCount","entrySize","maxPower2","searchRange","rangeShift","toArray","tablesNames","tableName","numTables","tableOffsets","searchParams","checksum","addTable","sizes","missingFile","glyphCache","toFontChar","isEmpty","fallbackToSystemFont","_getFontFileType2","fileType","fileSubtype","isTrueTypeFile","isTrueTypeCollectionFile","isOpenTypeFile","isType1File","isCFFFile","getFontFileType","mimetype","cff","CFFFont","Type1Font","convert","checkAndRepair","isOpenType","seacMap","int16","signedInt16","string16","safeString16","buildToFontChar","adjustMapping","charCodeToGlyphId","hasGlyph","newGlyphZeroId","newMap","privateUseAreaIndex","nextAvailableFontCharCode","privateUseOffetEnd","originalCharCode","glyphId","fontCharCode","createCmapTable","numGlyphs","codeIndices","getRanges","bmpLength","trailingRangesCount","segCount","startCount","endCount","idDeltas","idRangeOffsets","glyphsIds","bias","contiguous","format314","format31012","header31012","createOS2Table","charstrings","override","unitsPerEm","yMax","yMin","ulUnicodeRange1","ulUnicodeRange2","ulUnicodeRange3","ulUnicodeRange4","firstCharIndex","lastCharIndex","getUnicodeRangeFor","ascentScaled","typoAscent","typoDescent","winAscent","winDescent","createPostTable","angle","createNameTable","strings","stringsUnicode","strBufUnicode","platforms","encodings","languages","namesRecordCount","nameTable","strOffset","strs","ID","FontRendererFactory","stdFontMap","nonStdFontMap","getNonStdFontMap","isStandardFont","remeasure","GlyphMapForStandardFonts","getGlyphMapForStandardFonts","SupplementalGlyphMapForArialBlack","getSupplementalGlyphMapForArialBlack","SupplementalGlyphMapForCalibri","getSupplementalGlyphMapForCalibri","unicodeCharCode","getDingbatsGlyphsUnicode","VALID_TABLES","readTables","readTableEntry","previousPosition","readOpenTypeHeader","ttf","entrySelector","sanitizeGlyph","sourceStart","sourceEnd","hintsValid","glyphProfile","sizeOfInstructions","glyf","contoursCount","flagsCount","instructionsStart","instructionsLength","instructionsEnd","coordinatesLength","xyLength","glyphDataLength","readNameTable","numRecords","stringsStart","records","platform","language","nameIndex","cffFile","TTOpsStackDeltas","sanitizeTTProgram","ttContext","funcId","lastEndf","lastDeff","callstack","functionsCalled","tooComplexToFollowFunctions","inFDEF","ifLevel","inELSE","op","functionsStackDeltas","stackTop","functionsDefined","functionsUsed","newStackLength","stackDelta","NaN","foldTTTable","ttcData","ttc","_readTrueTypeCollecti","ttcTag","majorVersion","minorVersion","numFonts","offsetTable","dsigTag","dsigLength","dsigOffset","readTrueTypeCollectionHeader","potentialHeader","potentialTables","nameEntry","readTrueTypeCollectionData","isTrueType","isComposite","numGlyphsOut","dupFirstEntry","maxFunctionDefs","maxSizeOfInstructions","fpgm","prep","cvt","checkInvalidFunctions","cvtData","sanitizeTTPrograms","numOfMetrics","numMissing","sanitizeMetrics","locaLength","indexToLocFormat","numGlyphsPlusOne","sanitizeHead","missingGlyphs","isGlyphLocationsLong","glyphsInfo","loca","itemSize","itemDecode","itemEncode","locaData","locaDataSize","oldGlyfData","oldGlyfDataLength","newGlyfData","writeOffset","simpleGlyph","firstEntryLength","sanitizeGlyphLocations","metricsOverride","post","maxpNumGlyphs","glyphNames","valid","glyphNameIndexes","customNames","readPostScriptTable","isCidToGidMapEmpty","cmapTable","platformId","encodingId","mappings","hasShortCmap","potentialTable","canBreak","useTable","format","segIndex","offsetsCount","rangeOffset","offsetIndex","offsets","readCmapTable","cmapPlatformId","cmapEncodingId","cmapMappings","cmapMappingsLength","standardGlyphName","unicodeOrCharCode","glyphZeroId","newMapping","os2","selection","validateOS2Table","CFFParser","duplicateFirstGlyph","compiler","CFFCompiler","compile","namePrototype","builder","tableTag","builtInEncoding","adjustToUnicode","getGlyphMapping","hasGlyphId","getCharCodes","charCodes","createCharCode","seacs","charset","getCharset","seac","baseGlyphName","accentGlyphName","baseGlyphId","accentGlyphId","accentOffset","baseFontCharCode","accentFontCharCode","tan","cffWidths","hmtx","charstring","_shadowWidth","possibleSpaceReplacements","charToGlyph","widthCode","mapSpecialUnicodeValues","charsCache","charsCacheKey","readCharCode","type1FontGlyphMapping","findBlock","streamBytes","startIndex","streamBytesLength","headerBlockLength","pfbHeader","pfbHeaderPresent","headerBlock","suggestedLength","headerBytes","headerBytesLength","block","EEXEC_SIGNATURE","streamStartPos","getHeaderBlock","Type1Parser","extractFontHeader","eexecBlock","eexecBytes","getEexecBlock","extractFontProgram","type2Charstrings","getType2Charstrings","subrs","getType2Subrs","getSeacs","type1Charstrings","type1Subrs","type2Subrs","CFF","CFFHeader","CFFTopDict","setByName","CFFStrings","globalSubrIndex","CFFIndex","charsetArray","CFFStandardStrings","CFFCharset","charStringsIndex","charStrings","privateDict","CFFPrivateDict","field","privateData","subrIndex","subrsIndex","charsets","isCIDFont","CFFFDSelect","_charsets","CharstringValidationData","stackClearing","stem","resetStack","undefStack","CharstringValidationData12","stackFn","seacAnalysisEnabled","parseHeader","parseIndex","topDictIndex","stringIndex","topDictParsed","parseDict","createDict","parseNameIndex","parseStringIndex","parsePrivateDict","hasName","charStringOffset","getByName","charStringIndex","fontBBox","fdArrayIndex","dictRaw","fontDict","fdArray","parseCharsets","fdSelect","parseFDSelect","parseEncoding","charStringsAndSeacs","parseCharStrings","localSubrIndex","hdrSize","offSize","parseOperand","parseFloatOperand","operands","cffIndex","offsetSize","offsetStart","offsetEnd","Type","cffDict","setByKey","parseCharString","callDepth","stackSize","validationCommand","subrNumber","hasVStems","firstStackClearing","localSubrToUse","privateDictToUse","fdIndex","getFDIndex","nominalWidth","emptyPrivateDictionary","parentDict","privateOffset","privateDictEnd","dictData","subrsOffset","relativeOffset","removeByName","CFFCharsetPredefinedTypes","ISO_ADOBE","ISOAdobeCharset","EXPERT","ExpertCharset","EXPERT_SUBSET","ExpertSubsetCharset","raw","predefined","ExpertEncoding","dataStart","glyphsCount","rangesCount","gid","supplementsCount","sid","readSupplement","CFFEncoding","glyphZero","NUM_STANDARD_CFF_STRINGS","getSID","objects","CFFDict","keyToNameMap","nameToKeyMap","defaults","types","opcodes","order","valueLength","createTables","layout","glyphIndex","CFFOffsetTracker","isTracking","track","location","setEntryLocation","offset1","offset2","offset3","offset4","compileHeader","compileNameIndex","subDict","compiled","compileTopDicts","topDictTracker","trackers","compileStringIndex","compileIndex","compileEncoding","compileCharset","compileCharStrings","compileFDSelect","fontDictTrackers","compilePrivateDicts","encodeNumber","encodeFloat","encodeInteger","nibbles","sanitizedName","dicts","removeCidKeys","fontDictTracker","fontDictData","compileDict","privateDictTracker","privateDictData","offsetTracker","compileGlobalSubrIndex","writeByteArray","numGlyphsLessNotDef","charsetIndex","numCharsets","warned","compileTypedArray","lastFD","currentFD","numRanges","lastOffset","encodingName","MacExpertEncoding","getSpecialPUASymbols","UnicodeRanges","charsLength","isRTLRangeFor","hexStr","nameLen","toUpperCase","getLong","getUshort","parseCmap","idDelta","idOffset","groups","parseCff","gsubrs","isCFFCIDFont","lookupCmap","NOOP","CompiledFont","compiledGlyphs","compiledCharCodeToGlyphId","compileGlyph","cmds","compileGlyphImpl","TrueTypeCompiled","_CompiledFont","compileGlyf","quadraticCurveTo","xa","ya","numberOfContours","arg1","arg2","scale01","scale10","subglyph","endPtsOfContours","numberOfPoints","points","startPoint","endPoint","contour","Type2Compiled","_CompiledFont2","cffInfo","glyphNameMap","gsubrsBias","subrsBias","compileCharString","stems","bezierCurveTo","xb","yb","subrCode","stackClean","numSubrs","achar","bchar","parseGlyfTable","Type1CharString","COMMAND_MAP","lsb","flexing","encoded","wx","sbx","dy","executeCommand","sby","num2","num1","flexArgs","howManyArgs","command","keepStack","stackLength","isHexDigit","discardNumber","decrypted","isSpecial","encrypted","isBinary","digit1","digit2","decryptAscii","readNumberArray","getToken","readInt","readBoolean","readCharStrings","lenIV","program","blueArray","charString","encodingArg","xstep","ystep","paintType","tilingType","ShadingType","getPattern","Shadings","RadialAxial","Mesh","Dummy","coordsArr","shadingType","domainArr","extendStart","extendEnd","extendArr","r1","r2","distance","fnObj","createFromArray","colorStops","ratio","cssColor","background","SMALL_NUMBER","r0","MeshStreamReader","tmpCompsBuf","csNumComps","tmpCsCompsBuf","colorFn","align","readFlag","bitsPerFlag","readCoordinate","bitsPerCoordinate","xi","yi","readComponents","ci","getB","lut","t_","buildB","buildFigureFromPatch","mesh","figure","figures","coords","pi","figureMinX","figureMinY","figureMaxX","figureMaxY","splitXBy","splitYBy","verticesPerRow","figureCoords","figureColors","cl","cr","c0","c1","c2","c3","bRow","bCol","newColor","updateBounds","patchMesh","operators","ps","verticesLeft","hasData","coord","decodeType4Shading","decodeType5Shading","tmp4","decodeType6Shading","decodeType7Shading","coordsPacked","xy","colorsPacked","packData","startLevel","isLTR","strLength","createBidiText","numBidi","charType","baseTypes","arabicTypes","isOdd","sor","eor","lastType","findUnequal","before","after","setValues","isEven","highestLevel","lowestOddLevel","reverseValues","fnDict","PostScriptCompiler","PostScriptEvaluator","_ps_parser","IsEvalSupportedCached","_ref$isEvalSupported","PDFFunction","parseArray","toNumberArray","getSampleArray","outputSize","bps","sampleMul","strBytes","strIdx","typeFn","constructSampled","constructInterpolated","constructStiched","constructPostScript","constructSampledFromIR","constructInterpolatedFromIR","constructStichedFromIR","constructPostScriptFromIR","toMultiArray","inputSize","encode","interpolate","xmin","xmax","ymin","ymax","samples","cubeVertices","cubeN","Float64Array","cubeVertex","domain_2i","domain_2i_1","size_i","e0","n0","n1","rj","_ref9","fnRefs","fns","dmin","dmax","rmin","rmax","_ref12","PostScriptLexer","PostScriptParser","_ref13","numOutputs","numInputs","cache_available","cachedValue","execute","stackIndex","bound","PostScriptStack","initialStack","copy","roll","operator","atan","cos","LN10","sin","AstNode","AstArgument","AstLiteral","AstBinaryOperation","AstMin","AstVariable","AstVariableDefinition","variable","ExpressionBuilderVisitor","parts","buildAddOperation","buildMulOperation","buildSubOperation","buildMinOperation","visit","visitArgument","visitLiteral","visitBinaryOperation","visitMin","visitVariable","visitVariableDefinition","literal","definition","ast1","ast2","tmpVar","instructions","lastRegister","instruction","statementBuilder","expr","nextToken","accept","expect","PostScriptTokenTypes","LBRACE","parseBlock","RBRACE","NUMBER","OPERATOR","parseCondition","conditionLocation","IF","jumpLocation","endOfTrue","IFELSE","PostScriptToken","opCache","opValue","getOperator","seed","blockCounts","tailLength","dataUint32","k2","C1","C2","hex1","hex2","_ref$forceDataSchema","isDecodable","handleImageData","canDecode","decodeAndClamp","addend","coefficient","resizeImageMask","_ref$isInline","_ref$smask","_ref$mask","_ref$isMask","isMask","matte","needsDecode","decodeCoefficients","decodeAddends","isIndexed","smaskPromise","maskPromise","_ref2$isInline","_ref2$nativeDecoder","imagePromise","imageData","smaskData","maskData","computedLength","decodeBuffer","getComponents","buf","bufferPos","rowComps","loop1End","loop2End","remainingBits","fillOpacity","rgbaBuf","alphaBuf","sw","sh","fillGrayBuffer","opacity","imageOffset","maskOffset","undoPreblend","matteRgb","matteR","matteG","matteB","forceRGBA","getImageBytes","newArray","imageLength","maybeUndoPreblend","fillRgb","resolveCall","_resolveCall","wrapReason","makeReasonSerializable","resolveOrReject","success","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbacksCapabilities","ah","actionHandler","_onComObjOnMessage","_processStreamMessage","isReply","_sourceName","_targetName","_createStreamSink","scope","sendWithStream","queueingStrategy","startCapability","startCall","isClosed","pullCapability","pullCall","cancel","cancelCapability","cancelCall","sendStreamRequest","streamSink","isCancelled","lastDesiredSize","sinkCapability","sendStreamResponse","deleteStreamController","removeEventListener","default","_msgHandler","_contentLength","_fullRequestReader","_rangeRequestReaders","PDFWorkerStreamReader","PDFWorkerStreamRangeReader","_isRangeSupported","_isStreamingSupported","getReader","_headersReady","_read","_read2","punycode","util","Url","slashes","auth","hostname","query","path","urlParse","resolveObject","protocolPattern","portPattern","simplePathPattern","unwise","autoEscape","nonHostChars","hostEndingChars","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","parseQueryString","slashesDenoteHost","queryIndex","splitter","uSplit","rest","trim","simplePath","substr","lowerProto","atSign","hostEnd","hec","parseHost","ipv6Hostname","hostparts","part","newpart","validParts","notHost","toASCII","ae","esc","qm","tkeys","tk","tkey","rkeys","rk","rkey","relPath","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","isNullOrUndefined","authInHost","isNull","hasTrailingSlash","isAbsolute","freeGlobal","maxInt","regexPunycode","regexNonASCII","regexSeparators","stringFromCharCode","mapDomain","string","ucs2decode","extra","ucs2encode","digitToBasic","adapt","numPoints","firstTime","baseMinusTMin","basic","oldi","baseMinusT","codePoint","handledCPCount","basicLength","handledCPCountPlusOne","qMinusT","define","qs","sep","eq","regexp","maxKeys","kstr","vstr","idx","xs","stringifyPrimitive","objectKeys","ks","_extends","ownKeys","enumerableOnly","getOwnPropertyDescriptors","_excluded","Step","_createSuper","onClick","onStepClick","stepIndex","_classNames","iconNode","progressDot","stepIcon","stepNumber","icon","iconPrefix","icons","iconClassName","classNames","_defineProperty","iconDot","_classNames2","active","_this$props3$status","subTitle","tailContent","_objectWithoutProperties","classString","stepItemStyle","_objectSpread","accessibilityProps","role","tabIndex","renderIconNode","Steps","_this$props2$style","labelPlacement","initial","isNav","adjustedLabelPlacement","childProps","cloneElement","percent","responsive","useBreakpoint","_React$useContext","ConfigContext","rtlDirection","getDirection","stepsClassName","CheckOutlined","CloseOutlined","RcSteps","omit","progressWidth","Progress","strokeWidth","_objectSpread2","_slicedToArray2","_objectWithoutProperties2","_Context","_IconBase","_twoTonePrimaryColor","setTwoToneColor","Icon","spin","twoToneColor","_React$useContext$pre","useContext","iconTabIndex","svgStyle","msTransform","_normalizeTwoToneColo","normalizeTwoToneColors","_normalizeTwoToneColo2","primaryColor","secondaryColor","getTwoToneColor","globalConfig","defaultPrefixCls","defaultIconPrefixCls","configConsumerProps","_rcFieldForm","_useMemo","_localeProvider","_LocaleReceiver","_message","_notification","_cssVariables","_default2","PASSED_PROPS","globalPrefixCls","globalIconPrefixCls","getGlobalPrefixCls","getGlobalIconPrefixCls","suffixCls","getIconPrefixCls","getRootPrefixCls","rootPrefixCls","ProviderChildren","_b","csp","autoInsertSpaceInButton","form","locale","componentSize","space","virtual","dropdownMatchSelectWidth","legacyLocale","parentContext","iconPrefixCls","useCallback","mergedPrefixCls","config","propName","propValue","memoedConfig","prevConfig","currentConfig","prevKeys","currentKeys","memoIconContextValue","useMemo","validateMessages","Form","defaultValidateMessages","FormProvider","_ANT_MARK__","ANT_MARK","Provider","SizeContextProvider","ConfigProvider","useEffect","rtl","__","SizeContext","theme","registerTheme","WarningFilled","AntdIcon","WarningFilledSvg","NoFound","fillRule","strokeLinecap","strokeLinejoin","ServerError","Unauthorized","IconMap","CheckCircleFilled","CloseCircleFilled","ExclamationCircleFilled","warning","ExceptionMap","noFound","serverError","unauthorized","ExceptionStatus","Result","customizeClassName","_ref3$status","devWarning","SVGComponent","renderIcon","renderExtra","PRESENTED_IMAGE_403","PRESENTED_IMAGE_404","PRESENTED_IMAGE_500","_Typography","_Text","_Link","_Title","_Paragraph","Typography","Text","Paragraph","_warning","resetWarned","isNativeReflectConstruct","possibleConstructorReturn","Derived","hasNativeReflectConstruct","Super","NewTarget","construct","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_toConsumableArray2","_copyToClipboard","_EditOutlined","_CheckOutlined","_CopyOutlined","_rcResizeObserver","_transButton","_raf","_styleChecker","_tooltip","_Editable","isLineClampSupport","isStyleSupport","isTextOverflowSupport","getNode","dom","defaultNode","needDom","createRef","edit","copied","ellipsisText","ellipsisContent","isEllipsis","expanded","clientRendered","onExpandClick","onExpand","getEllipsis","onEditClick","preventDefault","triggerEdit","onEditChange","getEditable","onEditCancel","onCopyClick","copyable","copyConfig","onCopy","copyId","setEditRef","editIcon","onStart","resizeOnNextFrame","rafId","syncEllipsis","prevEllipsis","editable","editing","expandable","_this$getEllipsis2","onEllipsis","tooltip","_this$getEllipsis3","canUseCSSEllipsis","_measure","renderOperations","forceRender","expandContent","_this$getEllipsis4","symbol","_this$state2","expandStr","editStr","ariaLabel","tooltips","tooltipNodes","iconNodes","copiedStr","copyStr","systemStr","_this$getEditable3","autoSize","onEnd","onSave","forceRenderExpanded","renderExpand","renderEdit","renderCopy","_this$state3","_this$getEllipsis5","textProps","cssEllipsis","cssTextOverflow","cssLineClamp","restContent","Fragment","underline","del","strong","keyboard","currentContent","needed","wrapperDecorations","componentName","expand","onResize","WebkitLineClamp","renderEditInput","renderContent","contextType","aliases","eventListenerRef","shimKeyboardEvent","eventListener","_assertThisInitialized2","_possibleConstructorReturn2","_getPrototypeOf2","sham","Proxy","_isNativeReflectConstruct","generateQuery","onLoadListeners","apiScriptRequested","HCaptcha","renderCaptcha","resetCaptcha","removeCaptcha","handleOnLoad","handleSubmit","handleExpire","handleError","isApiReady","hcaptcha","isRemoved","elementId","captchaId","apihost","assethost","endpoint","imghost","hl","languageOverride","reCaptchaCompat","reportapi","sentry","custom","hcaptchaOnLoad","script","mountCaptchaScript","recaptchacompat","nextState","onReady","renderParams","onLoad","onVerify","_this$state4","getResponse","getRespKey","onExpire","_this$state5","onError","_this$state6","opts","_this$state7","pdfjsSharedUtil","pdfjsDisplayAPI","pdfjsDisplayTextLayer","pdfjsDisplayAnnotationLayer","pdfjsDisplayDisplayUtils","pdfjsDisplaySVG","pdfjsDisplayWorkerOptions","pdfjsDisplayAPICompatibility","PDFNodeStream","setPDFNetworkStreamFactory","PDFFetchStream","PDFNetworkStream","isFetchSupported","isValidFetchUrl","build","getDocument","LoopbackPort","PDFDataRangeTransport","PDFWorker","renderTextLayer","AnnotationLayer","SVGGraphics","RenderingCancelledException","getFilenameFromUrl","LinkTarget","addLinkAttributes","loadScript","PDFDateString","GlobalWorkerOptions","apiCompatibilityParams","PDFDocumentLoadingTask","rangeTransport","worker","pdfBytes","CMapReaderFactory","_display_utils","DOMCMapReaderFactory","stopAtErrors","pdfBug","NativeImageDecoderValues","_api_compatibility","disableRange","disableStream","workerParams","_worker_options","workerPort","fromPort","_worker","destroyed","pdfDataRangeTransport","initialData","progressiveDone","workerId","_fetchDocument","networkStream","_transport_stream","PDFDataTransportStream","createPDFNetworkStream","httpHeaders","withCredentials","transport","WorkerTransport","_transport","pdfNetworkStreamFactory","PDFPageProxy","PDFDocumentProxy","_font_loader","_canvas","_global_scope","_metadata","_webgl","fallbackWorkerSrc","fakeWorkerFilesLoader","isWorkerDisabled","useRequireEnsure","requirejs","toUrl","dynamicLoaderSupported","pdfjsFilePath","currentScript","nextDocumentId","onPassword","onUnsupportedFeature","deprecated","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","_pdfInfo","pageNumber","getDestinations","getDestination","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenActionDestination","getAttachments","getJavaScript","getOutline","getPermissions","getMetadata","downloadInfoCapability","getStats","startCleanup","loadingTask","loadingParams","_pageInfo","_stats","StatTimer","DummyStatTimer","_pdfBug","commonObjs","objs","PDFObjects","cleanupAfterRender","pendingCleanup","intentStates","_ref$rotation","rotation","_ref$dontFlip","dontFlip","PageViewport","viewBox","_ref2$intent","annotationsPromise","annotationsIntent","getAnnotations","canvasContext","viewport","_ref3$intent","_ref3$enableWebGL","enableWebGL","_ref3$renderInteracti","_ref3$transform","_ref3$imageLayer","imageLayer","_ref3$canvasFactory","canvasFactory","_ref3$background","time","renderingIntent","canvasFactoryInstance","DOMCanvasFactory","webGLContext","WebGLContext","enable","intentState","displayReadyCapability","receivingOperatorList","renderTasks","internalRenderTask","_tryCleanup","timeEnd","InternalRenderTask","useRequestAnimationFrame","renderTask","initializeGraphics","operatorListChanged","opListTask","opListReadCapability","_ref4$normalizeWhites","_ref4$disableCombineT","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","streamTextContent","pump","_textContent$items","pageCache","renderCompleted","resetStats","operatorListChunk","_listeners","_defer","_deferred","cloned","cloneValue","transferable","fakeWorkerFilesLoadedCapability","pdfWorkerPorts","nextFakeWorkerId","_getWorkerSrc","workerSrc","getMainThreadWorkerMessageHandler","pdfjsWorker","_ref6$name","_ref6$port","_ref6$postMessageTran","_ref6$verbosity","_webWorker","_messageHandler","_initializeFromPort","_initialize","Worker","createCDNWrapper","terminateEarly","onWorkerError","_setupFakeWorker","sendTest","testObj","mainWorkerMessageHandler","setupFakeWorkerGlobal","workerHandler","fontLoader","FontLoader","_onUnsupportedFeature","_params","cMapUrl","isCompressed","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_destroy","evt","headersCapability","fullReader","_numPages","_startRenderPage","_renderPageChunk","_data","exportedData","exportedError","fontRegistry","FontInspector","enabled","registerFont","fontAdded","FontFaceObject","_data2","pageProxy","Image","onload","onerror","releaseImageResources","_data3","imageUrl","rgbaLength","tmpCanvas","tmpCtx","getContext","drawImage","getImageData","results","Metadata","contentDispositionFilename","_objs","resolved","_ensureObj","RenderTask","_internalRenderTask","onContinue","canvasInRendering","_ref11$useRequestAnim","_ref11$pdfBug","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","canvas","StepperManager","stepper","init","nextBreakPoint","getNextBreakPoint","_this$params","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","requestAnimationFrame","_next2","executeOperatorList","link","LinkTargetValues","targetIndex","LinkTargetStringMap","anchor","DOMSVGFactory","DEFAULT_LINK_REL","SVG_NS","canvasAndContext","_ref$baseUrl","_ref$isCompressed","_fetch","baseURI","response","statusText","request","onreadystatechange","readyState","DONE","responseText","svg","createElementNS","_ref5$offsetX","_ref5$offsetY","_ref5$dontFlip","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","centerX","centerY","_ref6$scale","_ref6$rotation","_ref6$dontFlip","topLeft","bottomRight","SELF","BLANK","PARENT","TOP","started","times","longest","_time","duration","pdfDateStringRegex","Response","matches","year","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","UTC","BaseFontLoader","nativeFontFaces","styleElement","nativeFontFace","fonts","rule","getElementsByTagName","styleSheet","sheet","insertRule","cssRules","_bind","attached","isFontLoadingAPISupported","createNativeFontFace","addNativeFontFace","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","rules","fontsToLoad","_BaseFontLoader","GenericFontLoader","loadingContext","requests","nextRequestId","loadTestFontId","otherRequest","int32","spliceString","insert","called","_loadTestFont","span","isFontReady","fillText","supported","translatedData","_ref2$isEvalSupported","_ref2$disableFontFace","_ref2$ignoreErrors","_ref2$onUnsupportedFe","_ref2$fontRegistry","FontFace","compatibilityParams","isIE","isIOSChrome","freeze","_pattern_helper","IsLittleEndianCached","addContextCurrentTransform","mozCurrentTransform","_originalSave","_originalRestore","_originalRotate","_originalScale","_originalTranslate","translate","_originalTransform","_originalSetTransform","setTransform","_transformMatrix","_transformStack","ad_bc","bc_ad","cosValue","sinValue","CachedCanvases","getCanvas","trackTransform","canvasEntry","CanvasExtraState","alphaIsShape","fontSizeScale","textMatrixScale","lineX","lineY","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","resumeSMaskCtx","setCurrentPoint","canvasCtx","pendingClip","pendingEOFill","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","cachedCanvases","_cachedGetSinglePixelWidth","putBinaryImageData","ImageData","putImageData","thisChunkHeight","elemsInThisChunk","partialChunkHeight","fullChunks","totalChunks","chunkImgData","srcPos","srcLength","dest32","dest32DataLength","fullSrcDiff","white","srcDiff","kEnd","kEndUnrolled","srcByte","putBinaryImageMask","elem","copyCtxState","sourceCtx","destCtx","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","strokeStyle","fillStyle","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","composeSMaskBackdrop","g0","alpha_","composeSMaskAlpha","layerData","composeSMaskLuminosity","composeSMask","layerCtx","maskCtx","isEnabled","composed","layer","composeFn","hasBackdrop","chunkHeight","genericComposeSMask","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","_ref$transparency","_ref$background","fillRect","transparentCanvas","compositeCtx","beginLayout","executionStartIdx","continueCallback","argsArrayLen","fnId","chunkOperations","steps","breakIt","depObjId","objsPool","endSMaskGroup","endLayout","dashPhase","flatness","states","suspendSMaskGroup","beginSMaskGroup","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","startTransformInverse","mozCurrentTransformInverse","deltaTransform","clearRect","resumeSMaskGroup","ops","getSinglePixelWidth","xw","yh","consumePath","needRestore","pendingTextPaths","beginPath","addToPath","spacing","fontRefName","fontObj","fontDirection","typeface","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","getPathGenerator","strokeText","showType3Text","glyphsLength","spacingDir","widthAdvanceScale","simpleFillText","scaledX","scaledY","scaledAccentX","scaledAccentY","vx","vy","restoreNeeded","measuredWidth","isFontSubpixelAAEnabled","characterScaleX","spacingLength","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","getShadingPatternFromIR","inv","bl","br","ul","ur","canvasBounds","imageSmoothingEnabled","mozImageSmoothingEnabled","domImage","getCanvasPosition","appendImage","isPatternFill","width1","POINT_TYPES","lineSize","data0","outlines","pp","compileType3Glyph","maskCanvas","imgToPaint","widthScale","heightScale","HTMLElement","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","inverse","shadingIR","ShadingIRs","grad","createLinearGradient","createRadialGradient","addColorStop","createMeshCanvas","drawTriangle","x3","y3","car","cag","cab","cbr","cbg","cbb","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","x1_","x2_","drawFigure","cols","combinesScale","backgroundColor","boundsWidth","boundsHeight","paddedWidth","BORDER_SIZE","paddedHeight","drawFigures","owner","matrixScale","temporaryPatternCanvas","createPattern","PaintType","createPatternCanvas","curMatrixScale","combinedScale","dimx","getSizeAndScale","dimy","graphics","setFillAndStrokeStyleToContext","clipBbox","realOutputSize","maxSize","bboxWidth","bboxHeight","_xml_parser","_repair","xmlDocument","SimpleXMLParser","parseFromString","_parse","rdf","nodeName","firstChild","nextSibling","hasChildNodes","XMLParserErrorCode","isWhitespace","XMLParserBase","entity","onResolveEntity","attributes","skipWs","attrValue","attrName","attrEndChar","attrEndIndex","_resolveEntities","parsed","attrStart","onEndElement","_parseProcessingInstruction","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","_parseContent","onBeginElement","onText","SimpleDOMNode","nodeValue","_XMLParserBase","_currentFragment","_stack","_errorCode","parseXml","isWhitespaceString","lastElement","_queuedChunks","_progressiveDone","_pdfDataRangeTransport","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","addProgressiveDoneListener","_onProgressiveDone","transportReady","_enqueue","_begin","firstReader","queuedChunks","PDFDataTransportStreamReader","_progressiveDataLength","PDFDataTransportStreamRangeReader","requestDataRange","_loaded","_done","_requests","requestCapability","_end","_queuedChunk","_removeRangeReader","_ref$enable","_enabled","WebGLUtils","tryInitGL","loadShader","gl","shaderType","shader","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","errorMsg","getShaderInfoLog","createVertexShader","VERTEX_SHADER","createFragmentShader","FRAGMENT_SHADER","createProgram","shaders","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","createTexture","textureId","activeTexture","texture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","NEAREST","TEXTURE_MAG_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","currentGL","currentCanvas","generateGL","premultipliedalpha","smaskCache","figuresCache","useProgram","resolutionLocation","getUniformLocation","positionLocation","getAttribLocation","backdropLocation","subtypeLocation","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","enableVertexAttribArray","vertexAttribPointer","FLOAT","uniform1i","initSmaskGL","drawingBufferWidth","drawingBufferHeight","uniform2f","uniform4f","TEXTURE0","maskTexture","TEXTURE1","clearColor","BLEND","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","COLOR_BUFFER_BIT","drawArrays","TRIANGLES","deleteTexture","deleteBuffer","scaleLocation","offsetLocation","colorLocation","initFiguresGL","coordsMap","colorsMap","pIndex","cIndex","coordsBuffer","colorsBuffer","NonWhitespaceRegexp","styleBuf","appendText","geom","textDiv","textDivProperties","canvasWidth","originalTransform","paddingLeft","paddingRight","_textDivs","_textDivProperties","_viewport","atan2","PI","fontHeight","fontAscent","_fontInspectorEnabled","dataset","_textContentStream","_layoutText","_enhanceTextSelection","angleCos","angleSin","divWidth","divHeight","_bounds","_canceled","textDivs","textDivsLength","_renderingDone","boxes","box","x1New","x2New","expandBoundsLTR","expandBounds","divProperties","ts","findPositiveMin","boxScale","horizon","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","used","TextLayerRenderTask","textContentStream","textContentItemsStr","enhanceTextSelection","_textContent","_container","_textContentItemsStr","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","_processItems","styleCache","textLayerFrag","_render","timeout","mozOpaque","textItems","textStyles","expandTextDivs","expandDivs","renderParameters","AnnotationElementFactory","LinkAnnotationElement","TextAnnotationElement","TextWidgetAnnotationElement","RadioButtonWidgetAnnotationElement","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","linkService","downloadManager","imageResourcesPath","svgFactory","_createContainer","transformOrigin","borderWidth","horizontalRadius","verticalRadius","borderRadius","borderBottomStyle","borderColor","trigger","popup","PopupElement","hideWrapper","_AnnotationElement","externalLinkTarget","externalLinkRel","_bindNamedAction","_bindLink","destination","getDestinationHash","onclick","navigateTo","getAnchorUrl","executeNamedAction","_AnnotationElement2","l10nId","l10nArgs","_createPopup","_AnnotationElement3","_WidgetAnnotationElem","combWidth","letterSpacing","verticalAlign","_setTextStyle","textAlign","fontWeight","fontStyle","_WidgetAnnotationElem2","_WidgetAnnotationElem3","_LinkAnnotationElemen","_WidgetAnnotationElem4","selectElement","multiple","optionElement","_AnnotationElement4","selector","parentElement","querySelector","parentLeft","parentWidth","pinned","hideElement","dateObject","toDateObject","date","toLocaleDateString","toLocaleTimeString","_formatContents","_toggle","_show","_hide","pin","unpin","_AnnotationElement5","_AnnotationElement6","append","_AnnotationElement7","square","_AnnotationElement8","circle","_AnnotationElement9","containerClassName","svgElementName","polyline","_PolylineAnnotationEl","_AnnotationElement10","_AnnotationElement11","inkList","_AnnotationElement12","_AnnotationElement13","_AnnotationElement14","_AnnotationElement15","_AnnotationElement16","_AnnotationElement17","_this6$data$file","eventBus","dispatch","_download","downloadData","pf","toFixed","pm","acos","SVG_DEFAULTS","XLINK_NS","convertImgDataToPng","PNG_HEADER","crcTable","writePngChunk","crc","crc32","deflateSyncUncompressed","literals","deflateBlocks","idat","adler","adler32","bitDepth","colorType","offsetLiterals","offsetBytes","_y","ihdr","deflateSync","pngLength","CHUNK_WRAPPER_SIZE","SVGExtraState","activeClipUrl","clipGroup","maskId","clipCount","maskCount","shadingCount","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","_operatorIdMapping","tgrp","executeOpTree","svgElement","loadDependencies","convertOpList","operatorIdMapping","opTree","opListElement","opListToTree","opTreeElement","lineMatrix","xcoords","tspan","setAttributeNS","txtElement","txtgrp","charWidth","lineWidthScale","_setStrokeAttributes","_ensureTransformGroup","defs","addFontStyle","_makeColorN_Pattern","_makeShadingPattern","_makeTilingPattern","_args$","tilingId","_Util$applyTransform2","_Util$applyTransform4","_Util$singularValueDe2","txstep","tystep","tiling","gradient","shadingId","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","_iteratorNormalCompletion5","_didIteratorError5","_iteratorError5","_step5","_iterator5","colorStop","_iteratorNormalCompletion6","_didIteratorError6","_iteratorError6","_step6","_iterator6","getAttributeNS","clipId","clipPath","clipElement","_iteratorNormalCompletion7","_didIteratorError7","_iteratorError7","_step7","_iterator7","_step7$value","setStrokeAlpha","setFillAlpha","imgObj","imgEl","imgSrc","cliprect","definitions","rootGroup","_ensureClipGroup","_network_utils","http","https","fileUriRegex","sourceUrl","parsedUrl","parseUrl","isHttp","isFsUrl","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_error","BaseRangeReader","createRequestOptions","headers","_BaseFullReader","handleResponse","statusCode","_setReadableStream","getResponseHeader","_validateRangeRequest","validateRangeRequestCapabilities","allowRangeRequests","extractFilenameFromHeader","_request","_BaseRangeReader","_httpHeaders","_BaseFullReader2","lstat","createReadStream","_BaseRangeReader2","createResponseStatusError","contentDisposition","_content_disposition","getFilenameFromContentDispositionHeader","returnValues","validateResponseStatus","needsEncodingFixup","toParamRegExp","rfc2616unquote","fixupEncoding","rfc2047decode","rfc5987decode","_match2","quot","_matches$n","rfc2231getparam","_filename2","attributePattern","textdecode","TextDecoder","fatal","quotindex","extvalue","encodingend","NetworkManager","getXhr","currXhrId","listeners","xhrId","pendingRequest","setRequestHeader","expectedStatus","onStateChange","onprogress","onHeadersReceived","onDone","xhrStatus","getArrayBuffer","rangeHeader","_source","_manager","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onClosed","_onRangeRequestReaderClosed","_onHeadersReceived","_onDone","_onError","_fullRequestId","requestFull","_headersReceivedCapability","_cachedChunks","fullRequestXhrId","fullRequestXhr","getRequestXhr","lengthComputable","isPendingRequest","_close","createFetchOptions","abortController","signal","credentials","redirect","PDFFetchStreamReader","PDFFetchStreamRangeReader","_withCredentials","AbortController","_abortController","_headers","Headers","animating","autoplaying","currentDirection","currentLeft","currentSlide","dragging","edgeDragged","lazyLoadedList","listHeight","listWidth","scrolling","slideCount","slideHeight","slideWidth","swipeLeft","swiped","swiping","touchObject","startX","startY","curX","curY","trackStyle","trackWidth","targetSlide","clamp","lowerBound","upperBound","safePreventDefault","_reactName","getOnDemandLazySlides","spec","onDemandSlides","lazyStartIndex","endIndex","lazyEndIndex","slideIndex","lazySlidesOnLeft","lazySlidesOnRight","centerMode","slidesToShow","centerPadding","getWidth","offsetWidth","getHeight","offsetHeight","getSwipeDirection","xDist","yDist","swipeAngle","verticalSwiping","canGoNext","canGo","infinite","extractObject","newObject","slideHandler","waitForAnimate","fade","lazyLoad","slidesToScroll","useCSS","finalSlide","animationLeft","finalLeft","animationSlide","getTrackLeft","getTrackAnimateCSS","getTrackCSS","changeSlide","indexOffset","previousInt","slideOffset","previousTargetSlide","siblingDirection","checkNavigable","navigables","breakpoint","indexes","getNavigableIndexes","prevNavigable","getSlideCount","centerOffset","swipeToSlide","swipedSlide","slickList","listRef","slides","querySelectorAll","slide","offsetTop","offsetLeft","checkSpecKeys","keysArray","reduce","trackHeight","trackChildren","getTotalSlides","transition","WebkitTransition","useTransform","WebkitTransform","attachEvent","marginTop","marginLeft","speed","cssEase","unslick","targetLeft","trackRef","variableWidth","slidesToOffset","getPreClones","targetSlideIndex","trackElem","getPostClones","slidesOnRight","slidesOnLeft","canUseDOM","getSlideClasses","slickActive","slickCenter","slickCloned","getKey","fallbackKey","renderSlides","preCloneSlides","postCloneSlides","childrenCount","Children","childOnClickOptions","childStyle","getSlideStyle","slideClass","slideClasses","classnames","outline","focusOnSelect","preCloneNo","Track","_React$PureComponent","mouseEvents","onMouseEnter","onMouseOver","onMouseLeave","handleRef","PureComponent","Dots","clickHandler","dotCount","dots","_rightBound","rightBound","_leftBound","leftBound","dotOptions","customPaging","appendDots","dotsClass","PrevArrow","prevClasses","prevHandler","prevArrowProps","customProps","prevArrow","NextArrow","_React$PureComponent2","_super2","nextClasses","nextHandler","nextArrowProps","nextArrow","InnerSlider","list","adaptiveHeight","onInit","slidesToLoad","prevState","onLazyLoad","updateState","adaptHeight","autoplay","autoPlay","lazyLoadTimer","setInterval","progressiveLazyLoad","ro","ResizeObserver","onWindowResized","callbackTimers","onfocus","pauseOnFocus","onSlideFocus","onblur","onSlideBlur","animationEndCallback","clearInterval","timer","detachEvent","autoplayTimer","disconnect","checkImagesLoad","onReInit","setTrackStyle","didPropsChange","autoplaySpeed","pause","debouncedResize","debounce","resizeWindow","isTrackMounted","updatedState","listNode","trackNode","centerPaddingAdj","initialSlide","initializedState","_trackWidth","_trackLeft","childrenWidths","preClones","postClones","_trackStyle","trackLeft","imagesCount","loadedCount","prevClickHandler","onLazyLoadError","_index","dontAnimate","asNavFor","beforeChange","afterChange","_slideHandler","asNavForIndex","innerSlider","firstBatch","clickable","stopPropagation","accessibility","tagName","keyHandler","ontouchmove","returnValue","disableBodyScroll","swipe","draggable","touches","pageX","clientX","pageY","clientY","swipeStart","edgeFriction","onEdge","swipeEvent","curLeft","swipeLength","verticalSwipeLength","positionOffset","swipeDirection","touchSwipeLength","swipeMove","touchThreshold","onSwipe","minSwipe","newSlide","activeSlide","swipeEnd","triggerSlideHandler","enableBodyScroll","nextIndex","playType","play","pauseType","trackProps","pauseOnHover","onTrackOver","onTrackLeave","selectHandler","dotProps","pauseOnDotsHover","onDotsLeave","onDotsOver","arrowProps","arrows","verticalHeightStyle","centerPaddingStyle","listStyle","touchMove","listProps","onMouseDown","onMouseMove","onMouseUp","onTouchStart","onTouchMove","onTouchEnd","touchEnd","onTouchCancel","innerSliderProps","listRefHandler","trackRefHandler","ssrState","ssrInit","_Object$keys","easing","slidesPerRow","Slider","slickPrev","slickNext","slickGoTo","_responsiveMediaHandlers","mql","matchMedia","addListener","breakpoints","breakpt","bQuery","json2mq","media","removeListener","settings","newProps","resp","newChildren","innerSliderRefHandler","Carousel","_a$dots","_a$arrows","_a$draggable","_a$dotPosition","dotPosition","slickRef","goTo","prevCount","effect","enableDots","dsClass","SlickCarousel","today","backToToday","timeSelect","dateSelect","weekSelect","monthSelect","yearSelect","decadeSelect","yearFormat","dateFormat","dayFormat","dateTimeFormat","monthBeforeYear","previousMonth","nextMonth","previousYear","nextYear","previousDecade","nextDecade","previousCentury","nextCentury","placeholder","rangePlaceholder","lang","yearPlaceholder","quarterPlaceholder","monthPlaceholder","weekPlaceholder","rangeYearPlaceholder","rangeMonthPlaceholder","rangeWeekPlaceholder","CalendarLocale","timePickerLocale","TimePickerLocale","typeTemplate","localeValues","Pagination","items_per_page","jump_to","prev_page","next_page","prev_5","next_5","prev_3","next_3","page_size","DatePicker","TimePicker","Calendar","Table","filterTitle","filterConfirm","filterReset","filterEmptyText","selectAll","selectInvert","selectionAll","sortTitle","collapse","triggerDesc","triggerAsc","cancelSort","Modal","okText","cancelText","justOkText","Popconfirm","Transfer","titles","searchPlaceholder","itemUnit","itemsUnit","selectCurrent","removeCurrent","removeAll","Upload","uploading","removeFile","uploadError","previewFile","downloadFile","PageHeader","back","required","whitespace","integer","email","mismatch","camel2hyphen","obj2mq","mq","features","feature","isDimension","createContext","_en_US","_en_US2","_en_US3","_en_US4","filterCheckall","filterSearchPlaceholder","emptyText","selectNone","optional","preview","useLocaleReceiver","defaultLocale","antLocale","localeFromContext","LocaleReceiver","localeCode","exist","getLocale","getLocaleCode","originSize","isIconDefinition","normalizeAttrs","generate","rootProps","_react","attrs","getSecondaryColor","_colors","useInsertStyles","iconStyles","svgBaseProps","_dynamicCSS","acc","class","focusable","styleStr","_useContext","updateCSS","prepend","tuple","readability","color1","color2","TinyColor","getLuminance","isReadable","wcag2","readabilityLevel","mostReadable","baseColor","colorList","includeFallbackColors","bestColor","bestScore","colorList_1","score","toMsFilter","firstColor","secondColor","hex8String","rgbaToArgbHex","secondHex8String","gradientType","fromRatio","convertToPercentage","legacyRandom","totalColors","hue","randomWithin","colorInput","namedColor","defineColor","hueRange","toHsv","getHueRange","pickHue","luminosity","saturationRange","getColorInfo","sMin","sMax","pickSaturation","H","bMin","lowerBounds","getMinimumBrightness","bMax","pickBrightness","bounds_1","rnd","brightnessRange","tinycolor","freeSelf","assertThisInitialized","_a$component","setContentRef","mergedRef","composeRef","componentClassName","RefTypography","getValue","condition","shouldUpdate","cacheRef","note","warningOnce","noteOnce","attachTypeApi","getInstance","getKeyThenIncreaseKey","messageInstance","_rcNotification","_LoadingOutlined","_ExclamationCircleFilled","_CloseCircleFilled","_CheckCircleFilled","_InfoCircleFilled","_useMessage","defaultTop","getContainer","maxCount","defaultDuration","localPrefixCls","transitionName","hasTransitionName","getRCNotificationInstance","getContextPopupContainer","getPopupContainer","_globalConfig","instanceConfig","newInstance","typeToIcon","loading","getRCNoticeProps","IconComponent","messageClass","onClose","api","closePromise","notice","removeNotice","filled","rejected","messageKey","originalApi","isArgsProps","useMessage","objectWithoutPropertiesLoose","excluded","sourceSymbolKeys","twoToneColorPalette","calculated","IconBase","getTwoToneColors","setTwoToneColors","injectCSS","css","containerCache","placeholderStyle","existNode","_option$csp3","_option$csp4","_option$csp5","nonce","newNode","_canUseDom","attachTo","_option$csp","_option$csp2","styleNode","arrayLikeToArray","minLen","notificationInstance","createdRef","_React$useState","useState","_React$useState2","setElements","noticeProps","firstMount","noticeEle","_Notice","holder","originElements","findIndex","ele","cloneList","arrayWithoutHoles","iterableToArray","nonIterableSpread","keepEmpty","_reactIs","isFragment","KeyCode","MAC_ENTER","BACKSPACE","TAB","NUM_CENTER","ENTER","SHIFT","CTRL","ALT","PAUSE","CAPS_LOCK","ESC","SPACE","PAGE_UP","PAGE_DOWN","END","HOME","LEFT","UP","RIGHT","DOWN","PRINT_SCREEN","INSERT","DELETE","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","QUESTION_MARK","I","J","Q","WIN_KEY_RIGHT","CONTEXT_MENU","NUM_ZERO","NUM_ONE","NUM_TWO","NUM_THREE","NUM_FOUR","NUM_FIVE","NUM_SIX","NUM_SEVEN","NUM_EIGHT","NUM_NINE","NUM_MULTIPLY","NUM_PLUS","NUM_MINUS","NUM_PERIOD","NUM_DIVISION","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","NUMLOCK","SEMICOLON","DASH","EQUALS","COMMA","PERIOD","SLASH","APOSTROPHE","SINGLE_QUOTE","OPEN_SQUARE_BRACKET","BACKSLASH","CLOSE_SQUARE_BRACKET","WIN_KEY","MAC_FF_META","WIN_IME","isTextModifyingKeyEvent","altKey","ctrlKey","metaKey","isCharacterKey","defaultStateValue","postState","innerValue","setInnerValue","mergedValue","firstRenderRef","newValue","replaceElement","isValidElement","replacement","_reactNode","ClearableInputType","hasAddon","ClearableLabeledInput","containerRef","onInputMouseUp","allowClear","needClear","renderClearIcon","suffixNode","renderSuffix","prefixNode","affixWrapperCls","labeledElement","_classNames4","_this$props4","wrapperClassName","addonClassName","addonBeforeNode","addonAfterNode","mergedWrapperClassName","mergedGroupClassName","_classNames5","_this$props5","_this$props6","renderTextAreaWithClearIcon","renderInputWithLabel","renderLabeledIcon","moment","defineLocale","months","monthsShort","monthsParseExact","weekdays","weekdaysShort","weekdaysMin","weekdaysParseExact","longDateFormat","LT","LTS","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","relativeTime","future","past","ss","hh","dd","MM","yy","dayOfMonthOrdinalParse","ordinal","week","dow","doy","toNumber","nativeMax","nativeMin","func","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","maxing","trailing","invokeFunc","leadingEdge","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","baseTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","trimmedEndIndex","reTrimStart","reWhitespace","baseGetTag","isObjectLike","getRawTag","objectToString","symToStringTag","objectProto","nativeObjectToString","isOwn","unmasked","fillRef","useComposeRef","refs","supportRef","nodeOrComponent","_type$prototype","_nodeOrComponent$prot","isMemo","refList","_memoizeOne","_locale","LocaleProvider","changeConfirmLocale","contextValue","localeValue","newLocale","runtimeLocale","getConfirmLocale","jump_to_confirm","withConfigConsumer","SFC","configProps","basicPrefixCls","cons","_renderEmpty","renderEmpty","_empty","PRESENTED_IMAGE_SIMPLE","_simple","defaultEmptyImg","simpleEmptyImg","_a$image","imageStyle","des","imageNode","PRESENTED_IMAGE_DEFAULT","xmlns","cx","cy","rx","ry","_AntdIcon","LoadingOutlined","sourceKeys","InfoCircleFilled","getRcNotificationInstance","innerInstance","proxy","holderCallback","_useRCNotification","_useNotification","_useRCNotification2","hookNotify","hookApiRef","Notice","_Component","closeTimer","clearCloseTimer","noticeKey","startCloseTimer","updateMark","visible","restartCloseTimer","closable","closeIcon","componentClass","dataOrAriaAttributeProps","createPortal","_CloseOutlined","_CheckCircleOutlined","_CloseCircleOutlined","_ExclamationCircleOutlined","_InfoCircleOutlined","defaultGetContainer","defaultCloseIcon","__awaiter","_arguments","fulfilled","defaultBottom","defaultPlacement","getPlacementStyle","placement","getNotificationInstance","_args$placement","_args$getContainer","cacheInstance","notificationClass","notification","durationArg","btn","_args$closeIcon","closeIconToRender","autoMarginTag","useNotification","CheckCircleOutlined","CloseCircleOutlined","ExclamationCircleOutlined","InfoCircleOutlined","variables","formatColor","updater","toRgbString","colorVal","_tinycolor","colorPalettes","setAlpha","primaryColors","lighten","tint","getAlpha","primaryActiveColor","darken","successColor","warningColor","errorColor","infoColor","cssList","dynamicStyleMark","mergedEllipsis","EditOutlined","CopyOutlined","_KeyCode","inlineStyle","border","noStyle","mergedStyle","pointerEvents","onKeyUp","wrapperRaf","delayFrames","myId","restFrames","internalCallback","pid","raf","caf","cancelAnimationFrame","rafUUID","rafIds","delete","callRef","leftTimes","realId","detectFlexGapSupported","canUseDocElement","flexGapSupported","flex","flexDirection","rowGap","scrollHeight","styleName","styleValue","isStyleNameSupport","isStyleValueSupport","styleNameList","_rcTooltip","_useMergedState3","_placements","_motion","PresetColorRegex","PresetColorTypes","getDisabledCompatibleChildren","elementType","__ANT_BUTTON","__ANT_SWITCH","__ANT_CHECKBOX","_splitObject","picked","omitted","splitObject","spanStyle","buttonStyle","Tooltip","_useMergedState","defaultVisible","_useMergedState2","setVisible","isNoTitle","overlay","getTooltipPlacements","builtinPlacements","arrowPointAtCenter","autoAdjustOverflow","openClassName","getTooltipContainer","overlayClassName","overlayInnerStyle","tempVisible","arrowContentStyle","childCls","customOverlayClassName","formattedOverlayInnerStyle","getOverlay","onVisibleChange","vis","onPopupAlign","domNode","placements","arrowContent","motion","motionName","getTransitionName","motionDeadline","mouseEnterDelay","mouseLeaveDelay","_config$arrowWidth","arrowWidth","_config$horizontalArr","horizontalArrowShift","_config$verticalArrow","verticalArrowShift","placementMap","leftTop","topRight","rightTop","rightBottom","bottomLeft","leftBottom","overflow","getOverflowOptions","targetOffset","ignoreShake","autoAdjustOverflowEnabled","adjustX","adjustY","autoAdjustOverflowDisabled","PresetStatusColorTypes","getCollapsedHeight","getRealHeight","skipOpacityTransition","deadline","propertyName","collapseMotion","onAppearStart","onEnterStart","onAppearActive","onEnterActive","onLeaveStart","onLeaveActive","onAppearEnd","onEnterEnd","onLeaveEnd","_EnterOutlined","_TextArea","_ref$autoSize","inComposition","lastKeyCode","setCurrent","resizableTextArea","textArea","confirmChange","textAreaClassName","shiftKey","onCompositionStart","onCompositionEnd","EnterOutlined","_rcTextarea","_Input","fixEmojiLength","_a$bordered","_a$showCount","showCount","innerRef","clearableInputRef","compositing","setCompositing","handleSetValue","hasMaxLength","triggerValue","textareaNode","dataCount","formatter"],"mappings":"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,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,SAAW,GACriJI,EAAmB,CAAC,IAAIJ,WAAW,CAAC,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,IAAW,GAE1U,SAASnE,EAAYvuD,EAAKguD,GACxBvyE,KAAKukB,IAAMA,EACXvkB,KAAK4wD,KAAOrsC,EAAIqsC,KAChB,IAAI0mB,EAAM/yD,EAAIwwC,UACVwiB,EAAMhzD,EAAIwwC,UAEd,IAAa,IAATuiB,IAAuB,IAATC,EAChB,MAAM,IAAItpE,EAAM6X,YAAY,mCAAmCngB,OAAO2xE,EAAK,MAAM3xE,OAAO4xE,IAG1F,GAAqB,KAAV,GAAND,GACH,MAAM,IAAIrpE,EAAM6X,YAAY,+CAA+CngB,OAAO2xE,EAAK,MAAM3xE,OAAO4xE,IAGtG,KAAMD,GAAO,GAAKC,GAAO,KAAO,EAC9B,MAAM,IAAItpE,EAAM6X,YAAY,+BAA+BngB,OAAO2xE,EAAK,MAAM3xE,OAAO4xE,IAGtF,GAAU,GAANA,EACF,MAAM,IAAItpE,EAAM6X,YAAY,kCAAkCngB,OAAO2xE,EAAK,MAAM3xE,OAAO4xE,IAGzFv3E,KAAKw3E,SAAW,EAChBx3E,KAAKy3E,QAAU,EACf7B,EAAah4E,KAAKoC,KAAMuyE,GA6Q1B,OA1QAO,EAAYp1E,UAAYzB,OAAO+C,OAAO42E,EAAal4E,WAEnDo1E,EAAYp1E,UAAUg6E,QAAU,SAA6BC,GAM3D,IALA,IAGI3jD,EAHAzP,EAAMvkB,KAAKukB,IACXizD,EAAWx3E,KAAKw3E,SAChBC,EAAUz3E,KAAKy3E,QAGZD,EAAWG,GAAM,CACtB,IAA6B,KAAxB3jD,EAAIzP,EAAIwwC,WACX,MAAM,IAAI9mD,EAAM6X,YAAY,gCAG9B2xD,GAAWzjD,GAAKwjD,EAChBA,GAAY,EAMd,OAHAxjD,EAAIyjD,GAAW,GAAKE,GAAQ,EAC5B33E,KAAKy3E,QAAUA,GAAWE,EAC1B33E,KAAKw3E,SAAWA,GAAYG,EACrB3jD,GAGT8+C,EAAYp1E,UAAUk6E,QAAU,SAA6BC,GAQ3D,IAPA,IAKI7jD,EALAzP,EAAMvkB,KAAKukB,IACXuzD,EAAQD,EAAM,GACdE,EAASF,EAAM,GACfL,EAAWx3E,KAAKw3E,SAChBC,EAAUz3E,KAAKy3E,QAGZD,EAAWO,IACa,KAAxB/jD,EAAIzP,EAAIwwC,YAIb0iB,GAAWzjD,GAAKwjD,EAChBA,GAAY,EAGd,IAAI19D,EAAOg+D,EAAML,GAAW,GAAKM,GAAU,GACvCC,EAAUl+D,GAAQ,GAClBm+D,EAAiB,MAAPn+D,EAEd,GAAIk+D,EAAU,GAAKR,EAAWQ,EAC5B,MAAM,IAAI/pE,EAAM6X,YAAY,gCAK9B,OAFA9lB,KAAKy3E,QAAUA,GAAWO,EAC1Bh4E,KAAKw3E,SAAWA,EAAWQ,EACpBC,GAGTnF,EAAYp1E,UAAUw6E,qBAAuB,SAAyCC,GACpF,IAEIhtE,EAFAuC,EAAIyqE,EAAQ14E,OACZs4E,EAAS,EAGb,IAAK5sE,EAAI,EAAGA,EAAIuC,IAAKvC,EACfgtE,EAAQhtE,GAAK4sE,IACfA,EAASI,EAAQhtE,IAOrB,IAHA,IAAIpK,EAAO,GAAKg3E,EACZD,EAAQ,IAAIb,WAAWl2E,GAElBvB,EAAM,EAAGsa,EAAO,EAAGimD,EAAO,EAAGvgE,GAAOu4E,IAAUv4E,EAAKsa,IAAS,EAAGimD,IAAS,EAC/E,IAAK,IAAIrkC,EAAM,EAAGA,EAAMhuB,IAAKguB,EAC3B,GAAIy8C,EAAQz8C,KAASl8B,EAAK,CACxB,IAAI44E,EAAQ,EACRrtE,EAAI+O,EAER,IAAK3O,EAAI,EAAGA,EAAI3L,IAAO2L,EACrBitE,EAAQA,GAAS,EAAQ,EAAJrtE,EACrBA,IAAM,EAGR,IAAKI,EAAIitE,EAAOjtE,EAAIpK,EAAMoK,GAAK40D,EAC7B+X,EAAM3sE,GAAK3L,GAAO,GAAKk8B,IAGvB5hB,EAKR,MAAO,CAACg+D,EAAOC,IAGjBjF,EAAYp1E,UAAUg5E,UAAY,WAChC,IAAI5yD,EAAQtkB,EACR+kB,EAAMvkB,KAAKukB,IACX8zD,EAAMr4E,KAAK03E,QAAQ,GAQvB,GANU,EAANW,IACFr4E,KAAKw2E,KAAM,GAKD,KAFZ6B,IAAQ,GAER,CAwDA,IAAIC,EACAC,EAEJ,GAAY,IAARF,EACFC,EAAelB,EACfmB,EAAgBlB,MACX,IAAY,IAARgB,EAgDT,MAAM,IAAIpqE,EAAM6X,YAAY,sCA/C5B,IAII3a,EAJAqtE,EAAcx4E,KAAK03E,QAAQ,GAAK,IAChCe,EAAez4E,KAAK03E,QAAQ,GAAK,EACjCgB,EAAkB14E,KAAK03E,QAAQ,GAAK,EACpCiB,EAAqB,IAAInnE,WAAWwlE,EAAev3E,QAGvD,IAAK0L,EAAI,EAAGA,EAAIutE,IAAmBvtE,EACjCwtE,EAAmB3B,EAAe7rE,IAAMnL,KAAK03E,QAAQ,GAGvD,IAAIkB,EAAiB54E,KAAKk4E,qBAAqBS,GAC/Cn5E,EAAM,EACN2L,EAAI,EAKJ,IAJA,IAEI0tE,EAAYC,EAAY7N,EAFxB6M,EAAQU,EAAcC,EACtBM,EAAc,IAAIvnE,WAAWsmE,GAG1B3sE,EAAI2sE,GAAO,CAChB,IAAIh+D,EAAO9Z,KAAK43E,QAAQgB,GAExB,GAAa,KAAT9+D,EACF++D,EAAa,EACbC,EAAa,EACb7N,EAAOzrE,OACF,GAAa,KAATsa,EACT++D,EAAa,EACbC,EAAa,EACb7N,EAAOzrE,EAAM,MACR,IAAa,KAATsa,EAIJ,CACLi/D,EAAY5tE,KAAO3L,EAAMsa,EACzB,SALA++D,EAAa,EACbC,EAAa,GACb7N,EAAOzrE,EAAM,EAQf,IAFA,IAAIw5E,EAAeh5E,KAAK03E,QAAQmB,GAAcC,EAEvCE,KAAiB,GACtBD,EAAY5tE,KAAO8/D,EAIvBqN,EAAet4E,KAAKk4E,qBAAqBa,EAAYl3D,SAAS,EAAG22D,IACjED,EAAgBv4E,KAAKk4E,qBAAqBa,EAAYl3D,SAAS22D,EAAaV,IAS9E,IAHA,IAAI/Z,GADJj6C,EAAS9jB,KAAK8jB,QACOA,EAAOrkB,OAAS,EACjC2hB,EAAMphB,KAAKu2E,eAEF,CACX,IAAI0C,EAAQj5E,KAAK43E,QAAQU,GAEzB,GAAIW,EAAQ,IACN73D,EAAM,GAAK28C,IAEbA,GADAj6C,EAAS9jB,KAAK22E,aAAav1D,EAAM,IAClB3hB,QAGjBqkB,EAAO1C,KAAS63D,MANlB,CAUA,GAAc,MAAVA,EAEF,YADAj5E,KAAKu2E,aAAen1D,GAMtB,IAAIg3D,GADJa,EAAQ/B,EADR+B,GAAS,OAEY,GAEjBb,EAAQ,IACVA,EAAQp4E,KAAK03E,QAAQU,IAGvB54E,GAAe,MAARy5E,GAAkBb,EACzBa,EAAQj5E,KAAK43E,QAAQW,IAErBH,GADAa,EAAQ9B,EAAW8B,KACF,IAEL,IACVb,EAAQp4E,KAAK03E,QAAQU,IAGvB,IAAIc,GAAgB,MAARD,GAAkBb,EAE1Bh3D,EAAM5hB,GAAOu+D,IAEfA,GADAj6C,EAAS9jB,KAAK22E,aAAav1D,EAAM5hB,IAClBC,QAGjB,IAAK,IAAIwjC,EAAI,EAAGA,EAAIzjC,IAAOyjC,IAAK7hB,EAC9B0C,EAAO1C,GAAO0C,EAAO1C,EAAM83D,SAhK/B,CACE,IAAIllD,EAEJ,IAA6B,KAAxBA,EAAIzP,EAAIwwC,WACX,MAAM,IAAI9mD,EAAM6X,YAAY,oCAG9B,IAAIqzD,EAAWnlD,EAEf,IAA6B,KAAxBA,EAAIzP,EAAIwwC,WACX,MAAM,IAAI9mD,EAAM6X,YAAY,oCAK9B,GAFAqzD,GAAYnlD,GAAK,GAEY,KAAxBA,EAAIzP,EAAIwwC,WACX,MAAM,IAAI9mD,EAAM6X,YAAY,oCAG9B,IAAI+pB,EAAQ7b,EAEZ,IAA6B,KAAxBA,EAAIzP,EAAIwwC,WACX,MAAM,IAAI9mD,EAAM6X,YAAY,oCAK9B,IAFA+pB,GAAS7b,GAAK,MAEa,OAAXmlD,KAAoC,IAAbA,GAA4B,IAAVtpC,GACvD,MAAM,IAAI5hC,EAAM6X,YAAY,iDAG9B9lB,KAAKy3E,QAAU,EACfz3E,KAAKw3E,SAAW,EAChB,IAAIjB,EAAev2E,KAAKu2E,aACxBzyD,EAAS9jB,KAAK22E,aAAaJ,EAAe4C,GAC1C,IAAIv1E,EAAM2yE,EAAe4C,EAGzB,GAFAn5E,KAAKu2E,aAAe3yE,EAEH,IAAbu1E,GACsB,IAApB50D,EAAIksD,aACNzwE,KAAKw2E,KAAM,QAGb,IAAK,IAAI9oE,EAAI6oE,EAAc7oE,EAAI9J,IAAO8J,EAAG,CACvC,IAA6B,KAAxBsmB,EAAIzP,EAAIwwC,WAAmB,CAC9B/0D,KAAKw2E,KAAM,EACX,MAGF1yD,EAAOpW,GAAKsmB,KAoHb8+C,EA5SS,GA+SlB32E,EAAQ22E,YAAcA,EAEtB,IAAID,EAAkB,WACpB,SAASA,EAAgBtuD,EAAKguD,EAAatK,GACzC,KAAK,EAAI/5D,EAAYwgD,QAAQuZ,GAC3B,OAAO1jD,EAGT,IAAI60D,EAAYp5E,KAAKo5E,UAAYnR,EAAO5qE,IAAI,cAAgB,EAE5D,GAAI+7E,GAAa,EACf,OAAO70D,EAGT,GAAkB,IAAd60D,IAAoBA,EAAY,IAAMA,EAAY,IACpD,MAAM,IAAInrE,EAAM6X,YAAY,0BAA0BngB,OAAOyzE,IAI7Dp5E,KAAK02E,UADW,IAAd0C,EACep5E,KAAKq5E,cAELr5E,KAAKs5E,aAGxBt5E,KAAKukB,IAAMA,EACXvkB,KAAK4wD,KAAOrsC,EAAIqsC,KAChB,IAAI2oB,EAASv5E,KAAKu5E,OAAStR,EAAO5qE,IAAI,WAAa,EAC/Cs6E,EAAO33E,KAAK23E,KAAO1P,EAAO5qE,IAAI,qBAAuB,EACrDm8E,EAAUx5E,KAAKw5E,QAAUvR,EAAO5qE,IAAI,YAAc,EAItD,OAHA2C,KAAKy5E,SAAWF,EAAS5B,EAAO,GAAK,EACrC33E,KAAK05E,SAAWF,EAAUD,EAAS5B,EAAO,GAAK,EAC/C/B,EAAah4E,KAAKoC,KAAMuyE,GACjBvyE,KA0MT,OAvMA6yE,EAAgBn1E,UAAYzB,OAAO+C,OAAO42E,EAAal4E,WAEvDm1E,EAAgBn1E,UAAU27E,cAAgB,WACxC,IAAIK,EAAW15E,KAAK05E,SAChBnD,EAAev2E,KAAKu2E,aACpBzyD,EAAS9jB,KAAK22E,aAAaJ,EAAemD,GAC1C/B,EAAO33E,KAAK23E,KACZ4B,EAASv5E,KAAKu5E,OACdI,EAAW35E,KAAKukB,IAAI0qC,SAASyqB,GAGjC,GAFA15E,KAAKw2E,KAAOmD,EAASl6E,QAEjBO,KAAKw2E,IAAT,CAIA,IAKIrrE,EALAyuE,EAAQ,EACRC,EAAS,EACTC,EAAS,EACTC,EAAU,EACV34D,EAAMm1D,EAGV,GAAa,IAAToB,GAAyB,IAAX4B,EAChB,IAAKpuE,EAAI,EAAGA,EAAIuuE,IAAYvuE,EAAG,CAC7B,IAAI4B,EAAI4sE,EAASxuE,GAAKyuE,EACtB7sE,GAAKA,GAAK,EACVA,GAAKA,GAAK,EAEV6sE,GAAa,GADb7sE,GAAKA,GAAK,KACS,EACnB+W,EAAO1C,KAASrU,OAEb,GAAa,IAAT4qE,EAAY,CACrB,IAAKxsE,EAAI,EAAGA,EAAIouE,IAAUpuE,EACxB2Y,EAAO1C,KAASu4D,EAASxuE,GAG3B,KAAOA,EAAIuuE,IAAYvuE,EACrB2Y,EAAO1C,GAAO0C,EAAO1C,EAAMm4D,GAAUI,EAASxuE,GAC9CiW,SAEG,GAAa,KAATu2D,EAAa,CACtB,IAAIqC,EAAyB,EAATT,EAEpB,IAAKpuE,EAAI,EAAGA,EAAI6uE,IAAiB7uE,EAC/B2Y,EAAO1C,KAASu4D,EAASxuE,GAG3B,KAAOA,EAAIuuE,EAAUvuE,GAAK,EAAG,CAC3B,IAAI8uE,IAAsB,IAAdN,EAASxuE,KAAc,IAAwB,IAAlBwuE,EAASxuE,EAAI,MAA6C,IAA9B2Y,EAAO1C,EAAM44D,KAA0B,IAAwC,IAAlCl2D,EAAO1C,EAAM44D,EAAgB,IAC/Il2D,EAAO1C,KAAS64D,GAAO,EAAI,IAC3Bn2D,EAAO1C,KAAe,IAAN64D,OAEb,CACL,IAAIC,EAAY,IAAI1oE,WAAW+nE,EAAS,GACpCY,GAAW,GAAKxC,GAAQ,EACxBv0C,EAAI,EACJH,EAAIszC,EACJiD,EAAUx5E,KAAKw5E,QAEnB,IAAKruE,EAAI,EAAGA,EAAIquE,IAAWruE,EACzB,IAAK,IAAIivE,EAAK,EAAGA,EAAKb,IAAUa,EAC1BN,EAASnC,IACXiC,EAAQA,GAAS,EAAoB,IAAhBD,EAASv2C,KAC9B02C,GAAU,GAGZI,EAAUE,GAAMF,EAAUE,IAAOR,GAASE,EAASnC,GAAQwC,EAC3DL,GAAUnC,EACVkC,EAASA,GAAUlC,EAAOuC,EAAUE,IACpCL,GAAWpC,IAEI,IACb7zD,EAAOmf,KAAO42C,GAAUE,EAAU,EAAI,IACtCA,GAAW,GAKbA,EAAU,IACZj2D,EAAOmf,MAAQ42C,GAAU,EAAIE,IAAYH,GAAS,GAAK,EAAIG,GAAW,IAI1E/5E,KAAKu2E,cAAgBmD,IAGvB7G,EAAgBn1E,UAAU47E,aAAe,WACvC,IAAII,EAAW15E,KAAK05E,SAChBD,EAAWz5E,KAAKy5E,SAChBL,EAAYp5E,KAAKukB,IAAIwwC,UACrB4kB,EAAW35E,KAAKukB,IAAI0qC,SAASyqB,GAGjC,GAFA15E,KAAKw2E,KAAOmD,EAASl6E,QAEjBO,KAAKw2E,IAAT,CAIA,IAAID,EAAev2E,KAAKu2E,aACpBzyD,EAAS9jB,KAAK22E,aAAaJ,EAAemD,GAC1CW,EAAUv2D,EAAOjC,SAAS00D,EAAemD,EAAUnD,GAEhC,IAAnB8D,EAAQ56E,SACV46E,EAAU,IAAI7oE,WAAWkoE,IAG3B,IAAIvuE,EAEAmvE,EACAvtE,EAFAq2B,EAAImzC,EAIR,OAAQ6C,GACN,KAAK,EACH,IAAKjuE,EAAI,EAAGA,EAAIuuE,IAAYvuE,EAC1B2Y,EAAOsf,KAAOu2C,EAASxuE,GAGzB,MAEF,KAAK,EACH,IAAKA,EAAI,EAAGA,EAAIsuE,IAAYtuE,EAC1B2Y,EAAOsf,KAAOu2C,EAASxuE,GAGzB,KAAOA,EAAIuuE,IAAYvuE,EACrB2Y,EAAOsf,GAAKtf,EAAOsf,EAAIq2C,GAAYE,EAASxuE,GAAK,IACjDi4B,IAGF,MAEF,KAAK,EACH,IAAKj4B,EAAI,EAAGA,EAAIuuE,IAAYvuE,EAC1B2Y,EAAOsf,KAAOi3C,EAAQlvE,GAAKwuE,EAASxuE,GAAK,IAG3C,MAEF,KAAK,EACH,IAAKA,EAAI,EAAGA,EAAIsuE,IAAYtuE,EAC1B2Y,EAAOsf,MAAQi3C,EAAQlvE,IAAM,GAAKwuE,EAASxuE,GAG7C,KAAOA,EAAIuuE,IAAYvuE,EACrB2Y,EAAOsf,IAAMi3C,EAAQlvE,GAAK2Y,EAAOsf,EAAIq2C,IAAa,GAAKE,EAASxuE,GAAK,IACrEi4B,IAGF,MAEF,KAAK,EACH,IAAKj4B,EAAI,EAAGA,EAAIsuE,IAAYtuE,EAC1BmvE,EAAKD,EAAQlvE,GACb4B,EAAI4sE,EAASxuE,GACb2Y,EAAOsf,KAAOk3C,EAAKvtE,EAGrB,KAAO5B,EAAIuuE,IAAYvuE,EAAG,CACxBmvE,EAAKD,EAAQlvE,GACb,IAAIovE,EAASF,EAAQlvE,EAAIsuE,GACrB1zE,EAAO+d,EAAOsf,EAAIq2C,GAClBzuE,EAAIjF,EAAOu0E,EAAKC,EAChBC,EAAKxvE,EAAIjF,EAETy0E,EAAK,IACPA,GAAMA,GAGR,IAAIC,EAAKzvE,EAAIsvE,EAETG,EAAK,IACPA,GAAMA,GAGR,IAAIC,EAAK1vE,EAAIuvE,EAETG,EAAK,IACPA,GAAMA,GAGR3tE,EAAI4sE,EAASxuE,GAGX2Y,EAAOsf,KADLo3C,GAAMC,GAAMD,GAAME,EACN30E,EAAOgH,EACZ0tE,GAAMC,EACDJ,EAAKvtE,EAELwtE,EAASxtE,EAI3B,MAEF,QACE,MAAM,IAAIkB,EAAM6X,YAAY,0BAA0BngB,OAAOyzE,IAGjEp5E,KAAKu2E,cAAgBmD,IAGhB7G,EAxOa,GA2OtB12E,EAAQ02E,gBAAkBA,EAE1B,IAAIgD,EAAgB,WAClB,SAASA,EAActxD,EAAKguD,EAAaoI,GACvC36E,KAAKukB,IAAMA,EACXvkB,KAAK4wD,KAAOrsC,EAAIqsC,KAChB5wD,KAAK26E,QAAUA,EACf36E,KAAK46E,UAAY,KACjB56E,KAAK66E,aAAc,EACnBjF,EAAah4E,KAAKoC,KAAMuyE,GAqC1B,OAjCAsD,EAAcn4E,UAAYzB,OAAO+C,OAAO42E,EAAal4E,WAErDm4E,EAAcn4E,UAAUg5E,UAAY,WAClC,IAAI7gE,EASJ,GAPI7V,KAAK66E,YACPhlE,EAAQ7V,KAAK46E,WAEb/kE,EAAQ7V,KAAKukB,IAAI0qC,SATL,KAUZjvD,KAAK66E,aAAc,GAGhBhlE,GAA0B,IAAjBA,EAAMpW,OAApB,CAKAO,KAAK46E,UAAY56E,KAAKukB,IAAI0qC,SAlBZ,KAmBd,IAAI6rB,EAAc96E,KAAK46E,WAAa56E,KAAK46E,UAAUn7E,OAAS,EAE5DoW,GAAQ8kE,EADM36E,KAAK26E,SACH9kE,GAAQilE,GACxB,IACI3vE,EADAorE,EAAev2E,KAAKu2E,aAEpB7oE,EAAImI,EAAMpW,OACVqkB,EAAS9jB,KAAK22E,aAAaJ,EAAe7oE,GAE9C,IAAKvC,EAAI,EAAGA,EAAIuC,EAAGvC,IACjB2Y,EAAOyyD,KAAkB1gE,EAAM1K,GAGjCnL,KAAKu2E,aAAeA,OAjBlBv2E,KAAKw2E,KAAM,GAoBRX,EA5CW,GA+CpB15E,EAAQ05E,cAAgBA,EAExB,IAAI1C,EAAgB,WAClB,SAASA,EAAc5uD,EAAKguD,GAC1BvyE,KAAKukB,IAAMA,EACXvkB,KAAK4wD,KAAOrsC,EAAIqsC,KAChB5wD,KAAKE,MAAQ,IAAIsR,WAAW,GAExB+gE,IACFA,GAAc,IAGhBqD,EAAah4E,KAAKoC,KAAMuyE,GA2E1B,OAxEAY,EAAcz1E,UAAYzB,OAAO+C,OAAO42E,EAAal4E,WAErDy1E,EAAcz1E,UAAUg5E,UAAY,WAOlC,IANA,IAGInyD,EAAMvkB,KAAKukB,IACXxX,EAAIwX,EAAIwwC,WAEL,EAAI9mD,EAAM4U,SAAS9V,IACxBA,EAAIwX,EAAIwwC,UAGV,IARU,IAQNhoD,GAVa,MAUAA,EAAjB,CAKA,IACI+W,EACA3Y,EAFAorE,EAAev2E,KAAKu2E,aAIxB,GAlBmB,MAkBfxpE,EAAoB,CAGtB,IAFA+W,EAAS9jB,KAAK22E,aAAaJ,EAAe,GAErCprE,EAAI,EAAGA,EAAI,IAAKA,EACnB2Y,EAAOyyD,EAAeprE,GAAK,EAG7BnL,KAAKu2E,cAAgB,MAChB,CACL,IAAIr2E,EAAQF,KAAKE,MAGjB,IAFAA,EAAM,GAAK6M,EAEN5B,EAAI,EAAGA,EAAI,IAAKA,EAAG,CAGtB,IAFA4B,EAAIwX,EAAIwwC,WAED,EAAI9mD,EAAM4U,SAAS9V,IACxBA,EAAIwX,EAAIwwC,UAKV,GAFA70D,EAAMiL,GAAK4B,GApCL,IAsCFA,GAxCS,MAwCIA,EACf,MAOJ,GAHA+W,EAAS9jB,KAAK22E,aAAaJ,EAAeprE,EAAI,GAC9CnL,KAAKu2E,cAAgBprE,EAAI,EAErBA,EAAI,EAAG,CACT,KAAOA,EAAI,IAAKA,EACdjL,EAAMiL,GAAK,IAGbnL,KAAKw2E,KAAM,EAGb,IAAIzrE,EAAI,EAER,IAAKI,EAAI,EAAGA,EAAI,IAAKA,EACnBJ,EAAQ,GAAJA,GAAU7K,EAAMiL,GAAK,IAG3B,IAAKA,EAAI,EAAGA,GAAK,IAAKA,EACpB2Y,EAAOyyD,EAAeprE,GAAS,IAAJJ,EAC3BA,IAAM,QArDR/K,KAAKw2E,KAAM,GA0DRrD,EArFW,GAwFpBh3E,EAAQg3E,cAAgBA,EAExB,IAAIC,EAAiB,WACnB,SAASA,EAAe7uD,EAAKguD,GAC3BvyE,KAAKukB,IAAMA,EACXvkB,KAAK4wD,KAAOrsC,EAAIqsC,KAChB5wD,KAAKw0E,YAAc,EAEfjC,IACFA,GAAc,IAGhBqD,EAAah4E,KAAKoC,KAAMuyE,GAmD1B,OAhDAa,EAAe11E,UAAYzB,OAAO+C,OAAO42E,EAAal4E,WAEtD01E,EAAe11E,UAAUg5E,UAAY,WACnC,IACIn/D,EAAQvX,KAAKukB,IAAI0qC,SADK,KAG1B,GAAK13C,EAAM9X,OAAX,CAUA,IALA,IAAIs7E,EAAkBxjE,EAAM9X,OAAS,GAAK,EACtCqkB,EAAS9jB,KAAK22E,aAAa32E,KAAKu2E,aAAewE,GAC/CxE,EAAev2E,KAAKu2E,aACpB/B,EAAax0E,KAAKw0E,WAEbrpE,EAAI,EAAGgW,EAAK5J,EAAM9X,OAAQ0L,EAAIgW,EAAIhW,IAAK,CAC9C,IACI6vE,EADAl4D,EAAKvL,EAAMpM,GAGf,GAAI2X,GAAM,IAAQA,GAAM,GACtBk4D,EAAa,GAALl4D,MACH,MAAIA,GAAM,IAAQA,GAAM,IAAQA,GAAM,IAAQA,GAAM,KAEpD,IAAW,KAAPA,EAAa,CACtB9iB,KAAKw2E,KAAM,EACX,MAEA,SALAwE,EAAsB,GAAR,GAALl4D,GAQP0xD,EAAa,EACfA,EAAawG,GAEbl3D,EAAOyyD,KAAkB/B,GAAc,EAAIwG,EAC3CxG,GAAc,GAIdA,GAAc,GAAKx0E,KAAKw2E,MAC1B1yD,EAAOyyD,KAAkB/B,GAAc,EACvCA,GAAc,GAGhBx0E,KAAKw0E,WAAaA,EAClBx0E,KAAKu2E,aAAeA,OAtClBv2E,KAAKw2E,KAAM,GAyCRpD,EA7DY,GAgErBj3E,EAAQi3E,eAAiBA,EAEzB,IAAIE,EAAkB,WACpB,SAASA,EAAgB/uD,EAAKguD,GAC5BvyE,KAAKukB,IAAMA,EACXvkB,KAAK4wD,KAAOrsC,EAAIqsC,KAChBglB,EAAah4E,KAAKoC,KAAMuyE,GAuC1B,OApCAe,EAAgB51E,UAAYzB,OAAO+C,OAAO42E,EAAal4E,WAEvD41E,EAAgB51E,UAAUg5E,UAAY,WACpC,IAAIuE,EAAej7E,KAAKukB,IAAI0qC,SAAS,GAErC,IAAKgsB,GAAgBA,EAAax7E,OAAS,GAAyB,MAApBw7E,EAAa,GAC3Dj7E,KAAKw2E,KAAM,MADb,CAKA,IAAI1yD,EACAyyD,EAAev2E,KAAKu2E,aACpB7oE,EAAIutE,EAAa,GAErB,GAAIvtE,EAAI,KAIN,IAHAoW,EAAS9jB,KAAK22E,aAAaJ,EAAe7oE,EAAI,IACvC6oE,KAAkB0E,EAAa,GAElCvtE,EAAI,EAAG,CACT,IAAI6G,EAASvU,KAAKukB,IAAI0qC,SAASvhD,GAC/BoW,EAAOhmB,IAAIyW,EAAQgiE,GACnBA,GAAgB7oE,OAEb,CACLA,EAAI,IAAMA,EACV,IAAIsmB,EAAIinD,EAAa,GACrBn3D,EAAS9jB,KAAK22E,aAAaJ,EAAe7oE,EAAI,GAE9C,IAAK,IAAIvC,EAAI,EAAGA,EAAIuC,EAAGvC,IACrB2Y,EAAOyyD,KAAkBviD,EAI7Bh0B,KAAKu2E,aAAeA,IAGfjD,EA3Ca,GA8CtBn3E,EAAQm3E,gBAAkBA,EAE1B,IAAIN,EAAY,WACd,SAASA,EAAUzuD,EAAKguD,EAAaQ,GACnC/yE,KAAKukB,IAAMA,EACXvkB,KAAK4wD,KAAOrsC,EAAIqsC,KAChB5wD,KAAKk7E,WAAa,EAClBl7E,KAAKm7E,WAAa,EAalB,IAZA,IACIC,EAAW,CACbrI,YAAaA,EACbsI,WAAY,EACZC,SAAU,IACVC,iBAAkB,IAAI/pE,WALG,MAMzBgqE,kBAAmB,IAAIC,YANE,MAOzBC,oBAAqB,IAAID,YAPA,MAQzBE,gBAAiB,IAAInqE,WARI,MASzBoqE,sBAAuB,GAGhBzwE,EAAI,EAAGA,EAAI,MAAOA,EACzBiwE,EAASG,iBAAiBpwE,GAAKA,EAC/BiwE,EAASI,kBAAkBrwE,GAAK,EAGlCnL,KAAKo7E,SAAWA,EAChBxF,EAAah4E,KAAKoC,KAAMuyE,GA+G1B,OA5GAS,EAAUt1E,UAAYzB,OAAO+C,OAAO42E,EAAal4E,WAEjDs1E,EAAUt1E,UAAUm+E,SAAW,SAA4BnuE,GAIzD,IAHA,IAAIytE,EAAan7E,KAAKm7E,WAClBD,EAAal7E,KAAKk7E,WAEfC,EAAaztE,GAAG,CACrB,IAAIX,EAAI/M,KAAKukB,IAAIwwC,UAEjB,IAAW,IAAPhoD,EAEF,OADA/M,KAAKw2E,KAAM,EACJ,KAGT0E,EAAaA,GAAc,EAAInuE,EAC/BouE,GAAc,EAMhB,OAHAn7E,KAAKm7E,WAAaA,GAAcztE,EAChC1N,KAAKk7E,WAAaA,EAClBl7E,KAAK87E,SAAW,KACTZ,IAAeC,GAAc,GAAKztE,GAAK,GAGhDslE,EAAUt1E,UAAUg5E,UAAY,WAC9B,IAGIvrE,EAAGi4B,EAAG24C,EAFNC,EAAuBC,KAGvBb,EAAWp7E,KAAKo7E,SAEpB,GAAKA,EAAL,CAIA,IAAIrI,EAAcqI,EAASrI,YACvBuI,EAAWF,EAASE,SACpBC,EAAmBH,EAASG,iBAC5BC,EAAoBJ,EAASI,kBAC7BE,EAAsBN,EAASM,oBAC/BL,EAAaD,EAASC,WACtBa,EAAWd,EAASc,SACpBP,EAAkBP,EAASO,gBAC3BC,EAAwBR,EAASQ,sBACjCO,EAAgB,EAChBC,EAAsBp8E,KAAKu2E,aAC3BzyD,EAAS9jB,KAAK22E,aAAa32E,KAAKu2E,aAAeyF,GAEnD,IAAK7wE,EAAI,EAAGA,EAvBI,IAuBWA,IAAK,CAC9B,IAAI2O,EAAO9Z,KAAK67E,SAASR,GACrBgB,EAAUT,EAAwB,EAEtC,GAAI9hE,EAAO,IACT6hE,EAAgB,GAAK7hE,EACrB8hE,EAAwB,MACnB,MAAI9hE,GAAQ,KAWZ,IAAa,MAATA,EAAc,CACvBuhE,EAAa,EACbC,EAAW,IACXM,EAAwB,EACxB,SAEA57E,KAAKw2E,KAAM,SACJx2E,KAAKo7E,SACZ,MAlBA,GAAIthE,EAAOwhE,EAGT,IAAKl4C,GAFLw4C,EAAwBJ,EAAkB1hE,IAET,EAAGiiE,EAAIjiE,EAAMspB,GAAK,EAAGA,IACpDu4C,EAAgBv4C,GAAKm4C,EAAiBQ,GACtCA,EAAIL,EAAoBK,QAG1BJ,EAAgBC,KAA2BD,EAAgB,GAwB/D,GAXIU,IACFX,EAAoBJ,GAAYY,EAChCV,EAAkBF,GAAYE,EAAkBU,GAAY,EAC5DX,EAAiBD,GAAYK,EAAgB,GAE7CN,IADAC,EACwBvI,EAAcuI,EAAWvI,EAAc,EAAIsI,EAAuF,EAA1EzzE,KAAKga,IAAIha,KAAKsa,IAAIo5D,EAAWvI,GAAe,kBAAqB,EAAG,KAGtJmJ,EAAWpiE,EAGPkiE,GAFJG,GAAiBP,GAEyB,CACxC,GACEI,GAjEU,UAkEHA,EAAuBG,GAEhCr4D,EAAS9jB,KAAK22E,aAAa32E,KAAKu2E,aAAeyF,GAGjD,IAAK54C,EAAI,EAAGA,EAAIw4C,EAAuBx4C,IACrCtf,EAAOs4D,KAAyBT,EAAgBv4C,GAIpDg4C,EAASE,SAAWA,EACpBF,EAASC,WAAaA,EACtBD,EAASc,SAAWA,EACpBd,EAASQ,sBAAwBA,EACjC57E,KAAKu2E,aAAe6F,IAGfpJ,EAvIO,GA0IhB72E,EAAQ62E,UAAYA,EAEpB,IAAIvX,EAAa,WACf,SAASA,IACPlJ,EAAO30D,KAAKoC,KAAM,IAAIwR,WAAW,IAInC,OADAiqD,EAAW/9D,UAAY60D,EAAO70D,UACvB+9D,EANQ,GASjBt/D,EAAQs/D,WAAaA,GAId,SAAS7uD,EAAQzQ,EAASuQ,GAEjC,aAGAzQ,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQk3E,oBAAiB,EAEzB,IAAInlE,EAAcxB,EAAoB,KAElC4vE,EAAS5vE,EAAoB,KAE7B20C,EAAU30C,EAAoB,KAE9B2mE,EAAiB,WACnB,SAASA,EAAe9uD,EAAKguD,EAAatK,GACxCjoE,KAAKukB,IAAMA,EACXvkB,KAAK4wD,KAAOrsC,EAAIqsC,MAEX,EAAI1iD,EAAYwgD,QAAQuZ,KAC3BA,EAAS/5D,EAAYkhD,KAAKnoB,OAG5B,IAAI1yB,EAAS,CACXnF,KAAM,WACJ,OAAOmV,EAAIwwC,YAGf/0D,KAAKu8E,gBAAkB,IAAID,EAAOE,gBAAgBjoE,EAAQ,CACxDyuB,EAAGilC,EAAO5qE,IAAI,KACdo/E,UAAWxU,EAAO5qE,IAAI,aACtBq/E,iBAAkBzU,EAAO5qE,IAAI,oBAC7Bs/E,QAAS1U,EAAO5qE,IAAI,WACpBu/E,KAAM3U,EAAO5qE,IAAI,QACjBw/E,WAAY5U,EAAO5qE,IAAI,cACvBy/E,SAAU7U,EAAO5qE,IAAI,cAGvBgkD,EAAQu0B,aAAah4E,KAAKoC,KAAMuyE,GAmBlC,OAhBAc,EAAe31E,UAAYzB,OAAO+C,OAAOqiD,EAAQu0B,aAAal4E,WAE9D21E,EAAe31E,UAAUg5E,UAAY,WACnC,MAAQ12E,KAAKw2E,KAAK,CAChB,IAAIzpE,EAAI/M,KAAKu8E,gBAAgBQ,eAE7B,IAAW,IAAPhwE,EAEF,YADA/M,KAAKw2E,KAAM,GAIbx2E,KAAK22E,aAAa32E,KAAKu2E,aAAe,GACtCv2E,KAAK8jB,OAAO9jB,KAAKu2E,gBAAkBxpE,IAIhCsmE,EA3CY,GA8CrBl3E,EAAQk3E,eAAiBA,GAIlB,SAASzmE,EAAQzQ,EAASuQ,GAEjC,aAGAzQ,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQqgF,qBAAkB,EAE1B,IAAIvuE,EAAQvB,EAAoB,GAE5B8vE,EAAkB,WACpB,IAWIQ,EAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,EADrB,GACuC,CAAC,EAFxC,GAE0D,CAAC,EAH3D,GAG6E,CAAC,EAH9E,GAGgG,CAAC,EAJjG,GAImH,CAAC,EAJpH,GAIsI,CAAC,EATzI,GASyJ,CAAC,EAT1J,GAS0K,CAAC,EAT3K,GAS2L,CAAC,EAT5L,GAS4M,CAAC,EAT7M,GAS6N,CAAC,EAT9N,GAS8O,CAAC,EAT/O,GAS+P,CAAC,EAThQ,GASgR,CAAC,EARhR,GAQiS,CAAC,EARlS,GAQmT,CAAC,EARpT,GAQqU,CAAC,EARtU,GAQuV,CAAC,EARxV,GAQyW,CAAC,EAR1W,GAQ2X,CAAC,EAR5X,GAQ6Y,CAAC,EAR9Y,GAQ+Z,CAAC,EARha,GAQib,CAAC,EARlb,GAQmc,CAAC,EARpc,GAQqd,CAAC,EARtd,GAQue,CAAC,EARxe,GAQyf,CAAC,EAR1f,GAQ2gB,CAAC,EAR5gB,GAQ6hB,CAAC,EAR9hB,GAQ+iB,CAAC,EAL/iB,GAKikB,CAAC,EALlkB,GAKolB,CAAC,EALrlB,GAKumB,CAAC,EALxmB,GAK0nB,CAAC,EAL3nB,GAK6oB,CAAC,EAL9oB,GAKgqB,CAAC,EALjqB,GAKmrB,CAAC,EALprB,GAKssB,CAAC,EALvsB,GAKytB,CAAC,EAL1tB,GAK4uB,CAAC,EAL7uB,GAK+vB,CAAC,EALhwB,GAKkxB,CAAC,EALnxB,GAKqyB,CAAC,EALtyB,GAKwzB,CAAC,EALzzB,GAK20B,CAAC,EAL50B,GAK81B,CAAC,EAN/1B,GAMi3B,CAAC,EANl3B,GAMo4B,CAAC,EANr4B,GAMu5B,CAAC,EANx5B,GAM06B,CAAC,EAN36B,GAM67B,CAAC,EAN97B,GAMg9B,CAAC,EANj9B,GAMm+B,CAAC,EANp+B,GAMs/B,CAAC,EANv/B,GAMygC,CAAC,EAN1gC,GAM4hC,CAAC,EAN7hC,GAM+iC,CAAC,EANhjC,GAMkkC,CAAC,EANnkC,GAMqlC,CAAC,EANtlC,GAMwmC,CAAC,EANzmC,GAM2nC,CAAC,EAN5nC,GAM8oC,CAAC,EAPhpC,GAOiqC,CAAC,EAPlqC,GAOmrC,CAAC,EAPprC,GAOqsC,CAAC,EAPtsC,GAOutC,CAAC,EAPxtC,GAOyuC,CAAC,EAP1uC,GAO2vC,CAAC,EAP5vC,GAO6wC,CAAC,EAP9wC,GAO+xC,CAAC,EAPhyC,GAOizC,CAAC,EAPlzC,GAOm0C,CAAC,EAPp0C,GAOq1C,CAAC,EAPt1C,GAOu2C,CAAC,EAPx2C,GAOy3C,CAAC,EAP13C,GAO24C,CAAC,EAP54C,GAO65C,CAAC,EAP95C,GAO+6C,CAAC,EAPh7C,GAOi8C,CAAC,EAPl8C,GAOm9C,CAAC,EAPp9C,GAOq+C,CAAC,EAPt+C,GAOu/C,CAAC,EAPx/C,GAOygD,CAAC,EAP1gD,GAO2hD,CAAC,EAP5hD,GAO6iD,CAAC,EAP9iD,GAO+jD,CAAC,EAPhkD,GAOilD,CAAC,EAPllD,GAOmmD,CAAC,EAPpmD,GAOqnD,CAAC,EAPtnD,GAOuoD,CAAC,EAPxoD,GAOypD,CAAC,EAP1pD,GAO2qD,CAAC,EAP5qD,GAO6rD,CAAC,EAP9rD,GAO+sD,CAAC,EAPhtD,GAOiuD,CAAC,EAPluD,GAOmvD,CAAC,EAPpvD,GAOqwD,CAAC,EAPtwD,GAOuxD,CAAC,EAPxxD,GAOyyD,CAAC,EAP1yD,GAO2zD,CAAC,EAP5zD,GAO60D,CAAC,EAP90D,GAO+1D,CAAC,EAPh2D,GAOi3D,CAAC,EAPl3D,GAOm4D,CAAC,EAPp4D,GAOq5D,CAAC,EAPt5D,GAOu6D,CAAC,EAPx6D,GAOy7D,CAAC,EAP17D,GAO28D,CAAC,EAP58D,GAO69D,CAAC,EAP99D,GAO++D,CAAC,EAPh/D,GAOigE,CAAC,EAPlgE,GAOmhE,CAAC,EAPphE,GAOqiE,CAAC,EAPtiE,GAOujE,CAAC,EAPxjE,GAOykE,CAAC,EAP1kE,GAO2lE,CAAC,EAP5lE,GAO6mE,CAAC,EAP9mE,GAO+nE,CAAC,EAPhoE,GAOipE,CAAC,EAPlpE,GAOmqE,CAAC,EAPpqE,GAOqrE,CAAC,EAPtrE,GAOusE,CAAC,EAPxsE,GAOytE,CAAC,EAP1tE,GAO2uE,CAAC,EAP5uE,GAO6vE,CAAC,EAP9vE,IAQdC,EAAc,CAAC,EAAE,GAAI,GAAI,CAAC,IAZf,GAY8B,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,OAC9WC,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,IAdzB,GAcwC,CAAC,IAdzC,GAcwD,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAC53CC,EAAc,CAAC,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,KACjwDC,EAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAA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ACDz8D,GAAI,EACJy8D,EAAG,GACF,CACDz8D,GAAI,EACJy8D,EAAG,GACF,CACDz8D,GAAI,EACJy8D,EAAG,IACD,CAAC,CACHz8D,GAAI,EACJy8D,GAAI,GACH,CACDz8D,EAAG,EACHy8D,GAAI,GACH,CACDz8D,EAAG,EACHy8D,GAAI,GACH,CACDz8D,EAAG,EACHy8D,GAAI,GACH,CACDz8D,GAAI,EACJy8D,GAAI,GACH,CACDz8D,GAAI,EACJy8D,GAAI,GACH,CACDz8D,EAAG,EACHy8D,GAAI,GACH,CACDz8D,EAAG,EACHy8D,GAAI,GACH,CACDz8D,EAAG,EACHy8D,GAAI,GACH,CACDz8D,GAAI,EACJy8D,EAAG,GACF,CACDz8D,GAAI,EACJy8D,EAAG,GACF,CACDz8D,GAAI,EACJy8D,EAAG,IACD,CAAC,CACHz8D,GAAI,EACJy8D,GAAI,GACH,CACDz8D,EAAG,EACHy8D,GAAI,GACH,CACDz8D,EAAG,EACHy8D,GAAI,GACH,CACDz8D,GAAI,EACJy8D,GAAI,GACH,CACDz8D,GAAI,EACJy8D,GAAI,GACH,CACDz8D,EAAG,EACHy8D,GAAI,GACH,CACDz8D,EAAG,EACHy8D,GAAI,GACH,CACDz8D,GAAI,EACJy8D,EAAG,GACF,CACDz8D,GAAI,EACJy8D,EAAG,IACD,CAAC,CACHz8D,GAAI,EACJy8D,GAAI,GACH,CACDz8D,GAAI,EACJy8D,GAAI,GACH,CACDz8D,GAAI,EACJy8D,GAAI,GACH,CACDz8D,EAAG,EACHy8D,GAAI,GACH,CACDz8D,EAAG,EACHy8D,GAAI,GACH,CACDz8D,GAAI,EACJy8D,EAAG,GACF,CACDz8D,GAAI,EACJy8D,EAAG,GACF,CACDz8D,GAAI,EACJy8D,EAAG,GACF,CACDz8D,GAAI,EACJy8D,EAAG,KAEDC,EAAsB,CAAC,CACzBC,OAAQ,CAAC,CACP38D,EAAG,EACHy8D,GAAI,GACH,CACDz8D,EAAG,EACHy8D,GAAI,GACH,CACDz8D,GAAI,EACJy8D,EAAG,IAELG,UAAW,CAAC,CACV58D,EAAG,EACHy8D,GAAI,GACH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ACX,CACDH,GAAI,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,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,GACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,GACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,GACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,EACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,EACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,EACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,IAGVzS,EAEJ,WACE,SAASA,EAAkB/uE,EAAM5N,EAAOC,IAtP1C,SAAyB0rC,EAAUzQ,GAAe,KAAMyQ,aAAoBzQ,GAAgB,MAAM,IAAIrvB,UAAU,qCAuP5G0mC,CAAgBl2C,KAAMsgF,GAEtBtgF,KAAKuR,KAAOA,EACZvR,KAAKgzF,GAAKrvF,EACV3D,KAAKizF,QAAUrvF,EACf5D,KAAKkzF,MAAQ3hF,EAAK5N,GAClB3D,KAAKmzF,KAAO,EACZnzF,KAAKozF,SACLpzF,KAAKkzF,MAAQlzF,KAAKkzF,OAAS,EAAI,MAASlzF,KAAKmzF,MAAQ,EAAI,IACzDnzF,KAAKmzF,KAAOnzF,KAAKmzF,MAAQ,EAAI,MAC7BnzF,KAAKqzF,IAAM,EACXrzF,KAAK80B,EAAI,MA9Pb,IAAsB+J,EAAamX,EAAYC,EA6V7C,OA7VoBpX,EAiQPyhD,GAjQoBtqC,EAiQD,CAAC,CAC/Bv4C,IAAK,SACLrB,MAAO,WACL,IAAImV,EAAOvR,KAAKuR,KACZyhF,EAAKhzF,KAAKgzF,GAEG,MAAbzhF,EAAKyhF,GACHzhF,EAAKyhF,EAAK,GAAK,KACjBhzF,KAAKmzF,MAAQ,MACbnzF,KAAKqzF,GAAK,IAEVL,IACAhzF,KAAKmzF,MAAQ5hF,EAAKyhF,IAAO,EACzBhzF,KAAKqzF,GAAK,EACVrzF,KAAKgzF,GAAKA,IAGZA,IACAhzF,KAAKmzF,MAAQH,EAAKhzF,KAAKizF,QAAU1hF,EAAKyhF,IAAO,EAAI,MACjDhzF,KAAKqzF,GAAK,EACVrzF,KAAKgzF,GAAKA,GAGRhzF,KAAKmzF,KAAO,QACdnzF,KAAKkzF,OAASlzF,KAAKmzF,MAAQ,GAC3BnzF,KAAKmzF,MAAQ,SAGhB,CACD11F,IAAK,UACLrB,MAAO,SAAiB4jF,EAAU5+D,GAChC,IAIIpU,EAJAsmF,EAAWtT,EAAS5+D,IAAQ,EAC5BmyE,EAAyB,EAAhBvT,EAAS5+D,GAClBoyE,EAAab,EAAQW,GACrBG,EAAQD,EAAWZ,GAEnB99D,EAAI90B,KAAK80B,EAAI2+D,EAEjB,GAAIzzF,KAAKkzF,MAAQO,EACX3+D,EAAI2+D,GACN3+D,EAAI2+D,EACJzmF,EAAIumF,EACJD,EAAWE,EAAWX,OAEtB/9D,EAAI2+D,EACJzmF,EAAI,EAAIumF,EAEsB,IAA1BC,EAAWT,aACbQ,EAASvmF,GAGXsmF,EAAWE,EAAWV,UAEnB,CAGL,GAFA9yF,KAAKkzF,OAASO,EAEO,KAAZ,MAAJ3+D,GAEH,OADA90B,KAAK80B,EAAIA,EACFy+D,EAGLz+D,EAAI2+D,GACNzmF,EAAI,EAAIumF,EAEsB,IAA1BC,EAAWT,aACbQ,EAASvmF,GAGXsmF,EAAWE,EAAWV,OAEtB9lF,EAAIumF,EACJD,EAAWE,EAAWX,MAI1B,GACkB,IAAZ7yF,KAAKqzF,IACPrzF,KAAKozF,SAGPt+D,IAAM,EACN90B,KAAKkzF,MAAQlzF,KAAKkzF,OAAS,EAAI,MAASlzF,KAAKmzF,MAAQ,GAAK,EAC1DnzF,KAAKmzF,KAAOnzF,KAAKmzF,MAAQ,EAAI,MAC7BnzF,KAAKqzF,WACmB,KAAZ,MAAJv+D,IAIV,OAFA90B,KAAK80B,EAAIA,EACTkrD,EAAS5+D,GAAOkyE,GAAY,EAAIC,EACzBvmF,OAzViE8kD,EAAkBjzB,EAAYnhC,UAAWs4C,GAAiBC,GAAa6b,EAAkBjzB,EAAaoX,GA6V3KqqC,EA5GT,GA+GAnkF,EAAQmkF,kBAAoBA,GAIrB,SAAS1zE,EAAQzQ,EAASuQ,GAEjC,aAGAzQ,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQ82E,gBAAa,EAErB,IAAIhlE,EAAQvB,EAAoB,GAE5B20C,EAAU30C,EAAoB,KAE9BwB,EAAcxB,EAAoB,KAElCgnF,EAAOhnF,EAAoB,KAE3BumE,EAAa,WACf,SAASA,EAAW37D,EAAQi7D,EAAa3hB,EAAMqX,GAG7C,IAFA,IAAInlD,GAEgC,KAA5BA,EAAKxL,EAAOy9C,YAClB,GAAW,MAAPjyC,EAAa,CACfxL,EAAOyoD,MAAM,GACb,MAIJ//D,KAAKsX,OAASA,EACdtX,KAAKuyE,YAAcA,EACnBvyE,KAAK4wD,KAAOA,EACZ5wD,KAAKioE,OAASA,EAEd5mB,EAAQu0B,aAAah4E,KAAKoC,KAAMuyE,GAuElC,OApEAU,EAAWv1E,UAAYzB,OAAO+C,OAAOqiD,EAAQu0B,aAAal4E,WAC1DzB,OAAOC,eAAe+2E,EAAWv1E,UAAW,QAAS,CACnDL,IAAK,WACH,OAAO,EAAI4Q,EAAM2W,QAAQ5kB,KAAM,QAASA,KAAKsX,OAAO23C,SAASjvD,KAAKuyE,eAEpEztD,cAAc,IAGhBmuD,EAAWv1E,UAAUi5E,aAAe,SAAUC,KAE9C3D,EAAWv1E,UAAUg5E,UAAY,WAC/B,IAAI12E,KAAKw2E,IAAT,CAIA,IAAImd,EAAc,CAChBC,qBAAiBz0F,EACjB00F,oBAAgB10F,GAEd20F,EAAY9zF,KAAK4wD,KAAKN,SAAS,SAAU,KAE7C,GAAItwD,KAAK+zF,UAAYzuF,MAAMsJ,QAAQklF,GAAY,CAO7C,IANA,IAAIE,EAAmBh0F,KAAK4wD,KAAKvzD,IAAI,qBAAuB,EACxD42F,EAAkBH,EAAUr0F,OAC5B0uB,EAAY,IAAI8oD,WAAWgd,GAC3BC,GAAkB,EAClBC,GAAY,GAAKH,GAAoB,EAEhC7oF,EAAI,EAAGA,EAAI8oF,EAAiB9oF,GAAK,EACxCgjB,EAAUhjB,GAAyC,KAAnC2oF,EAAU3oF,EAAI,GAAK2oF,EAAU3oF,IAAY,EACzDgjB,EAAUhjB,EAAI,GAAK2oF,EAAU3oF,GAAKgpF,EAAW,EAExB,MAAjBhmE,EAAUhjB,IAAmC,IAArBgjB,EAAUhjB,EAAI,KACxC+oF,GAAkB,GAIlBA,IACFP,EAAYC,gBAAkBzlE,GAIlC,IAAI,EAAIjgB,EAAYwgD,QAAQ1uD,KAAKioE,QAAS,CACxC,IAAI4rB,EAAiB7zF,KAAKioE,OAAO5qE,IAAI,kBAEjCqnB,OAAOC,UAAUkvE,KACnBF,EAAYE,eAAiBA,GAIjC,IAAIO,EAAY,IAAIV,EAAKW,UAAUV,GACnCS,EAAU5nC,MAAMxsD,KAAKuX,OACrB,IAAIhG,EAAO6iF,EAAUE,QAAQ,CAC3BrT,MAAOjhF,KAAKu0F,UACZvuF,OAAQhG,KAAKw0F,WACbT,SAAU/zF,KAAK+zF,SACfU,aAAa,IAEfz0F,KAAK8jB,OAASvS,EACdvR,KAAKu2E,aAAehlE,EAAK9R,OACzBO,KAAKw2E,KAAM,IAGbvD,EAAWv1E,UAAUg3F,MAAQ,WAC3B,IAAIl6E,EAAkBvZ,UAAUxB,OAAS,QAAsBN,IAAjB8B,UAAU,IAAmBA,UAAU,GACrF,OAAO,EAAIgN,EAAM4X,iBAAiB7lB,KAAKuX,MAAO,aAAciD,IAGvDy4D,EAvFQ,GA0FjB92E,EAAQ82E,WAAaA,GAId,SAASrmE,EAAQzQ,EAASuQ,GAEjC,aAGAzQ,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQk4F,eAAY,EAEpB,IAAIpmF,EAAQvB,EAAoB,GAEhC,SAAS1Q,EAAQe,GAAwT,OAAtOf,EAArD,oBAAXqR,QAAoD,kBAApBA,OAAOmB,SAAmC,SAAiBzR,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXsQ,QAAyBtQ,EAAI0R,cAAgBpB,QAAUtQ,IAAQsQ,OAAO3P,UAAY,gBAAkBX,IAAyBA,GAExV,IAAI43F,EAAY,WACd,SAASA,EAAU3yE,GACjBhiB,KAAKyY,QAAU,eAAiBuJ,EAMlC,OAHA2yE,EAAUj3F,UAAY,IAAIsT,MAC1B2jF,EAAUj3F,UAAUgI,KAAO,YAC3BivF,EAAUlmF,YAAckmF,EACjBA,EARO,GAWZC,EAAiB,WACnB,SAASA,EAAen8E,EAASo8E,GAC/B70F,KAAKyY,QAAUA,EACfzY,KAAK60F,UAAYA,EAMnB,OAHAD,EAAel3F,UAAY,IAAIsT,MAC/B4jF,EAAel3F,UAAUgI,KAAO,iBAChCkvF,EAAenmF,YAAcmmF,EACtBA,EATY,GAYjBE,EAAiB,WACnB,SAASA,EAAer8E,GACtBzY,KAAKyY,QAAUA,EAMjB,OAHAq8E,EAAep3F,UAAY,IAAIsT,MAC/B8jF,EAAep3F,UAAUgI,KAAO,iBAChCovF,EAAermF,YAAcqmF,EACtBA,EARY,GAWjBT,EAAY,WACd,IAAIU,EAAY,IAAIvjF,WAAW,CAAC,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAUlR,SAAS6iF,IACP,IAAIvrF,EAAO7H,UAAUxB,OAAS,QAAsBN,IAAjB8B,UAAU,GAAmBA,UAAU,GAAK,GAC3E+zF,EAAuBlsF,EAAK8qF,gBAC5BA,OAA2C,IAAzBoB,EAAkC,KAAOA,EAC3DC,EAAsBnsF,EAAK+qF,eAC3BA,OAAyC,IAAxBoB,GAAkC,EAAIA,EAE3Dj1F,KAAKk1F,iBAAmBtB,EACxB5zF,KAAKm1F,gBAAkBtB,EAGzB,SAASuB,EAAkBrc,EAAa17D,GAOtC,IANA,IAEIlS,EACAi4B,EAHAH,EAAI,EACJnpB,EAAO,GAGPra,EAAS,GAENA,EAAS,IAAMs5E,EAAYt5E,EAAS,IACzCA,IAGFqa,EAAK1R,KAAK,CACRL,SAAU,GACV0B,MAAO,IAET,IACIsyE,EADA/wE,EAAI8O,EAAK,GAGb,IAAK3O,EAAI,EAAGA,EAAI1L,EAAQ0L,IAAK,CAC3B,IAAKi4B,EAAI,EAAGA,EAAI21C,EAAY5tE,GAAIi4B,IAAK,CAInC,KAHAp4B,EAAI8O,EAAK6F,OACP5X,SAASiD,EAAEvB,OAAS4T,EAAO4lB,GAEtBj4B,EAAEvB,MAAQ,GACfuB,EAAI8O,EAAK6F,MAMX,IAHA3U,EAAEvB,QACFqQ,EAAK1R,KAAK4C,GAEH8O,EAAKra,QAAU0L,GACpB2O,EAAK1R,KAAK2zE,EAAI,CACZh0E,SAAU,GACV0B,MAAO,IAETuB,EAAEjD,SAASiD,EAAEvB,OAASsyE,EAAEh0E,SACxBiD,EAAI+wE,EAGN94C,IAGE93B,EAAI,EAAI1L,IACVqa,EAAK1R,KAAK2zE,EAAI,CACZh0E,SAAU,GACV0B,MAAO,IAETuB,EAAEjD,SAASiD,EAAEvB,OAASsyE,EAAEh0E,SACxBiD,EAAI+wE,GAIR,OAAOjiE,EAAK,GAAG/R,SAGjB,SAASstF,EAAqBrpF,EAAW8xE,EAAKwX,GAC5C,OAAO,KAAOtpF,EAAUupF,cAAgB,GAAKzX,EAAMwX,GAGrD,SAASE,EAAWjkF,EAAM6S,EAAQqxE,EAAOC,EAAYC,EAAeC,EAAeC,EAAaC,EAAgBC,GAC9G,IAAIC,EAAiB/0F,UAAUxB,OAAS,QAAsBN,IAAjB8B,UAAU,IAAmBA,UAAU,GAChFg1F,EAAcR,EAAMQ,YACpBC,EAAcT,EAAMS,YACpBC,EAAc/xE,EACdgyE,EAAW,EACXC,EAAY,EAEhB,SAASlW,IACP,GAAIkW,EAAY,EAEd,OADAA,IACOD,GAAYC,EAAY,EAKjC,GAAiB,OAFjBD,EAAW7kF,EAAK6S,MAEO,CACrB,IAAIkyE,EAAW/kF,EAAK6S,KAEpB,GAAIkyE,EAAU,CACZ,GAAiB,MAAbA,GAAqBN,EAAgB,CACvC5xE,GAAU,EACV,IAAIywE,EAAYtjF,EAAK6S,MAAa,EAAI7S,EAAK6S,KAE3C,GAAIywE,EAAY,GAAKA,IAAcY,EAAMZ,UACvC,MAAM,IAAID,EAAe,oDAAqDC,QAE3E,GAAiB,MAAbyB,EACT,MAAM,IAAIxB,EAAe,qDAG3B,MAAM,IAAIH,EAAU,qBAAqBhvF,QAAQywF,GAAY,EAAIE,GAAU39E,SAAS,OAKxF,OADA09E,EAAY,EACLD,IAAa,EAGtB,SAASG,EAAcC,GAGrB,IAFA,IAAIntF,EAAOmtF,IAEE,CAGX,GAAoB,kBAFpBntF,EAAOA,EAAK82E,MAGV,OAAO92E,EAGT,GAAsB,WAAlBrN,EAAQqN,GACV,MAAM,IAAIsrF,EAAU,6BAK1B,SAAS8B,EAAQh3F,GAGf,IAFA,IAAIiO,EAAI,EAEDjO,EAAS,GACdiO,EAAIA,GAAK,EAAIyyE,IACb1gF,IAGF,OAAOiO,EAGT,SAASgpF,EAAiBj3F,GACxB,GAAe,IAAXA,EACF,OAAqB,IAAd0gF,IAAkB,GAAK,EAGhC,IAAIzyE,EAAI+oF,EAAQh3F,GAEhB,OAAIiO,GAAK,GAAKjO,EAAS,EACdiO,EAGFA,IAAM,GAAKjO,GAAU,EAG9B,SAASk3F,EAAe3qF,EAAWoY,GACjC,IAAIrZ,EAAIwrF,EAAcvqF,EAAU4qF,gBAC5BC,EAAa,IAAN9rF,EAAU,EAAI2rF,EAAiB3rF,GAC1CiB,EAAU8qF,UAAU1yE,GAAUpY,EAAU+qF,MAAQF,EAGhD,IAFA,IAAI5zD,EAAI,EAEDA,EAAI,IAAI,CACb,IAAI+zD,EAAKT,EAAcvqF,EAAUirF,gBAC7BnsF,EAAS,GAALksF,EACJ5pF,EAAI4pF,GAAM,EAEd,GAAU,IAANlsF,EAAJ,CAUA,IAAIosF,EAAInC,EADR9xD,GAAK71B,GAELpB,EAAU8qF,UAAU1yE,EAAS8yE,GAAKR,EAAiB5rF,GACnDm4B,QAZA,CACE,GAAI71B,EAAI,GACN,MAGF61B,GAAK,KAWX,SAASk0D,EAAcnrF,EAAWoY,GAChC,IAAIrZ,EAAIwrF,EAAcvqF,EAAU4qF,gBAC5BC,EAAa,IAAN9rF,EAAU,EAAI2rF,EAAiB3rF,IAAMgrF,EAChD/pF,EAAU8qF,UAAU1yE,GAAUpY,EAAU+qF,MAAQF,EAGlD,SAASO,EAAmBprF,EAAWoY,GACrCpY,EAAU8qF,UAAU1yE,IAAW+7D,KAAa4V,EAG9C,IAAIsB,EAAS,EAEb,SAASC,EAActrF,EAAWoY,GAChC,GAAIizE,EAAS,EACXA,SAOF,IAHA,IAAIp0D,EAAI2yD,EACJj3F,EAAIk3F,EAED5yD,GAAKtkC,GAAG,CACb,IAAIq4F,EAAKT,EAAcvqF,EAAUirF,gBAC7BnsF,EAAS,GAALksF,EACJ5pF,EAAI4pF,GAAM,EAEd,GAAU,IAANlsF,EAAJ,CAWA,IAAIosF,EAAInC,EADR9xD,GAAK71B,GAELpB,EAAU8qF,UAAU1yE,EAAS8yE,GAAKR,EAAiB5rF,IAAM,GAAKirF,GAC9D9yD,QAbA,CACE,GAAI71B,EAAI,GAAI,CACViqF,EAASZ,EAAQrpF,IAAM,GAAKA,GAAK,EACjC,MAGF61B,GAAK,KAWX,IACIs0D,EADAC,EAAoB,EAGxB,SAASC,EAAmBzrF,EAAWoY,GAOrC,IANA,IAGItZ,EACAksF,EAJA/zD,EAAI2yD,EACJj3F,EAAIk3F,EACJzoF,EAAI,EAID61B,GAAKtkC,GAAG,CACb,IAAI+4F,EAAUtzE,EAAS2wE,EAAU9xD,GAC7B6wC,EAAO9nE,EAAU8qF,UAAUY,GAAW,GAAK,EAAI,EAEnD,OAAQF,GACN,KAAK,EAKH,GAFApqF,GAFA4pF,EAAKT,EAAcvqF,EAAUirF,kBAEnB,EAEA,KAHVnsF,EAAS,GAALksF,GAIE5pF,EAAI,IACNiqF,EAASZ,EAAQrpF,IAAM,GAAKA,GAC5BoqF,EAAoB,IAEpBpqF,EAAI,GACJoqF,EAAoB,OAEjB,CACL,GAAU,IAAN1sF,EACF,MAAM,IAAI6pF,EAAU,wBAGtB4C,EAAwBb,EAAiB5rF,GACzC0sF,EAAoBpqF,EAAI,EAAI,EAG9B,SAEF,KAAK,EACL,KAAK,EACCpB,EAAU8qF,UAAUY,GACtB1rF,EAAU8qF,UAAUY,IAAY5jB,GAAQqM,KAAa4V,GAI3C,MAFV3oF,IAGEoqF,EAA0C,IAAtBA,EAA0B,EAAI,GAItD,MAEF,KAAK,EACCxrF,EAAU8qF,UAAUY,GACtB1rF,EAAU8qF,UAAUY,IAAY5jB,GAAQqM,KAAa4V,IAErD/pF,EAAU8qF,UAAUY,GAAWH,GAAyBxB,EACxDyB,EAAoB,GAGtB,MAEF,KAAK,EACCxrF,EAAU8qF,UAAUY,KACtB1rF,EAAU8qF,UAAUY,IAAY5jB,GAAQqM,KAAa4V,IAM3D9yD,IAGwB,IAAtBu0D,GAGa,MAFfH,IAGEG,EAAoB,GAK1B,SAASG,EAAU3rF,EAAWm5E,EAAQyS,EAAK9Z,EAAKwX,GAC9C,IACIuC,EAASD,EAAM3B,EAInB9Q,EAAOn5E,EADMqpF,EAAqBrpF,GAJrB4rF,EAAM3B,EAAc,GAETjqF,EAAUoW,EAAI07D,EACvB+Z,EAAS7rF,EAAUggD,EAAIspC,IAKxC,SAASwC,EAAY9rF,EAAWm5E,EAAQyS,GAItCzS,EAAOn5E,EADMqpF,EAAqBrpF,EAFnB4rF,EAAM5rF,EAAUupF,cAAgB,EAChCqC,EAAM5rF,EAAUupF,gBAKjC,IACIvpF,EAAWb,EAAGi4B,EAAGH,EAAGv1B,EACpBqqF,EAFAC,EAAmBtC,EAAWj2F,OAM9Bs4F,EAFA7B,EACoB,IAAlBN,EAC4B,IAAnBE,EAAuBqB,EAAgBC,EAEpB,IAAnBtB,EAAuBwB,EAAgBG,EAGzCd,EAGb,IACIsB,EACAC,EAQAlsC,EAAG5pC,EAVHw1E,EAAM,EAYV,IAPEM,EADuB,IAArBF,EACYtC,EAAW,GAAGH,cAAgBG,EAAW,GAAGyC,gBAE5ClC,EAAcR,EAAM2C,cAK7BR,EAAMM,GAAa,CACxB,IAAIG,EAAY1C,EAAgB/tF,KAAKga,IAAIs2E,EAAcN,EAAKjC,GAAiBuC,EAE7E,IAAK/sF,EAAI,EAAGA,EAAI6sF,EAAkB7sF,IAChCuqF,EAAWvqF,GAAG4rF,KAAO,EAKvB,GAFAM,EAAS,EAEgB,IAArBW,EAGF,IAFAhsF,EAAY0pF,EAAW,GAElBhoF,EAAI,EAAGA,EAAI2qF,EAAW3qF,IACzBoqF,EAAY9rF,EAAW+rF,EAAUH,GACjCA,SAGF,IAAKlqF,EAAI,EAAGA,EAAI2qF,EAAW3qF,IAAK,CAC9B,IAAKvC,EAAI,EAAGA,EAAI6sF,EAAkB7sF,IAKhC,IAHA6gD,GADAhgD,EAAY0pF,EAAWvqF,IACT6gD,EACd5pC,EAAIpW,EAAUoW,EAETghB,EAAI,EAAGA,EAAIhhB,EAAGghB,IACjB,IAAKH,EAAI,EAAGA,EAAI+oB,EAAG/oB,IACjB00D,EAAU3rF,EAAW+rF,EAAUH,EAAKx0D,EAAGH,GAK7C20D,IAIJvB,EAAY,GACZ4B,EAAaK,EAAmB/mF,EAAM6S,KAEpB6zE,EAAWpsC,WAC3B,EAAI59C,EAAM+H,MAAM,wDAA0DiiF,EAAWpsC,SACrFznC,EAAS6zE,EAAW7zE,QAGtB,IAAIm0E,EAASN,GAAcA,EAAWM,OAEtC,IAAKA,GAAUA,GAAU,MACvB,MAAM,IAAI5D,EAAU,wBAGtB,KAAI4D,GAAU,OAAUA,GAAU,OAGhC,MAFAn0E,GAAU,EAad,OAPA6zE,EAAaK,EAAmB/mF,EAAM6S,KAEpB6zE,EAAWpsC,WAC3B,EAAI59C,EAAM+H,MAAM,yDAA2DiiF,EAAWpsC,SACtFznC,EAAS6zE,EAAW7zE,QAGfA,EAAS+xE,EAGlB,SAASqC,EAAmBxsF,EAAWysF,EAAmBztF,GACxD,IAEI0tF,EAAI5pC,EAAIC,EAAI4pC,EAAIC,EAAIC,EAAIC,EAAIC,EAC5BC,EAAI1kE,EAAIC,EAAIC,EAAIC,EAAIwkE,EAAIC,EAAIC,EAC5BpuF,EAJAquF,EAAKptF,EAAUqtF,kBACfvC,EAAY9qF,EAAU8qF,UAK1B,IAAKsC,EACH,MAAM,IAAIzE,EAAU,wCAGtB,IAAK,IAAI7W,EAAM,EAAGA,EAAM,GAAIA,GAAO,EACjCkb,EAAKlC,EAAU2B,EAAoB3a,GACnCxpD,EAAKwiE,EAAU2B,EAAoB3a,EAAM,GACzCvpD,EAAKuiE,EAAU2B,EAAoB3a,EAAM,GACzCtpD,EAAKsiE,EAAU2B,EAAoB3a,EAAM,GACzCrpD,EAAKqiE,EAAU2B,EAAoB3a,EAAM,GACzCmb,EAAKnC,EAAU2B,EAAoB3a,EAAM,GACzCob,EAAKpC,EAAU2B,EAAoB3a,EAAM,GACzCqb,EAAKrC,EAAU2B,EAAoB3a,EAAM,GACzCkb,GAAMI,EAAGtb,GAEkC,KAAtCxpD,EAAKC,EAAKC,EAAKC,EAAKwkE,EAAKC,EAAKC,IAanC7kE,GAAM8kE,EAAGtb,EAAM,GACfvpD,GAAM6kE,EAAGtb,EAAM,GACftpD,GAAM4kE,EAAGtb,EAAM,GACfrpD,GAAM2kE,EAAGtb,EAAM,GACfmb,GAAMG,EAAGtb,EAAM,GAYfhvB,GADA4pC,GARAA,EAvcW,KAucKM,EAAK,KAAO,IAC5BlqC,EAxcW,KAwcKr6B,EAAK,KAAO,GAOb,GAAK,GACVq6B,EACV/jD,EAldU,MA0cVgkD,EAAKx6B,GA3cK,MA4cVokE,EALAO,GAAME,EAAGtb,EAAM,IAYmB,KAAO,EACzC/uB,EApdU,KAodLA,EAndK,KAmdU4pC,EAAe,KAAO,EAG1CG,GADAF,GATAA,EA1ca,MA0cMtkE,GALnB6kE,GAAMC,EAAGtb,EAAM,KAKe,KAAO,IAGrCgb,EAAKG,GAAM,GAMI,GAAK,GACVH,EAEVD,GADAE,GAVAA,EA3ca,MA2cMzkE,EAAK6kE,GAAM,KAAO,IACrCN,EAAKrkE,GAAM,GASI,GAAK,GACVqkE,EAEVF,GADAD,EAAKA,GALLC,EAAK5tF,GAKU,GAAK,GACV4tF,EAEV5pC,GADAD,EAAKA,EAAKC,EAAK,GAAK,GACVA,EACVhkD,EA/dU,KA+dN6tF,EAheM,KAgeSG,EAAe,MAAQ,GAC1CH,EAjeU,KAieLA,EAheK,KAgeUG,EAAe,MAAQ,GAC3CA,EAAKhuF,EACLA,EApeU,IAoeN8tF,EAreM,KAqeSC,EAAe,MAAQ,GAC1CD,EAteU,KAseLA,EAreK,IAqeUC,EAAe,MAAQ,GAC3CA,EAAK/tF,EACLC,EAAE8yE,GAAO4a,EAAKK,EACd/tF,EAAE8yE,EAAM,GAAK4a,EAAKK,EAClB/tF,EAAE8yE,EAAM,GAAKhvB,EAAKgqC,EAClB9tF,EAAE8yE,EAAM,GAAKhvB,EAAKgqC,EAClB9tF,EAAE8yE,EAAM,GAAK/uB,EAAK8pC,EAClB7tF,EAAE8yE,EAAM,GAAK/uB,EAAK8pC,EAClB7tF,EAAE8yE,EAAM,GAAK6a,EAAKC,EAClB5tF,EAAE8yE,EAAM,GAAK6a,EAAKC,IArDhB7tF,EApbS,KAobMiuF,EAAK,KAAO,GAC3BhuF,EAAE8yE,GAAO/yE,EACTC,EAAE8yE,EAAM,GAAK/yE,EACbC,EAAE8yE,EAAM,GAAK/yE,EACbC,EAAE8yE,EAAM,GAAK/yE,EACbC,EAAE8yE,EAAM,GAAK/yE,EACbC,EAAE8yE,EAAM,GAAK/yE,EACbC,EAAE8yE,EAAM,GAAK/yE,EACbC,EAAE8yE,EAAM,GAAK/yE,GAgDjB,IAAK,IAAIuqF,EAAM,EAAGA,EAAM,IAAKA,EAC3B0D,EAAKhuF,EAAEsqF,GASoC,MAR3ChhE,EAAKtpB,EAAEsqF,EAAM,KACb/gE,EAAKvpB,EAAEsqF,EAAM,MACb9gE,EAAKxpB,EAAEsqF,EAAM,MACb7gE,EAAKzpB,EAAEsqF,EAAM,MACb2D,EAAKjuF,EAAEsqF,EAAM,MACb4D,EAAKluF,EAAEsqF,EAAM,MACb6D,EAAKnuF,EAAEsqF,EAAM,OAyBbxmC,GADA4pC,EAA0B,OAR1BA,EApgBW,KAogBKM,EAAK,MAAQ,KAC7BlqC,EArgBW,KAqgBKr6B,EAAK,MAAQ,IAOb,GAAK,IACXq6B,EACV/jD,EA/gBU,MAugBVgkD,EAAKx6B,GAxgBK,MAygBVokE,EAAKO,GAO6B,MAAQ,GAC1CnqC,EAjhBU,KAihBLA,EAhhBK,KAghBU4pC,EAAe,MAAQ,GAC3CA,EAAK5tF,EAEL+tF,GADAF,GATAA,EAvgBa,MAugBMtkE,EAAK6kE,GAAM,MAAQ,KAGtCL,EAAKG,GAMU,GAAK,GACVH,EAEVD,GADAE,GAVAA,EAxgBa,MAwgBMzkE,EAAK6kE,GAAM,MAAQ,KACtCN,EAAKrkE,GASU,GAAK,GACVqkE,EAKV9tF,EA5hBU,KA4hBN6tF,EA7hBM,KA6hBSG,EAAe,MAAQ,GAC1CH,EA9hBU,KA8hBLA,EA7hBK,KA6hBUG,EAAe,MAAQ,GAC3CA,EAAKhuF,EACLA,EAjiBU,IAiiBN8tF,EAliBM,KAkiBSC,EAAe,MAAQ,GAC1CD,EAniBU,KAmiBLA,EAliBK,IAkiBUC,EAAe,MAAQ,GAU3CE,GARAA,GAVAN,EAAKA,EAAKC,EAAK,GAAK,GAUVI,GAQA,GAAK,EAAIC,GAAM,KAAO,IAAMA,GAAM,EAC5C1kE,GAPAA,GAVAw6B,EAAKA,EAAKC,EAAK,GAAK,IAOpB+pC,EAAK/tF,IAUK,GAAK,EAAIupB,GAAM,KAAO,IAAMA,GAAM,EAC5CC,GANAA,GAXAw6B,EAAKD,EAAKC,GAWA8pC,GAMA,GAAK,EAAItkE,GAAM,KAAO,IAAMA,GAAM,EAC5CC,GALAA,GAfAmkE,EAAKD,EAAKC,GAeAC,GAKA,GAAK,EAAIpkE,GAAM,KAAO,IAAMA,GAAM,EAC5CC,GALAA,EAAKkkE,EAAKC,GAKA,GAAK,EAAInkE,GAAM,KAAO,IAAMA,GAAM,EAC5CwkE,GARAA,EAAKlqC,EAAK8pC,GAQA,GAAK,EAAII,GAAM,KAAO,IAAMA,GAAM,EAC5CC,GAXAA,EAAKpqC,EAAKgqC,GAWA,GAAK,EAAII,GAAM,KAAO,IAAMA,GAAM,EAC5CC,GAdAA,EAAKT,EAAKK,GAcA,GAAK,EAAII,GAAM,KAAO,IAAMA,GAAM,EAC5CrC,EAAU2B,EAAoBnD,GAAO0D,EACrClC,EAAU2B,EAAoBnD,EAAM,GAAKhhE,EACzCwiE,EAAU2B,EAAoBnD,EAAM,IAAM/gE,EAC1CuiE,EAAU2B,EAAoBnD,EAAM,IAAM9gE,EAC1CsiE,EAAU2B,EAAoBnD,EAAM,IAAM7gE,EAC1CqiE,EAAU2B,EAAoBnD,EAAM,IAAM2D,EAC1CnC,EAAU2B,EAAoBnD,EAAM,IAAM4D,EAC1CpC,EAAU2B,EAAoBnD,EAAM,IAAM6D,IA9DxCpuF,GADAA,EAvfS,KAufMiuF,EAAK,MAAQ,KACnB,KAAO,EAAIjuF,GAAK,KAAO,IAAMA,EAAI,MAAQ,EAClD+rF,EAAU2B,EAAoBnD,GAAOvqF,EACrC+rF,EAAU2B,EAAoBnD,EAAM,GAAKvqF,EACzC+rF,EAAU2B,EAAoBnD,EAAM,IAAMvqF,EAC1C+rF,EAAU2B,EAAoBnD,EAAM,IAAMvqF,EAC1C+rF,EAAU2B,EAAoBnD,EAAM,IAAMvqF,EAC1C+rF,EAAU2B,EAAoBnD,EAAM,IAAMvqF,EAC1C+rF,EAAU2B,EAAoBnD,EAAM,IAAMvqF,EAC1C+rF,EAAU2B,EAAoBnD,EAAM,IAAMvqF,GA0DhD,SAASuuF,EAAmB7D,EAAOzpF,GAKjC,IAJA,IAAIupF,EAAgBvpF,EAAUupF,cAC1B4C,EAAkBnsF,EAAUmsF,gBAC5BoB,EAAoB,IAAIC,WAAW,IAE9BC,EAAW,EAAGA,EAAWtB,EAAiBsB,IACjD,IAAK,IAAIC,EAAW,EAAGA,EAAWnE,EAAemE,IAE/ClB,EAAmBxsF,EADNqpF,EAAqBrpF,EAAWytF,EAAUC,GACjBH,GAI1C,OAAOvtF,EAAU8qF,UAGnB,SAASwB,EAAmB/mF,EAAMooF,GAChC,IAAI9tB,EAAW5qE,UAAUxB,OAAS,QAAsBN,IAAjB8B,UAAU,GAAmBA,UAAU,GAAK04F,EAEnF,SAASC,EAAWx4E,GAClB,OAAO7P,EAAK6P,IAAQ,EAAI7P,EAAK6P,EAAM,GAGrC,IAAIy4E,EAAStoF,EAAK9R,OAAS,EACvBq6F,EAASjuB,EAAW8tB,EAAa9tB,EAAW8tB,EAEhD,GAAIA,GAAcE,EAChB,OAAO,KAGT,IAAIE,EAAgBH,EAAWD,GAE/B,GAAII,GAAiB,OAAUA,GAAiB,MAC9C,MAAO,CACLluC,QAAS,KACT0sC,OAAQwB,EACR31E,OAAQu1E,GAMZ,IAFA,IAAIK,EAAYJ,EAAWE,KAElBE,GAAa,OAAUA,GAAa,QAAS,CACpD,KAAMF,GAAUD,EACd,OAAO,KAGTG,EAAYJ,EAAWE,GAGzB,MAAO,CACLjuC,QAASkuC,EAAcphF,SAAS,IAChC4/E,OAAQyB,EACR51E,OAAQ01E,GAyfZ,OArfAzF,EAAU32F,UAAY,CACpB8uD,MAAO,SAAej7C,GACpB,IAAI7O,EAAQzB,UAAUxB,OAAS,QAAsBN,IAAjB8B,UAAU,GAAmBA,UAAU,GAAK,GAC5Eg5F,EAAqBv3F,EAAMw3F,aAC3BA,OAAsC,IAAvBD,EAAgC,KAAOA,EAE1D,SAAS91E,IACP,IAAI/nB,EAAQmV,EAAK6S,IAAW,EAAI7S,EAAK6S,EAAS,GAE9C,OADAA,GAAU,EACHhoB,EAGT,SAAS+9F,IACP,IAAI16F,EAAS0kB,IACTqsD,EAAYpsD,EAAS3kB,EAAS,EAC9Bw4F,EAAaK,EAAmB/mF,EAAMi/D,EAAWpsD,GAEjD6zE,GAAcA,EAAWpsC,WAC3B,EAAI59C,EAAM+H,MAAM,wDAA0DiiF,EAAWpsC,SACrF2kB,EAAYynB,EAAW7zE,QAGzB,IAAI+rD,EAAQ5+D,EAAKsQ,SAASuC,EAAQosD,GAElC,OADApsD,GAAU+rD,EAAM1wE,OACT0wE,EAGT,SAASiqB,EAAkB3E,GAIzB,IAHA,IAAIQ,EAAcruF,KAAKqc,KAAKwxE,EAAM4E,eAAiB,EAAI5E,EAAM6E,MACzDlC,EAAgBxwF,KAAKqc,KAAKwxE,EAAMZ,UAAY,EAAIY,EAAM8E,MAEjDpvF,EAAI,EAAGA,EAAIsqF,EAAMC,WAAWj2F,OAAQ0L,IAAK,CAChDa,EAAYypF,EAAMC,WAAWvqF,GAC7B,IAAIoqF,EAAgB3tF,KAAKqc,KAAKrc,KAAKqc,KAAKwxE,EAAM4E,eAAiB,GAAKruF,EAAUggD,EAAIypC,EAAM6E,MACpFnC,EAAkBvwF,KAAKqc,KAAKrc,KAAKqc,KAAKwxE,EAAMZ,UAAY,GAAK7oF,EAAUoW,EAAIqzE,EAAM8E,MACjFC,EAAsBvE,EAAcjqF,EAAUggD,EAE9CyuC,EADwBrC,EAAgBpsF,EAAUoW,EAC/B,IAA8Bo4E,EAAsB,GAC3ExuF,EAAU8qF,UAAY,IAAI0C,WAAWiB,GACrCzuF,EAAUupF,cAAgBA,EAC1BvpF,EAAUmsF,gBAAkBA,EAG9B1C,EAAMQ,YAAcA,EACpBR,EAAM2C,cAAgBA,EAGxB,IAGI3C,EAAOE,EAHPvxE,EAAS,EACTs2E,EAAO,KACPC,EAAQ,KAERC,EAAgB,EAChBC,EAAqB,GACrBC,EAAkB,GAClBC,EAAkB,GAClB9C,EAAa9zE,IAEjB,GAAmB,QAAf8zE,EACF,MAAM,IAAItD,EAAU,iBAGtBsD,EAAa9zE,IAEb62E,EAAY,KAAsB,QAAf/C,GAAuB,CACxC,IAAI9sF,EAAGi4B,EAAGv2B,EAEV,OAAQorF,GACN,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACH,IAAIgD,EAAUd,IAEK,QAAflC,GACiB,KAAfgD,EAAQ,IAA8B,KAAfA,EAAQ,IAA8B,KAAfA,EAAQ,IAA8B,KAAfA,EAAQ,IAA8B,IAAfA,EAAQ,KACtGP,EAAO,CACL9/D,QAAS,CACPsgE,MAAOD,EAAQ,GACfE,MAAOF,EAAQ,IAEjBG,aAAcH,EAAQ,GACtBI,SAAUJ,EAAQ,IAAM,EAAIA,EAAQ,GACpCK,SAAUL,EAAQ,KAAO,EAAIA,EAAQ,IACrCM,WAAYN,EAAQ,IACpBO,YAAaP,EAAQ,IACrBQ,UAAWR,EAAQp5E,SAAS,GAAI,GAAK,EAAIo5E,EAAQ,IAAMA,EAAQ,OAKlD,QAAfhD,GACiB,KAAfgD,EAAQ,IAA8B,MAAfA,EAAQ,IAA8B,MAAfA,EAAQ,IAA8B,KAAfA,EAAQ,IAA8B,MAAfA,EAAQ,KACtGN,EAAQ,CACN//D,QAASqgE,EAAQ,IAAM,EAAIA,EAAQ,GACnCS,OAAQT,EAAQ,IAAM,EAAIA,EAAQ,GAClCU,OAAQV,EAAQ,IAAM,EAAIA,EAAQ,IAClCW,cAAeX,EAAQ,MAK7B,MAEF,KAAK,MAKH,IAJA,IAAIY,EAA2B13E,IAC3B23E,EAAwBD,EAA2Bz3E,EAAS,EAGzDA,EAAS03E,GAAuB,CACrC,IAAIC,EAAwBxqF,EAAK6S,KAC7B43E,EAAY,IAAIvgB,YAAY,IAEhC,GAAIsgB,GAAyB,IAAM,EACjC,IAAK34D,EAAI,EAAGA,EAAI,GAAIA,IAElB44D,EADIjH,EAAU3xD,IACC7xB,EAAK6S,SAEjB,IAAI23E,GAAyB,IAAM,EAMxC,MAAM,IAAIpH,EAAU,4BALpB,IAAKvxD,EAAI,EAAGA,EAAI,GAAIA,IAElB44D,EADIjH,EAAU3xD,IACCjf,IAMnB02E,EAA2C,GAAxBkB,GAA8BC,EAGnD,MAEF,KAAK,MACL,KAAK,MACL,KAAK,MACH,GAAIvG,EACF,MAAM,IAAId,EAAU,qCAGtBxwE,KACAsxE,EAAQ,IACFwG,SAA0B,QAAfhE,EACjBxC,EAAMS,YAA6B,QAAf+B,EACpBxC,EAAMyG,UAAY3qF,EAAK6S,KACvB,IAAI+3E,EAAeh4E,IACnBsxE,EAAMZ,UAAYqF,GAAgBiC,EAClC1G,EAAM4E,eAAiBl2E,IACvBsxE,EAAMC,WAAa,GACnBD,EAAM2G,aAAe,GACrB,IACIC,EADAC,EAAkB/qF,EAAK6S,KAEvBk2E,EAAO,EACPC,EAAO,EAEX,IAAKpvF,EAAI,EAAGA,EAAImxF,EAAiBnxF,IAAK,CACpCkxF,EAAc9qF,EAAK6S,GACnB,IAAI4nC,EAAIz6C,EAAK6S,EAAS,IAAM,EACxBhC,EAAuB,GAAnB7Q,EAAK6S,EAAS,GAElBk2E,EAAOtuC,IACTsuC,EAAOtuC,GAGLuuC,EAAOn4E,IACTm4E,EAAOn4E,GAGT,IAAIm6E,EAAMhrF,EAAK6S,EAAS,GACxBvX,EAAI4oF,EAAMC,WAAWttF,KAAK,CACxB4jD,EAAGA,EACH5pC,EAAGA,EACHo6E,eAAgBD,EAChBlD,kBAAmB,OAErB5D,EAAM2G,aAAaC,GAAexvF,EAAI,EACtCuX,GAAU,EAGZqxE,EAAM6E,KAAOA,EACb7E,EAAM8E,KAAOA,EACbH,EAAkB3E,GAClB,MAEF,KAAK,MACH,IAAIgH,EAAgBt4E,IAEpB,IAAKhZ,EAAI,EAAGA,EAAIsxF,GAAgB,CAC9B,IAAIC,EAAmBnrF,EAAK6S,KACxB20D,EAAc,IAAIvnE,WAAW,IAC7BmrF,EAAgB,EAEpB,IAAKv5D,EAAI,EAAGA,EAAI,GAAIA,IAAKhf,IACvBu4E,GAAiB5jB,EAAY31C,GAAK7xB,EAAK6S,GAGzC,IAAIw4E,EAAgB,IAAIprF,WAAWmrF,GAEnC,IAAKv5D,EAAI,EAAGA,EAAIu5D,EAAev5D,IAAKhf,IAClCw4E,EAAcx5D,GAAK7xB,EAAK6S,GAG1BjZ,GAAK,GAAKwxF,GACTD,GAAoB,IAAM,EAAI3B,EAAkBD,GAAoC,GAAnB4B,GAAyBtH,EAAkBrc,EAAa6jB,GAG5H,MAEF,KAAK,MACHz4E,IACAwxE,EAAgBxxE,IAChB,MAEF,KAAK,MACH,IAAI6xE,EAAqC,MAAlB4E,IAAwBV,EAC/C/1E,IACA,IAEInY,EAFA6wF,EAAiBtrF,EAAK6S,KACtBsxE,EAAa,GAGjB,IAAKvqF,EAAI,EAAGA,EAAI0xF,EAAgB1xF,IAAK,CACnC,IAAI2xF,EAAiBrH,EAAM2G,aAAa7qF,EAAK6S,MAC7CpY,EAAYypF,EAAMC,WAAWoH,GAC7B,IAAIC,EAAYxrF,EAAK6S,KACrBpY,EAAU4qF,eAAiBmE,EAAgBgC,GAAa,GACxD/wF,EAAUirF,eAAiB6D,EAA4B,GAAZiC,GAC3CrH,EAAWttF,KAAK4D,GAGlB,IAAI4pF,EAAgBrkF,EAAK6S,KACrByxE,GAActkF,EAAK6S,KACnB44E,GAA0BzrF,EAAK6S,KAEnC,IACE,IAAI09C,GAAY0zB,EAAWjkF,EAAM6S,EAAQqxE,EAAOC,EAAYC,EAAeC,EAAeC,GAAamH,IAA2B,EAA6B,GAA1BA,GAA8BhH,GACnK5xE,GAAU09C,GACV,MAAOptD,IACP,GAAIA,cAAckgF,EAEhB,OADA,EAAI3mF,EAAM+H,MAAM,GAAGrQ,OAAO+O,GAAG+D,QAAS,+CAC/BzY,KAAKwsD,MAAMj7C,EAAM,CACtB2oF,aAAcxlF,GAAGmgF,YAEd,GAAIngF,cAAcogF,EAAgB,EACvC,EAAI7mF,EAAM+H,MAAM,GAAGrQ,OAAO+O,GAAG+D,QAAS,6CACtC,MAAMuiF,EAGR,MAAMtmF,GAGR,MAEF,KAAK,MACH0P,GAAU,EACV,MAEF,KAAK,MACkB,MAAjB7S,EAAK6S,IACPA,IAGF,MAEF,QACE,GAAyB,MAArB7S,EAAK6S,EAAS,IAAe7S,EAAK6S,EAAS,IAAM,KAAQ7S,EAAK6S,EAAS,IAAM,IAAM,CACrFA,GAAU,EACV,MAGF,IAAI64E,GAAiB3E,EAAmB/mF,EAAM6S,EAAS,GAEvD,GAAI64E,IAAkBA,GAAepxC,QAAS,EAC5C,EAAI59C,EAAM+H,MAAM,yDAA2DinF,GAAepxC,SAC1FznC,EAAS64E,GAAe74E,OACxB,MAGF,MAAM,IAAIuwE,EAAU,kBAAoBsD,EAAWt/E,SAAS,KAGhEs/E,EAAa9zE,IASf,IANAnkB,KAAKihF,MAAQwU,EAAM4E,eACnBr6F,KAAKgG,OAASyvF,EAAMZ,UACpB70F,KAAK06F,KAAOA,EACZ16F,KAAK26F,MAAQA,EACb36F,KAAK01F,WAAa,GAEbvqF,EAAI,EAAGA,EAAIsqF,EAAMC,WAAWj2F,OAAQ0L,IAAK,CAE5C,IAAIkuF,GAAoBwB,GADxB7uF,EAAYypF,EAAMC,WAAWvqF,IACwBqxF,gBAEjDnD,KACFrtF,EAAUqtF,kBAAoBA,IAGhCr5F,KAAK01F,WAAWttF,KAAK,CACnB80F,OAAQ5D,EAAmB7D,EAAOzpF,GAClCmxF,OAAQnxF,EAAUggD,EAAIypC,EAAM6E,KAC5B8C,OAAQpxF,EAAUoW,EAAIqzE,EAAM8E,KAC5BhF,cAAevpF,EAAUupF,cACzB4C,gBAAiBnsF,EAAUmsF,kBAI/Bn4F,KAAKq9F,cAAgBr9F,KAAK01F,WAAWj2F,QAGvC69F,wBAAyB,SAAiCrc,EAAOj7E,GAC/D,IAGIgG,EAAWuxF,EAAiBC,EAAiBC,EAC7Cz5E,EAAGy8D,EAAGt1E,EAAGi4B,EAAGH,EACZx5B,EAEAyzF,EAPAzI,EAAcxzF,UAAUxB,OAAS,QAAsBN,IAAjB8B,UAAU,IAAmBA,UAAU,GAC7Ek8F,EAASn9F,KAAKihF,MAAQA,EACtBmc,EAASp9F,KAAKgG,OAASA,EAIvBoe,EAAS,EAETi5E,EAAgBr9F,KAAK01F,WAAWj2F,OAChCyrE,EAAa+V,EAAQj7E,EAASq3F,EAC9B9rF,EAAO,IAAI6jD,kBAAkB8V,GAC7BwyB,EAAoB,IAAI75E,YAAYo9D,GACpC0c,EAAW,WAEf,IAAKxyF,EAAI,EAAGA,EAAIkyF,EAAelyF,IAAK,CAQlC,IANAoyF,GADAvxF,EAAYhM,KAAK01F,WAAWvqF,IACAgyF,OAASA,EACrCK,EAAkBxxF,EAAUoxF,OAASA,EACrCh5E,EAASjZ,EACT+xF,EAASlxF,EAAUkxF,OACnBO,EAAoBzxF,EAAUupF,cAAgB,GAAK,EAE9CvxE,EAAI,EAAGA,EAAIi9D,EAAOj9D,IACrBof,EAAI,EAAIpf,EAAIu5E,EACZG,EAAkB15E,IAAMof,EAAIu6D,IAAa,EAAQ,EAAJv6D,EAG/C,IAAKq9C,EAAI,EAAGA,EAAIz6E,EAAQy6E,IAItB,IAFAh3E,EAAQg0F,IADRr6D,EAAI,EAAIq9C,EAAI+c,GACqBG,IAAiB,EAAJv6D,IAAU,EAEnDpf,EAAI,EAAGA,EAAIi9D,EAAOj9D,IACrBzS,EAAK6S,GAAU84E,EAAOzzF,EAAQi0F,EAAkB15E,IAChDI,GAAUi5E,EAKhB,IAAIlvE,EAAYnuB,KAAKk1F,iBAMrB,GAJKT,GAAiC,IAAlB4I,GAAwBlvE,IAC1CA,EAAY,IAAI8oD,WAAW,EAAE,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,OAGjE9oD,EACF,IAAKhjB,EAAI,EAAGA,EAAI+/D,GACd,IAAK9nC,EAAI,EAAGH,EAAI,EAAGG,EAAIi6D,EAAej6D,IAAKj4B,IAAK83B,GAAK,EACnD1xB,EAAKpG,IAAMoG,EAAKpG,GAAKgjB,EAAU8U,IAAM,GAAK9U,EAAU8U,EAAI,GAK9D,OAAO1xB,GAGT,+BACE,OAAIvR,KAAK26F,QACE36F,KAAK26F,MAAMiB,cAGK,IAAvB57F,KAAKq9F,cACsB,IAAzBr9F,KAAKm1F,gBAOkB,IAAzBn1F,KAAKm1F,iBAOXyI,iBAAkB,SAAyBrsF,GAGzC,IAFA,IAAIssF,EAAGC,EAAIC,EAEF5yF,EAAI,EAAG1L,EAAS8R,EAAK9R,OAAQ0L,EAAI1L,EAAQ0L,GAAK,EACrD0yF,EAAItsF,EAAKpG,GACT2yF,EAAKvsF,EAAKpG,EAAI,GACd4yF,EAAKxsF,EAAKpG,EAAI,GACdoG,EAAKpG,GAAK0yF,EAAI,QAAU,MAAQE,EAChCxsF,EAAKpG,EAAI,GAAK0yF,EAAI,QAAU,KAAQC,EAAK,KAAQC,EACjDxsF,EAAKpG,EAAI,GAAK0yF,EAAI,QAAU,MAAQC,EAGtC,OAAOvsF,GAETysF,kBAAmB,SAA0BzsF,GAI3C,IAHA,IAAIssF,EAAGC,EAAIC,EAAI96D,EACX7e,EAAS,EAEJjZ,EAAI,EAAG1L,EAAS8R,EAAK9R,OAAQ0L,EAAI1L,EAAQ0L,GAAK,EACrD0yF,EAAItsF,EAAKpG,GACT2yF,EAAKvsF,EAAKpG,EAAI,GACd4yF,EAAKxsF,EAAKpG,EAAI,GACd83B,EAAI1xB,EAAKpG,EAAI,GACboG,EAAK6S,KAA+B05E,IAAO,oBAAsBA,EAAK,oBAAuBC,EAAK,mBAAqBF,EAAI,mBAAsB56D,EAAI,kBAAnI,gBAAwJ86D,IAAO,oBAAuBA,EAAK,oBAAuBF,EAAI,mBAAsB56D,EAAI,kBAAoB46D,GAAK,oBAAuBA,EAAI,mBAAsB56D,EAAI,iBAAoBA,IAAM,oBAAuBA,EAAI,kBACrY1xB,EAAK6S,KAAY,iBAAmB05E,GAAM,oBAAsBA,EAAK,oBAAuBC,EAAK,oBAAuBF,EAAI,oBAAuB56D,EAAI,kBAAqB86D,IAAO,oBAAuBA,EAAK,mBAAsBF,EAAI,oBAAuB56D,EAAI,kBAAqB46D,GAAK,mBAAsBA,EAAI,mBAAsB56D,EAAI,iBAAoBA,IAAM,oBAAuBA,EAAI,kBACvY1xB,EAAK6S,KAA+B05E,IAAO,oBAAuBA,EAAK,oBAAsBC,EAAK,kBAAqBF,EAAI,mBAAsB56D,EAAI,kBAAnI,gBAAwJ86D,IAAO,oBAAsBA,EAAK,oBAAuBF,EAAI,oBAAuB56D,EAAI,kBAAqB46D,GAAK,mBAAsBA,EAAI,mBAAsB56D,EAAI,kBAAqBA,IAAM,oBAAuBA,EAAI,iBAGxY,OAAO1xB,EAAKsQ,SAAS,EAAGuC,IAE1B65E,mBAAoB,SAA2B1sF,GAG7C,IAFA,IAAIssF,EAAGC,EAAIC,EAEF5yF,EAAI,EAAG1L,EAAS8R,EAAK9R,OAAQ0L,EAAI1L,EAAQ0L,GAAK,EACrD0yF,EAAItsF,EAAKpG,GACT2yF,EAAKvsF,EAAKpG,EAAI,GACd4yF,EAAKxsF,EAAKpG,EAAI,GACdoG,EAAKpG,GAAK,QAAU0yF,EAAI,MAAQE,EAChCxsF,EAAKpG,EAAI,GAAK,QAAU0yF,EAAI,KAAQC,EAAK,KAAQC,EACjDxsF,EAAKpG,EAAI,GAAK,QAAU0yF,EAAI,MAAQC,EAGtC,OAAOvsF,GAET2sF,kBAAmB,SAA0B3sF,GAK3C,IAJA,IAAIxE,EAAGD,EAAG2zE,EAAGx9C,EACT7e,EAAS,EAGJjZ,EAAI,EAAG1L,EAAS8R,EAAK9R,OAAQ0L,EAAI1L,EAAQ0L,GAAK,EACrD4B,EAAIwE,EAAKpG,IAHC,EAAI,KAId2B,EAAIyE,EAAKpG,EAAI,IAJH,EAAI,KAKds1E,EAAIlvE,EAAKpG,EAAI,IALH,EAAI,KAMd83B,EAAI1xB,EAAKpG,EAAI,IANH,EAAI,KAOdoG,EAAK6S,KAAY,IAAMrX,IAAM,kBAAoBA,EAAI,kBAAoBD,EAAI,kBAAoB2zE,EAAI,mBAAqBx9C,EAAI,mBAAqBn2B,GAAK,mBAAqBA,EAAI,mBAAqB2zE,EAAI,mBAAqBx9C,EAAI,mBAAqBw9C,IAAM,mBAAqBA,EAAI,mBAAqBx9C,EAAI,kBAAoBA,GAAK,kBAAoBA,EAAI,oBACjW1xB,EAAK6S,KAAY,IAAMrX,GAAK,kBAAoBA,EAAI,mBAAqBD,EAAI,kBAAoB2zE,EAAI,mBAAqBx9C,EAAI,kBAAoBn2B,IAAM,mBAAqBA,EAAI,mBAAqB2zE,EAAI,mBAAqBx9C,EAAI,mBAAqBw9C,GAAK,kBAAoBA,EAAI,gBAAkBx9C,EAAI,mBAAqBA,GAAK,mBAAqBA,EAAI,oBAC9V1xB,EAAK6S,KAAY,IAAMrX,GAAK,kBAAqBA,EAAI,kBAAoBD,EAAI,kBAAoB2zE,EAAI,mBAAsBx9C,EAAI,oBAAsBn2B,GAAK,kBAAoBA,EAAI,kBAAoB2zE,EAAI,mBAAqBx9C,EAAI,oBAAsBw9C,GAAK,mBAAsBA,EAAI,mBAAqBx9C,EAAI,oBAAsBA,GAAK,kBAAoBA,EAAI,oBAGtW,OAAO1xB,EAAKsQ,SAAS,EAAGuC,IAE1BkwE,QAAS,SAAiBrwF,GACxB,IAAIg9E,EAAQh9E,EAAMg9E,MACdj7E,EAAS/B,EAAM+B,OACfm4F,EAAiBl6F,EAAM8vF,SACvBA,OAA8B,IAAnBoK,GAAoCA,EAC/CC,EAAoBn6F,EAAMwwF,YAC1BA,OAAoC,IAAtB2J,GAAuCA,EAEzD,GAAIp+F,KAAKq9F,cAAgB,EACvB,MAAM,IAAI1I,EAAU,0BAGtB,IAAIpjF,EAAOvR,KAAKs9F,wBAAwBrc,EAAOj7E,EAAQyuF,GAEvD,GAA2B,IAAvBz0F,KAAKq9F,eAAuBtJ,EAAU,CAKxC,IAJA,IAAI7oB,EAAa35D,EAAK9R,OAClB4+F,EAAU,IAAIjpC,kBAA+B,EAAb8V,GAChC9mD,EAAS,EAEJjZ,EAAI,EAAGA,EAAI+/D,EAAY//D,IAAK,CACnC,IAAImzF,EAAY/sF,EAAKpG,GACrBkzF,EAAQj6E,KAAYk6E,EACpBD,EAAQj6E,KAAYk6E,EACpBD,EAAQj6E,KAAYk6E,EAGtB,OAAOD,EACF,GAA2B,IAAvBr+F,KAAKq9F,eAAuBr9F,KAAKu+F,yBAC1C,OAAOv+F,KAAK49F,iBAAiBrsF,GACxB,GAA2B,IAAvBvR,KAAKq9F,cAAqB,CACnC,GAAIr9F,KAAKu+F,yBACP,OAAIxK,EACK/zF,KAAKg+F,kBAAkBzsF,GAGzBvR,KAAKi+F,mBAAmB1sF,GAC1B,GAAIwiF,EACT,OAAO/zF,KAAKk+F,kBAAkB3sF,GAIlC,OAAOA,IAGJ8iF,EA/mCO,GAknChBl4F,EAAQk4F,UAAYA,GAIb,SAASznF,EAAQzQ,EAASuQ,GAEjC,aAGAzQ,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQ+2E,eAAY,EAEpB,IAAI7xB,EAAU30C,EAAoB,KAE9B8xF,EAAO9xF,EAAoB,KAE3BuB,EAAQvB,EAAoB,GAE5BwmE,EAAY,WACd,SAASA,EAAU57D,EAAQi7D,EAAa3hB,EAAMqX,GAC5CjoE,KAAKsX,OAASA,EACdtX,KAAKuyE,YAAcA,EACnBvyE,KAAK4wD,KAAOA,EACZ5wD,KAAKioE,OAASA,EAEd5mB,EAAQu0B,aAAah4E,KAAKoC,KAAMuyE,GAyDlC,OAtDAW,EAAUx1E,UAAYzB,OAAO+C,OAAOqiD,EAAQu0B,aAAal4E,WACzDzB,OAAOC,eAAeg3E,EAAUx1E,UAAW,QAAS,CAClDL,IAAK,WACH,OAAO,EAAI4Q,EAAM2W,QAAQ5kB,KAAM,QAASA,KAAKsX,OAAO23C,SAASjvD,KAAKuyE,eAEpEztD,cAAc,IAGhBouD,EAAUx1E,UAAUi5E,aAAe,SAAUC,KAE7C1D,EAAUx1E,UAAUg5E,UAAY,WAC9B,IAAI12E,KAAKw2E,IAAT,CAIA,IAAIioB,EAAW,IAAID,EAAKE,SACxBD,EAASjyC,MAAMxsD,KAAKuX,OACpB,IAAI0pE,EAAQwd,EAASxd,MACjBj7E,EAASy4F,EAASz4F,OAClBs2F,EAAkBmC,EAASnC,gBAC3BqC,EAAYF,EAASG,MAAMn/F,OAE/B,GAAkB,IAAdk/F,EACF3+F,KAAK8jB,OAAS26E,EAASG,MAAM,GAAG/8B,UAC3B,CAGL,IAFA,IAAItwD,EAAO,IAAI6jD,kBAAkB6rB,EAAQj7E,EAASs2F,GAEzCr5D,EAAI,EAAGA,EAAI07D,EAAW17D,IAY7B,IAXA,IAAI47D,EAAiBJ,EAASG,MAAM37D,GAChC67D,EAAYD,EAAe5d,MAC3B8d,EAAaF,EAAe74F,OAC5Bg5F,EAAWH,EAAe94F,KAC1Bk5F,EAAUJ,EAAet4F,IACzB85B,EAAMw+D,EAAeh9B,MACrBq9B,EAAc,EACdC,GAAgBle,EAAQge,EAAUD,GAAY1C,EAC9C8C,EAAane,EAAQqb,EACrB+C,EAAcP,EAAYxC,EAErBl5D,EAAI,EAAGA,EAAI27D,EAAY37D,IAAK,CACnC,IAAIs2C,EAAWr5C,EAAIxe,SAASq9E,EAAaA,EAAcG,GACvD9tF,EAAKzT,IAAI47E,EAAUylB,GACnBD,GAAeG,EACfF,GAAgBC,EAIpBp/F,KAAK8jB,OAASvS,EAGhBvR,KAAKu2E,aAAev2E,KAAK8jB,OAAOrkB,OAChCO,KAAKw2E,KAAM,IAGNtD,EAhEO,GAmEhB/2E,EAAQ+2E,UAAYA,GAIb,SAAStmE,EAAQzQ,EAASuQ,GAEjC,aAGAzQ,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQuiG,cAAW,EAEnB,IAAIzwF,EAAQvB,EAAoB,GAE5B8yE,EAAsB9yE,EAAoB,KAE1C4yF,EAAW,WACb,SAASA,EAASt9E,GAChBhiB,KAAKyY,QAAU,cAAgBuJ,EAMjC,OAHAs9E,EAAS5hG,UAAY,IAAIsT,MACzBsuF,EAAS5hG,UAAUgI,KAAO,WAC1B45F,EAAS7wF,YAAc6wF,EAChBA,EARM,GAWXZ,EAAW,WACb,IAAIa,EAAmB,CACrB,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,GAGR,SAASb,IACP1+F,KAAKw/F,sBAAuB,EAwb9B,SAASC,EAA6BzzF,EAAW0zF,GAC/C1zF,EAAU2zF,GAAK/3F,KAAKqc,KAAKy7E,EAAIE,MAAQ5zF,EAAU6zF,OAC/C7zF,EAAU8zF,GAAKl4F,KAAKqc,KAAKy7E,EAAIK,KAAO/zF,EAAU6zF,OAC9C7zF,EAAUg0F,GAAKp4F,KAAKqc,KAAKy7E,EAAIO,MAAQj0F,EAAUk0F,OAC/Cl0F,EAAUm0F,GAAKv4F,KAAKqc,KAAKy7E,EAAIU,KAAOp0F,EAAUk0F,OAC9Cl0F,EAAUi1E,MAAQj1E,EAAU8zF,GAAK9zF,EAAU2zF,GAC3C3zF,EAAUhG,OAASgG,EAAUm0F,GAAKn0F,EAAUg0F,GAG9C,SAASK,EAAmBnkF,EAASw5E,GAOnC,IANA,IACI4K,EADAZ,EAAMxjF,EAAQqkF,IAEd3B,EAAQ,GACR4B,EAAY54F,KAAKqc,MAAMy7E,EAAIK,KAAOL,EAAIe,QAAUf,EAAIgB,OACpDC,EAAY/4F,KAAKqc,MAAMy7E,EAAIU,KAAOV,EAAIkB,QAAUlB,EAAImB,OAE/C9kB,EAAI,EAAGA,EAAI4kB,EAAW5kB,IAC7B,IAAK,IAAI/wE,EAAI,EAAGA,EAAIw1F,EAAWx1F,KAC7Bs1F,EAAO,IACFQ,IAAMl5F,KAAKwO,IAAIspF,EAAIe,OAASz1F,EAAI00F,EAAIgB,MAAOhB,EAAIE,OACpDU,EAAKS,IAAMn5F,KAAKwO,IAAIspF,EAAIkB,OAAS7kB,EAAI2jB,EAAImB,MAAOnB,EAAIO,OACpDK,EAAKU,IAAMp5F,KAAKga,IAAI89E,EAAIe,QAAUz1F,EAAI,GAAK00F,EAAIgB,MAAOhB,EAAIK,MAC1DO,EAAKW,IAAMr5F,KAAKga,IAAI89E,EAAIkB,QAAU7kB,EAAI,GAAK2jB,EAAImB,MAAOnB,EAAIU,MAC1DE,EAAKrf,MAAQqf,EAAKU,IAAMV,EAAKQ,IAC7BR,EAAKt6F,OAASs6F,EAAKW,IAAMX,EAAKS,IAC9BT,EAAK5K,WAAa,GAClBkJ,EAAMx2F,KAAKk4F,GAIfpkF,EAAQ0iF,MAAQA,EAGhB,IAFA,IAESzzF,EAAI,EAAGgW,EAFMu+E,EAAIwB,KAEY/1F,EAAIgW,EAAIhW,IAG5C,IAFA,IAAIa,EAAY0pF,EAAWvqF,GAElBi4B,EAAI,EAAGghC,EAAKw6B,EAAMn/F,OAAQ2jC,EAAIghC,EAAIhhC,IAAK,CAC9C,IAAI+9D,EAAgB,GACpBb,EAAO1B,EAAMx7D,GACb+9D,EAAcC,KAAOx5F,KAAKqc,KAAKq8E,EAAKQ,IAAM90F,EAAU6zF,OACpDsB,EAAcE,KAAOz5F,KAAKqc,KAAKq8E,EAAKS,IAAM/0F,EAAUk0F,OACpDiB,EAAcG,KAAO15F,KAAKqc,KAAKq8E,EAAKU,IAAMh1F,EAAU6zF,OACpDsB,EAAcI,KAAO35F,KAAKqc,KAAKq8E,EAAKW,IAAMj1F,EAAUk0F,OACpDiB,EAAclgB,MAAQkgB,EAAcG,KAAOH,EAAcC,KACzDD,EAAcn7F,OAASm7F,EAAcI,KAAOJ,EAAcE,KAC1Df,EAAK5K,WAAWvqF,GAAKg2F,GAK3B,SAASK,EAAoBtlF,EAASlQ,EAAWoB,GAC/C,IAAIq0F,EAAWz1F,EAAU01F,sBACrB9jF,EAAS,GAYb,OAVK6jF,EAASE,iCAIZ/jF,EAAOgkF,IAAMH,EAASI,eAAez0F,GAAGw0F,IACxChkF,EAAOkkF,IAAML,EAASI,eAAez0F,GAAG00F,MAJxClkF,EAAOgkF,IAAM,GACbhkF,EAAOkkF,IAAM,IAMflkF,EAAOmkF,KAAO30F,EAAI,EAAIxF,KAAKga,IAAI6/E,EAASO,IAAKpkF,EAAOgkF,IAAM,GAAKh6F,KAAKga,IAAI6/E,EAASO,IAAKpkF,EAAOgkF,KAC7FhkF,EAAOqkF,KAAO70F,EAAI,EAAIxF,KAAKga,IAAI6/E,EAASS,IAAKtkF,EAAOkkF,IAAM,GAAKl6F,KAAKga,IAAI6/E,EAASS,IAAKtkF,EAAOkkF,KACtFlkF,EAGT,SAASukF,EAAejmF,EAASutC,EAAY24C,GAC3C,IAAIC,EAAgB,GAAKD,EAAWR,IAChCU,EAAiB,GAAKF,EAAWN,IACjCS,EAAoC,IAAxB94C,EAAW+4C,SACvBC,EAAyB,GAAKL,EAAWR,KAAOW,EAAY,GAAK,GACjEG,EAA0B,GAAKN,EAAWN,KAAOS,EAAY,GAAK,GAClEI,EAAmBl5C,EAAWm5C,KAAOn5C,EAAWo5C,KAAOj7F,KAAKqc,KAAKwlC,EAAWm5C,KAAOP,GAAiBz6F,KAAKwC,MAAMq/C,EAAWo5C,KAAOR,GAAiB,EAClJS,EAAmBr5C,EAAWs5C,KAAOt5C,EAAWu5C,KAAOp7F,KAAKqc,KAAKwlC,EAAWs5C,KAAOT,GAAkB16F,KAAKwC,MAAMq/C,EAAWu5C,KAAOV,GAAkB,EACpJW,EAAeN,EAAmBG,EACtCr5C,EAAWy5C,mBAAqB,CAC9Bb,cAAeA,EACfC,eAAgBA,EAChBK,iBAAkBA,EAClBG,iBAAkBA,EAClBG,aAAcA,EACdR,uBAAwBA,EACxBC,wBAAyBA,GAI7B,SAASS,EAAgBjnF,EAASknF,EAAShB,GACzC,IAWIj3F,EAAGi4B,EAAGigE,EAAWC,EAXjBvB,EAAOK,EAAWL,KAClBE,EAAOG,EAAWH,KAClBsB,EAAiB,GAAKxB,EACtByB,EAAkB,GAAKvB,EACvBwB,EAAOL,EAAQM,MAAQ3B,EACvB4B,EAAOP,EAAQQ,MAAQ3B,EACvB4B,EAAOT,EAAQU,KAAOP,EAAiB,GAAKxB,EAC5CgC,EAAOX,EAAQY,KAAOR,EAAkB,GAAKvB,EAC7CiB,EAAqBE,EAAQ35C,WAAWy5C,mBACxCe,EAAa,GACbC,EAAY,GAGhB,IAAK9gE,EAAIugE,EAAMvgE,EAAI2gE,EAAM3gE,IACvB,IAAKj4B,EAAIs4F,EAAMt4F,EAAI04F,EAAM14F,IAoBvB,IAnBAk4F,EAAY,CACVc,IAAKh5F,EACLi5F,IAAKhhE,EACLsgE,KAAMH,EAAiBp4F,EACvBy4F,KAAMJ,EAAkBpgE,EACxB0gE,KAAMP,GAAkBp4F,EAAI,GAC5B64F,KAAMR,GAAmBpgE,EAAI,KAErBihE,MAAQz8F,KAAKwO,IAAIgtF,EAAQM,KAAML,EAAUK,MACnDL,EAAUiB,MAAQ18F,KAAKwO,IAAIgtF,EAAQQ,KAAMP,EAAUO,MACnDP,EAAUkB,MAAQ38F,KAAKga,IAAIwhF,EAAQU,KAAMT,EAAUS,MACnDT,EAAUmB,MAAQ58F,KAAKga,IAAIwhF,EAAQY,KAAMX,EAAUW,MAGnDV,EAFS17F,KAAKwC,OAAOi5F,EAAUgB,MAAQjB,EAAQM,MAAQR,EAAmBT,wBACjE76F,KAAKwC,OAAOi5F,EAAUiB,MAAQlB,EAAQQ,MAAQV,EAAmBR,yBAC/CQ,EAAmBP,iBAC9CU,EAAUC,eAAiBA,EAC3BD,EAAUoB,YAAcrB,EAAQrkG,KAChCskG,EAAUqB,OAAS,IAEfrB,EAAUkB,OAASlB,EAAUgB,OAAShB,EAAUmB,OAASnB,EAAUiB,OAAvE,CAIAL,EAAW77F,KAAKi7F,GAChB,IAAIsB,EAAWT,EAAUZ,QAERnkG,IAAbwlG,GACEx5F,EAAIw5F,EAASC,OACfD,EAASC,OAASz5F,EACTA,EAAIw5F,EAASE,SACtBF,EAASE,OAAS15F,GAGhBi4B,EAAIuhE,EAASG,OACfH,EAASC,OAASxhE,EACTA,EAAIuhE,EAASI,SACtBJ,EAASI,OAAS3hE,IAGpB8gE,EAAUZ,GAAkBqB,EAAW,CACrCC,OAAQz5F,EACR25F,OAAQ1hE,EACRyhE,OAAQ15F,EACR45F,OAAQ3hE,GAIZigE,EAAUsB,SAAWA,EAIzBvB,EAAQ4B,oBAAsB,CAC5BzB,eAAgBxB,EAChByB,gBAAiBvB,EACjBgD,iBAAkBpB,EAAOJ,EAAO,EAChCyB,iBAAkBnB,EAAOJ,EAAO,GAElCP,EAAQa,WAAaA,EACrBb,EAAQc,UAAYA,EAGtB,SAASiB,EAAa17C,EAAY65C,EAAgB8B,GAIhD,IAHA,IAAIC,EAAqB,GACrBC,EAAW77C,EAAW67C,SAEjBn6F,EAAI,EAAGgW,EAAKmkF,EAAS7lG,OAAQ0L,EAAIgW,EAAIhW,IAI5C,IAHA,IACI84F,EADUqB,EAASn6F,GACE84F,WAEhB7gE,EAAI,EAAGghC,EAAK6/B,EAAWxkG,OAAQ2jC,EAAIghC,EAAIhhC,IAAK,CACnD,IAAIigE,EAAYY,EAAW7gE,GAEvBigE,EAAUC,iBAAmBA,GAIjC+B,EAAmBj9F,KAAKi7F,GAI5B,MAAO,CACL+B,YAAaA,EACbnB,WAAYoB,GAIhB,SAASE,EAAyCrpF,GAQhD,IAPA,IAAIwjF,EAAMxjF,EAAQqkF,IACdiF,EAAYtpF,EAAQupF,YAAYh8F,MAChC62F,EAAOpkF,EAAQ0iF,MAAM4G,GACrBE,EAAcpF,EAAKqF,6BAA6BD,YAChDpJ,EAAkBoD,EAAIwB,KACtB0E,EAA8B,EAEzB7pB,EAAI,EAAGA,EAAIugB,EAAiBvgB,IACnC6pB,EAA8Bh+F,KAAKwO,IAAIwvF,EAA6BtF,EAAK5K,WAAW3Z,GAAG2lB,sBAAsBmE,0BAG/G,IAAIh5F,EAAI,EACJO,EAAI,EACJjC,EAAI,EACJ83B,EAAI,EAERjjC,KAAK8lG,WAAa,WAChB,KAAOj5F,EAAI64F,EAAa74F,IAAK,CAC3B,KAAOO,GAAKw4F,EAA6Bx4F,IAAK,CAC5C,KAAOjC,EAAImxF,EAAiBnxF,IAAK,CAC/B,IAAIa,EAAYs0F,EAAK5K,WAAWvqF,GAEhC,KAAIiC,EAAIpB,EAAU01F,sBAAsBmE,0BAAxC,CAOA,IAHA,IAAIp8C,EAAaz9C,EAAU+5F,YAAY34F,GACnC61F,EAAex5C,EAAWy5C,mBAAmBD,aAE1ChgE,EAAIggE,GAAe,CACxB,IAAI+C,EAASb,EAAa17C,EAAYxmB,EAAGp2B,GAEzC,OADAo2B,IACO+iE,EAGT/iE,EAAI,GAGN93B,EAAI,EAGNiC,EAAI,EAGN,MAAM,IAAIkyF,EAAS,mBAIvB,SAAS2G,EAAyC/pF,GAQhD,IAPA,IAAIwjF,EAAMxjF,EAAQqkF,IACdiF,EAAYtpF,EAAQupF,YAAYh8F,MAChC62F,EAAOpkF,EAAQ0iF,MAAM4G,GACrBE,EAAcpF,EAAKqF,6BAA6BD,YAChDpJ,EAAkBoD,EAAIwB,KACtB0E,EAA8B,EAEzB7pB,EAAI,EAAGA,EAAIugB,EAAiBvgB,IACnC6pB,EAA8Bh+F,KAAKwO,IAAIwvF,EAA6BtF,EAAK5K,WAAW3Z,GAAG2lB,sBAAsBmE,0BAG/G,IAAIz4F,EAAI,EACJP,EAAI,EACJ1B,EAAI,EACJ83B,EAAI,EAERjjC,KAAK8lG,WAAa,WAChB,KAAO14F,GAAKw4F,EAA6Bx4F,IAAK,CAC5C,KAAOP,EAAI64F,EAAa74F,IAAK,CAC3B,KAAO1B,EAAImxF,EAAiBnxF,IAAK,CAC/B,IAAIa,EAAYs0F,EAAK5K,WAAWvqF,GAEhC,KAAIiC,EAAIpB,EAAU01F,sBAAsBmE,0BAAxC,CAOA,IAHA,IAAIp8C,EAAaz9C,EAAU+5F,YAAY34F,GACnC61F,EAAex5C,EAAWy5C,mBAAmBD,aAE1ChgE,EAAIggE,GAAe,CACxB,IAAI+C,EAASb,EAAa17C,EAAYxmB,EAAGp2B,GAEzC,OADAo2B,IACO+iE,EAGT/iE,EAAI,GAGN93B,EAAI,EAGN0B,EAAI,EAGN,MAAM,IAAIyyF,EAAS,mBAIvB,SAAS4G,EAAyChqF,GAChD,IAKIrP,EAAGO,EAAGL,EAAG/B,EALT00F,EAAMxjF,EAAQqkF,IACdiF,EAAYtpF,EAAQupF,YAAYh8F,MAChC62F,EAAOpkF,EAAQ0iF,MAAM4G,GACrBE,EAAcpF,EAAKqF,6BAA6BD,YAChDpJ,EAAkBoD,EAAIwB,KAEtB0E,EAA8B,EAElC,IAAK74F,EAAI,EAAGA,EAAIuvF,EAAiBvvF,IAAK,CACpC,IAAIf,EAAYs0F,EAAK5K,WAAW3oF,GAChC64F,EAA8Bh+F,KAAKwO,IAAIwvF,EAA6B55F,EAAU01F,sBAAsBmE,0BAGtG,IAAIM,EAAyB,IAAIlvB,WAAW2uB,EAA8B,GAE1E,IAAKx4F,EAAI,EAAGA,GAAKw4F,IAA+Bx4F,EAAG,CACjD,IAAIg5F,EAAkB,EAEtB,IAAKr5F,EAAI,EAAGA,EAAIuvF,IAAmBvvF,EAAG,CACpC,IAAIg5F,EAAczF,EAAK5K,WAAW3oF,GAAGg5F,YAEjC34F,EAAI24F,EAAYtmG,SAClB2mG,EAAkBx+F,KAAKwO,IAAIgwF,EAAiBL,EAAY34F,GAAG81F,mBAAmBD,eAIlFkD,EAAuB/4F,GAAKg5F,EAG9Bv5F,EAAI,EACJO,EAAI,EACJL,EAAI,EACJ/B,EAAI,EAEJhL,KAAK8lG,WAAa,WAChB,KAAO14F,GAAKw4F,EAA6Bx4F,IAAK,CAC5C,KAAOpC,EAAIm7F,EAAuB/4F,GAAIpC,IAAK,CACzC,KAAO+B,EAAIuvF,EAAiBvvF,IAAK,CAC/B,IAAIf,EAAYs0F,EAAK5K,WAAW3oF,GAEhC,KAAIK,EAAIpB,EAAU01F,sBAAsBmE,0BAAxC,CAIA,IAAIp8C,EAAaz9C,EAAU+5F,YAAY34F,GACnC61F,EAAex5C,EAAWy5C,mBAAmBD,aAEjD,KAAIj4F,GAAKi4F,GAAT,CAIA,KAAOp2F,EAAI64F,GAAc,CACvB,IAAIM,EAASb,EAAa17C,EAAYz+C,EAAG6B,GAEzC,OADAA,IACOm5F,EAGTn5F,EAAI,IAGNE,EAAI,EAGN/B,EAAI,EAGN,MAAM,IAAIs0F,EAAS,mBAIvB,SAAS+G,EAAyCnqF,GAChD,IAAIwjF,EAAMxjF,EAAQqkF,IACdiF,EAAYtpF,EAAQupF,YAAYh8F,MAChC62F,EAAOpkF,EAAQ0iF,MAAM4G,GACrBE,EAAcpF,EAAKqF,6BAA6BD,YAChDpJ,EAAkBoD,EAAIwB,KACtBW,EAAiByE,EAA6BhG,GAC9CiG,EAA0B1E,EAC1Bh1F,EAAI,EACJO,EAAI,EACJL,EAAI,EACJqvB,EAAK,EACLoqE,EAAK,EAETxmG,KAAK8lG,WAAa,WAChB,KAAOU,EAAKD,EAAwBE,WAAYD,IAAM,CACpD,KAAOpqE,EAAKmqE,EAAwBG,WAAYtqE,IAAM,CACpD,KAAOrvB,EAAIuvF,EAAiBvvF,IAAK,CAI/B,IAHA,IAAIf,EAAYs0F,EAAK5K,WAAW3oF,GAC5B84F,EAA2B75F,EAAU01F,sBAAsBmE,yBAExDz4F,GAAKy4F,EAA0Bz4F,IAAK,CACzC,IAAIq8C,EAAaz9C,EAAU+5F,YAAY34F,GACnCu5F,EAAmB9E,EAAenM,WAAW3oF,GAAGg5F,YAAY34F,GAC5D61B,EAAI2jE,EAAwBxqE,EAAIoqE,EAAIG,EAAkBJ,EAAyB98C,GAEnF,GAAU,OAANxmB,EAAJ,CAIA,KAAOp2B,EAAI64F,GAAc,CACvB,IAAIM,EAASb,EAAa17C,EAAYxmB,EAAGp2B,GAEzC,OADAA,IACOm5F,EAGTn5F,EAAI,GAGNO,EAAI,EAGNL,EAAI,EAGNqvB,EAAK,EAGP,MAAM,IAAIkjE,EAAS,mBAIvB,SAASuH,EAAyC3qF,GAChD,IAAIwjF,EAAMxjF,EAAQqkF,IACdiF,EAAYtpF,EAAQupF,YAAYh8F,MAChC62F,EAAOpkF,EAAQ0iF,MAAM4G,GACrBE,EAAcpF,EAAKqF,6BAA6BD,YAChDpJ,EAAkBoD,EAAIwB,KACtBW,EAAiByE,EAA6BhG,GAC9CzzF,EAAI,EACJO,EAAI,EACJL,EAAI,EACJqvB,EAAK,EACLoqE,EAAK,EAETxmG,KAAK8lG,WAAa,WAChB,KAAO/4F,EAAIuvF,IAAmBvvF,EAAG,CAK/B,IAJA,IAAIf,EAAYs0F,EAAK5K,WAAW3oF,GAC5Bw5F,EAA0B1E,EAAenM,WAAW3oF,GACpD84F,EAA2B75F,EAAU01F,sBAAsBmE,yBAExDW,EAAKD,EAAwBE,WAAYD,IAAM,CACpD,KAAOpqE,EAAKmqE,EAAwBG,WAAYtqE,IAAM,CACpD,KAAOhvB,GAAKy4F,EAA0Bz4F,IAAK,CACzC,IAAIq8C,EAAaz9C,EAAU+5F,YAAY34F,GACnCu5F,EAAmBJ,EAAwBR,YAAY34F,GACvD61B,EAAI2jE,EAAwBxqE,EAAIoqE,EAAIG,EAAkBJ,EAAyB98C,GAEnF,GAAU,OAANxmB,EAAJ,CAIA,KAAOp2B,EAAI64F,GAAc,CACvB,IAAIM,EAASb,EAAa17C,EAAYxmB,EAAGp2B,GAEzC,OADAA,IACOm5F,EAGTn5F,EAAI,GAGNO,EAAI,EAGNgvB,EAAK,EAGPoqE,EAAK,EAGP,MAAM,IAAIlH,EAAS,mBAIvB,SAASsH,EAAwBE,EAASC,EAASJ,EAAkBK,EAAwBv9C,GAC3F,IAAIw9C,EAAOH,EAAUE,EAAuBE,SACxCC,EAAOJ,EAAUC,EAAuB/gG,UAE5C,GAAIghG,EAAON,EAAiB1lB,QAAU,GAAKkmB,EAAOR,EAAiB3gG,SAAW,EAC5E,OAAO,KAGT,IAAIohG,EAAwBD,EAAOR,EAAiB1lB,MAAQx3B,EAAWy5C,mBAAmBP,iBAC1F,OAAOsE,EAAON,EAAiB3gG,OAASohG,EAG1C,SAASd,EAA6BhG,GAQpC,IAPA,IAAIhE,EAAkBgE,EAAK5K,WAAWj2F,OAClCynG,EAAWxiF,OAAO2iF,UAClBphG,EAAYye,OAAO2iF,UACnBX,EAAa,EACbD,EAAa,EACba,EAAmB,IAAIhiG,MAAMg3F,GAExBvvF,EAAI,EAAGA,EAAIuvF,EAAiBvvF,IAAK,CAUxC,IATA,IAAIf,EAAYs0F,EAAK5K,WAAW3oF,GAC5B84F,EAA2B75F,EAAU01F,sBAAsBmE,yBAC3D0B,EAAoB,IAAIjiG,MAAMugG,EAA2B,GACzD2B,EAA2B9iF,OAAO2iF,UAClCI,EAA4B/iF,OAAO2iF,UACnCK,EAA6B,EAC7BC,EAA6B,EAC7BC,EAAQ,EAEHx6F,EAAIy4F,EAA0Bz4F,GAAK,IAAKA,EAAG,CAClD,IAAIq8C,EAAaz9C,EAAU+5F,YAAY34F,GACnCy6F,EAAyBD,EAAQn+C,EAAWy5C,mBAAmBb,cAC/DyF,EAA0BF,EAAQn+C,EAAWy5C,mBAAmBZ,eACpEkF,EAA2B5/F,KAAKga,IAAI4lF,EAA0BK,GAC9DJ,EAA4B7/F,KAAKga,IAAI6lF,EAA2BK,GAChEJ,EAA6B9/F,KAAKwO,IAAIsxF,EAA4Bj+C,EAAWy5C,mBAAmBP,kBAChGgF,EAA6B//F,KAAKwO,IAAIuxF,EAA4Bl+C,EAAWy5C,mBAAmBJ,kBAChGyE,EAAkBn6F,GAAK,CACrB6zE,MAAO4mB,EACP7hG,OAAQ8hG,GAEVF,IAAU,EAGZV,EAAWt/F,KAAKga,IAAIslF,EAAUM,GAC9BvhG,EAAY2B,KAAKga,IAAI3b,EAAWwhG,GAChCf,EAAa9+F,KAAKwO,IAAIswF,EAAYgB,GAClCjB,EAAa7+F,KAAKwO,IAAIqwF,EAAYkB,GAClCL,EAAiBv6F,GAAK,CACpBg5F,YAAawB,EACbL,SAAUM,EACVvhG,UAAWwhG,EACXf,WAAYgB,EACZjB,WAAYkB,GAIhB,MAAO,CACLjS,WAAY4R,EACZJ,SAAUA,EACVjhG,UAAWA,EACXygG,WAAYA,EACZD,WAAYA,GAIhB,SAASsB,EAAa7rF,GAMpB,IALA,IAAIwjF,EAAMxjF,EAAQqkF,IACdiF,EAAYtpF,EAAQupF,YAAYh8F,MAChC62F,EAAOpkF,EAAQ0iF,MAAM4G,GACrBlJ,EAAkBoD,EAAIwB,KAEjBn0F,EAAI,EAAGA,EAAIuvF,EAAiBvvF,IAAK,CAMxC,IALA,IAAIf,EAAYs0F,EAAK5K,WAAW3oF,GAC5B84F,EAA2B75F,EAAU01F,sBAAsBmE,yBAC3DE,EAAc,GACdT,EAAW,GAENl4F,EAAI,EAAGA,GAAKy4F,EAA0Bz4F,IAAK,CAClD,IAUIg2F,EAVA4E,EAAmBxG,EAAoBtlF,EAASlQ,EAAWoB,GAC3Dq8C,EAAa,GACbm+C,EAAQ,GAAK/B,EAA2Bz4F,EAU5C,GATAq8C,EAAWo5C,KAAOj7F,KAAKqc,KAAKjY,EAAUo1F,KAAOwG,GAC7Cn+C,EAAWu5C,KAAOp7F,KAAKqc,KAAKjY,EAAUq1F,KAAOuG,GAC7Cn+C,EAAWm5C,KAAOh7F,KAAKqc,KAAKjY,EAAUs1F,KAAOsG,GAC7Cn+C,EAAWs5C,KAAOn7F,KAAKqc,KAAKjY,EAAUu1F,KAAOqG,GAC7Cn+C,EAAW+4C,SAAWp1F,EACtB+0F,EAAejmF,EAASutC,EAAYu+C,GACpCjC,EAAY39F,KAAKqhD,GAGP,IAANr8C,GACFg2F,EAAU,IACFrkG,KAAO,KACfqkG,EAAQM,KAAO97F,KAAKqc,KAAKjY,EAAUo1F,KAAOwG,GAC1CxE,EAAQQ,KAAOh8F,KAAKqc,KAAKjY,EAAUq1F,KAAOuG,GAC1CxE,EAAQU,KAAOl8F,KAAKqc,KAAKjY,EAAUs1F,KAAOsG,GAC1CxE,EAAQY,KAAOp8F,KAAKqc,KAAKjY,EAAUu1F,KAAOqG,GAC1CxE,EAAQ35C,WAAaA,EACrB05C,EAAgBjnF,EAASknF,EAAS4E,GAClC1C,EAASl9F,KAAKg7F,GACd35C,EAAW67C,SAAW,CAAClC,OAClB,CACL,IAAI6E,EAAS,GAAKpC,EAA2Bz4F,EAAI,EAC7C86F,EAAqB,IACzB9E,EAAU,IACFrkG,KAAO,KACfqkG,EAAQM,KAAO97F,KAAKqc,KAAKjY,EAAUo1F,KAAO6G,EAAS,IACnD7E,EAAQQ,KAAOh8F,KAAKqc,KAAKjY,EAAUq1F,KAAO4G,GAC1C7E,EAAQU,KAAOl8F,KAAKqc,KAAKjY,EAAUs1F,KAAO2G,EAAS,IACnD7E,EAAQY,KAAOp8F,KAAKqc,KAAKjY,EAAUu1F,KAAO0G,GAC1C7E,EAAQ35C,WAAaA,EACrB05C,EAAgBjnF,EAASknF,EAAS4E,GAClC1C,EAASl9F,KAAKg7F,GACd8E,EAAmB9/F,KAAKg7F,IACxBA,EAAU,IACFrkG,KAAO,KACfqkG,EAAQM,KAAO97F,KAAKqc,KAAKjY,EAAUo1F,KAAO6G,GAC1C7E,EAAQQ,KAAOh8F,KAAKqc,KAAKjY,EAAUq1F,KAAO4G,EAAS,IACnD7E,EAAQU,KAAOl8F,KAAKqc,KAAKjY,EAAUs1F,KAAO2G,GAC1C7E,EAAQY,KAAOp8F,KAAKqc,KAAKjY,EAAUu1F,KAAO0G,EAAS,IACnD7E,EAAQ35C,WAAaA,EACrB05C,EAAgBjnF,EAASknF,EAAS4E,GAClC1C,EAASl9F,KAAKg7F,GACd8E,EAAmB9/F,KAAKg7F,IACxBA,EAAU,IACFrkG,KAAO,KACfqkG,EAAQM,KAAO97F,KAAKqc,KAAKjY,EAAUo1F,KAAO6G,EAAS,IACnD7E,EAAQQ,KAAOh8F,KAAKqc,KAAKjY,EAAUq1F,KAAO4G,EAAS,IACnD7E,EAAQU,KAAOl8F,KAAKqc,KAAKjY,EAAUs1F,KAAO2G,EAAS,IACnD7E,EAAQY,KAAOp8F,KAAKqc,KAAKjY,EAAUu1F,KAAO0G,EAAS,IACnD7E,EAAQ35C,WAAaA,EACrB05C,EAAgBjnF,EAASknF,EAAS4E,GAClC1C,EAASl9F,KAAKg7F,GACd8E,EAAmB9/F,KAAKg7F,GACxB35C,EAAW67C,SAAW4C,GAI1Bl8F,EAAU+5F,YAAcA,EACxB/5F,EAAUs5F,SAAWA,EAGvB,IAAI6C,EAAmB7H,EAAKqF,6BAA6BwC,iBAEzD,OAAQA,GACN,KAAK,EACH7H,EAAK8H,gBAAkB,IAAI7C,EAAyCrpF,GACpE,MAEF,KAAK,EACHokF,EAAK8H,gBAAkB,IAAInC,EAAyC/pF,GACpE,MAEF,KAAK,EACHokF,EAAK8H,gBAAkB,IAAIlC,EAAyChqF,GACpE,MAEF,KAAK,EACHokF,EAAK8H,gBAAkB,IAAI/B,EAAyCnqF,GACpE,MAEF,KAAK,EACHokF,EAAK8H,gBAAkB,IAAIvB,EAAyC3qF,GACpE,MAEF,QACE,MAAM,IAAIojF,EAAS,iCAAiC35F,OAAOwiG,KAIjE,SAASE,EAAiBnsF,EAAS3K,EAAM6S,EAAQ8mD,GAC/C,IACIpnD,EADAhe,EAAW,EAEXwiG,EAAa,EACbC,GAAc,EAElB,SAAS1sB,EAAS9nC,GAChB,KAAOu0D,EAAav0D,GAAO,CACzB,IAAI/f,EAAIziB,EAAK6S,EAASte,GACtBA,IAEIyiG,GACFzkF,EAASA,GAAU,EAAIkQ,EACvBs0E,GAAc,EACdC,GAAc,IAEdzkF,EAASA,GAAU,EAAIkQ,EACvBs0E,GAAc,GAGN,MAANt0E,IACFu0E,GAAc,GAKlB,OAAOzkF,KADPwkF,GAAcv0D,IACkB,GAAKA,GAAS,EAGhD,SAASy0D,EAAkBpsG,GACzB,OAAoC,MAAhCmV,EAAK6S,EAASte,EAAW,IAAeyL,EAAK6S,EAASte,KAAc1J,GACtEqsG,EAAU,IACH,GAC8B,MAA5Bl3F,EAAK6S,EAASte,IAAsByL,EAAK6S,EAASte,EAAW,KAAO1J,IAC7EqsG,EAAU,IACH,GAMX,SAASA,EAAU10D,GACjBjuC,GAAYiuC,EAGd,SAAS20D,IACPJ,EAAa,EAETC,IACFziG,IACAyiG,GAAc,GAIlB,SAASI,IACP,GAAoB,IAAhB9sB,EAAS,GACX,OAAO,EAGT,GAAoB,IAAhBA,EAAS,GACX,OAAO,EAGT,IAAIz/E,EAAQy/E,EAAS,GAErB,OAAIz/E,EAAQ,EACHA,EAAQ,GAGjBA,EAAQy/E,EAAS,IAEL,GACHz/E,EAAQ,GAGjBA,EAAQy/E,EAAS,IACF,GASjB,IANA,IAAI2pB,EAAYtpF,EAAQupF,YAAYh8F,MAChC62F,EAAOpkF,EAAQ0iF,MAAM4G,GACrBoD,EAAgB1sF,EAAQ2sF,IAAID,cAC5BE,EAAgB5sF,EAAQ2sF,IAAIC,cAC5BV,EAAkB9H,EAAK8H,gBAEpBtiG,EAAWolE,GAAY,CAC5Bw9B,IAEIE,GAAiBJ,EAAkB,MACrCC,EAAU,GAGZ,IAAIzC,EAASoC,EAAgBtC,aAE7B,GAAKjqB,EAAS,GAAd,CAQA,IAJA,IAEIwnB,EAFA+B,EAAcY,EAAOZ,YACrB36D,EAAQ,GAGHt/B,EAAI,EAAGgW,EAAK6kF,EAAO/B,WAAWxkG,OAAQ0L,EAAIgW,EAAIhW,IAAK,CAE1D,IAAIw5F,GADJtB,EAAY2C,EAAO/B,WAAW94F,IACLw5F,SACrBoE,EAAkB1F,EAAUc,IAAMQ,EAASC,OAC3CoE,EAAe3F,EAAUe,IAAMO,EAASG,OACxCmE,GAAoB,EACpBC,GAAqB,EAGzB,QAA8B/pG,IAA1BkkG,EAAS,SACX4F,IAAsBptB,EAAS,OAC1B,CAEL,IAAIstB,EAAeC,EAEnB,QAAkCjqG,KAHlCwlG,EAAWtB,EAAUsB,UAGT,cACVwE,EAAgBxE,EAASwE,kBACpB,CACL,IAAIloB,EAAQ0jB,EAASE,OAASF,EAASC,OAAS,EAC5C5+F,EAAS2+F,EAASI,OAASJ,EAASG,OAAS,EACjDqE,EAAgB,IAAIE,EAAcpoB,EAAOj7E,EAAQo/F,GACjDgE,EAAoB,IAAIE,EAAQroB,EAAOj7E,GACvC2+F,EAASwE,cAAgBA,EACzBxE,EAASyE,kBAAoBA,EAG/B,GAAID,EAAcxqF,MAAMoqF,EAAiBC,EAAc5D,GACrD,OAAa,CACX,IAAIvpB,EAAS,GAQN,CACLstB,EAAcI,eAAenE,GAC7B,MAPA,IAFc+D,EAAcK,YAEZ,CACdnG,EAAUoG,UAAW,EACrBR,EAAoBC,GAAqB,EACzC,QAUV,GAAKD,EAAL,CAIA,GAAIC,EAAoB,CAItB,KAHAE,EAAoBzE,EAASyE,mBACXzqF,MAAMoqF,EAAiBC,KAGvC,GAAIntB,EAAS,IAGX,IAFcutB,EAAkBI,YAG9B,WAGFJ,EAAkBG,iBAItBlG,EAAUqG,cAAgBN,EAAkBhtG,MAK9C,IAFA,IAAIutG,EAAehB,IAEZ9sB,EAAS,IACdwnB,EAAUqB,SAGZ,IAAIkF,GAAmB,EAAI37F,EAAM8V,MAAM4lF,GAEnCE,EAAkBhuB,GADV8tB,EAAe,GAAKC,EAAmBA,EAAmB,EAAIA,GAAoBvG,EAAUqB,QAExGj6D,EAAMriC,KAAK,CACTi7F,UAAWA,EACXsG,aAAcA,EACdz+B,WAAY2+B,KAUhB,IANAnB,IAEII,GACFN,EAAkB,KAGb/9D,EAAMhrC,OAAS,GAAG,CACvB,IAAIqqG,EAAar/D,EAAMqS,aAGG39C,KAF1BkkG,EAAYyG,EAAWzG,WAEV,OACXA,EAAU9xF,KAAO,IAGnB8xF,EAAU9xF,KAAKnJ,KAAK,CAClBmJ,KAAMA,EACN5N,MAAOygB,EAASte,EAChBlC,IAAKwgB,EAASte,EAAWgkG,EAAW5+B,WACpCy+B,aAAcG,EAAWH,eAE3B7jG,GAAYgkG,EAAW5+B,aAI3B,OAAOplE,EAGT,SAASikG,EAAiBC,EAAcC,EAAYC,EAAa9G,EAAS+G,EAAOC,EAAIC,EAAYC,GAQ/F,IAPA,IAAI3K,EAAKyD,EAAQM,KACb1D,EAAKoD,EAAQQ,KACb3iB,EAAQmiB,EAAQU,KAAOV,EAAQM,KAC/BO,EAAab,EAAQa,WACrBsG,EAAmC,MAA3BnH,EAAQrkG,KAAK8gB,OAAO,GAAa,EAAI,EAC7C2qF,EAAoC,MAA3BpH,EAAQrkG,KAAK8gB,OAAO,GAAaoqF,EAAa,EAElD9+F,EAAI,EAAGgW,EAAK8iF,EAAWxkG,OAAQ0L,EAAIgW,IAAMhW,EAAG,CACnD,IAAIk4F,EAAYY,EAAW94F,GACvBs/F,EAAapH,EAAUkB,MAAQlB,EAAUgB,MACzCqG,EAAcrH,EAAUmB,MAAQnB,EAAUiB,MAE9C,GAAmB,IAAfmG,GAAoC,IAAhBC,QAIEvrG,IAAtBkkG,EAAS,KAAb,CAIA,IAAIsH,EAAUC,EACdD,EAAW,IAAIE,EAASJ,EAAYC,EAAarH,EAAUoB,YAAapB,EAAUqG,cAAeU,GACjGQ,EAAwB,EACxB,IAGIxnE,EAAGghC,EAAI0mC,EAHPv5F,EAAO8xF,EAAU9xF,KACjB4G,EAAc,EACdwxF,EAAe,EAGnB,IAAKvmE,EAAI,EAAGghC,EAAK7yD,EAAK9R,OAAQ2jC,EAAIghC,EAAIhhC,IAEpCjrB,IADA2yF,EAAWv5F,EAAK6xB,IACQx/B,IAAMknG,EAASnnG,MACvCgmG,GAAgBmB,EAASnB,aAG3B,IAAIoB,EAAc,IAAIv5F,WAAW2G,GAC7BrS,EAAW,EAEf,IAAKs9B,EAAI,EAAGghC,EAAK7yD,EAAK9R,OAAQ2jC,EAAIghC,EAAIhhC,IAAK,CAEzC,IAAIvtB,GADJi1F,EAAWv5F,EAAK6xB,IACK7xB,KAAKsQ,SAASipF,EAASnnG,MAAOmnG,EAASlnG,KAC5DmnG,EAAYjtG,IAAI+X,EAAO/P,GACvBA,GAAY+P,EAAMpW,OAGpB,IAAIsgF,EAAU,IAAIP,EAAoBc,kBAAkByqB,EAAa,EAAG5yF,GAGxE,IAFAwyF,EAASK,WAAWjrB,GAEf38C,EAAI,EAAGA,EAAIumE,EAAcvmE,IAAK,CACjC,OAAQwnE,GACN,KAAK,EACHD,EAASM,iCACT,MAEF,KAAK,EACHN,EAASO,6BACT,MAEF,KAAK,EACHP,EAASQ,iBAELb,GACFK,EAASS,0BAMfR,GAAyBA,EAAwB,GAAK,EAGxD,IAKI3nE,EAAGv1B,EAAG29F,EALNjnF,EAASi/E,EAAUgB,MAAQ1E,GAAM0D,EAAUiB,MAAQtE,GAAM/e,EACzDnN,EAAO62B,EAASW,gBAChBC,EAAYZ,EAASa,qBACrBC,EAAcd,EAASc,YACvBC,EAAsBrB,EAAa,EAAI,GAE3CvkG,EAAW,EACX,IAAI6lG,EAA8B,OAAjBvI,EAAQrkG,KAEzB,IAAKqkC,EAAI,EAAGA,EAAIsnE,EAAatnE,IAAK,CAChC,IACIwoE,EAAc,GADRxnF,EAAS68D,EAAQ,IACEgpB,EAAahpB,GAASspB,EAAQC,EAE3D,IAAKvnE,EAAI,EAAGA,EAAIwnE,EAAYxnE,IAAK,CAG/B,GAAU,KAFVv1B,EAAI69F,EAAUzlG,IAED,CACX4H,GAAKA,EAAIg+F,GAAuBvB,EAET,IAAnBr2B,EAAKhuE,KACP4H,GAAKA,GAGP29F,EAAKI,EAAY3lG,GACjB,IAAIsb,EAAMuqF,EAAaC,GAAexnF,GAAU,GAAKA,EAGnD4lF,EAAa5oF,GADXipF,GAAcgB,GAAMjB,EACF18F,EAEAA,GAAK,GAAK08F,EAAKiB,GAIvCjnF,IACAte,IAGFse,GAAU68D,EAAQwpB,KAKxB,SAASoB,EAAc3vF,EAASokF,EAAMvzF,GAepC,IAdA,IAAIf,EAAYs0F,EAAK5K,WAAW3oF,GAC5B20F,EAAwB11F,EAAU01F,sBAClCoK,EAAyB9/F,EAAU8/F,uBACnCjG,EAA2BnE,EAAsBmE,yBACjDkG,EAASD,EAAuBE,OAChCC,EAAkBH,EAAuBG,gBACzCC,EAAYJ,EAAuBI,UACnC5B,EAAyB5I,EAAsB4I,uBAC/CpO,EAAYhgF,EAAQw5E,WAAW3oF,GAAGmvF,UAClCmO,EAAa3I,EAAsByK,yBACnCh+E,EAAYk8E,EAAa,IAAI+B,EAAwB,IAAIC,EACzDC,EAAsB,GACtBt4E,EAAI,EAEC7oB,EAAI,EAAGA,GAAK06F,EAA0B16F,IAAK,CAMlD,IALA,IAAIs+C,EAAaz9C,EAAU+5F,YAAY56F,GACnC81E,EAAQx3B,EAAWm5C,KAAOn5C,EAAWo5C,KACrC78F,EAASyjD,EAAWs5C,KAAOt5C,EAAWu5C,KACtCgH,EAAe,IAAIuC,aAAatrB,EAAQj7E,GAEnCo9B,EAAI,EAAGghC,EAAK3a,EAAW67C,SAAS7lG,OAAQ2jC,EAAIghC,EAAIhhC,IAAK,CAC5D,IAAIopE,EAAIC,EAEHR,GAIHO,EAAKT,EAAO/3E,GAAGw4E,GACfC,EAAUV,EAAO/3E,GAAGy4E,QACpBz4E,MALAw4E,EAAKT,EAAO,GAAGS,GACfC,EAAUV,EAAO,GAAGU,SAAWthG,EAAI,EAAI,EAAIA,EAAI,IAOjD,IAAIi4F,EAAU35C,EAAW67C,SAASliE,GAC9BspE,EAAWnN,EAAiB6D,EAAQrkG,MAGxCgrG,EAAiBC,EAAc/oB,EAAOj7E,EAAQo9F,EAFlCiH,EAAa,EAAIziG,KAAKs7D,IAAI,EAAGg5B,EAAYwQ,EAAWD,IAAY,EAAID,EAAK,MAC5EN,EAAYO,EAAU,EACmCpC,EAAYC,GAGhFgC,EAAoBlkG,KAAK,CACvB64E,MAAOA,EACPj7E,OAAQA,EACR67D,MAAOmoC,IAIX,IAAIpsF,EAASuQ,EAAUw+E,UAAUL,EAAqBtgG,EAAUo1F,KAAMp1F,EAAUq1F,MAChF,MAAO,CACLt7F,KAAMiG,EAAUo1F,KAChB76F,IAAKyF,EAAUq1F,KACfpgB,MAAOrjE,EAAOqjE,MACdj7E,OAAQ4X,EAAO5X,OACf67D,MAAOjkD,EAAOikD,OA6FlB,SAAS+qC,EAAe1wF,EAASspF,GAK/B,IAJA,IACIlJ,EADMpgF,EAAQqkF,IACQW,KACtBZ,EAAOpkF,EAAQ0iF,MAAM4G,GAEhBz4F,EAAI,EAAGA,EAAIuvF,EAAiBvvF,IAAK,CACxC,IAAIf,EAAYs0F,EAAK5K,WAAW3oF,GAC5B8/F,OAA0C1tG,IAA/B+c,EAAQupF,YAAYqH,IAAI//F,GAAmBmP,EAAQupF,YAAYqH,IAAI//F,GAAKmP,EAAQupF,YAAYsH,IAC3G/gG,EAAU8/F,uBAAyBe,EACnC,IAAIpL,OAA0CtiG,IAA/B+c,EAAQupF,YAAYuH,IAAIjgG,GAAmBmP,EAAQupF,YAAYuH,IAAIjgG,GAAKmP,EAAQupF,YAAYoD,IAC3G78F,EAAU01F,sBAAwBD,EAGpCnB,EAAKqF,6BAA+BzpF,EAAQupF,YAAYoD,IAnhD1DnK,EAAShhG,UAAY,CACnB8uD,MAAO,SAAwBj7C,GAG7B,GAAa,SAFF,EAAItD,EAAMkW,YAAY5S,EAAM,GAUvC,IAHA,IAAIzL,EAAW,EACXrG,EAAS8R,EAAK9R,OAEXqG,EAAWrG,GAAQ,CACxB,IAAIwtG,EAAa,EACbC,GAAO,EAAIj/F,EAAMoW,YAAY9S,EAAMzL,GACnCqnG,GAAO,EAAIl/F,EAAMoW,YAAY9S,EAAMzL,EAAW,GAalD,GAZAA,GAAYmnG,EAEC,IAATC,IACFA,EAA+C,YAAxC,EAAIj/F,EAAMoW,YAAY9S,EAAMzL,IAAyB,EAAImI,EAAMoW,YAAY9S,EAAMzL,EAAW,GACnGA,GAAY,EACZmnG,GAAc,GAGH,IAATC,IACFA,EAAOztG,EAASqG,EAAWmnG,GAGzBC,EAAOD,EACT,MAAM,IAAI3N,EAAS,0BAGrB,IAAIp0B,EAAagiC,EAAOD,EACpBG,GAAiB,EAErB,OAAQD,GACN,KAAK,WACHC,GAAiB,EACjB,MAEF,KAAK,WACH,IAAI/wF,EAAS9K,EAAKzL,GAElB,GAAe,IAAXuW,EAAc,CAChB,IAAIgxF,GAAa,EAAIp/F,EAAMoW,YAAY9S,EAAMzL,EAAW,GAExD,OAAQunG,GACN,KAAK,GACL,KAAK,GACL,KAAK,GACH,MAEF,SACE,EAAIp/F,EAAM+H,MAAM,sBAAwBq3F,SAGxB,IAAXhxF,IACT,EAAIpO,EAAMgC,MAAM,6BAGlB,MAEF,KAAK,WACHjQ,KAAKstG,gBAAgB/7F,EAAMzL,EAAUA,EAAWolE,GAChD,MAEF,KAAK,UAC2C,aAA1C,EAAIj9D,EAAMoW,YAAY9S,EAAMzL,KAC9B,EAAImI,EAAM+H,MAAM,yBAGlB,MAEF,KAAK,WACL,KAAK,WACL,KAAK,WACL,KAAK,WACL,KAAK,WACH,MAEF,QACE,IAAIu3F,EAAa/rF,OAAOC,aAAa0rF,GAAQ,GAAK,IAAMA,GAAQ,GAAK,IAAMA,GAAQ,EAAI,IAAa,IAAPA,IAC7F,EAAIl/F,EAAM+H,MAAM,2BAA6Bm3F,EAAO,KAAOI,EAAa,KAIxEH,IACFtnG,GAAYolE,QAlFdlrE,KAAKstG,gBAAgB/7F,EAAM,EAAGA,EAAK9R,SAsFvC+tG,qBAAsB,SAAuCl2F,GAG3D,IAFA,IAAIm2F,EAAUn2F,EAAOy9C,UAEd04C,GAAW,GAKhB,GAAa,SAJCA,GAEQ,GADtBA,EAAUn2F,EAAOy9C,YAGI,CACnBz9C,EAAOyoD,KAAK,GACZ,IAAIggC,EAAOzoF,EAAO6+D,aAAe,EAC7BiqB,EAAO9oF,EAAO6+D,aAAe,EAC7BypB,EAAQtoF,EAAO6+D,aAAe,EAC9B8pB,EAAQ3oF,EAAO6+D,aAAe,EAClC7+D,EAAOyoD,KAAK,IACZ,IAAImhC,EAAO5pF,EAAOs5D,YAKlB,OAJA5wE,KAAKihF,MAAQ8e,EAAOH,EACpB5/F,KAAKgG,OAASo6F,EAAOH,EACrBjgG,KAAKs8F,gBAAkB4E,OACvBlhG,KAAKg0F,iBAAmB,GAK5B,MAAM,IAAIsL,EAAS,uCAErBgO,gBAAiB,SAAkC/7F,EAAM5N,EAAOC,GAC9D,IAAIsY,EAAU,GACVwxF,GAAe,EAEnB,IAGE,IAFA,IAAI5nG,EAAWnC,EAERmC,EAAW,EAAIlC,GAAK,CACzB,IAAIkW,GAAO,EAAI7L,EAAMkW,YAAY5S,EAAMzL,GACvCA,GAAY,EACZ,IACIs9B,EACAuqE,EACA5B,EACA6B,EACA3B,EACA3L,EANA7gG,EAAS,EAQb,OAAQqa,GACN,KAAK,MACHoC,EAAQ2xF,YAAa,EACrB,MAEF,KAAK,MACH,MAEF,KAAK,MACHpuG,GAAS,EAAIwO,EAAMkW,YAAY5S,EAAMzL,GACrC,IAAI45F,EAAM,GACVA,EAAIK,MAAO,EAAI9xF,EAAMoW,YAAY9S,EAAMzL,EAAW,GAClD45F,EAAIU,MAAO,EAAInyF,EAAMoW,YAAY9S,EAAMzL,EAAW,GAClD45F,EAAIE,OAAQ,EAAI3xF,EAAMoW,YAAY9S,EAAMzL,EAAW,IACnD45F,EAAIO,OAAQ,EAAIhyF,EAAMoW,YAAY9S,EAAMzL,EAAW,IACnD45F,EAAIgB,OAAQ,EAAIzyF,EAAMoW,YAAY9S,EAAMzL,EAAW,IACnD45F,EAAImB,OAAQ,EAAI5yF,EAAMoW,YAAY9S,EAAMzL,EAAW,IACnD45F,EAAIe,QAAS,EAAIxyF,EAAMoW,YAAY9S,EAAMzL,EAAW,IACpD45F,EAAIkB,QAAS,EAAI3yF,EAAMoW,YAAY9S,EAAMzL,EAAW,IACpD,IAAIw2F,GAAkB,EAAIruF,EAAMkW,YAAY5S,EAAMzL,EAAW,IAC7D45F,EAAIwB,KAAO5E,EACX,IAAI5G,EAAa,GACjBtyD,EAAIt9B,EAAW,GAEf,IAAK,IAAIqF,EAAI,EAAGA,EAAImxF,EAAiBnxF,IAAK,CACxC,IAAIa,EAAY,CACdkwF,UAA8B,GAAR,IAAV3qF,EAAK6xB,IACjB0qE,YAAuB,IAAVv8F,EAAK6xB,IAClBy8D,MAAOtuF,EAAK6xB,EAAI,GAChB88D,MAAO3uF,EAAK6xB,EAAI,IAElBA,GAAK,EACLq8D,EAA6BzzF,EAAW0zF,GACxChK,EAAWttF,KAAK4D,GAGlBkQ,EAAQqkF,IAAMb,EACdxjF,EAAQw5E,WAAaA,EACrB2K,EAAmBnkF,EAASw5E,GAC5Bx5E,EAAQ4wF,IAAM,GACd5wF,EAAQ8wF,IAAM,GACd,MAEF,KAAK,MACHvtG,GAAS,EAAIwO,EAAMkW,YAAY5S,EAAMzL,GACrC,IAAIioG,EAAM,GAIV,OAHA3qE,EAAIt9B,EAAW,EAGA,IAFf6nG,EAAOp8F,EAAK6xB,OAGV,KAAK,EACHwqE,EAAY,EACZ3B,GAAkB,EAClB,MAEF,KAAK,EACH2B,EAAY,GACZ3B,GAAkB,EAClB,MAEF,KAAK,EACH2B,EAAY,GACZ3B,GAAkB,EAClB,MAEF,QACE,MAAM,IAAIj7F,MAAM,sBAAwB28F,GAQ5C,IALAI,EAAIC,eAA+B,IAAdJ,EACrBG,EAAI9B,gBAAkBA,EACtB8B,EAAI7B,UAAYyB,GAAQ,EACxB5B,EAAS,GAEF3oE,EAAI3jC,EAASqG,GAAU,CAC5B,IAAImoG,EAAQ,GAEM,IAAdL,GACFK,EAAMxB,QAAUl7F,EAAK6xB,MAAQ,EAC7B6qE,EAAMzB,GAAK,IAEXyB,EAAMxB,QAAUl7F,EAAK6xB,IAAM,EAC3B6qE,EAAMzB,IAAgB,EAAVj7F,EAAK6xB,KAAa,EAAI7xB,EAAK6xB,EAAI,GAC3CA,GAAK,GAGP2oE,EAAO3jG,KAAK6lG,GAGdF,EAAI/B,OAASD,EAET7vF,EAAQ2xF,WACV3xF,EAAQ6wF,IAAMgB,GAEd7xF,EAAQupF,YAAYsH,IAAMgB,EAC1B7xF,EAAQupF,YAAYqH,IAAM,IAG5B,MAEF,KAAK,MACHrtG,GAAS,EAAIwO,EAAMkW,YAAY5S,EAAMzL,GACrC,IAEIooG,EAFAC,EAAM,GAaV,OAZA/qE,EAAIt9B,EAAW,EAGXoW,EAAQqkF,IAAIW,KAAO,IACrBgN,EAAO38F,EAAK6xB,MAEZ8qE,GAAO,EAAIjgG,EAAMkW,YAAY5S,EAAM6xB,GACnCA,GAAK,GAKQ,IAFfuqE,EAAOp8F,EAAK6xB,OAGV,KAAK,EACHwqE,EAAY,EACZ3B,GAAkB,EAClB,MAEF,KAAK,EACH2B,EAAY,GACZ3B,GAAkB,EAClB,MAEF,KAAK,EACH2B,EAAY,GACZ3B,GAAkB,EAClB,MAEF,QACE,MAAM,IAAIj7F,MAAM,sBAAwB28F,GAQ5C,IALAQ,EAAIH,eAA+B,IAAdJ,EACrBO,EAAIlC,gBAAkBA,EACtBkC,EAAIjC,UAAYyB,GAAQ,EACxB5B,EAAS,GAEF3oE,EAAI3jC,EAASqG,GAClBmoG,EAAQ,GAEU,IAAdL,GACFK,EAAMxB,QAAUl7F,EAAK6xB,MAAQ,EAC7B6qE,EAAMzB,GAAK,IAEXyB,EAAMxB,QAAUl7F,EAAK6xB,IAAM,EAC3B6qE,EAAMzB,IAAgB,EAAVj7F,EAAK6xB,KAAa,EAAI7xB,EAAK6xB,EAAI,GAC3CA,GAAK,GAGP2oE,EAAO3jG,KAAK6lG,GAGdE,EAAInC,OAASD,EAET7vF,EAAQ2xF,WACV3xF,EAAQ4wF,IAAIoB,GAAQC,EAEpBjyF,EAAQupF,YAAYqH,IAAIoB,GAAQC,EAGlC,MAEF,KAAK,MACH1uG,GAAS,EAAIwO,EAAMkW,YAAY5S,EAAMzL,GACrC,IAAIsoG,EAAM,GACVhrE,EAAIt9B,EAAW,EACf,IAAIuoG,EAAO98F,EAAK6xB,KAChBgrE,EAAIzM,mCAA4C,EAAP0M,GACzCD,EAAIxF,iBAA0B,EAAPyF,GACvBD,EAAItF,iBAA0B,EAAPuF,GACvBD,EAAIjG,iBAAmB52F,EAAK6xB,KAC5BgrE,EAAI1I,aAAc,EAAIz3F,EAAMkW,YAAY5S,EAAM6xB,GAC9CA,GAAK,EACLgrE,EAAIE,2BAA6B/8F,EAAK6xB,KACtCgrE,EAAIvI,yBAA2Bt0F,EAAK6xB,KACpCgrE,EAAIpM,IAA0B,GAAP,GAAZzwF,EAAK6xB,MAChBgrE,EAAIlM,IAA0B,GAAP,GAAZ3wF,EAAK6xB,MAChB,IAAImrE,EAAah9F,EAAK6xB,KAStB,GARAgrE,EAAII,mCAAkD,EAAbD,GACzCH,EAAIK,6BAA4C,EAAbF,GACnCH,EAAIM,+BAA8C,EAAbH,GACrCH,EAAIO,oBAAmC,EAAbJ,GAC1BH,EAAIQ,0BAAyC,GAAbL,GAChCH,EAAI9D,0BAAyC,GAAbiE,GAChCH,EAAIjC,yBAA2B56F,EAAK6xB,KAEhCgrE,EAAIzM,gCAAiC,CAGvC,IAFA,IAAIE,EAAiB,GAEdz+D,EAAI3jC,EAASqG,GAAU,CAC5B,IAAI+oG,EAAgBt9F,EAAK6xB,KACzBy+D,EAAez5F,KAAK,CAClBw5F,IAAqB,GAAhBiN,EACL/M,IAAK+M,GAAiB,IAI1BT,EAAIvM,eAAiBA,EAGvB,IAAIiN,EAAc,GAsBlB,GApBIV,EAAII,iCACNM,EAAY1mG,KAAK,mCAGfgmG,EAAIK,2BACNK,EAAY1mG,KAAK,6BAGfgmG,EAAIM,6BACNI,EAAY1mG,KAAK,+BAGfgmG,EAAIO,kBACNG,EAAY1mG,KAAK,oBAGfgmG,EAAIQ,wBACNE,EAAY1mG,KAAK,0BAGf0mG,EAAYrvG,OAAS,EAEvB,MADAiuG,GAAe,EACT,IAAI18F,MAAM,4BAA8B89F,EAAYjpG,KAAK,MAAQ,KAGrEqW,EAAQ2xF,WACV3xF,EAAQ2sF,IAAMuF,GAEdlyF,EAAQupF,YAAYoD,IAAMuF,EAC1BlyF,EAAQupF,YAAYuH,IAAM,IAG5B,MAEF,KAAK,MACHvtG,GAAS,EAAIwO,EAAMkW,YAAY5S,EAAMzL,IACrCw6F,EAAO,IACF72F,OAAQ,EAAIwE,EAAMkW,YAAY5S,EAAMzL,EAAW,GACpDw6F,EAAK7gG,QAAS,EAAIwO,EAAMoW,YAAY9S,EAAMzL,EAAW,GACrDw6F,EAAKrN,QAAUqN,EAAK7gG,OAASqG,EAAW,EACxCw6F,EAAKyO,UAAYx9F,EAAKzL,EAAW,GACjCw6F,EAAK0O,WAAaz9F,EAAKzL,EAAW,GAClCoW,EAAQ2xF,YAAa,EAEE,IAAnBvN,EAAKyO,YACPzO,EAAKuI,IAAM3sF,EAAQ2sF,IACnBvI,EAAK0M,IAAM9wF,EAAQ8wF,IAAIznG,MAAM,GAC7B+6F,EAAKyM,IAAM7wF,EAAQ6wF,IACnBzM,EAAKwM,IAAM5wF,EAAQ4wF,IAAIvnG,MAAM,IAG/B2W,EAAQupF,YAAcnF,EACtB,MAEF,KAAK,MAGoB,KAFvBA,EAAOpkF,EAAQupF,aAENsJ,YACPnC,EAAe1wF,EAASokF,EAAK72F,OAC7Bs+F,EAAa7rF,IAIfmsF,EAAiBnsF,EAAS3K,EAAMzL,EADhCrG,EAAS6gG,EAAKrN,QAAUntF,GAExB,MAEF,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACHrG,GAAS,EAAIwO,EAAMkW,YAAY5S,EAAMzL,GACrC,MAEF,KAAK,MACH,MAAM,IAAIkL,MAAM,mDAElB,QACE,MAAM,IAAIA,MAAM,4BAA8B8I,EAAKnB,SAAS,KAGhE7S,GAAYrG,GAEd,MAAOd,GACP,GAAI+uG,GAAgB1tG,KAAKw/F,qBACvB,MAAM,IAAIF,EAAS3gG,EAAE8Z,UAErB,EAAIxK,EAAM+H,MAAM,gCAAkCrX,EAAE8Z,SAIxDzY,KAAK4+F,MA+/BT,SAA6B1iF,GAM3B,IALA,IAAIwjF,EAAMxjF,EAAQqkF,IACd7K,EAAax5E,EAAQw5E,WACrB4G,EAAkBoD,EAAIwB,KACtB+N,EAAe,GAEV9jG,EAAI,EAAGgW,EAAKjF,EAAQ0iF,MAAMn/F,OAAQ0L,EAAIgW,EAAIhW,IAAK,CACtD,IAEI4B,EAFAuzF,EAAOpkF,EAAQ0iF,MAAMzzF,GACrB+jG,EAAmB,GAGvB,IAAKniG,EAAI,EAAGA,EAAIuvF,EAAiBvvF,IAC/BmiG,EAAiBniG,GAAK8+F,EAAc3vF,EAASokF,EAAMvzF,GAGrD,IASI+vC,EAAO14B,EAEPgf,EACAghC,EACA47B,EACAG,EACAgP,EAfAC,EAAQF,EAAiB,GACzBp1E,EAAM,IAAIs7B,kBAAkBg6C,EAAMvtC,MAAMpiE,OAAS68F,GACjD1+E,EAAS,CACX7X,KAAMqpG,EAAMrpG,KACZQ,IAAK6oG,EAAM7oG,IACX06E,MAAOmuB,EAAMnuB,MACbj7E,OAAQopG,EAAMppG,OACd67D,MAAO/nC,GAGL1Y,EAAM,EAOV,GAAIk/E,EAAKqF,6BAA6B2I,2BAA4B,CAChE,IAAIe,EAAqC,IAApB/S,EACjBgT,EAAUJ,EAAiB,GAAGrtC,MAC9B0tC,EAAUL,EAAiB,GAAGrtC,MAC9B2tC,EAAUN,EAAiB,GAAGrtC,MAC9B4tC,EAAUJ,EAAiBH,EAAiB,GAAGrtC,MAAQ,KAC3D/kB,EAAQ44C,EAAW,GAAGwG,UAAY,EAClC93E,EAA0B,IAAhB,KAAO04B,GACjB,IAAI4yD,EAAapP,EAAK5K,WAAW,GAC7Bia,EAAUrT,EAAkB,EAGhC,GAFAl4B,EAAKkrC,EAAQ7vG,OAERiwG,EAAWhO,sBAAsByK,yBAUpC,IAAK/oE,EAAI,EAAGA,EAAIghC,EAAIhhC,IAAKhiB,GAAOuuF,EAAS,CACvC3P,EAAKsP,EAAQlsE,GAAKhf,EAClB+7E,EAAKoP,EAAQnsE,GACb+rE,EAAKK,EAAQpsE,GACb,IAAIrP,EAAIisE,GAAMmP,EAAKhP,GAAM,GACzBrmE,EAAI1Y,KAAS2S,EAAIo7E,GAAMryD,EACvBhjB,EAAI1Y,KAAS2S,GAAK+oB,EAClBhjB,EAAI1Y,KAAS2S,EAAIosE,GAAMrjD,OAhBzB,IAAK1Z,EAAI,EAAGA,EAAIghC,EAAIhhC,IAAKhiB,GAAOuuF,EAC9B3P,EAAKsP,EAAQlsE,GAAKhf,EAClB+7E,EAAKoP,EAAQnsE,GACb+rE,EAAKK,EAAQpsE,GACbtJ,EAAI1Y,KAAS4+E,EAAK,MAAQmP,GAAMryD,EAChChjB,EAAI1Y,KAAS4+E,EAAK,OAAUG,EAAK,OAAUgP,GAAMryD,EACjDhjB,EAAI1Y,KAAS4+E,EAAK,MAAQG,GAAMrjD,EAcpC,GAAIuyD,EACF,IAAKjsE,EAAI,EAAGhiB,EAAM,EAAGgiB,EAAIghC,EAAIhhC,IAAKhiB,GAAO,EACvC0Y,EAAI1Y,GAAOquF,EAAQrsE,GAAKhf,GAAU04B,OAItC,IAAK/vC,EAAI,EAAGA,EAAIuvF,EAAiBvvF,IAAK,CACpC,IAAI80D,EAAQqtC,EAAiBniG,GAAG80D,MAIhC,IAHA/kB,EAAQ44C,EAAW3oF,GAAGmvF,UAAY,EAClC93E,EAA0B,IAAhB,KAAO04B,GAEZ17B,EAAMrU,EAAGq2B,EAAI,EAAGghC,EAAKvC,EAAMpiE,OAAQ2jC,EAAIghC,EAAIhhC,IAC9CtJ,EAAI1Y,GAAOygD,EAAMz+B,GAAKhf,GAAU04B,EAChC17B,GAAOk7E,EAKb2S,EAAa7mG,KAAKwV,GAGpB,OAAOqxF,EArlCQW,CAAoB1zF,GACjClc,KAAKihF,MAAQ/kE,EAAQqkF,IAAIR,KAAO7jF,EAAQqkF,IAAIX,MAC5C5/F,KAAKgG,OAASkW,EAAQqkF,IAAIH,KAAOlkF,EAAQqkF,IAAIN,MAC7CjgG,KAAKs8F,gBAAkBpgF,EAAQqkF,IAAIW,OAqmCvC,IAAIoI,EAAU,WACZ,SAASA,EAAQroB,EAAOj7E,GACtB,IAAI6pG,GAAe,EAAI5hG,EAAM8V,MAAMnc,KAAKwO,IAAI6qE,EAAOj7E,IAAW,EAC9DhG,KAAK8vG,OAAS,GAEd,IAAK,IAAI3kG,EAAI,EAAGA,EAAI0kG,EAAc1kG,IAAK,CACrC,IAAImB,EAAQ,CACV20E,MAAOA,EACPj7E,OAAQA,EACR67D,MAAO,IAET7hE,KAAK8vG,OAAO1nG,KAAKkE,GACjB20E,EAAQr5E,KAAKqc,KAAKg9D,EAAQ,GAC1Bj7E,EAAS4B,KAAKqc,KAAKje,EAAS,IAoDhC,OAhDAsjG,EAAQ5rG,UAAY,CAClBihB,MAAO,SAAuBxT,EAAGi4B,GAK/B,IAJA,IAEI92B,EAFAyjG,EAAe,EACf3zG,EAAQ,EAGL2zG,EAAe/vG,KAAK8vG,OAAOrwG,QAAQ,CAExC,IAAIgK,EAAQ0B,EAAIi4B,GADhB92B,EAAQtM,KAAK8vG,OAAOC,IACM9uB,MAE1B,QAA2B9hF,IAAvBmN,EAAMu1D,MAAMp4D,GAAsB,CACpCrN,EAAQkQ,EAAMu1D,MAAMp4D,GACpB,MAGF6C,EAAM7C,MAAQA,EACd0B,IAAM,EACNi4B,IAAM,EACN2sE,IAGFA,KACAzjG,EAAQtM,KAAK8vG,OAAOC,IACdluC,MAAMv1D,EAAM7C,OAASrN,EAC3B4D,KAAK+vG,aAAeA,SACb/vG,KAAK5D,OAEdmtG,eAAgB,WACd,IAAIj9F,EAAQtM,KAAK8vG,OAAO9vG,KAAK+vG,cAC7BzjG,EAAMu1D,MAAMv1D,EAAM7C,UAEpB+/F,UAAW,WACT,IAAIuG,EAAe/vG,KAAK+vG,aACpBzjG,EAAQtM,KAAK8vG,OAAOC,GACpB3zG,EAAQkQ,EAAMu1D,MAAMv1D,EAAM7C,OAG9B,QAFAsmG,EAEmB,GACjB/vG,KAAK5D,MAAQA,GACN,IAGT4D,KAAK+vG,aAAeA,GACpBzjG,EAAQtM,KAAK8vG,OAAOC,IACdluC,MAAMv1D,EAAM7C,OAASrN,GACpB,KAGJktG,EAjEK,GAoEVD,EAAgB,WAClB,SAASA,EAAcpoB,EAAOj7E,EAAQ7C,GACpC,IAAI0sG,GAAe,EAAI5hG,EAAM8V,MAAMnc,KAAKwO,IAAI6qE,EAAOj7E,IAAW,EAC9DhG,KAAK8vG,OAAS,GAEd,IAAK,IAAI3kG,EAAI,EAAGA,EAAI0kG,EAAc1kG,IAAK,CAGrC,IAFA,IAAI02D,EAAQ,IAAIrwD,WAAWyvE,EAAQj7E,GAE1Bo9B,EAAI,EAAGghC,EAAKvC,EAAMpiE,OAAQ2jC,EAAIghC,EAAIhhC,IACzCy+B,EAAMz+B,GAAKjgC,EAGb,IAAImJ,EAAQ,CACV20E,MAAOA,EACPj7E,OAAQA,EACR67D,MAAOA,GAET7hE,KAAK8vG,OAAO1nG,KAAKkE,GACjB20E,EAAQr5E,KAAKqc,KAAKg9D,EAAQ,GAC1Bj7E,EAAS4B,KAAKqc,KAAKje,EAAS,IAgEhC,OA5DAqjG,EAAc3rG,UAAY,CACxBihB,MAAO,SAA6BxT,EAAGi4B,EAAG4sE,GAGxC,IAFA,IAAID,EAAe,EAEZA,EAAe/vG,KAAK8vG,OAAOrwG,QAAQ,CACxC,IAAI6M,EAAQtM,KAAK8vG,OAAOC,GACpBtmG,EAAQ0B,EAAIi4B,EAAI92B,EAAM20E,MAC1B30E,EAAM7C,MAAQA,EACd,IAAIrN,EAAQkQ,EAAMu1D,MAAMp4D,GAExB,GAAc,MAAVrN,EACF,MAGF,GAAIA,EAAQ4zG,EAGV,OAFAhwG,KAAK+vG,aAAeA,EACpB/vG,KAAKiwG,mBACE,EAGT9kG,IAAM,EACNi4B,IAAM,EACN2sE,IAIF,OADA/vG,KAAK+vG,aAAeA,EAAe,GAC5B,GAETxG,eAAgB,SAAsCyG,GACpD,IAAI1jG,EAAQtM,KAAK8vG,OAAO9vG,KAAK+vG,cAC7BzjG,EAAMu1D,MAAMv1D,EAAM7C,OAASumG,EAAY,EACvChwG,KAAKiwG,mBAEPA,gBAAiB,WAKf,IAJA,IAAIC,EAAalwG,KAAK+vG,aAClBzjG,EAAQtM,KAAK8vG,OAAOI,GACpBC,EAAe7jG,EAAMu1D,MAAMv1D,EAAM7C,SAE5BymG,GAAc,IACrB5jG,EAAQtM,KAAK8vG,OAAOI,IACdruC,MAAMv1D,EAAM7C,OAAS0mG,GAG/B3G,UAAW,WACT,IAAIuG,EAAe/vG,KAAK+vG,aACpBzjG,EAAQtM,KAAK8vG,OAAOC,GACpB3zG,EAAQkQ,EAAMu1D,MAAMv1D,EAAM7C,OAI9B,OAHA6C,EAAMu1D,MAAMv1D,EAAM7C,OAAS,QAC3BsmG,EAEmB,KAInB/vG,KAAK+vG,aAAeA,GACpBzjG,EAAQtM,KAAK8vG,OAAOC,IACdluC,MAAMv1D,EAAM7C,OAASrN,GACpB,KAGJitG,EAnFW,GAsFhBwB,EAAW,WACb,IAEIuF,EAAuB,IAAI5+F,WAAW,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IACrQ6+F,EAAiB,IAAI7+F,WAAW,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAC/P8+F,EAAiB,IAAI9+F,WAAW,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAEnQ,SAASq5F,EAAS5pB,EAAOj7E,EAAQo9F,EAASsG,EAAeU,GACvDpqG,KAAKihF,MAAQA,EACbjhF,KAAKgG,OAASA,EACdhG,KAAKuwG,kBAAgC,OAAZnN,EAAmBkN,EAA6B,OAAZlN,EAAmBiN,EAAiBD,EACjG,IAAII,EAAmBvvB,EAAQj7E,EAC/BhG,KAAKywG,sBAAwB,IAAIj/F,WAAWg/F,GAC5CxwG,KAAKsrG,gBAAkB,IAAI95F,WAAWg/F,GACtCxwG,KAAKwrG,qBAAuBpB,EAAK,GAAK,IAAIvmF,YAAY2sF,GAAoBpG,EAAK,EAAI,IAAI3uB,YAAY+0B,GAAoB,IAAIh/F,WAAWg/F,GACtIxwG,KAAK0wG,gBAAkB,IAAIl/F,WAAWg/F,GACtC,IAAI/E,EAAc,IAAIj6F,WAAWg/F,GAEjC,GAAsB,IAAlB9G,EACF,IAAK,IAAIv+F,EAAI,EAAGA,EAAIqlG,EAAkBrlG,IACpCsgG,EAAYtgG,GAAKu+F,EAIrB1pG,KAAKyrG,YAAcA,EACnBzrG,KAAK2e,QAuSP,OApSAksF,EAASntG,UAAY,CACnBstG,WAAY,SAA6BjrB,GACvC//E,KAAK+/E,QAAUA,GAEjBphE,MAAO,WACL3e,KAAKggF,SAAW,IAAIK,UAAU,IAC9BrgF,KAAKggF,SAAS,GAAK,EACnBhgF,KAAKggF,SAlCa,IAkCe,GACjChgF,KAAKggF,SAlCe,IAkCe,GAErC2wB,yBAA0B,SAA2C7yB,EAAK8yB,EAAQnnG,GAChF,IAKI0B,EALAslG,EAAwBzwG,KAAKywG,sBAC7BxvB,EAAQjhF,KAAKihF,MACbj7E,EAAShG,KAAKgG,OACdD,EAAO6qG,EAAS,EAChBrG,EAAQqG,EAAS,EAAI3vB,EAGrBnD,EAAM,IACR3yE,EAAI1B,EAAQw3E,EAERl7E,IACF0qG,EAAsBtlG,EAAI,IAAM,IAG9Bo/F,IACFkG,EAAsBtlG,EAAI,IAAM,IAGlCslG,EAAsBtlG,IAAM,GAG1B2yE,EAAM,EAAI93E,IACZmF,EAAI1B,EAAQw3E,EAERl7E,IACF0qG,EAAsBtlG,EAAI,IAAM,IAG9Bo/F,IACFkG,EAAsBtlG,EAAI,IAAM,IAGlCslG,EAAsBtlG,IAAM,GAG1BpF,IACF0qG,EAAsBhnG,EAAQ,IAAM,GAGlC8gG,IACFkG,EAAsBhnG,EAAQ,IAAM,GAGtCgnG,EAAsBhnG,IAAU,KAElCwhG,+BAAgC,WAe9B,IAdA,IAAIlrB,EAAU//E,KAAK+/E,QACfkB,EAAQjhF,KAAKihF,MACbj7E,EAAShG,KAAKgG,OACdwlG,EAAuBxrG,KAAKwrG,qBAC5BF,EAAkBtrG,KAAKsrG,gBACvBmF,EAAwBzwG,KAAKywG,sBAC7BC,EAAkB1wG,KAAK0wG,gBACvB1wB,EAAWhgF,KAAKggF,SAChB6wB,EAAS7wG,KAAKuwG,kBACd9E,EAAczrG,KAAKyrG,YAKd9oB,EAAK,EAAGA,EAAK38E,EAAQ28E,GAAM,EAClC,IAAK,IAAIv/C,EAAI,EAAGA,EAAI69C,EAAO79C,IAGzB,IAFA,IAAI35B,EAAQk5E,EAAK1B,EAAQ79C,EAEhB0tE,EAAK,EAAGA,EAAK,EAAGA,IAAMrnG,GAASw3E,EAAO,CAC7C,IAAI91E,EAAIw3E,EAAKmuB,EAEb,GAAI3lG,GAAKnF,EACP,MAKF,GAFA0qG,EAAgBjnG,KAfK,GAiBjB+hG,EAAqB/hG,IAAWgnG,EAAsBhnG,GAA1D,CAIA,IAAI+3E,EAAeqvB,EAAOJ,EAAsBhnG,IAGhD,GAFes2E,EAAQI,QAAQH,EAAUwB,GAE3B,CACZ,IAAI1N,EAAO9zE,KAAK+wG,cAAc5lG,EAAGi4B,EAAG35B,GACpC6hG,EAAgB7hG,GAASqqE,EACzB03B,EAAqB/hG,GAAS,EAC9BzJ,KAAK2wG,yBAAyBxlG,EAAGi4B,EAAG35B,GACpCinG,EAAgBjnG,IA3BI,EA8BtBgiG,EAAYhiG,KACZinG,EAAgBjnG,IAhCF,KAqCtBsnG,cAAe,SAAgCjzB,EAAK8yB,EAAQnnG,GAC1D,IAIIunG,EAAcC,EAAOC,EAAOC,EAC5B3vB,EAAc4vB,EALdnwB,EAAQjhF,KAAKihF,MACbj7E,EAAShG,KAAKgG,OACdwlG,EAAuBxrG,KAAKwrG,qBAC5BF,EAAkBtrG,KAAKsrG,gBAG3B6F,EAAgBP,EAAS,GAAyC,IAApCpF,EAAqB/hG,EAAQ,GAEvDmnG,EAAS,EAAI3vB,GAA6C,IAApCuqB,EAAqB/hG,EAAQ,IACrDynG,EAAQ5F,EAAgB7hG,EAAQ,GAI9BunG,EAFEG,EAEa,EAAID,GADnBD,EAAQ3F,EAAgB7hG,EAAQ,IAGjB,EAAIynG,EAAQA,GAI7BF,EAFSG,EAEM,GADfF,EAAQ3F,EAAgB7hG,EAAQ,IACLwnG,EAEZ,EAGjB,IAAII,EAAyB,EAAIL,EA2BjC,OA1BAG,EAAgBrzB,EAAM,GAA6C,IAAxC0tB,EAAqB/hG,EAAQw3E,GAEpDnD,EAAM,EAAI93E,GAAkD,IAAxCwlG,EAAqB/hG,EAAQw3E,IACnDiwB,EAAQ5F,EAAgB7hG,EAAQw3E,GAI9B+vB,EAFEG,EAEa,EAAID,GADnBD,EAAQ3F,EAAgB7hG,EAAQw3E,IACGowB,EAEpB,EAAIH,EAAQA,EAAQG,GAIrCL,EAFSG,EAEM,GADfF,EAAQ3F,EAAgB7hG,EAAQw3E,IACLgwB,EAAQI,EAEpBA,EAGbL,GAAgB,GAClBxvB,EAAe,EAAIwvB,EACnBI,EAAUpxG,KAAK+/E,QAAQI,QAAQngF,KAAKggF,SAAUwB,KAE9CA,EAAe,EAAIwvB,EACnBI,EAA8D,EAApDpxG,KAAK+/E,QAAQI,QAAQngF,KAAKggF,SAAUwB,IAGzC4vB,GAETlG,2BAA4B,WAc1B,IAbA,IAaqBoG,EAbjBvxB,EAAU//E,KAAK+/E,QACfkB,EAAQjhF,KAAKihF,MACbj7E,EAAShG,KAAKgG,OACdwlG,EAAuBxrG,KAAKwrG,qBAC5BiF,EAAwBzwG,KAAKywG,sBAC7BzwB,EAAWhgF,KAAKggF,SAChByrB,EAAczrG,KAAKyrG,YACnBiF,EAAkB1wG,KAAK0wG,gBAGvBjxG,EAASwhF,EAAQj7E,EACjBurG,EAAiB,EAARtwB,EAEJuwB,EAAS,EAAcA,EAAS/xG,EAAQ+xG,EAASF,EAAW,CACnEA,EAAY1pG,KAAKga,IAAIniB,EAAQ+xG,EAASD,GAEtC,IAAK,IAAInuE,EAAI,EAAGA,EAAI69C,EAAO79C,IACzB,IAAK,IAAI35B,EAAQ+nG,EAASpuE,EAAG35B,EAAQ6nG,EAAW7nG,GAASw3E,EACvD,GAAKuqB,EAAqB/hG,IAAuD,KAVnE,EAUuBinG,EAAgBjnG,IAArD,CAIA,IAAI+3E,EAAe,GAEsC,KAfnC,EAejBkvB,EAAgBjnG,MACnBinG,EAAgBjnG,IAhBI,EAkBpB+3E,EAAgC,KADkB,IAA/BivB,EAAsBhnG,IACL,GAAK,IAG3C,IAAIy2E,EAAMH,EAAQI,QAAQH,EAAUwB,GACpCgqB,EAAqB/hG,GAAS+hG,EAAqB/hG,IAAU,EAAIy2E,EACjEurB,EAAYhiG,KACZinG,EAAgBjnG,IAzBF,KA8BtB0hG,eAAgB,WAkBd,IAjBA,IAeIsG,EAfA1xB,EAAU//E,KAAK+/E,QACfkB,EAAQjhF,KAAKihF,MACbj7E,EAAShG,KAAKgG,OACdyqG,EAAwBzwG,KAAKywG,sBAC7BjF,EAAuBxrG,KAAKwrG,qBAC5BF,EAAkBtrG,KAAKsrG,gBACvBtrB,EAAWhgF,KAAKggF,SAChB6wB,EAAS7wG,KAAKuwG,kBACd9E,EAAczrG,KAAKyrG,YACnBiF,EAAkB1wG,KAAK0wG,gBAGvBgB,EAAazwB,EACb0wB,EAAsB,EAAR1wB,EACd2wB,EAAwB,EAAR3wB,EAGX0B,EAAK,EAAGA,EAAK38E,EAAQ28E,EAAK8uB,EAAO,CACxCA,EAAQ7pG,KAAKga,IAAI+gE,EAAK,EAAG38E,GAIzB,IAHA,IAAI6rG,EAAYlvB,EAAK1B,EACjB6wB,EAAgBnvB,EAAK,EAAI38E,EAEpBo9B,EAAI,EAAGA,EAAI69C,EAAO79C,IAAK,CAC9B,IAKI0wC,EALA09B,EAASK,EAAYzuE,EAErB0tE,EAAK,EACLrnG,EAAQ+nG,EACRrmG,EAAIw3E,EAGR,GANemvB,GAA6C,IAA5BpB,EAAgBc,IAA0D,IAAzCd,EAAgBc,EAASE,IAA+D,IAA1ChB,EAAgBc,EAASG,IAAkE,IAA5CjB,EAAgBc,EAASI,IAA0D,IAAlCnB,EAAsBe,IAAgE,IAA/Cf,EAAsBe,EAASE,IAAqE,IAAhDjB,EAAsBe,EAASG,IAAwE,IAAlDlB,EAAsBe,EAASI,GAMhX,CAGZ,IAF+B7xB,EAAQI,QAAQH,EAhQjC,IAkQiB,CAC7ByrB,EAAY+F,KACZ/F,EAAY+F,EAASE,KACrBjG,EAAY+F,EAASG,KACrBlG,EAAY+F,EAASI,KACrB,SAKS,KAFXd,EAAK/wB,EAAQI,QAAQH,EA3QT,KA2QuC,EAAID,EAAQI,QAAQH,EA3Q3D,OA8QV70E,EAAIw3E,EAAKmuB,EACTrnG,GAASqnG,EAAK7vB,GAGhBnN,EAAO9zE,KAAK+wG,cAAc5lG,EAAGi4B,EAAG35B,GAChC6hG,EAAgB7hG,GAASqqE,EACzB03B,EAAqB/hG,GAAS,EAC9BzJ,KAAK2wG,yBAAyBxlG,EAAGi4B,EAAG35B,GACpCinG,EAAgBjnG,IAzCM,EA0CtBA,EAAQ+nG,EAER,IAAK,IAAIO,EAAKpvB,EAAIovB,GAAM5mG,EAAG4mG,IAAMtoG,GAASw3E,EACxCwqB,EAAYhiG,KAGdqnG,IAGF,IAAK3lG,EAAIw3E,EAAKmuB,EAAI3lG,EAAIsmG,EAAOtmG,IAAK1B,GAASw3E,EACzC,IAAIuqB,EAAqB/hG,IAAuD,KArDlE,EAqDsBinG,EAAgBjnG,IAApD,CAIA,IAAI+3E,EAAeqvB,EAAOJ,EAAsBhnG,IAG/B,IAFFs2E,EAAQI,QAAQH,EAAUwB,KAGvC1N,EAAO9zE,KAAK+wG,cAAc5lG,EAAGi4B,EAAG35B,GAChC6hG,EAAgB7hG,GAASqqE,EACzB03B,EAAqB/hG,GAAS,EAC9BzJ,KAAK2wG,yBAAyBxlG,EAAGi4B,EAAG35B,GACpCinG,EAAgBjnG,IAhEI,GAmEtBgiG,EAAYhiG,SAKpB2hG,wBAAyB,WACvB,IAAIrrB,EAAU//E,KAAK+/E,QACfC,EAAWhgF,KAAKggF,SAGpB,GAAe,MAFFD,EAAQI,QAAQH,EAxTX,KAwTyC,EAAID,EAAQI,QAAQH,EAxT7D,KAwT2F,EAAID,EAAQI,QAAQH,EAxT/G,KAwT6I,EAAID,EAAQI,QAAQH,EAxTjK,KA2ThB,MAAM,IAAIsf,EAAS,iCAIlBuL,EAhUM,GAmUXmH,EAAY,WACd,SAASA,KAsHT,OApHAA,EAAUt0G,UAAUivG,UAAY,SAA4BrH,EAAU2M,EAAIvZ,GAGxE,IAFA,IAAIwZ,EAAK5M,EAAS,GAETn6F,EAAI,EAAGgW,EAAKmkF,EAAS7lG,OAAQ0L,EAAIgW,EAAIhW,IAC5C+mG,EAAKlyG,KAAKmyG,QAAQD,EAAI5M,EAASn6F,GAAI8mG,EAAIvZ,GAGzC,OAAOwZ,GAGTF,EAAUt0G,UAAU00G,OAAS,SAAgBtuF,EAAQM,EAAQrjB,GAC3D,IAAI+vG,EAAK1sF,EAAS,EACdiuF,EAAKjuF,EAAS,EACd2tF,EAAK3tF,EAASrjB,EAAO,EACrBuxG,EAAKluF,EAASrjB,EAClB+iB,EAAOgtF,KAAQhtF,EAAOuuF,KACtBvuF,EAAOwuF,KAAQxuF,EAAOiuF,KACtBjuF,EAAOgtF,KAAQhtF,EAAOuuF,KACtBvuF,EAAOwuF,KAAQxuF,EAAOiuF,KACtBjuF,EAAOgtF,KAAQhtF,EAAOuuF,KACtBvuF,EAAOwuF,KAAQxuF,EAAOiuF,KACtBjuF,EAAOgtF,GAAMhtF,EAAOuuF,GACpBvuF,EAAOwuF,GAAMxuF,EAAOiuF,IAGtBC,EAAUt0G,UAAUy0G,QAAU,SAA2BD,EAAIK,EAAUN,EAAIvZ,GACzE,IAMIvtF,EAAGi4B,EAAGH,EAAGp2B,EAAGs+C,EAAG/oC,EANfowF,EAAUN,EAAGjxB,MACbwxB,EAAWP,EAAGlsG,OACd0sG,EAAUR,EAAGrwC,MACbof,EAAQsxB,EAAStxB,MACjBj7E,EAASusG,EAASvsG,OAClB67D,EAAQ0wC,EAAS1wC,MAGrB,IAAK5+B,EAAI,EAAG93B,EAAI,EAAGA,EAAIsnG,EAAUtnG,IAG/B,IAFA0B,EAAQ,EAAJ1B,EAAQ81E,EAEP79C,EAAI,EAAGA,EAAIovE,EAASpvE,IAAKH,IAAKp2B,GAAK,EACtCg1D,EAAMh1D,GAAK6lG,EAAQzvE,GAIvByvE,EAAUR,EAAGrwC,MAAQ,KACrB,IACI8wC,EAAY,IAAIpG,aAAatrB,EAAQ,GAEzC,GAAc,IAAVA,GACF,GAAiB,KAAP,EAALgxB,GACH,IAAK7vF,EAAI,EAAG6gB,EAAI,EAAG7gB,EAAIpc,EAAQoc,IAAK6gB,GAAKg+C,EACvCpf,EAAM5+B,IAAM,QAIhB,IAAK7gB,EAAI,EAAG6gB,EAAI,EAAG7gB,EAAIpc,EAAQoc,IAAK6gB,GAAKg+C,EACvC0xB,EAAU70G,IAAI+jE,EAAMhgD,SAASohB,EAAGA,EAAIg+C,GAXpB,GAYhBjhF,KAAKoyG,OAAOO,EAZI,EAYsB1xB,GACtCjhF,KAAK6I,OAAO8pG,EAbI,EAasB1xB,GACtCpf,EAAM/jE,IAAI60G,EAAU9wF,SAdJ,IAc4Co/D,GAAQh+C,GAIxE,IAAI2vE,EAAa,GACbC,EAAa,GAEjB,IAAK1nG,EAAI,EAAGA,EAAIynG,EAAYznG,IAC1B0nG,EAAWzqG,KAAK,IAAImkG,aAAavmG,EAAS,IAG5C,IAAIguB,EACA8+E,EAAgB,EAGpB,GAFAZ,EA3BoB,EA2BClsG,EAEN,IAAXA,GACF,GAAiB,KAAP,EAAL0yF,GACH,IAAKvtC,EAAI,EAAGA,EAAI81B,EAAO91B,IACrB0W,EAAM1W,IAAM,QAIhB,IAAKA,EAAI,EAAGA,EAAI81B,EAAO91B,IAAK,CAC1B,GAAsB,IAAlB2nD,EAAqB,CAGvB,IAFAF,EAAahrG,KAAKga,IAAIq/D,EAAQ91B,EAAGynD,GAE5B3vE,EAAIkoB,EAAGt+C,EAxCE,EAwCiBA,EAAIqlG,EAAIjvE,GAAKg+C,EAAOp0E,IACjD,IAAKmnB,EAAI,EAAGA,EAAI4+E,EAAY5+E,IAC1B6+E,EAAW7+E,GAAGnnB,GAAKg1D,EAAM5+B,EAAIjP,GAIjC8+E,EAAgBF,EAIlB,IAAI9uF,EAAS+uF,IADbC,GAKA,GAHA9yG,KAAKoyG,OAAOtuF,EAnDI,EAmDmB9d,GACnChG,KAAK6I,OAAOib,EApDI,EAoDmB9d,GAEb,IAAlB8sG,EAGF,IAFA7vE,EAAIkoB,EAAIynD,EAAa,EAEhB/lG,EAzDS,EAyDUA,EAAIqlG,EAAIjvE,GAAKg+C,EAAOp0E,IAC1C,IAAKmnB,EAAI,EAAGA,EAAI4+E,EAAY5+E,IAC1B6tC,EAAM5+B,EAAIjP,GAAK6+E,EAAW7+E,GAAGnnB,GAOvC,MAAO,CACLo0E,MAAOA,EACPj7E,OAAQA,EACR67D,MAAOA,IAIJmwC,EAvHO,GA0HZ3F,EAAwB,WAC1B,SAASA,IACP2F,EAAUp0G,KAAKoC,MAwFjB,OArFAqsG,EAAsB3uG,UAAYzB,OAAO+C,OAAOgzG,EAAUt0G,WAE1D2uG,EAAsB3uG,UAAUmL,OAAS,SAAqCmb,EAAGI,EAAQ3kB,GACvF,IAEI2jC,EAAG11B,EAAG9B,EAASwD,EAFf5P,EAAMC,GAAU,EAGhBszG,GAAS,kBACTC,GAAQ,iBACRC,EAAQ,iBACR9I,EAAQ,iBACRnnE,EAAI,kBAIR,IAFAI,GARAhf,GAAkB,GAQL,EAER1W,EAAIlO,EAAM,EAAGkO,IAAK01B,GAAK,EAC1Bpf,EAAEof,IAJK,kBAUT,IAFAx3B,EAAUu+F,EAAQnmF,GADlBof,EAAIhf,EAAS,GACW,GAEnB1W,EAAIlO,EAAM,EAAGkO,MAChB0B,EAAO+6F,EAAQnmF,EAAEof,EAAI,GACrBpf,EAAEof,GAAKJ,EAAIhf,EAAEof,GAAKx3B,EAAUwD,EAExB1B,KAJiB01B,GAAK,EAMxBx3B,EAAUu+F,EAAQnmF,GADlBof,GAAK,GACmB,GACxBpf,EAAEof,GAAKJ,EAAIhf,EAAEof,GAAKx3B,EAAUwD,EAShC,IAFAxD,EAAUqnG,EAAQjvF,GADlBof,EAAIhf,EAAS,GACW,GAEnB1W,EAAIlO,EAAM,EAAGkO,MAChB0B,EAAO6jG,EAAQjvF,EAAEof,EAAI,GACrBpf,EAAEof,IAAMx3B,EAAUwD,EAEd1B,KAJiB01B,GAAK,EAMxBx3B,EAAUqnG,EAAQjvF,GADlBof,GAAK,GACmB,GACxBpf,EAAEof,IAAMx3B,EAAUwD,EAStB,IAFAxD,EAAUonG,EAAOhvF,GADjBof,EAAIhf,GACmB,GAElB1W,EAAIlO,EAAM,EAAGkO,MAChB0B,EAAO4jG,EAAOhvF,EAAEof,EAAI,GACpBpf,EAAEof,IAAMx3B,EAAUwD,EAEd1B,KAJiB01B,GAAK,EAMxBx3B,EAAUonG,EAAOhvF,GADjBof,GAAK,GACkB,GACvBpf,EAAEof,IAAMx3B,EAAUwD,EAMtB,GAAY,IAAR5P,EAIF,IAFAoM,EAAUmnG,EAAQ/uF,GADlBof,EAAIhf,EAAS,GACW,GAEnB1W,EAAIlO,EAAKkO,MACZ0B,EAAO2jG,EAAQ/uF,EAAEof,EAAI,GACrBpf,EAAEof,IAAMx3B,EAAUwD,EAEd1B,KAJa01B,GAAK,EAMpBx3B,EAAUmnG,EAAQ/uF,GADlBof,GAAK,GACmB,GACxBpf,EAAEof,IAAMx3B,EAAUwD,GAQnBi9F,EA1FmB,GA6FxBD,EAAsB,WACxB,SAASA,IACP4F,EAAUp0G,KAAKoC,MAmBjB,OAhBAosG,EAAoB1uG,UAAYzB,OAAO+C,OAAOgzG,EAAUt0G,WAExD0uG,EAAoB1uG,UAAUmL,OAAS,SAAmCmb,EAAGI,EAAQ3kB,GACnF,IAEI2jC,EAAG11B,EAFHlO,EAAMC,GAAU,EAIpB,IAAK2jC,EAHLhf,GAAkB,EAGD1W,EAAIlO,EAAM,EAAGkO,IAAK01B,GAAK,EACtCpf,EAAEof,IAAMpf,EAAEof,EAAI,GAAKpf,EAAEof,EAAI,GAAK,GAAK,EAGrC,IAAKA,EAAIhf,EAAS,EAAG1W,EAAIlO,EAAKkO,IAAK01B,GAAK,EACtCpf,EAAEof,IAAMpf,EAAEof,EAAI,GAAKpf,EAAEof,EAAI,IAAM,GAI5BgpE,EArBiB,GAwB1B,OAAO1N,EA9uEM,GAivEfviG,EAAQuiG,SAAWA,GAIZ,SAAS9xF,EAAQzQ,EAASuQ,GAEjC,aAGAzQ,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAQ+2G,gBAAkB/2G,EAAQg3G,gBAAkBh3G,EAAQi3G,gBAAkBj3G,EAAQklE,aAAellE,EAAQk3G,MAAQl3G,EAAQm3G,MAAQn3G,EAAQitE,uBAAyBjtE,EAAQo3G,cAAgBp3G,EAAQq3G,aAAer3G,EAAQs3G,kBAAe,EAE5O,IAAIxlG,EAAQvB,EAAoB,GAE5BwB,EAAcxB,EAAoB,KAElC20C,EAAU30C,EAAoB,KAElC,SAAS1Q,EAAQe,GAAwT,OAAtOf,EAArD,oBAAXqR,QAAoD,kBAApBA,OAAOmB,SAAmC,SAAiBzR,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXsQ,QAAyBtQ,EAAI0R,cAAgBpB,QAAUtQ,IAAQsQ,OAAO3P,UAAY,gBAAkBX,IAAyBA,GAExV,SAASu0D,EAA2B/gD,EAAM3S,GAAQ,OAAIA,GAA2B,WAAlB5B,EAAQ4B,IAAsC,oBAATA,EAEpG,SAAgC2S,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIkhD,eAAe,6DAAgE,OAAOlhD,EAFbghD,CAAuBhhD,GAAtC3S,EAInI,SAAS4zD,EAAgBtkD,GAAwJ,OAAnJskD,EAAkBv1D,OAAOmjB,eAAiBnjB,OAAOkhB,eAAiB,SAAyBjQ,GAAK,OAAOA,EAAEmS,WAAapjB,OAAOkhB,eAAejQ,KAA8BA,GAExM,SAASwkD,EAAUC,EAAUC,GAAc,GAA0B,oBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIpiD,UAAU,sDAAyDmiD,EAASj0D,UAAYzB,OAAO+C,OAAO4yD,GAAcA,EAAWl0D,UAAW,CAAE+Q,YAAa,CAAErS,MAAOu1D,EAAU5sC,UAAU,EAAMD,cAAc,KAAe8sC,GAAYC,EAAgBF,EAAUC,GAEnX,SAASC,EAAgB3kD,EAAGlC,GAA+G,OAA1G6mD,EAAkB51D,OAAOmjB,gBAAkB,SAAyBlS,EAAGlC,GAAsB,OAAjBkC,EAAEmS,UAAYrU,EAAUkC,IAA6BA,EAAGlC,GAErK,SAASkrC,EAAgB5G,EAAUzQ,GAAe,KAAMyQ,aAAoBzQ,GAAgB,MAAM,IAAIrvB,UAAU,qCAEhH,SAASsiD,EAAkBpzD,EAAQoB,GAAS,IAAK,IAAIqL,EAAI,EAAGA,EAAIrL,EAAML,OAAQ0L,IAAK,CAAE,IAAI00B,EAAa//B,EAAMqL,GAAI00B,EAAW1yB,WAAa0yB,EAAW1yB,aAAc,EAAO0yB,EAAW/a,cAAe,EAAU,UAAW+a,IAAYA,EAAW9a,UAAW,GAAM9oB,OAAOC,eAAewC,EAAQmhC,EAAWpiC,IAAKoiC,IAE7S,SAASkW,EAAalX,EAAamX,EAAYC,GAAmJ,OAAhID,GAAY8b,EAAkBjzB,EAAYnhC,UAAWs4C,GAAiBC,GAAa6b,EAAkBjzB,EAAaoX,GAAqBpX,EAEzM,IAAI00E,EAAgB,WAClB,SAASA,EAAc91G,GACrBuC,KAAK80B,EAAI,EACT90B,KAAKg0B,EAAI,EACT,IACI7oB,EAEA2iD,EAHAhjD,EAAI,IAAI0G,WAAW,KAEnB4xB,EAAI,EAEJswE,EAAYj2G,EAAIgC,OAEpB,IAAK0L,EAAI,EAAGA,EAAI,MAAOA,EACrBL,EAAEK,GAAKA,EAGT,IAAKA,EAAI,EAAGA,EAAI,MAAOA,EAErBi4B,EAAIA,GADJ0qB,EAAMhjD,EAAEK,IACM1N,EAAI0N,EAAIuoG,GAAa,IACnC5oG,EAAEK,GAAKL,EAAEs4B,GACTt4B,EAAEs4B,GAAK0qB,EAGT9tD,KAAK8K,EAAIA,EA8BX,OA3BAyoG,EAAc71G,UAAY,CACxBi2G,aAAc,SAAoCpiG,GAChD,IAAIpG,EAEA2iD,EACA8lD,EAFAlmG,EAAI6D,EAAK9R,OAGTq1B,EAAI90B,KAAK80B,EACTd,EAAIh0B,KAAKg0B,EACTlpB,EAAI9K,KAAK8K,EACToyF,EAAS,IAAI1rF,WAAW9D,GAE5B,IAAKvC,EAAI,EAAGA,EAAIuC,IAAKvC,EAInByoG,EAAO9oG,EADPkpB,EAAIA,GADJ85B,EAAMhjD,EADNgqB,EAAIA,EAAI,EAAI,MAEE,KAEdhqB,EAAEgqB,GAAK8+E,EACP9oG,EAAEkpB,GAAK85B,EACPovC,EAAO/xF,GAAKoG,EAAKpG,GAAKL,EAAEgjD,EAAM8lD,EAAO,KAKvC,OAFA5zG,KAAK80B,EAAIA,EACT90B,KAAKg0B,EAAIA,EACFkpE,IAGXqW,EAAc71G,UAAUm2G,aAAeN,EAAc71G,UAAUi2G,aACxDJ,EAnDW,GAsDpBp3G,EAAQo3G,cAAgBA,EAExB,IAAIlyC,EAAe,WACjB,IAAIj0D,EAAI,IAAIoE,WAAW,CAAC,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,KAC5PyxB,EAAI,IAAIg0C,WAAW,EAAE,WAAY,UAAW,WAAY,YAAa,UAAW,YAAa,YAAa,SAAU,YAAa,YAAa,OAAQ,WAAY,YAAa,UAAW,WAAY,YAAa,WAAY,WAAY,WAAY,WAAY,UAAW,UAAW,WAAY,UAAW,WAAY,YAAa,UAAW,YAAa,YAAa,SAAU,YAAa,YAAa,QAAS,WAAY,YAAa,UAAW,WAAY,YAAa,WAAY,WAAY,WAAY,WAAY,UAAW,UAAW,WAAY,UAAW,WAAY,WAAY,UAAW,YAAa,YAAa,SAAU,YAAa,YAAa,SAAU,WAAY,YAAa,UAAW,WAAY,YAAa,WAAY,WAAY,WAAY,YA6ErwB,OA3EA,SAAc1lE,EAAM6S,EAAQ3kB,GAC1B,IAMI0L,EAAGi4B,EAAG11B,EANNomG,EAAK,WACLC,GAAM,UACNC,GAAM,WACNC,EAAK,UACLC,EAAez0G,EAAS,IAAK,GAC7B00G,EAAS,IAAI3iG,WAAW0iG,GAG5B,IAAK/oG,EAAI,EAAGA,EAAI1L,IAAU0L,EACxBgpG,EAAOhpG,GAAKoG,EAAK6S,KAMnB,IAHA+vF,EAAOhpG,KAAO,IACduC,EAAIwmG,EAAe,EAEZ/oG,EAAIuC,GACTymG,EAAOhpG,KAAO,EAGhBgpG,EAAOhpG,KAAO1L,GAAU,EAAI,IAC5B00G,EAAOhpG,KAAO1L,GAAU,EAAI,IAC5B00G,EAAOhpG,KAAO1L,GAAU,GAAK,IAC7B00G,EAAOhpG,KAAO1L,GAAU,GAAK,IAC7B00G,EAAOhpG,KAAO1L,IAAW,GAAK,IAC9B00G,EAAOhpG,KAAO,EACdgpG,EAAOhpG,KAAO,EACdgpG,EAAOhpG,KAAO,EACd,IAAIijC,EAAI,IAAI6oC,WAAW,IAEvB,IAAK9rE,EAAI,EAAGA,EAAI+oG,GAAe,CAC7B,IAAK9wE,EAAI,EAAGA,EAAI,KAAMA,EAAGj4B,GAAK,EAC5BijC,EAAEhL,GAAK+wE,EAAOhpG,GAAKgpG,EAAOhpG,EAAI,IAAM,EAAIgpG,EAAOhpG,EAAI,IAAM,GAAKgpG,EAAOhpG,EAAI,IAAM,GAGjF,IAII6vB,EACAjH,EALAe,EAAIg/E,EACJ9/E,EAAI+/E,EACJhnG,EAAIinG,EACJhnG,EAAIinG,EAIR,IAAK7wE,EAAI,EAAGA,EAAI,KAAMA,EAAG,CACnBA,EAAI,IACNpI,EAAIhH,EAAIjnB,GAAKinB,EAAIhnB,EACjB+mB,EAAIqP,GACKA,EAAI,IACbpI,EAAIhuB,EAAIgnB,GAAKhnB,EAAID,EACjBgnB,EAAI,EAAIqP,EAAI,EAAI,IACPA,EAAI,IACbpI,EAAIhH,EAAIjnB,EAAIC,EACZ+mB,EAAI,EAAIqP,EAAI,EAAI,KAEhBpI,EAAIjuB,GAAKinB,GAAKhnB,GACd+mB,EAAI,EAAIqP,EAAI,IAGd,IAAI0qB,EAAM9gD,EACNonG,EAAYt/E,EAAIkG,EAAIiI,EAAEG,GAAKgL,EAAEra,GAAK,EAClCrd,EAAStJ,EAAEg2B,GACfp2B,EAAID,EACJA,EAAIinB,EACJA,EAAIA,GAAKogF,GAAa19F,EAAS09F,IAAc,GAAK19F,GAAU,EAC5Doe,EAAIg5B,EAGNgmD,EAAKA,EAAKh/E,EAAI,EACdi/E,EAAKA,EAAK//E,EAAI,EACdggF,EAAKA,EAAKjnG,EAAI,EACdknG,EAAKA,EAAKjnG,EAAI,EAGhB,OAAO,IAAIwE,WAAW,CAAM,IAALsiG,EAAWA,GAAM,EAAI,IAAMA,GAAM,GAAK,IAAMA,IAAO,GAAK,IAAW,IAALC,EAAWA,GAAM,EAAI,IAAMA,GAAM,GAAK,IAAMA,IAAO,GAAK,IAAW,IAALC,EAAWA,GAAM,EAAI,IAAMA,GAAM,GAAK,IAAMA,IAAO,GAAK,IAAW,IAALC,EAAWA,GAAM,EAAI,IAAMA,GAAM,GAAK,IAAMA,IAAO,GAAK,OA5E1P,GAkFnB93G,EAAQklE,aAAeA,EAEvB,IAAIgzC,EAAS,WACX,SAASA,EAAOC,EAAaC,GAC3Bv0G,KAAKw0G,KAAqB,EAAdF,EACZt0G,KAAKy0G,IAAmB,EAAbF,EA+Eb,OA5EAF,EAAO32G,UAAY,CACjBg3G,IAAK,SAAoBC,GACvB30G,KAAKw0G,MAAQG,EAAKH,KAClBx0G,KAAKy0G,KAAOE,EAAKF,KAEnBG,IAAK,SAAoBD,GACvB30G,KAAKw0G,MAAQG,EAAKH,KAClBx0G,KAAKy0G,KAAOE,EAAKF,KAEnBI,GAAI,SAAmBF,GACrB30G,KAAKw0G,MAAQG,EAAKH,KAClBx0G,KAAKy0G,KAAOE,EAAKF,KAEnBK,WAAY,SAA2BC,GACjCA,GAAU,IACZ/0G,KAAKy0G,IAAMz0G,KAAKw0G,OAASO,EAAS,GAAK,EACvC/0G,KAAKw0G,KAAO,IAEZx0G,KAAKy0G,IAAMz0G,KAAKy0G,MAAQM,EAAS/0G,KAAKw0G,MAAQ,GAAKO,EACnD/0G,KAAKw0G,KAAOx0G,KAAKw0G,OAASO,EAAS,IAGvCC,UAAW,SAA0BD,GAC/BA,GAAU,IACZ/0G,KAAKw0G,KAAOx0G,KAAKy0G,KAAOM,EAAS,GACjC/0G,KAAKy0G,IAAM,IAEXz0G,KAAKw0G,KAAOx0G,KAAKw0G,MAAQO,EAAS/0G,KAAKy0G,MAAQ,GAAKM,EACpD/0G,KAAKy0G,IAAMz0G,KAAKy0G,KAAOM,IAG3BE,YAAa,SAA4BF,GACvC,IAAIN,EAAKD,EAEI,GAATO,GACFP,EAAOx0G,KAAKy0G,IACZA,EAAMz0G,KAAKw0G,OAEXC,EAAMz0G,KAAKy0G,IACXD,EAAOx0G,KAAKw0G,MAGdO,GAAU,GACV/0G,KAAKy0G,IAAMA,IAAQM,EAASP,GAAQ,GAAKO,EACzC/0G,KAAKw0G,KAAOA,IAASO,EAASN,GAAO,GAAKM,GAE5CG,IAAK,WACHl1G,KAAKw0G,MAAQx0G,KAAKw0G,KAClBx0G,KAAKy0G,KAAOz0G,KAAKy0G,KAEnBp9E,IAAK,SAAoBs9E,GACvB,IAAIQ,GAAUn1G,KAAKy0G,MAAQ,IAAME,EAAKF,MAAQ,GAC1CW,GAAWp1G,KAAKw0G,OAAS,IAAMG,EAAKH,OAAS,GAE7CW,EAAS,aACXC,GAAW,GAGbp1G,KAAKy0G,IAAe,EAATU,EACXn1G,KAAKw0G,KAAiB,EAAVY,GAEdC,OAAQ,SAAuB99F,EAAO6M,GACpC7M,EAAM6M,GAAUpkB,KAAKw0G,OAAS,GAAK,IACnCj9F,EAAM6M,EAAS,GAAKpkB,KAAKw0G,MAAQ,GAAK,IACtCj9F,EAAM6M,EAAS,GAAKpkB,KAAKw0G,MAAQ,EAAI,IACrCj9F,EAAM6M,EAAS,GAAiB,IAAZpkB,KAAKw0G,KACzBj9F,EAAM6M,EAAS,GAAKpkB,KAAKy0G,MAAQ,GAAK,IACtCl9F,EAAM6M,EAAS,GAAKpkB,KAAKy0G,KAAO,GAAK,IACrCl9F,EAAM6M,EAAS,GAAKpkB,KAAKy0G,KAAO,EAAI,IACpCl9F,EAAM6M,EAAS,GAAgB,IAAXpkB,KAAKy0G,KAE3Bj8E,OAAQ,SAAuBm8E,GAC7B30G,KAAKw0G,KAAOG,EAAKH,KACjBx0G,KAAKy0G,IAAME,EAAKF,MAGbJ,EAlFI,GAqFTjB,EAAkB,WACpB,SAASkC,EAAKtxF,EAAGtW,GACf,OAAOsW,IAAMtW,EAAIsW,GAAK,GAAKtW,EAG7B,SAASoV,EAAGkB,EAAGy8D,EAAGyW,GAChB,OAAOlzE,EAAIy8D,GAAKz8D,EAAIkzE,EAGtB,SAASqe,EAAIvxF,EAAGy8D,EAAGyW,GACjB,OAAOlzE,EAAIy8D,EAAIz8D,EAAIkzE,EAAIzW,EAAIyW,EAG7B,SAASse,EAAMxxF,GACb,OAAOsxF,EAAKtxF,EAAG,GAAKsxF,EAAKtxF,EAAG,IAAMsxF,EAAKtxF,EAAG,IAG5C,SAASyxF,EAAWzxF,GAClB,OAAOsxF,EAAKtxF,EAAG,GAAKsxF,EAAKtxF,EAAG,IAAMsxF,EAAKtxF,EAAG,IAG5C,SAAS0xF,EAAY1xF,GACnB,OAAOsxF,EAAKtxF,EAAG,GAAKsxF,EAAKtxF,EAAG,IAAMA,IAAM,EAO1C,IAAIif,EAAI,CAAC,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAmF7vB,OAjFA,SAAc1xB,EAAM6S,EAAQ3kB,GAC1B,IAUI0L,EAAGi4B,EAAG11B,EAVNomG,EAAK,WACLC,EAAK,WACLC,EAAK,WACLC,EAAK,WACL0B,EAAK,WACLC,EAAK,WACLC,EAAK,UACLC,EAAK,WACL5B,EAA8C,GAA/BtsG,KAAKqc,MAAMxkB,EAAS,GAAK,IACxC00G,EAAS,IAAI3iG,WAAW0iG,GAG5B,IAAK/oG,EAAI,EAAGA,EAAI1L,IAAU0L,EACxBgpG,EAAOhpG,GAAKoG,EAAK6S,KAMnB,IAHA+vF,EAAOhpG,KAAO,IACduC,EAAIwmG,EAAe,EAEZ/oG,EAAIuC,GACTymG,EAAOhpG,KAAO,EAGhBgpG,EAAOhpG,KAAO,EACdgpG,EAAOhpG,KAAO,EACdgpG,EAAOhpG,KAAO,EACdgpG,EAAOhpG,KAAO1L,IAAW,GAAK,IAC9B00G,EAAOhpG,KAAO1L,GAAU,GAAK,IAC7B00G,EAAOhpG,KAAO1L,GAAU,GAAK,IAC7B00G,EAAOhpG,KAAO1L,GAAU,EAAI,IAC5B00G,EAAOhpG,KAAO1L,GAAU,EAAI,IAC5B,IAtCwBukB,EAsCpBoqB,EAAI,IAAIvqB,YAAY,IAExB,IAAK1Y,EAAI,EAAGA,EAAI+oG,GAAe,CAC7B,IAAK9wE,EAAI,EAAGA,EAAI,KAAMA,EACpBgL,EAAEhL,GAAK+wE,EAAOhpG,IAAM,GAAKgpG,EAAOhpG,EAAI,IAAM,GAAKgpG,EAAOhpG,EAAI,IAAM,EAAIgpG,EAAOhpG,EAAI,GAC/EA,GAAK,EAGP,IAAKi4B,EAAI,GAAIA,EAAI,KAAMA,EACrBgL,EAAEhL,GAAkF,GA9CjFkyE,EADiBtxF,EA+CIoqB,EAAEhL,EAAI,GA9CnB,IAAMkyE,EAAKtxF,EAAG,IAAMA,IAAM,IA8CDoqB,EAAEhL,EAAI,GAAKsyE,EAAYtnE,EAAEhL,EAAI,KAAOgL,EAAEhL,EAAI,IAGhF,IAQI2yE,EACA9vB,EATAnxD,EAAIg/E,EACJ9/E,EAAI+/E,EACJhnG,EAAIinG,EACJhnG,EAAIinG,EACJt1G,EAAIg3G,EACJ36E,EAAI46E,EACJ7hF,EAAI8hF,EACJ7pD,EAAI8pD,EAIR,IAAK1yE,EAAI,EAAGA,EAAI,KAAMA,EACpB2yE,EAAK/pD,EAAIypD,EAAW92G,GAAKmkB,EAAGnkB,EAAGq8B,EAAGjH,GAAKkP,EAAEG,GAAKgL,EAAEhL,GAChD6iD,EAAKuvB,EAAM1gF,GAAKygF,EAAIzgF,EAAGd,EAAGjnB,GAC1Bi/C,EAAIj4B,EACJA,EAAIiH,EACJA,EAAIr8B,EACJA,EAAIqO,EAAI+oG,EAAK,EACb/oG,EAAID,EACJA,EAAIinB,EACJA,EAAIc,EACJA,EAAIihF,EAAK9vB,EAAK,EAGhB6tB,EAAKA,EAAKh/E,EAAI,EACdi/E,EAAKA,EAAK//E,EAAI,EACdggF,EAAKA,EAAKjnG,EAAI,EACdknG,EAAKA,EAAKjnG,EAAI,EACd2oG,EAAKA,EAAKh3G,EAAI,EACdi3G,EAAKA,EAAK56E,EAAI,EACd66E,EAAKA,EAAK9hF,EAAI,EACd+hF,EAAKA,EAAK9pD,EAAI,EAGhB,OAAO,IAAIx6C,WAAW,CAACsiG,GAAM,GAAK,IAAMA,GAAM,GAAK,IAAMA,GAAM,EAAI,IAAW,IAALA,EAAWC,GAAM,GAAK,IAAMA,GAAM,GAAK,IAAMA,GAAM,EAAI,IAAW,IAALA,EAAWC,GAAM,GAAK,IAAMA,GAAM,GAAK,IAAMA,GAAM,EAAI,IAAW,IAALA,EAAWC,GAAM,GAAK,IAAMA,GAAM,GAAK,IAAMA,GAAM,EAAI,IAAW,IAALA,EAAW0B,GAAM,GAAK,IAAMA,GAAM,GAAK,IAAMA,GAAM,EAAI,IAAW,IAALA,EAAWC,GAAM,GAAK,IAAMA,GAAM,GAAK,IAAMA,GAAM,EAAI,IAAW,IAALA,EAAWC,GAAM,GAAK,IAAMA,GAAM,GAAK,IAAMA,GAAM,EAAI,IAAW,IAALA,EAAWC,GAAM,GAAK,IAAMA,GAAM,GAAK,IAAMA,GAAM,EAAI,IAAW,IAALA,KA7Gle,GAmHtB35G,EAAQi3G,gBAAkBA,EAE1B,IAAIF,EAAkB,WACpB,SAASpwF,EAAGlF,EAAQoG,EAAGy8D,EAAGyW,EAAGppC,GAC3BlwC,EAAO4a,OAAOxU,GACdpG,EAAO82F,IAAIj0B,GACX3yB,EAAIt1B,OAAOxU,GACX8pC,EAAIonD,MACJpnD,EAAI4mD,IAAIxd,GACRt5E,EAAOg3F,IAAI9mD,GAGb,SAASynD,EAAI33F,EAAQoG,EAAGy8D,EAAGyW,EAAGppC,GAC5BlwC,EAAO4a,OAAOxU,GACdpG,EAAO82F,IAAIj0B,GACX3yB,EAAIt1B,OAAOxU,GACX8pC,EAAI4mD,IAAIxd,GACRt5E,EAAOg3F,IAAI9mD,GACXA,EAAIt1B,OAAOioD,GACX3yB,EAAI4mD,IAAIxd,GACRt5E,EAAOg3F,IAAI9mD,GAGb,SAAS0nD,EAAM53F,EAAQoG,EAAG8pC,GACxBlwC,EAAO4a,OAAOxU,GACdpG,EAAOq3F,YAAY,IACnBnnD,EAAIt1B,OAAOxU,GACX8pC,EAAImnD,YAAY,IAChBr3F,EAAOg3F,IAAI9mD,GACXA,EAAIt1B,OAAOxU,GACX8pC,EAAImnD,YAAY,IAChBr3F,EAAOg3F,IAAI9mD,GAGb,SAAS2nD,EAAW73F,EAAQoG,EAAG8pC,GAC7BlwC,EAAO4a,OAAOxU,GACdpG,EAAOq3F,YAAY,IACnBnnD,EAAIt1B,OAAOxU,GACX8pC,EAAImnD,YAAY,IAChBr3F,EAAOg3F,IAAI9mD,GACXA,EAAIt1B,OAAOxU,GACX8pC,EAAImnD,YAAY,IAChBr3F,EAAOg3F,IAAI9mD,GAGb,SAAS4nD,EAAY93F,EAAQoG,EAAG8pC,GAC9BlwC,EAAO4a,OAAOxU,GACdpG,EAAOq3F,YAAY,GACnBnnD,EAAIt1B,OAAOxU,GACX8pC,EAAImnD,YAAY,GAChBr3F,EAAOg3F,IAAI9mD,GACXA,EAAIt1B,OAAOxU,GACX8pC,EAAIgnD,WAAW,GACfl3F,EAAOg3F,IAAI9mD,GAGb,SAASkoD,EAAiBp4F,EAAQoG,EAAG8pC,GACnClwC,EAAO4a,OAAOxU,GACdpG,EAAOq3F,YAAY,IACnBnnD,EAAIt1B,OAAOxU,GACX8pC,EAAImnD,YAAY,IAChBr3F,EAAOg3F,IAAI9mD,GACXA,EAAIt1B,OAAOxU,GACX8pC,EAAIgnD,WAAW,GACfl3F,EAAOg3F,IAAI9mD,GAGb,IAAI7qB,EAAI,CAAC,IAAIoxE,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,WAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,WAAa,IAAIA,EAAO,WAAY,WAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,WAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,WAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,UAAY,WAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,WAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,WAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,UAAY,WAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,UAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,WAAa,IAAIA,EAAO,WAAY,WAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WAAY,YAAa,IAAIA,EAAO,WA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AM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,EAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,KACphDxR,KAAKs2G,OAAS,IAAI9kG,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,IA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QAAS,SAAU,UAAW,QAAS,YACthJxnJ,EAAQwnJ,mBAAqBA,EAC7B,IAEI5E,EAAY,WACd,IAAI0F,EAA2B,CAAC,KAAM,CACpCttI,GAAI,QACJyK,IAAK,EACL8iI,eAAe,EACfC,MAAM,GACL,KAAM,CACPxtI,GAAI,QACJyK,IAAK,EACL8iI,eAAe,EACfC,MAAM,GACL,CACDxtI,GAAI,UACJyK,IAAK,EACL8iI,eAAe,GACd,CACDvtI,GAAI,UACJyK,IAAK,EACLgjI,YAAY,GACX,CACDztI,GAAI,UACJyK,IAAK,EACLgjI,YAAY,GACX,CACDztI,GAAI,UACJyK,IAAK,EACLgjI,YAAY,GACX,CACDztI,GAAI,YACJyK,IAAK,EACLgjI,YAAY,GACX,KAAM,CACPztI,GAAI,WACJyK,IAAK,EACLijI,YAAY,GACX,CACD1tI,GAAI,SACJyK,IAAK,EACLijI,YAAY,GACX,KAAM,KAAM,CACb1tI,GAAI,UACJyK,IAAK,EACL8iI,eAAe,GACd,KAAM,KAAM,KAAM,CACnBvtI,GAAI,UACJyK,IAAK,EACL8iI,eAAe,EACfC,MAAM,GACL,CACDxtI,GAAI,WACJyK,IAAK,EACL8iI,eAAe,GACd,CACDvtI,GAAI,WACJyK,IAAK,EACL8iI,eAAe,GACd,CACDvtI,GAAI,UACJyK,IAAK,EACL8iI,eAAe,GACd,CACDvtI,GAAI,UACJyK,IAAK,EACL8iI,eAAe,GACd,CACDvtI,GAAI,UACJyK,IAAK,EACL8iI,eAAe,EACfC,MAAM,GACL,CACDxtI,GAAI,aACJyK,IAAK,EACLgjI,YAAY,GACX,CACDztI,GAAI,aACJyK,IAAK,EACLgjI,YAAY,GACX,CACDztI,GAAI,YACJyK,IAAK,EACLgjI,YAAY,GACX,CACDztI,GAAI,YACJyK,IAAK,EACLgjI,YAAY,GACX,KAAM,CACPztI,GAAI,YACJyK,IAAK,EACLijI,YAAY,GACX,CACD1tI,GAAI,YACJyK,IAAK,EACLgjI,YAAY,GACX,CACDztI,GAAI,YACJyK,IAAK,EACLgjI,YAAY,IAEVE,EAA6B,CAAC,KAAM,KAAM,KAAM,CAClD3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,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,MACjBA,EAAC,UAAgB,MACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,MACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,MACjBA,EAAC,UAAgB,MACjBA,EAAC,UAAgB,KACjBA,EAAC,QAAc,KACfA,EAAC,QAAc,KACfA,EAAC,QAAc,KACfA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjB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,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,GAAS,MACVA,EAAC,GAAS,MACVA,EAAC,GAAS,MACVA,EAAC,GAAS,MACVA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,KACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,KACXA,EAAC,IAAU,MACXA,EAAC,IAAU,KACXA,EAAC,IAAU,MACXA,EAAC,KAAW,MACZA,EAAC,IAAU,MACXA,EAAC,KAAW,MACZA,EAAC,IAAU,KACXA,EAAC,IAAU,KACXA,EAAC,IAAU,KACXA,EAAC,IAAU,MACXA,EAAC,IAAU,KACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC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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,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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D40F,EAAuB50F,GAAsB,SAAUnuD,GAC1DA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,QAsCRgjJ,EAAgB,CACnB,CACC,MAAS,EACT,IAAO,KAER,CACC,MAAS,IACT,IAAO,KAER,CACC,MAAS,IACT,IAAO,KAER,CACC,MAAS,IACT,IAAO,KAER,CACC,MAAS,IACT,IAAO,KAER,CACC,MAAS,IACT,IAAO,KAER,CACC,MAAS,IACT,IAAO,KAER,CACC,MAAS,IACT,IAAO,MAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,OACT,IAAO,QAER,CACC,MAAS,OACT,IAAO,QAER,CACC,MAAS,QACT,IAAO,SAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,OACT,IAAO,QAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,OACT,IAAO,QAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,OACT,IAAO,QAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,KACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,OACT,IAAO,SAuBLzuB,EAAwBpmE,GAAsB,SAAUnuD,GAC3DA,EAAE,QAAY,UACdA,EAAE,QAAY,UACdA,EAAE,QAAY,UACdA,EAAE,QAAY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,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,2BACdA,EAAE,UAAY,MACdA,EAAE,UAAY,KACdA,EAAE,UAAY,MACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,mCACdA,EAAE,UAAY,6BACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,UACdA,EAAE,UAAY,KACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,gBACdA,EAAE,UAAY,gBACdA,EAAE,UAAY,gBACdA,EAAE,UAAY,gBACdA,EAAE,UAAY,gBACdA,EAAE,UAAY,gBACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,IACdA,EAAE,UAAY,IACdA,EAAE,UAAY,IACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAA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M,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC14CC,EAAc,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,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AU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,KAAW,IACZA,EAAC,IAAU,IACXA,EAAC,KAAW,IACZA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,KAAW,IACZA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,KAAW,IACZA,EAAC,IAAU,IACXA,EAAC,KAAW,IACZA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KA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","file":"static/js/1.c5781284.chunk.js","sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nexports.fixControlledValue = fixControlledValue;\nexports.resolveOnChange = resolveOnChange;\nexports.triggerFocus = triggerFocus;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _createSuper2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createSuper\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _omit = _interopRequireDefault(require(\"rc-util/lib/omit\"));\n\nvar _ClearableLabeledInput = _interopRequireDefault(require(\"./ClearableLabeledInput\"));\n\nvar _configProvider = require(\"../config-provider\");\n\nvar _SizeContext = _interopRequireDefault(require(\"../config-provider/SizeContext\"));\n\nvar _devWarning = _interopRequireDefault(require(\"../_util/devWarning\"));\n\nvar _utils = require(\"./utils\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction fixControlledValue(value) {\n if (typeof value === 'undefined' || value === null) {\n return '';\n }\n\n return value;\n}\n\nfunction resolveOnChange(target, e, onChange, targetValue) {\n if (!onChange) {\n return;\n }\n\n var event = e;\n\n if (e.type === 'click') {\n // click clear icon\n event = Object.create(e); // Clone a new target for event.\n // Avoid the following usage, the setQuery method gets the original value.\n //\n // const [query, setQuery] = React.useState('');\n // {\n // setQuery((prevStatus) => e.target.value);\n // }}\n // />\n\n var currentTarget = target.cloneNode(true);\n event.target = currentTarget;\n event.currentTarget = currentTarget;\n currentTarget.value = '';\n onChange(event);\n return;\n } // Trigger by composition event, this means we need force change the input value\n\n\n if (targetValue !== undefined) {\n event = Object.create(e);\n event.target = target;\n event.currentTarget = target;\n target.value = targetValue;\n onChange(event);\n return;\n }\n\n onChange(event);\n}\n\nfunction triggerFocus(element, option) {\n if (!element) return;\n element.focus(option); // Selection content\n\n var _ref = option || {},\n cursor = _ref.cursor;\n\n if (cursor) {\n var len = element.value.length;\n\n switch (cursor) {\n case 'start':\n element.setSelectionRange(0, 0);\n break;\n\n case 'end':\n element.setSelectionRange(len, len);\n break;\n\n default:\n element.setSelectionRange(0, len);\n }\n }\n}\n\nvar Input = /*#__PURE__*/function (_React$Component) {\n (0, _inherits2[\"default\"])(Input, _React$Component);\n\n var _super = (0, _createSuper2[\"default\"])(Input);\n\n function Input(props) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, Input);\n _this = _super.call(this, props);\n _this.direction = 'ltr';\n\n _this.focus = function (option) {\n triggerFocus(_this.input, option);\n };\n\n _this.saveClearableInput = function (input) {\n _this.clearableInput = input;\n };\n\n _this.saveInput = function (input) {\n _this.input = input;\n };\n\n _this.onFocus = function (e) {\n var onFocus = _this.props.onFocus;\n\n _this.setState({\n focused: true\n }, _this.clearPasswordValueAttribute);\n\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(e);\n };\n\n _this.onBlur = function (e) {\n var onBlur = _this.props.onBlur;\n\n _this.setState({\n focused: false\n }, _this.clearPasswordValueAttribute);\n\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);\n };\n\n _this.handleReset = function (e) {\n _this.setValue('', function () {\n _this.focus();\n });\n\n resolveOnChange(_this.input, e, _this.props.onChange);\n };\n\n _this.renderInput = function (prefixCls, size, bordered) {\n var input = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var _this$props = _this.props,\n className = _this$props.className,\n addonBefore = _this$props.addonBefore,\n addonAfter = _this$props.addonAfter,\n customizeSize = _this$props.size,\n disabled = _this$props.disabled,\n htmlSize = _this$props.htmlSize; // Fix https://fb.me/react-unknown-prop\n\n var otherProps = (0, _omit[\"default\"])(_this.props, ['prefixCls', 'onPressEnter', 'addonBefore', 'addonAfter', 'prefix', 'suffix', 'allowClear', // Input elements must be either controlled or uncontrolled,\n // specify either the value prop, or the defaultValue prop, but not both.\n 'defaultValue', 'size', 'inputType', 'bordered', 'htmlSize']);\n return /*#__PURE__*/React.createElement(\"input\", (0, _extends2[\"default\"])({\n autoComplete: input.autoComplete\n }, otherProps, {\n onChange: _this.handleChange,\n onFocus: _this.onFocus,\n onBlur: _this.onBlur,\n onKeyDown: _this.handleKeyDown,\n className: (0, _classnames[\"default\"])((0, _utils.getInputClassName)(prefixCls, bordered, customizeSize || size, disabled, _this.direction), (0, _defineProperty2[\"default\"])({}, className, className && !addonBefore && !addonAfter)),\n ref: _this.saveInput,\n size: htmlSize\n }));\n };\n\n _this.clearPasswordValueAttribute = function () {\n // https://github.com/ant-design/ant-design/issues/20541\n _this.removePasswordTimeout = setTimeout(function () {\n if (_this.input && _this.input.getAttribute('type') === 'password' && _this.input.hasAttribute('value')) {\n _this.input.removeAttribute('value');\n }\n });\n };\n\n _this.handleChange = function (e) {\n _this.setValue(e.target.value, _this.clearPasswordValueAttribute);\n\n resolveOnChange(_this.input, e, _this.props.onChange);\n };\n\n _this.handleKeyDown = function (e) {\n var _this$props2 = _this.props,\n onPressEnter = _this$props2.onPressEnter,\n onKeyDown = _this$props2.onKeyDown;\n\n if (onPressEnter && e.keyCode === 13) {\n onPressEnter(e);\n }\n\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);\n };\n\n _this.renderComponent = function (_ref2) {\n var getPrefixCls = _ref2.getPrefixCls,\n direction = _ref2.direction,\n input = _ref2.input;\n var _this$state = _this.state,\n value = _this$state.value,\n focused = _this$state.focused;\n var _this$props3 = _this.props,\n customizePrefixCls = _this$props3.prefixCls,\n _this$props3$bordered = _this$props3.bordered,\n bordered = _this$props3$bordered === void 0 ? true : _this$props3$bordered;\n var prefixCls = getPrefixCls('input', customizePrefixCls);\n _this.direction = direction;\n return /*#__PURE__*/React.createElement(_SizeContext[\"default\"].Consumer, null, function (size) {\n return /*#__PURE__*/React.createElement(_ClearableLabeledInput[\"default\"], (0, _extends2[\"default\"])({\n size: size\n }, _this.props, {\n prefixCls: prefixCls,\n inputType: \"input\",\n value: fixControlledValue(value),\n element: _this.renderInput(prefixCls, size, bordered, input),\n handleReset: _this.handleReset,\n ref: _this.saveClearableInput,\n direction: direction,\n focused: focused,\n triggerFocus: _this.focus,\n bordered: bordered\n }));\n });\n };\n\n var value = typeof props.value === 'undefined' ? props.defaultValue : props.value;\n _this.state = {\n value: value,\n focused: false,\n // eslint-disable-next-line react/no-unused-state\n prevValue: props.value\n };\n return _this;\n }\n\n (0, _createClass2[\"default\"])(Input, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.clearPasswordValueAttribute();\n } // Since polyfill `getSnapshotBeforeUpdate` need work with `componentDidUpdate`.\n // We keep an empty function here.\n\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {}\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate(prevProps) {\n if ((0, _utils.hasPrefixSuffix)(prevProps) !== (0, _utils.hasPrefixSuffix)(this.props)) {\n (0, _devWarning[\"default\"])(this.input !== document.activeElement, 'Input', \"When Input is focused, dynamic add or remove prefix / suffix will make it lose focus caused by dom structure change. Read more: https://ant.design/components/input/#FAQ\");\n }\n\n return null;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.removePasswordTimeout) {\n clearTimeout(this.removePasswordTimeout);\n }\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.input.blur();\n }\n }, {\n key: \"setSelectionRange\",\n value: function setSelectionRange(start, end, direction) {\n this.input.setSelectionRange(start, end, direction);\n }\n }, {\n key: \"select\",\n value: function select() {\n this.input.select();\n }\n }, {\n key: \"setValue\",\n value: function setValue(value, callback) {\n if (this.props.value === undefined) {\n this.setState({\n value: value\n }, callback);\n } else {\n callback === null || callback === void 0 ? void 0 : callback();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(_configProvider.ConfigConsumer, null, this.renderComponent);\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, _ref3) {\n var prevValue = _ref3.prevValue;\n var newState = {\n prevValue: nextProps.value\n };\n\n if (nextProps.value !== undefined || prevValue !== nextProps.value) {\n newState.value = nextProps.value;\n }\n\n if (nextProps.disabled) {\n newState.focused = false;\n }\n\n return newState;\n }\n }]);\n return Input;\n}(React.Component);\n\nInput.defaultProps = {\n type: 'text'\n};\nvar _default = Input;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _reactDom = require(\"react-dom\");\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _toArray = _interopRequireDefault(require(\"rc-util/lib/Children/toArray\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n// We only handle element & text node.\nvar ELEMENT_NODE = 1;\nvar TEXT_NODE = 3;\nvar COMMENT_NODE = 8;\nvar ellipsisContainer;\nvar wrapperStyle = {\n padding: 0,\n margin: 0,\n display: 'inline',\n lineHeight: 'inherit'\n};\n\nfunction styleToString(style) {\n // There are some different behavior between Firefox & Chrome.\n // We have to handle this ourself.\n var styleNames = Array.prototype.slice.apply(style);\n return styleNames.map(function (name) {\n return \"\".concat(name, \": \").concat(style.getPropertyValue(name), \";\");\n }).join('');\n}\n\nfunction mergeChildren(children) {\n var childList = [];\n children.forEach(function (child) {\n var prevChild = childList[childList.length - 1];\n\n if (typeof child === 'string' && typeof prevChild === 'string') {\n childList[childList.length - 1] += child;\n } else {\n childList.push(child);\n }\n });\n return childList;\n}\n\nfunction resetDomStyles(target, origin) {\n target.setAttribute('aria-hidden', 'true');\n var originStyle = window.getComputedStyle(origin);\n var originCSS = styleToString(originStyle); // Set shadow\n\n target.setAttribute('style', originCSS);\n target.style.position = 'fixed';\n target.style.left = '0';\n target.style.height = 'auto';\n target.style.minHeight = 'auto';\n target.style.maxHeight = 'auto';\n target.style.paddingTop = '0';\n target.style.paddingBottom = '0';\n target.style.borderTopWidth = '0';\n target.style.borderBottomWidth = '0';\n target.style.top = '-999999px';\n target.style.zIndex = '-1000'; // clean up css overflow\n\n target.style.textOverflow = 'clip';\n target.style.whiteSpace = 'normal';\n target.style.webkitLineClamp = 'none';\n}\n\nfunction getRealLineHeight(originElement) {\n var heightContainer = document.createElement('div');\n resetDomStyles(heightContainer, originElement);\n heightContainer.appendChild(document.createTextNode('text'));\n document.body.appendChild(heightContainer); // The element real height is always less than multiple of line-height\n // Use getBoundingClientRect to get actual single row height of the element\n\n var realHeight = heightContainer.getBoundingClientRect().height;\n document.body.removeChild(heightContainer);\n return realHeight;\n}\n\nvar _default = function _default(originElement, option, content, fixedContent, ellipsisStr) {\n if (!ellipsisContainer) {\n ellipsisContainer = document.createElement('div');\n ellipsisContainer.setAttribute('aria-hidden', 'true');\n } // HMR will remove this from body which should patch back\n\n\n if (!ellipsisContainer.parentNode) {\n document.body.appendChild(ellipsisContainer);\n }\n\n var rows = option.rows,\n _option$suffix = option.suffix,\n suffix = _option$suffix === void 0 ? '' : _option$suffix;\n var lineHeight = getRealLineHeight(originElement);\n var maxHeight = Math.round(lineHeight * rows * 100) / 100;\n resetDomStyles(ellipsisContainer, originElement); // Render in the fake container\n\n var contentList = mergeChildren((0, _toArray[\"default\"])(content));\n (0, _reactDom.render)( /*#__PURE__*/React.createElement(\"div\", {\n style: wrapperStyle\n }, /*#__PURE__*/React.createElement(\"span\", {\n style: wrapperStyle\n }, contentList, suffix), /*#__PURE__*/React.createElement(\"span\", {\n style: wrapperStyle\n }, fixedContent)), ellipsisContainer); // wrap in an div for old version react\n // Check if ellipsis in measure div is height enough for content\n\n function inRange() {\n var currentHeight = Math.round(ellipsisContainer.getBoundingClientRect().height * 100) / 100;\n return currentHeight - .1 <= maxHeight; // -.1 for firefox\n } // Skip ellipsis if already match\n\n\n if (inRange()) {\n (0, _reactDom.unmountComponentAtNode)(ellipsisContainer);\n return {\n content: content,\n text: ellipsisContainer.innerHTML,\n ellipsis: false\n };\n } // We should clone the childNode since they're controlled by React and we can't reuse it without warning\n\n\n var childNodes = Array.prototype.slice.apply(ellipsisContainer.childNodes[0].childNodes[0].cloneNode(true).childNodes).filter(function (_ref) {\n var nodeType = _ref.nodeType;\n return nodeType !== COMMENT_NODE;\n });\n var fixedNodes = Array.prototype.slice.apply(ellipsisContainer.childNodes[0].childNodes[1].cloneNode(true).childNodes);\n (0, _reactDom.unmountComponentAtNode)(ellipsisContainer); // ========================= Find match ellipsis content =========================\n\n var ellipsisChildren = [];\n ellipsisContainer.innerHTML = ''; // Create origin content holder\n\n var ellipsisContentHolder = document.createElement('span');\n ellipsisContainer.appendChild(ellipsisContentHolder);\n var ellipsisTextNode = document.createTextNode(ellipsisStr + suffix);\n ellipsisContentHolder.appendChild(ellipsisTextNode);\n fixedNodes.forEach(function (childNode) {\n ellipsisContainer.appendChild(childNode);\n }); // Append before fixed nodes\n\n function appendChildNode(node) {\n ellipsisContentHolder.insertBefore(node, ellipsisTextNode);\n } // Get maximum text\n\n\n function measureText(textNode, fullText) {\n var startLoc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var endLoc = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : fullText.length;\n var lastSuccessLoc = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n var midLoc = Math.floor((startLoc + endLoc) / 2);\n var currentText = fullText.slice(0, midLoc);\n textNode.textContent = currentText;\n\n if (startLoc >= endLoc - 1) {\n // Loop when step is small\n for (var step = endLoc; step >= startLoc; step -= 1) {\n var currentStepText = fullText.slice(0, step);\n textNode.textContent = currentStepText;\n\n if (inRange() || !currentStepText) {\n return step === fullText.length ? {\n finished: false,\n reactNode: fullText\n } : {\n finished: true,\n reactNode: currentStepText\n };\n }\n }\n }\n\n if (inRange()) {\n return measureText(textNode, fullText, midLoc, endLoc, midLoc);\n }\n\n return measureText(textNode, fullText, startLoc, midLoc, lastSuccessLoc);\n }\n\n function measureNode(childNode, index) {\n var type = childNode.nodeType;\n\n if (type === ELEMENT_NODE) {\n // We don't split element, it will keep if whole element can be displayed.\n appendChildNode(childNode);\n\n if (inRange()) {\n return {\n finished: false,\n reactNode: contentList[index]\n };\n } // Clean up if can not pull in\n\n\n ellipsisContentHolder.removeChild(childNode);\n return {\n finished: true,\n reactNode: null\n };\n }\n\n if (type === TEXT_NODE) {\n var fullText = childNode.textContent || '';\n var textNode = document.createTextNode(fullText);\n appendChildNode(textNode);\n return measureText(textNode, fullText);\n } // Not handle other type of content\n // PS: This code should not be attached after react 16\n\n /* istanbul ignore next */\n\n\n return {\n finished: false,\n reactNode: null\n };\n }\n\n childNodes.some(function (childNode, index) {\n var _measureNode = measureNode(childNode, index),\n finished = _measureNode.finished,\n reactNode = _measureNode.reactNode;\n\n if (reactNode) {\n ellipsisChildren.push(reactNode);\n }\n\n return finished;\n });\n return {\n content: ellipsisChildren,\n text: ellipsisContainer.innerHTML,\n ellipsis: true\n };\n};\n\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof3 = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _devWarning = _interopRequireDefault(require(\"../_util/devWarning\"));\n\nvar _Base = _interopRequireDefault(require(\"./Base\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar __rest = void 0 && (void 0).__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nvar Link = function Link(_a, ref) {\n var ellipsis = _a.ellipsis,\n rel = _a.rel,\n restProps = __rest(_a, [\"ellipsis\", \"rel\"]);\n\n (0, _devWarning[\"default\"])((0, _typeof2[\"default\"])(ellipsis) !== 'object', 'Typography.Link', '`ellipsis` only supports boolean value.');\n var baseRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n var _a;\n\n return (_a = baseRef.current) === null || _a === void 0 ? void 0 : _a.contentRef.current;\n });\n var mergedProps = (0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, restProps), {\n rel: rel === undefined && restProps.target === '_blank' ? 'noopener noreferrer' : rel\n }); // https://github.com/ant-design/ant-design/issues/26622\n // @ts-ignore\n\n delete mergedProps.navigate;\n return /*#__PURE__*/React.createElement(_Base[\"default\"], (0, _extends2[\"default\"])({}, mergedProps, {\n ref: baseRef,\n ellipsis: !!ellipsis,\n component: \"a\"\n }));\n};\n\nvar _default = /*#__PURE__*/React.forwardRef(Link);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _devWarning = _interopRequireDefault(require(\"../_util/devWarning\"));\n\nvar _Base = _interopRequireDefault(require(\"./Base\"));\n\nvar _type = require(\"../_util/type\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar __rest = void 0 && (void 0).__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nvar TITLE_ELE_LIST = (0, _type.tupleNum)(1, 2, 3, 4, 5);\n\nvar Title = function Title(props) {\n var _props$level = props.level,\n level = _props$level === void 0 ? 1 : _props$level,\n restProps = __rest(props, [\"level\"]);\n\n var component;\n\n if (TITLE_ELE_LIST.indexOf(level) !== -1) {\n component = \"h\".concat(level);\n } else {\n (0, _devWarning[\"default\"])(false, 'Typography.Title', 'Title only accept `1 | 2 | 3 | 4 | 5` as `level` value. And `5` need 4.6.0+ version.');\n component = 'h1';\n }\n\n return /*#__PURE__*/React.createElement(_Base[\"default\"], (0, _extends2[\"default\"])({}, restProps, {\n component: component\n }));\n};\n\nvar _default = Title;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _Base = _interopRequireDefault(require(\"./Base\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar Paragraph = function Paragraph(props) {\n return /*#__PURE__*/React.createElement(_Base[\"default\"], (0, _extends2[\"default\"])({}, props, {\n component: \"div\"\n }));\n};\n\nvar _default = Paragraph;\nexports[\"default\"] = _default;","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2019 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf.worker\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf.worker\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf.worker\"] = root.pdfjsWorker = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__w_pdfjs_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__w_pdfjs_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pdfjsVersion = '2.2.228';\nvar pdfjsBuild = 'd7afb74a';\n\nvar pdfjsCoreWorker = __w_pdfjs_require__(1);\n\nexports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WorkerMessageHandler = exports.WorkerTask = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _pdf_manager = __w_pdfjs_require__(152);\n\nvar _is_node = _interopRequireDefault(__w_pdfjs_require__(8));\n\nvar _message_handler = __w_pdfjs_require__(191);\n\nvar _worker_stream = __w_pdfjs_require__(192);\n\nvar _core_utils = __w_pdfjs_require__(154);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nvar WorkerTask = function WorkerTaskClosure() {\n function WorkerTask(name) {\n this.name = name;\n this.terminated = false;\n this._capability = (0, _util.createPromiseCapability)();\n }\n\n WorkerTask.prototype = {\n get finished() {\n return this._capability.promise;\n },\n\n finish: function finish() {\n this._capability.resolve();\n },\n terminate: function terminate() {\n this.terminated = true;\n },\n ensureNotTerminated: function ensureNotTerminated() {\n if (this.terminated) {\n throw new Error('Worker task was terminated');\n }\n }\n };\n return WorkerTask;\n}();\n\nexports.WorkerTask = WorkerTask;\nvar WorkerMessageHandler = {\n setup: function setup(handler, port) {\n var testMessageProcessed = false;\n handler.on('test', function wphSetupTest(data) {\n if (testMessageProcessed) {\n return;\n }\n\n testMessageProcessed = true;\n\n if (!(data instanceof Uint8Array)) {\n handler.send('test', false);\n return;\n }\n\n var supportTransfers = data[0] === 255;\n handler.postMessageTransfers = supportTransfers;\n var xhr = new XMLHttpRequest();\n var responseExists = 'response' in xhr;\n\n try {\n xhr.responseType;\n } catch (e) {\n responseExists = false;\n }\n\n if (!responseExists) {\n handler.send('test', false);\n return;\n }\n\n handler.send('test', {\n supportTypedArray: true,\n supportTransfers: supportTransfers\n });\n });\n handler.on('configure', function wphConfigure(data) {\n (0, _util.setVerbosityLevel)(data.verbosity);\n });\n handler.on('GetDocRequest', function wphSetupDoc(data) {\n return WorkerMessageHandler.createDocumentHandler(data, port);\n });\n },\n createDocumentHandler: function createDocumentHandler(docParams, port) {\n var pdfManager;\n var terminated = false;\n var cancelXHRs = null;\n var WorkerTasks = [];\n var verbosity = (0, _util.getVerbosityLevel)();\n var apiVersion = docParams.apiVersion;\n var workerVersion = '2.2.228';\n\n if (apiVersion !== workerVersion) {\n throw new Error(\"The API version \\\"\".concat(apiVersion, \"\\\" does not match \") + \"the Worker version \\\"\".concat(workerVersion, \"\\\".\"));\n }\n\n var docId = docParams.docId;\n var docBaseUrl = docParams.docBaseUrl;\n var workerHandlerName = docParams.docId + '_worker';\n var handler = new _message_handler.MessageHandler(workerHandlerName, docId, port);\n handler.postMessageTransfers = docParams.postMessageTransfers;\n\n function ensureNotTerminated() {\n if (terminated) {\n throw new Error('Worker was terminated');\n }\n }\n\n function startWorkerTask(task) {\n WorkerTasks.push(task);\n }\n\n function finishWorkerTask(task) {\n task.finish();\n var i = WorkerTasks.indexOf(task);\n WorkerTasks.splice(i, 1);\n }\n\n function loadDocument(_x) {\n return _loadDocument.apply(this, arguments);\n }\n\n function _loadDocument() {\n _loadDocument = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(recoveryMode) {\n var _ref4, _ref5, numPages, fingerprint;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return pdfManager.ensureDoc('checkHeader');\n\n case 2:\n _context.next = 4;\n return pdfManager.ensureDoc('parseStartXRef');\n\n case 4:\n _context.next = 6;\n return pdfManager.ensureDoc('parse', [recoveryMode]);\n\n case 6:\n if (recoveryMode) {\n _context.next = 9;\n break;\n }\n\n _context.next = 9;\n return pdfManager.ensureDoc('checkFirstPage');\n\n case 9:\n _context.next = 11;\n return Promise.all([pdfManager.ensureDoc('numPages'), pdfManager.ensureDoc('fingerprint')]);\n\n case 11:\n _ref4 = _context.sent;\n _ref5 = _slicedToArray(_ref4, 2);\n numPages = _ref5[0];\n fingerprint = _ref5[1];\n return _context.abrupt(\"return\", {\n numPages: numPages,\n fingerprint: fingerprint\n });\n\n case 16:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _loadDocument.apply(this, arguments);\n }\n\n function getPdfManager(data, evaluatorOptions) {\n var pdfManagerCapability = (0, _util.createPromiseCapability)();\n var pdfManager;\n var source = data.source;\n\n if (source.data) {\n try {\n pdfManager = new _pdf_manager.LocalPdfManager(docId, source.data, source.password, evaluatorOptions, docBaseUrl);\n pdfManagerCapability.resolve(pdfManager);\n } catch (ex) {\n pdfManagerCapability.reject(ex);\n }\n\n return pdfManagerCapability.promise;\n }\n\n var pdfStream,\n cachedChunks = [];\n\n try {\n pdfStream = new _worker_stream.PDFWorkerStream(handler);\n } catch (ex) {\n pdfManagerCapability.reject(ex);\n return pdfManagerCapability.promise;\n }\n\n var fullRequest = pdfStream.getFullReader();\n fullRequest.headersReady.then(function () {\n if (!fullRequest.isRangeSupported) {\n return;\n }\n\n var disableAutoFetch = source.disableAutoFetch || fullRequest.isStreamingSupported;\n pdfManager = new _pdf_manager.NetworkPdfManager(docId, pdfStream, {\n msgHandler: handler,\n password: source.password,\n length: fullRequest.contentLength,\n disableAutoFetch: disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize\n }, evaluatorOptions, docBaseUrl);\n\n for (var i = 0; i < cachedChunks.length; i++) {\n pdfManager.sendProgressiveData(cachedChunks[i]);\n }\n\n cachedChunks = [];\n pdfManagerCapability.resolve(pdfManager);\n cancelXHRs = null;\n })[\"catch\"](function (reason) {\n pdfManagerCapability.reject(reason);\n cancelXHRs = null;\n });\n var loaded = 0;\n\n var flushChunks = function flushChunks() {\n var pdfFile = (0, _util.arraysToBytes)(cachedChunks);\n\n if (source.length && pdfFile.length !== source.length) {\n (0, _util.warn)('reported HTTP length is different from actual');\n }\n\n try {\n pdfManager = new _pdf_manager.LocalPdfManager(docId, pdfFile, source.password, evaluatorOptions, docBaseUrl);\n pdfManagerCapability.resolve(pdfManager);\n } catch (ex) {\n pdfManagerCapability.reject(ex);\n }\n\n cachedChunks = [];\n };\n\n var readPromise = new Promise(function (resolve, reject) {\n var readChunk = function readChunk(chunk) {\n try {\n ensureNotTerminated();\n\n if (chunk.done) {\n if (!pdfManager) {\n flushChunks();\n }\n\n cancelXHRs = null;\n return;\n }\n\n var data = chunk.value;\n loaded += (0, _util.arrayByteLength)(data);\n\n if (!fullRequest.isStreamingSupported) {\n handler.send('DocProgress', {\n loaded: loaded,\n total: Math.max(loaded, fullRequest.contentLength || 0)\n });\n }\n\n if (pdfManager) {\n pdfManager.sendProgressiveData(data);\n } else {\n cachedChunks.push(data);\n }\n\n fullRequest.read().then(readChunk, reject);\n } catch (e) {\n reject(e);\n }\n };\n\n fullRequest.read().then(readChunk, reject);\n });\n readPromise[\"catch\"](function (e) {\n pdfManagerCapability.reject(e);\n cancelXHRs = null;\n });\n\n cancelXHRs = function cancelXHRs() {\n pdfStream.cancelAllRequests('abort');\n };\n\n return pdfManagerCapability.promise;\n }\n\n function setupDoc(data) {\n function onSuccess(doc) {\n ensureNotTerminated();\n handler.send('GetDoc', {\n pdfInfo: doc\n });\n }\n\n function onFailure(e) {\n ensureNotTerminated();\n\n if (e instanceof _util.PasswordException) {\n var task = new WorkerTask('PasswordException: response ' + e.code);\n startWorkerTask(task);\n handler.sendWithPromise('PasswordRequest', e).then(function (data) {\n finishWorkerTask(task);\n pdfManager.updatePassword(data.password);\n pdfManagerReady();\n })[\"catch\"](function (boundException) {\n finishWorkerTask(task);\n handler.send('PasswordException', boundException);\n }.bind(null, e));\n } else if (e instanceof _util.InvalidPDFException) {\n handler.send('InvalidPDF', e);\n } else if (e instanceof _util.MissingPDFException) {\n handler.send('MissingPDF', e);\n } else if (e instanceof _util.UnexpectedResponseException) {\n handler.send('UnexpectedResponse', e);\n } else {\n handler.send('UnknownError', new _util.UnknownErrorException(e.message, e.toString()));\n }\n }\n\n function pdfManagerReady() {\n ensureNotTerminated();\n loadDocument(false).then(onSuccess, function loadFailure(ex) {\n ensureNotTerminated();\n\n if (!(ex instanceof _core_utils.XRefParseException)) {\n onFailure(ex);\n return;\n }\n\n pdfManager.requestLoadedStream();\n pdfManager.onLoadedStream().then(function () {\n ensureNotTerminated();\n loadDocument(true).then(onSuccess, onFailure);\n });\n }, onFailure);\n }\n\n ensureNotTerminated();\n var evaluatorOptions = {\n forceDataSchema: data.disableCreateObjectURL,\n maxImageSize: data.maxImageSize,\n disableFontFace: data.disableFontFace,\n nativeImageDecoderSupport: data.nativeImageDecoderSupport,\n ignoreErrors: data.ignoreErrors,\n isEvalSupported: data.isEvalSupported\n };\n getPdfManager(data, evaluatorOptions).then(function (newPdfManager) {\n if (terminated) {\n newPdfManager.terminate();\n throw new Error('Worker was terminated');\n }\n\n pdfManager = newPdfManager;\n pdfManager.onLoadedStream().then(function (stream) {\n handler.send('DataLoaded', {\n length: stream.bytes.byteLength\n });\n });\n }).then(pdfManagerReady, onFailure);\n }\n\n handler.on('GetPage', function wphSetupGetPage(data) {\n return pdfManager.getPage(data.pageIndex).then(function (page) {\n return Promise.all([pdfManager.ensure(page, 'rotate'), pdfManager.ensure(page, 'ref'), pdfManager.ensure(page, 'userUnit'), pdfManager.ensure(page, 'view')]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 4),\n rotate = _ref2[0],\n ref = _ref2[1],\n userUnit = _ref2[2],\n view = _ref2[3];\n\n return {\n rotate: rotate,\n ref: ref,\n userUnit: userUnit,\n view: view\n };\n });\n });\n });\n handler.on('GetPageIndex', function wphSetupGetPageIndex(data) {\n var ref = _primitives.Ref.get(data.ref.num, data.ref.gen);\n\n var catalog = pdfManager.pdfDocument.catalog;\n return catalog.getPageIndex(ref);\n });\n handler.on('GetDestinations', function wphSetupGetDestinations(data) {\n return pdfManager.ensureCatalog('destinations');\n });\n handler.on('GetDestination', function wphSetupGetDestination(data) {\n return pdfManager.ensureCatalog('getDestination', [data.id]);\n });\n handler.on('GetPageLabels', function wphSetupGetPageLabels(data) {\n return pdfManager.ensureCatalog('pageLabels');\n });\n handler.on('GetPageLayout', function wphSetupGetPageLayout(data) {\n return pdfManager.ensureCatalog('pageLayout');\n });\n handler.on('GetPageMode', function wphSetupGetPageMode(data) {\n return pdfManager.ensureCatalog('pageMode');\n });\n handler.on('GetViewerPreferences', function (data) {\n return pdfManager.ensureCatalog('viewerPreferences');\n });\n handler.on('GetOpenActionDestination', function (data) {\n return pdfManager.ensureCatalog('openActionDestination');\n });\n handler.on('GetAttachments', function wphSetupGetAttachments(data) {\n return pdfManager.ensureCatalog('attachments');\n });\n handler.on('GetJavaScript', function wphSetupGetJavaScript(data) {\n return pdfManager.ensureCatalog('javaScript');\n });\n handler.on('GetOutline', function wphSetupGetOutline(data) {\n return pdfManager.ensureCatalog('documentOutline');\n });\n handler.on('GetPermissions', function (data) {\n return pdfManager.ensureCatalog('permissions');\n });\n handler.on('GetMetadata', function wphSetupGetMetadata(data) {\n return Promise.all([pdfManager.ensureDoc('documentInfo'), pdfManager.ensureCatalog('metadata')]);\n });\n handler.on('GetData', function wphSetupGetData(data) {\n pdfManager.requestLoadedStream();\n return pdfManager.onLoadedStream().then(function (stream) {\n return stream.bytes;\n });\n });\n handler.on('GetStats', function wphSetupGetStats(data) {\n return pdfManager.pdfDocument.xref.stats;\n });\n handler.on('GetAnnotations', function (_ref3) {\n var pageIndex = _ref3.pageIndex,\n intent = _ref3.intent;\n return pdfManager.getPage(pageIndex).then(function (page) {\n return page.getAnnotationsData(intent);\n });\n });\n handler.on('RenderPageRequest', function wphSetupRenderPage(data) {\n var pageIndex = data.pageIndex;\n pdfManager.getPage(pageIndex).then(function (page) {\n var task = new WorkerTask('RenderPageRequest: page ' + pageIndex);\n startWorkerTask(task);\n var start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;\n page.getOperatorList({\n handler: handler,\n task: task,\n intent: data.intent,\n renderInteractiveForms: data.renderInteractiveForms\n }).then(function (operatorList) {\n finishWorkerTask(task);\n\n if (start) {\n (0, _util.info)(\"page=\".concat(pageIndex + 1, \" - getOperatorList: time=\") + \"\".concat(Date.now() - start, \"ms, len=\").concat(operatorList.totalLength));\n }\n }, function (e) {\n finishWorkerTask(task);\n\n if (task.terminated) {\n return;\n }\n\n handler.send('UnsupportedFeature', {\n featureId: _util.UNSUPPORTED_FEATURES.unknown\n });\n var minimumStackMessage = 'worker.js: while trying to getPage() and getOperatorList()';\n var wrappedException;\n\n if (typeof e === 'string') {\n wrappedException = {\n message: e,\n stack: minimumStackMessage\n };\n } else if (_typeof(e) === 'object') {\n wrappedException = {\n message: e.message || e.toString(),\n stack: e.stack || minimumStackMessage\n };\n } else {\n wrappedException = {\n message: 'Unknown exception type: ' + _typeof(e),\n stack: minimumStackMessage\n };\n }\n\n handler.send('PageError', {\n pageIndex: pageIndex,\n error: wrappedException,\n intent: data.intent\n });\n });\n });\n }, this);\n handler.on('GetTextContent', function wphExtractText(data, sink) {\n var pageIndex = data.pageIndex;\n\n sink.onPull = function (desiredSize) {};\n\n sink.onCancel = function (reason) {};\n\n pdfManager.getPage(pageIndex).then(function (page) {\n var task = new WorkerTask('GetTextContent: page ' + pageIndex);\n startWorkerTask(task);\n var start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;\n page.extractTextContent({\n handler: handler,\n task: task,\n sink: sink,\n normalizeWhitespace: data.normalizeWhitespace,\n combineTextItems: data.combineTextItems\n }).then(function () {\n finishWorkerTask(task);\n\n if (start) {\n (0, _util.info)(\"page=\".concat(pageIndex + 1, \" - getTextContent: time=\") + \"\".concat(Date.now() - start, \"ms\"));\n }\n\n sink.close();\n }, function (reason) {\n finishWorkerTask(task);\n\n if (task.terminated) {\n return;\n }\n\n sink.error(reason);\n throw reason;\n });\n });\n });\n handler.on('FontFallback', function (data) {\n return pdfManager.fontFallback(data.id, handler);\n });\n handler.on('Cleanup', function wphCleanup(data) {\n return pdfManager.cleanup();\n });\n handler.on('Terminate', function wphTerminate(data) {\n terminated = true;\n\n if (pdfManager) {\n pdfManager.terminate();\n pdfManager = null;\n }\n\n if (cancelXHRs) {\n cancelXHRs();\n }\n\n (0, _primitives.clearPrimitiveCaches)();\n var waitOn = [];\n WorkerTasks.forEach(function (task) {\n waitOn.push(task.finished);\n task.terminate();\n });\n return Promise.all(waitOn).then(function () {\n handler.destroy();\n handler = null;\n });\n });\n handler.on('Ready', function wphReady(data) {\n setupDoc(docParams);\n docParams = null;\n });\n return workerHandlerName;\n },\n initializeFromPort: function initializeFromPort(port) {\n var handler = new _message_handler.MessageHandler('worker', 'main', port);\n WorkerMessageHandler.setup(handler, port);\n handler.send('ready', null);\n }\n};\nexports.WorkerMessageHandler = WorkerMessageHandler;\n\nfunction isMessagePort(maybePort) {\n return typeof maybePort.postMessage === 'function' && 'onmessage' in maybePort;\n}\n\nif (typeof window === 'undefined' && !(0, _is_node[\"default\"])() && typeof self !== 'undefined' && isMessagePort(self)) {\n WorkerMessageHandler.initializeFromPort(self);\n}\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(3);\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar runtime = function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined;\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n\n exports.wrap = wrap;\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = \"GeneratorFunction\";\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n prototype[method] = function (arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n exports.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n\n if (value && _typeof(value) === \"object\" && hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function (unwrapped) {\n result.value = unwrapped;\n resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n\n exports.AsyncIterator = AsyncIterator;\n\n exports.async = function (innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\n if (record.type === \"normal\") {\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (method === undefined) {\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator[\"return\"]) {\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n return info;\n }\n\n context.delegate = null;\n return ContinueSentinel;\n }\n\n defineIteratorMethods(Gp);\n Gp[toStringTagSymbol] = \"Generator\";\n\n Gp[iteratorSymbol] = function () {\n return this;\n };\n\n Gp.toString = function () {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse();\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n return next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n exports.values = values;\n\n function doneResult() {\n return {\n value: undefined,\n done: true\n };\n }\n\n Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n if (name.charAt(0) === \"t\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function stop() {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" || record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n return exports;\n}(( false ? undefined : _typeof(module)) === \"object\" ? module.exports : {});\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(4)(module)))\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = [];\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isBool = isBool;\nexports.isEmptyObj = isEmptyObj;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSpace = isSpace;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.isLittleEndian = isLittleEndian;\nexports.isEvalSupported = isEvalSupported;\nexports.log2 = log2;\nexports.readInt8 = readInt8;\nexports.readUint16 = readUint16;\nexports.readUint32 = readUint32;\nexports.removeNullCharacters = removeNullCharacters;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.unreachable = unreachable;\nObject.defineProperty(exports, \"ReadableStream\", {\n enumerable: true,\n get: function get() {\n return _streams_polyfill.ReadableStream;\n }\n});\nObject.defineProperty(exports, \"URL\", {\n enumerable: true,\n get: function get() {\n return _url_polyfill.URL;\n }\n});\nexports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = void 0;\n\n__w_pdfjs_require__(6);\n\nvar _streams_polyfill = __w_pdfjs_require__(147);\n\nvar _url_polyfill = __w_pdfjs_require__(149);\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nvar NativeImageDecoding = {\n NONE: 'none',\n DECODE: 'decode',\n DISPLAY: 'display'\n};\nexports.NativeImageDecoding = NativeImageDecoding;\nvar PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nvar TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nvar ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nvar AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nvar AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nvar AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nvar AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nvar StreamType = {\n UNKNOWN: 0,\n FLATE: 1,\n LZW: 2,\n DCT: 3,\n JPX: 4,\n JBIG: 5,\n A85: 6,\n AHX: 7,\n CCF: 8,\n RL: 9\n};\nexports.StreamType = StreamType;\nvar FontType = {\n UNKNOWN: 0,\n TYPE1: 1,\n TYPE1C: 2,\n CIDFONTTYPE0: 3,\n CIDFONTTYPE0C: 4,\n TRUETYPE: 5,\n CIDFONTTYPE2: 6,\n TYPE3: 7,\n OPENTYPE: 8,\n TYPE0: 9,\n MMTYPE1: 10\n};\nexports.FontType = FontType;\nvar VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nvar CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nvar OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nexports.OPS = OPS;\nvar UNSUPPORTED_FEATURES = {\n unknown: 'unknown',\n forms: 'forms',\n javaScript: 'javaScript',\n smask: 'smask',\n shadingPattern: 'shadingPattern',\n font: 'font'\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nvar PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nvar verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log('Info: ' + msg);\n }\n}\n\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log('Warning: ' + msg);\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\nfunction isSameOrigin(baseUrl, otherUrl) {\n try {\n var base = new _url_polyfill.URL(baseUrl);\n\n if (!base.origin || base.origin === 'null') {\n return false;\n }\n } catch (e) {\n return false;\n }\n\n var other = new _url_polyfill.URL(otherUrl, base);\n return base.origin === other.origin;\n}\n\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case 'http:':\n case 'https:':\n case 'ftp:':\n case 'mailto:':\n case 'tel:':\n return true;\n\n default:\n return false;\n }\n}\n\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n\n try {\n var absoluteUrl = baseUrl ? new _url_polyfill.URL(url, baseUrl) : new _url_polyfill.URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n}\n\nvar PasswordException = function PasswordExceptionClosure() {\n function PasswordException(msg, code) {\n this.name = 'PasswordException';\n this.message = msg;\n this.code = code;\n }\n\n PasswordException.prototype = new Error();\n PasswordException.constructor = PasswordException;\n return PasswordException;\n}();\n\nexports.PasswordException = PasswordException;\n\nvar UnknownErrorException = function UnknownErrorExceptionClosure() {\n function UnknownErrorException(msg, details) {\n this.name = 'UnknownErrorException';\n this.message = msg;\n this.details = details;\n }\n\n UnknownErrorException.prototype = new Error();\n UnknownErrorException.constructor = UnknownErrorException;\n return UnknownErrorException;\n}();\n\nexports.UnknownErrorException = UnknownErrorException;\n\nvar InvalidPDFException = function InvalidPDFExceptionClosure() {\n function InvalidPDFException(msg) {\n this.name = 'InvalidPDFException';\n this.message = msg;\n }\n\n InvalidPDFException.prototype = new Error();\n InvalidPDFException.constructor = InvalidPDFException;\n return InvalidPDFException;\n}();\n\nexports.InvalidPDFException = InvalidPDFException;\n\nvar MissingPDFException = function MissingPDFExceptionClosure() {\n function MissingPDFException(msg) {\n this.name = 'MissingPDFException';\n this.message = msg;\n }\n\n MissingPDFException.prototype = new Error();\n MissingPDFException.constructor = MissingPDFException;\n return MissingPDFException;\n}();\n\nexports.MissingPDFException = MissingPDFException;\n\nvar UnexpectedResponseException = function UnexpectedResponseExceptionClosure() {\n function UnexpectedResponseException(msg, status) {\n this.name = 'UnexpectedResponseException';\n this.message = msg;\n this.status = status;\n }\n\n UnexpectedResponseException.prototype = new Error();\n UnexpectedResponseException.constructor = UnexpectedResponseException;\n return UnexpectedResponseException;\n}();\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nvar FormatError = function FormatErrorClosure() {\n function FormatError(msg) {\n this.message = msg;\n }\n\n FormatError.prototype = new Error();\n FormatError.prototype.name = 'FormatError';\n FormatError.constructor = FormatError;\n return FormatError;\n}();\n\nexports.FormatError = FormatError;\n\nvar AbortException = function AbortExceptionClosure() {\n function AbortException(msg) {\n this.name = 'AbortException';\n this.message = msg;\n }\n\n AbortException.prototype = new Error();\n AbortException.constructor = AbortException;\n return AbortException;\n}();\n\nexports.AbortException = AbortException;\nvar NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n if (typeof str !== 'string') {\n warn('The argument for removeNullCharacters must be a string.');\n return str;\n }\n\n return str.replace(NullCharactersRegExp, '');\n}\n\nfunction bytesToString(bytes) {\n assert(bytes !== null && _typeof(bytes) === 'object' && bytes.length !== undefined, 'Invalid argument for bytesToString');\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n var strBuf = [];\n\n for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n var chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n\n return strBuf.join('');\n}\n\nfunction stringToBytes(str) {\n assert(typeof str === 'string', 'Invalid argument for stringToBytes');\n var length = str.length;\n var bytes = new Uint8Array(length);\n\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xFF;\n }\n\n return bytes;\n}\n\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n assert(arr.byteLength !== undefined);\n return arr.byteLength;\n}\n\nfunction arraysToBytes(arr) {\n if (arr.length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n var resultLength = 0;\n var i,\n ii = arr.length;\n var item, itemLength;\n\n for (i = 0; i < ii; i++) {\n item = arr[i];\n itemLength = arrayByteLength(item);\n resultLength += itemLength;\n }\n\n var pos = 0;\n var data = new Uint8Array(resultLength);\n\n for (i = 0; i < ii; i++) {\n item = arr[i];\n\n if (!(item instanceof Uint8Array)) {\n if (typeof item === 'string') {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n\n itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction log2(x) {\n if (x <= 0) {\n return 0;\n }\n\n return Math.ceil(Math.log2(x));\n}\n\nfunction readInt8(data, start) {\n return data[start] << 24 >> 24;\n}\n\nfunction readUint16(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n}\n\nfunction readUint32(data, offset) {\n return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\n}\n\nfunction isLittleEndian() {\n var buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\nfunction isEvalSupported() {\n try {\n new Function('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar Util = function UtilClosure() {\n function Util() {}\n\n var rgbBuf = ['rgb(', 0, ',', 0, ',', 0, ')'];\n\n Util.makeCssRgb = function Util_makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join('');\n };\n\n Util.transform = function Util_transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n };\n\n Util.applyTransform = function Util_applyTransform(p, m) {\n var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n };\n\n Util.applyInverseTransform = function Util_applyInverseTransform(p, m) {\n var d = m[0] * m[3] - m[1] * m[2];\n var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n };\n\n Util.getAxialAlignedBoundingBox = function Util_getAxialAlignedBoundingBox(r, m) {\n var p1 = Util.applyTransform(r, m);\n var p2 = Util.applyTransform(r.slice(2, 4), m);\n var p3 = Util.applyTransform([r[0], r[3]], m);\n var p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n };\n\n Util.inverseTransform = function Util_inverseTransform(m) {\n var d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n };\n\n Util.apply3dTransform = function Util_apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n };\n\n Util.singularValueDecompose2dScale = function Util_singularValueDecompose2dScale(m) {\n var transpose = [m[0], m[2], m[1], m[3]];\n var a = m[0] * transpose[0] + m[1] * transpose[2];\n var b = m[0] * transpose[1] + m[1] * transpose[3];\n var c = m[2] * transpose[0] + m[3] * transpose[2];\n var d = m[2] * transpose[1] + m[3] * transpose[3];\n var first = (a + d) / 2;\n var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n var sx = first + second || 1;\n var sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n };\n\n Util.normalizeRect = function Util_normalizeRect(rect) {\n var r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n };\n\n Util.intersect = function Util_intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare),\n orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare),\n result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return false;\n }\n\n if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return false;\n }\n\n return result;\n };\n\n return Util;\n}();\n\nexports.Util = Util;\nvar PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\n\nfunction stringToPDFString(str) {\n var i,\n n = str.length,\n strBuf = [];\n\n if (str[0] === '\\xFE' && str[1] === '\\xFF') {\n for (i = 2; i < n; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else {\n for (i = 0; i < n; ++i) {\n var code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n }\n\n return strBuf.join('');\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isEmptyObj(obj) {\n for (var key in obj) {\n return false;\n }\n\n return true;\n}\n\nfunction isBool(v) {\n return typeof v === 'boolean';\n}\n\nfunction isNum(v) {\n return typeof v === 'number';\n}\n\nfunction isString(v) {\n return typeof v === 'string';\n}\n\nfunction isArrayBuffer(v) {\n return _typeof(v) === 'object' && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n return arr1.every(function (element, index) {\n return element === arr2[index];\n });\n}\n\nfunction isSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0D || ch === 0x0A;\n}\n\nfunction createPromiseCapability() {\n var capability = Object.create(null);\n var isSettled = false;\n Object.defineProperty(capability, 'settled', {\n get: function get() {\n return isSettled;\n }\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nvar createObjectURL = function createObjectURLClosure() {\n var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n return function createObjectURL(data, contentType) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!forceDataSchema && _url_polyfill.URL.createObjectURL) {\n var blob = new Blob([data], {\n type: contentType\n });\n return _url_polyfill.URL.createObjectURL(blob);\n }\n\n var buffer = 'data:' + contentType + ';base64,';\n\n for (var i = 0, ii = data.length; i < ii; i += 3) {\n var b1 = data[i] & 0xFF;\n var b2 = data[i + 1] & 0xFF;\n var b3 = data[i + 2] & 0xFF;\n var d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n var d3 = i + 1 < ii ? (b2 & 0xF) << 2 | b3 >> 6 : 64;\n var d4 = i + 2 < ii ? b3 & 0x3F : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n\n return buffer;\n };\n}();\n\nexports.createObjectURL = createObjectURL;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar globalScope = __w_pdfjs_require__(7);\n\nif (!globalScope._pdfjsCompatibilityChecked) {\n globalScope._pdfjsCompatibilityChecked = true;\n\n var isNodeJS = __w_pdfjs_require__(8);\n\n var hasDOM = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === 'object' && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === 'object';\n\n (function checkNodeBtoa() {\n if (globalScope.btoa || !isNodeJS()) {\n return;\n }\n\n globalScope.btoa = function (chars) {\n return Buffer.from(chars, 'binary').toString('base64');\n };\n })();\n\n (function checkNodeAtob() {\n if (globalScope.atob || !isNodeJS()) {\n return;\n }\n\n globalScope.atob = function (input) {\n return Buffer.from(input, 'base64').toString('binary');\n };\n })();\n\n (function checkChildNodeRemove() {\n if (!hasDOM) {\n return;\n }\n\n if (typeof Element.prototype.remove !== 'undefined') {\n return;\n }\n\n Element.prototype.remove = function () {\n if (this.parentNode) {\n this.parentNode.removeChild(this);\n }\n };\n })();\n\n (function checkDOMTokenListAddRemove() {\n if (!hasDOM || isNodeJS()) {\n return;\n }\n\n var div = document.createElement('div');\n div.classList.add('testOne', 'testTwo');\n\n if (div.classList.contains('testOne') === true && div.classList.contains('testTwo') === true) {\n return;\n }\n\n var OriginalDOMTokenListAdd = DOMTokenList.prototype.add;\n var OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;\n\n DOMTokenList.prototype.add = function () {\n for (var _len = arguments.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {\n tokens[_key] = arguments[_key];\n }\n\n for (var _i = 0, _tokens = tokens; _i < _tokens.length; _i++) {\n var token = _tokens[_i];\n OriginalDOMTokenListAdd.call(this, token);\n }\n };\n\n DOMTokenList.prototype.remove = function () {\n for (var _len2 = arguments.length, tokens = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n tokens[_key2] = arguments[_key2];\n }\n\n for (var _i2 = 0, _tokens2 = tokens; _i2 < _tokens2.length; _i2++) {\n var token = _tokens2[_i2];\n OriginalDOMTokenListRemove.call(this, token);\n }\n };\n })();\n\n (function checkDOMTokenListToggle() {\n if (!hasDOM || isNodeJS()) {\n return;\n }\n\n var div = document.createElement('div');\n\n if (div.classList.toggle('test', 0) === false) {\n return;\n }\n\n DOMTokenList.prototype.toggle = function (token) {\n var force = arguments.length > 1 ? !!arguments[1] : !this.contains(token);\n return this[force ? 'add' : 'remove'](token), force;\n };\n })();\n\n (function checkStringStartsWith() {\n if (String.prototype.startsWith) {\n return;\n }\n\n __w_pdfjs_require__(9);\n })();\n\n (function checkStringEndsWith() {\n if (String.prototype.endsWith) {\n return;\n }\n\n __w_pdfjs_require__(40);\n })();\n\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(42);\n })();\n\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(44);\n })();\n\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n\n __w_pdfjs_require__(51);\n })();\n\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n\n __w_pdfjs_require__(74);\n })();\n\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n\n Math.log2 = __w_pdfjs_require__(79);\n })();\n\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n\n Number.isNaN = __w_pdfjs_require__(81);\n })();\n\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n\n Number.isInteger = __w_pdfjs_require__(83);\n })();\n\n (function checkPromise() {\n if (globalScope.Promise && globalScope.Promise.prototype && globalScope.Promise.prototype[\"finally\"]) {\n return;\n }\n\n globalScope.Promise = __w_pdfjs_require__(86);\n })();\n\n (function checkWeakMap() {\n if (globalScope.WeakMap) {\n return;\n }\n\n globalScope.WeakMap = __w_pdfjs_require__(106);\n })();\n\n (function checkWeakSet() {\n if (globalScope.WeakSet) {\n return;\n }\n\n globalScope.WeakSet = __w_pdfjs_require__(123);\n })();\n\n (function checkStringCodePointAt() {\n if (String.codePointAt) {\n return;\n }\n\n String.codePointAt = __w_pdfjs_require__(127);\n })();\n\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n\n String.fromCodePoint = __w_pdfjs_require__(129);\n })();\n\n (function checkSymbol() {\n if (globalScope.Symbol) {\n return;\n }\n\n __w_pdfjs_require__(131);\n })();\n\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n\n __w_pdfjs_require__(138);\n })();\n\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n\n __w_pdfjs_require__(142);\n })();\n\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n\n Object.values = __w_pdfjs_require__(144);\n })();\n}\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = typeof window !== 'undefined' && window.Math === Math ? window : typeof global !== 'undefined' && global.Math === Math ? global : typeof self !== 'undefined' && self.Math === Math ? self : {};\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nmodule.exports = function isNodeJS() {\n return (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === 'object' && process + '' === '[object process]' && !process.versions['nw'] && !process.versions['electron'];\n};\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(10);\n\nmodule.exports = __w_pdfjs_require__(13).String.startsWith;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\n\nvar toLength = __w_pdfjs_require__(32);\n\nvar context = __w_pdfjs_require__(34);\n\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n$export($export.P + $export.F * __w_pdfjs_require__(39)(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith ? $startsWith.call(that, search, index) : that.slice(index, index + search.length) === search;\n }\n});\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(12);\n\nvar core = __w_pdfjs_require__(13);\n\nvar hide = __w_pdfjs_require__(14);\n\nvar redefine = __w_pdfjs_require__(24);\n\nvar ctx = __w_pdfjs_require__(30);\n\nvar PROTOTYPE = 'prototype';\n\nvar $export = function $export(type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n\n for (key in source) {\n own = !IS_FORCED && target && target[key] !== undefined;\n out = (own ? target : source)[key];\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n if (target) redefine(target, key, out, type & $export.U);\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\n\nglobal.core = core;\n$export.F = 1;\n$export.G = 2;\n$export.S = 4;\n$export.P = 8;\n$export.B = 16;\n$export.W = 32;\n$export.U = 64;\n$export.R = 128;\nmodule.exports = $export;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif (typeof __g == 'number') __g = global;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar core = module.exports = {\n version: '2.6.9'\n};\nif (typeof __e == 'number') __e = core;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar dP = __w_pdfjs_require__(15);\n\nvar createDesc = __w_pdfjs_require__(23);\n\nmodule.exports = __w_pdfjs_require__(19) ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(16);\n\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(18);\n\nvar toPrimitive = __w_pdfjs_require__(22);\n\nvar dP = Object.defineProperty;\nexports.f = __w_pdfjs_require__(19) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) {}\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(17);\n\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nmodule.exports = function (it) {\n return _typeof(it) === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = !__w_pdfjs_require__(19) && !__w_pdfjs_require__(20)(function () {\n return Object.defineProperty(__w_pdfjs_require__(21)('div'), 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = !__w_pdfjs_require__(20)(function () {\n return Object.defineProperty({}, 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(17);\n\nvar document = __w_pdfjs_require__(12).document;\n\nvar is = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(17);\n\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(12);\n\nvar hide = __w_pdfjs_require__(14);\n\nvar has = __w_pdfjs_require__(25);\n\nvar SRC = __w_pdfjs_require__(26)('src');\n\nvar $toString = __w_pdfjs_require__(27);\n\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\n__w_pdfjs_require__(13).inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar id = 0;\nvar px = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(28)('native-function-to-string', Function.toString);\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar core = __w_pdfjs_require__(13);\n\nvar global = __w_pdfjs_require__(12);\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __w_pdfjs_require__(29) ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = false;\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar aFunction = __w_pdfjs_require__(31);\n\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n\n switch (length) {\n case 1:\n return function (a) {\n return fn.call(that, a);\n };\n\n case 2:\n return function (a, b) {\n return fn.call(that, a, b);\n };\n\n case 3:\n return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n\n return function () {\n return fn.apply(that, arguments);\n };\n};\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(33);\n\nvar min = Math.min;\n\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0;\n};\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isRegExp = __w_pdfjs_require__(35);\n\nvar defined = __w_pdfjs_require__(38);\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(17);\n\nvar cof = __w_pdfjs_require__(36);\n\nvar MATCH = __w_pdfjs_require__(37)('match');\n\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar store = __w_pdfjs_require__(28)('wks');\n\nvar uid = __w_pdfjs_require__(26);\n\nvar _Symbol = __w_pdfjs_require__(12).Symbol;\n\nvar USE_SYMBOL = typeof _Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] = USE_SYMBOL && _Symbol[name] || (USE_SYMBOL ? _Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar MATCH = __w_pdfjs_require__(37)('match');\n\nmodule.exports = function (KEY) {\n var re = /./;\n\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) {}\n }\n\n return true;\n};\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(41);\n\nmodule.exports = __w_pdfjs_require__(13).String.endsWith;\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\n\nvar toLength = __w_pdfjs_require__(32);\n\nvar context = __w_pdfjs_require__(34);\n\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n$export($export.P + $export.F * __w_pdfjs_require__(39)(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith ? $endsWith.call(that, search, end) : that.slice(end - search.length, end) === search;\n }\n});\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(43);\n\nmodule.exports = __w_pdfjs_require__(13).String.includes;\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\n\nvar context = __w_pdfjs_require__(34);\n\nvar INCLUDES = 'includes';\n$export($export.P + $export.F * __w_pdfjs_require__(39)(INCLUDES), 'String', {\n includes: function includes(searchString) {\n return !!~context(this, searchString, INCLUDES).indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(45);\n\nmodule.exports = __w_pdfjs_require__(13).Array.includes;\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\n\nvar $includes = __w_pdfjs_require__(46)(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n__w_pdfjs_require__(50)('includes');\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toIObject = __w_pdfjs_require__(47);\n\nvar toLength = __w_pdfjs_require__(32);\n\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\n\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n if (value != value) return true;\n } else for (; length > index; index++) {\n if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n }\n }\n return !IS_INCLUDES && -1;\n };\n};\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar IObject = __w_pdfjs_require__(48);\n\nvar defined = __w_pdfjs_require__(38);\n\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(36);\n\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(33);\n\nvar max = Math.max;\nvar min = Math.min;\n\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar UNSCOPABLES = __w_pdfjs_require__(37)('unscopables');\n\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) __w_pdfjs_require__(14)(ArrayProto, UNSCOPABLES, {});\n\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(52);\n\n__w_pdfjs_require__(67);\n\nmodule.exports = __w_pdfjs_require__(13).Array.from;\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $at = __w_pdfjs_require__(53)(true);\n\n__w_pdfjs_require__(54)(String, 'String', function (iterated) {\n this._t = String(iterated);\n this._i = 0;\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return {\n value: undefined,\n done: true\n };\n point = $at(O, index);\n this._i += point.length;\n return {\n value: point,\n done: false\n };\n});\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(33);\n\nvar defined = __w_pdfjs_require__(38);\n\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar LIBRARY = __w_pdfjs_require__(29);\n\nvar $export = __w_pdfjs_require__(11);\n\nvar redefine = __w_pdfjs_require__(24);\n\nvar hide = __w_pdfjs_require__(14);\n\nvar Iterators = __w_pdfjs_require__(55);\n\nvar $iterCreate = __w_pdfjs_require__(56);\n\nvar setToStringTag = __w_pdfjs_require__(64);\n\nvar getPrototypeOf = __w_pdfjs_require__(65);\n\nvar ITERATOR = __w_pdfjs_require__(37)('iterator');\n\nvar BUGGY = !([].keys && 'next' in [].keys());\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function returnThis() {\n return this;\n};\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n\n var getMethod = function getMethod(kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n\n switch (kind) {\n case KEYS:\n return function keys() {\n return new Constructor(this, kind);\n };\n\n case VALUES:\n return function values() {\n return new Constructor(this, kind);\n };\n }\n\n return function entries() {\n return new Constructor(this, kind);\n };\n };\n\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n setToStringTag(IteratorPrototype, TAG, true);\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n\n $default = function values() {\n return $native.call(this);\n };\n }\n\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n\n return methods;\n};\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {};\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar create = __w_pdfjs_require__(57);\n\nvar descriptor = __w_pdfjs_require__(23);\n\nvar setToStringTag = __w_pdfjs_require__(64);\n\nvar IteratorPrototype = {};\n\n__w_pdfjs_require__(14)(IteratorPrototype, __w_pdfjs_require__(37)('iterator'), function () {\n return this;\n});\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, {\n next: descriptor(1, next)\n });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(16);\n\nvar dPs = __w_pdfjs_require__(58);\n\nvar enumBugKeys = __w_pdfjs_require__(62);\n\nvar IE_PROTO = __w_pdfjs_require__(61)('IE_PROTO');\n\nvar Empty = function Empty() {};\n\nvar PROTOTYPE = 'prototype';\n\nvar _createDict = function createDict() {\n var iframe = __w_pdfjs_require__(21)('iframe');\n\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n\n __w_pdfjs_require__(63).appendChild(iframe);\n\n iframe.src = 'javascript:';\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n _createDict = iframeDocument.F;\n\n while (i--) {\n delete _createDict[PROTOTYPE][enumBugKeys[i]];\n }\n\n return _createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else result = _createDict();\n\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar dP = __w_pdfjs_require__(15);\n\nvar anObject = __w_pdfjs_require__(16);\n\nvar getKeys = __w_pdfjs_require__(59);\n\nmodule.exports = __w_pdfjs_require__(19) ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n\n while (length > i) {\n dP.f(O, P = keys[i++], Properties[P]);\n }\n\n return O;\n};\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(60);\n\nvar enumBugKeys = __w_pdfjs_require__(62);\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar has = __w_pdfjs_require__(25);\n\nvar toIObject = __w_pdfjs_require__(47);\n\nvar arrayIndexOf = __w_pdfjs_require__(46)(false);\n\nvar IE_PROTO = __w_pdfjs_require__(61)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n\n for (key in O) {\n if (key != IE_PROTO) has(O, key) && result.push(key);\n }\n\n while (names.length > i) {\n if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n }\n\n return result;\n};\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar shared = __w_pdfjs_require__(28)('keys');\n\nvar uid = __w_pdfjs_require__(26);\n\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'.split(',');\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar document = __w_pdfjs_require__(12).document;\n\nmodule.exports = document && document.documentElement;\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar def = __w_pdfjs_require__(15).f;\n\nvar has = __w_pdfjs_require__(25);\n\nvar TAG = __w_pdfjs_require__(37)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, {\n configurable: true,\n value: tag\n });\n};\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar has = __w_pdfjs_require__(25);\n\nvar toObject = __w_pdfjs_require__(66);\n\nvar IE_PROTO = __w_pdfjs_require__(61)('IE_PROTO');\n\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }\n\n return O instanceof Object ? ObjectProto : null;\n};\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar defined = __w_pdfjs_require__(38);\n\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(30);\n\nvar $export = __w_pdfjs_require__(11);\n\nvar toObject = __w_pdfjs_require__(66);\n\nvar call = __w_pdfjs_require__(68);\n\nvar isArrayIter = __w_pdfjs_require__(69);\n\nvar toLength = __w_pdfjs_require__(32);\n\nvar createProperty = __w_pdfjs_require__(70);\n\nvar getIterFn = __w_pdfjs_require__(71);\n\n$export($export.S + $export.F * !__w_pdfjs_require__(73)(function (iter) {\n Array.from(iter);\n}), 'Array', {\n from: function from(arrayLike) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n\n result.length = index;\n return result;\n }\n});\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(16);\n\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar Iterators = __w_pdfjs_require__(55);\n\nvar ITERATOR = __w_pdfjs_require__(37)('iterator');\n\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $defineProperty = __w_pdfjs_require__(15);\n\nvar createDesc = __w_pdfjs_require__(23);\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));else object[index] = value;\n};\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar classof = __w_pdfjs_require__(72);\n\nvar ITERATOR = __w_pdfjs_require__(37)('iterator');\n\nvar Iterators = __w_pdfjs_require__(55);\n\nmodule.exports = __w_pdfjs_require__(13).getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(36);\n\nvar TAG = __w_pdfjs_require__(37)('toStringTag');\n\nvar ARG = cof(function () {\n return arguments;\n}()) == 'Arguments';\n\nvar tryGet = function tryGet(it, key) {\n try {\n return it[key];\n } catch (e) {}\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T : ARG ? cof(O) : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ITERATOR = __w_pdfjs_require__(37)('iterator');\n\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n\n riter['return'] = function () {\n SAFE_CLOSING = true;\n };\n\n Array.from(riter, function () {\n throw 2;\n });\n} catch (e) {}\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n\n iter.next = function () {\n return {\n done: safe = true\n };\n };\n\n arr[ITERATOR] = function () {\n return iter;\n };\n\n exec(arr);\n } catch (e) {}\n\n return safe;\n};\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(75);\n\nmodule.exports = __w_pdfjs_require__(13).Object.assign;\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\n\n$export($export.S + $export.F, 'Object', {\n assign: __w_pdfjs_require__(76)\n});\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar DESCRIPTORS = __w_pdfjs_require__(19);\n\nvar getKeys = __w_pdfjs_require__(59);\n\nvar gOPS = __w_pdfjs_require__(77);\n\nvar pIE = __w_pdfjs_require__(78);\n\nvar toObject = __w_pdfjs_require__(66);\n\nvar IObject = __w_pdfjs_require__(48);\n\nvar $assign = Object.assign;\nmodule.exports = !$assign || __w_pdfjs_require__(20)(function () {\n var A = {};\n var B = {};\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) {\n B[k] = k;\n });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) {\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n }\n\n return T;\n} : $assign;\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = {}.propertyIsEnumerable;\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(80);\n\nmodule.exports = __w_pdfjs_require__(13).Math.log2;\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(82);\n\nmodule.exports = __w_pdfjs_require__(13).Number.isNaN;\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n return number != number;\n }\n});\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(84);\n\nmodule.exports = __w_pdfjs_require__(13).Number.isInteger;\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\n\n$export($export.S, 'Number', {\n isInteger: __w_pdfjs_require__(85)\n});\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(17);\n\nvar floor = Math.floor;\n\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(87);\n\n__w_pdfjs_require__(52);\n\n__w_pdfjs_require__(88);\n\n__w_pdfjs_require__(91);\n\n__w_pdfjs_require__(104);\n\n__w_pdfjs_require__(105);\n\nmodule.exports = __w_pdfjs_require__(13).Promise;\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar classof = __w_pdfjs_require__(72);\n\nvar test = {};\ntest[__w_pdfjs_require__(37)('toStringTag')] = 'z';\n\nif (test + '' != '[object z]') {\n __w_pdfjs_require__(24)(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $iterators = __w_pdfjs_require__(89);\n\nvar getKeys = __w_pdfjs_require__(59);\n\nvar redefine = __w_pdfjs_require__(24);\n\nvar global = __w_pdfjs_require__(12);\n\nvar hide = __w_pdfjs_require__(14);\n\nvar Iterators = __w_pdfjs_require__(55);\n\nvar wks = __w_pdfjs_require__(37);\n\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\nvar DOMIterables = {\n CSSRuleList: true,\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true,\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true,\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) {\n if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n }\n}\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar addToUnscopables = __w_pdfjs_require__(50);\n\nvar step = __w_pdfjs_require__(90);\n\nvar Iterators = __w_pdfjs_require__(55);\n\nvar toIObject = __w_pdfjs_require__(47);\n\nmodule.exports = __w_pdfjs_require__(54)(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated);\n this._i = 0;\n this._k = kind;\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\nIterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (done, value) {\n return {\n value: value,\n done: !!done\n };\n};\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar LIBRARY = __w_pdfjs_require__(29);\n\nvar global = __w_pdfjs_require__(12);\n\nvar ctx = __w_pdfjs_require__(30);\n\nvar classof = __w_pdfjs_require__(72);\n\nvar $export = __w_pdfjs_require__(11);\n\nvar isObject = __w_pdfjs_require__(17);\n\nvar aFunction = __w_pdfjs_require__(31);\n\nvar anInstance = __w_pdfjs_require__(92);\n\nvar forOf = __w_pdfjs_require__(93);\n\nvar speciesConstructor = __w_pdfjs_require__(94);\n\nvar task = __w_pdfjs_require__(95).set;\n\nvar microtask = __w_pdfjs_require__(97)();\n\nvar newPromiseCapabilityModule = __w_pdfjs_require__(98);\n\nvar perform = __w_pdfjs_require__(99);\n\nvar userAgent = __w_pdfjs_require__(100);\n\nvar promiseResolve = __w_pdfjs_require__(101);\n\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\n\nvar empty = function empty() {};\n\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\nvar USE_NATIVE = !!function () {\n try {\n var promise = $Promise.resolve(1);\n\n var FakePromise = (promise.constructor = {})[__w_pdfjs_require__(37)('species')] = function (exec) {\n exec(empty, empty);\n };\n\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise && v8.indexOf('6.6') !== 0 && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) {}\n}();\n\nvar isThenable = function isThenable(it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function notify(promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n\n var run = function run(reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n\n if (handler === true) result = value;else {\n if (domain) domain.enter();\n result = handler(value);\n\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n\n while (chain.length > i) {\n run(chain[i++]);\n }\n\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\n\nvar onUnhandled = function onUnhandled(promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({\n promise: promise,\n reason: value\n });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n }\n\n promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\n\nvar isUnhandled = function isUnhandled(promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\n\nvar onHandleUnhandled = function onHandleUnhandled(promise) {\n task.call(global, function () {\n var handler;\n\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({\n promise: promise,\n reason: promise._v\n });\n }\n });\n};\n\nvar $reject = function $reject(value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise;\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\n\nvar $resolve = function $resolve(value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise;\n\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = {\n _w: promise,\n _d: false\n };\n\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({\n _w: promise,\n _d: false\n }, e);\n }\n};\n\nif (!USE_NATIVE) {\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n\n Internal = function Promise(executor) {\n this._c = [];\n this._a = undefined;\n this._s = 0;\n this._d = false;\n this._v = undefined;\n this._h = 0;\n this._n = false;\n };\n\n Internal.prototype = __w_pdfjs_require__(102)($Promise.prototype, {\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n\n this._c.push(reaction);\n\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n 'catch': function _catch(onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n\n OwnPromiseCapability = function OwnPromiseCapability() {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function newPromiseCapability(C) {\n return C === $Promise || C === Wrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {\n Promise: $Promise\n});\n\n__w_pdfjs_require__(64)($Promise, PROMISE);\n\n__w_pdfjs_require__(103)(PROMISE);\n\nWrapper = __w_pdfjs_require__(13)[PROMISE];\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __w_pdfjs_require__(73)(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || forbiddenField !== undefined && forbiddenField in it) {\n throw TypeError(name + ': incorrect invocation!');\n }\n\n return it;\n};\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(30);\n\nvar call = __w_pdfjs_require__(68);\n\nvar isArrayIter = __w_pdfjs_require__(69);\n\nvar anObject = __w_pdfjs_require__(16);\n\nvar toLength = __w_pdfjs_require__(32);\n\nvar getIterFn = __w_pdfjs_require__(71);\n\nvar BREAK = {};\nvar RETURN = {};\n\nvar _exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () {\n return iterable;\n } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\n\n_exports.BREAK = BREAK;\n_exports.RETURN = RETURN;\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(16);\n\nvar aFunction = __w_pdfjs_require__(31);\n\nvar SPECIES = __w_pdfjs_require__(37)('species');\n\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(30);\n\nvar invoke = __w_pdfjs_require__(96);\n\nvar html = __w_pdfjs_require__(63);\n\nvar cel = __w_pdfjs_require__(21);\n\nvar global = __w_pdfjs_require__(12);\n\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function run() {\n var id = +this;\n\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar listener = function listener(event) {\n run.call(event.data);\n};\n\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n\n while (arguments.length > i) {\n args.push(arguments[i++]);\n }\n\n queue[++counter] = function () {\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n\n defer(counter);\n return counter;\n };\n\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n\n if (__w_pdfjs_require__(36)(process) == 'process') {\n defer = function defer(id) {\n process.nextTick(ctx(run, id, 1));\n };\n } else if (Dispatch && Dispatch.now) {\n defer = function defer(id) {\n Dispatch.now(ctx(run, id, 1));\n };\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function defer(id) {\n global.postMessage(id + '', '*');\n };\n\n global.addEventListener('message', listener, false);\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function defer(id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n } else {\n defer = function defer(id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\n\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n\n switch (args.length) {\n case 0:\n return un ? fn() : fn.call(that);\n\n case 1:\n return un ? fn(args[0]) : fn.call(that, args[0]);\n\n case 2:\n return un ? fn(args[0], args[1]) : fn.call(that, args[0], args[1]);\n\n case 3:\n return un ? fn(args[0], args[1], args[2]) : fn.call(that, args[0], args[1], args[2]);\n\n case 4:\n return un ? fn(args[0], args[1], args[2], args[3]) : fn.call(that, args[0], args[1], args[2], args[3]);\n }\n\n return fn.apply(that, args);\n};\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(12);\n\nvar macrotask = __w_pdfjs_require__(95).set;\n\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __w_pdfjs_require__(36)(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function flush() {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n\n while (head) {\n fn = head.fn;\n head = head.next;\n\n try {\n fn();\n } catch (e) {\n if (head) notify();else last = undefined;\n throw e;\n }\n }\n\n last = undefined;\n if (parent) parent.enter();\n };\n\n if (isNode) {\n notify = function notify() {\n process.nextTick(flush);\n };\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, {\n characterData: true\n });\n\n notify = function notify() {\n node.data = toggle = !toggle;\n };\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve(undefined);\n\n notify = function notify() {\n promise.then(flush);\n };\n } else {\n notify = function notify() {\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = {\n fn: fn,\n next: undefined\n };\n if (last) last.next = task;\n\n if (!head) {\n head = task;\n notify();\n }\n\n last = task;\n };\n};\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar aFunction = __w_pdfjs_require__(31);\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (exec) {\n try {\n return {\n e: false,\n v: exec()\n };\n } catch (e) {\n return {\n e: true,\n v: e\n };\n }\n};\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(12);\n\nvar navigator = global.navigator;\nmodule.exports = navigator && navigator.userAgent || '';\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(16);\n\nvar isObject = __w_pdfjs_require__(17);\n\nvar newPromiseCapability = __w_pdfjs_require__(98);\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar redefine = __w_pdfjs_require__(24);\n\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n redefine(target, key, src[key], safe);\n }\n\n return target;\n};\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(12);\n\nvar dP = __w_pdfjs_require__(15);\n\nvar DESCRIPTORS = __w_pdfjs_require__(19);\n\nvar SPECIES = __w_pdfjs_require__(37)('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function get() {\n return this;\n }\n });\n};\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\n\nvar core = __w_pdfjs_require__(13);\n\nvar global = __w_pdfjs_require__(12);\n\nvar speciesConstructor = __w_pdfjs_require__(94);\n\nvar promiseResolve = __w_pdfjs_require__(101);\n\n$export($export.P + $export.R, 'Promise', {\n 'finally': function _finally(onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () {\n return x;\n });\n } : onFinally, isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () {\n throw e;\n });\n } : onFinally);\n }\n});\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\n\nvar newPromiseCapability = __w_pdfjs_require__(98);\n\nvar perform = __w_pdfjs_require__(99);\n\n$export($export.S, 'Promise', {\n 'try': function _try(callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n }\n});\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(87);\n\n__w_pdfjs_require__(88);\n\n__w_pdfjs_require__(107);\n\n__w_pdfjs_require__(119);\n\n__w_pdfjs_require__(121);\n\nmodule.exports = __w_pdfjs_require__(13).WeakMap;\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(12);\n\nvar each = __w_pdfjs_require__(108)(0);\n\nvar redefine = __w_pdfjs_require__(24);\n\nvar meta = __w_pdfjs_require__(112);\n\nvar assign = __w_pdfjs_require__(76);\n\nvar weak = __w_pdfjs_require__(113);\n\nvar isObject = __w_pdfjs_require__(17);\n\nvar validate = __w_pdfjs_require__(114);\n\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(114);\n\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function wrapper(get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\nvar $WeakMap = module.exports = __w_pdfjs_require__(115)(WEAK_MAP, wrapper, methods, weak, true, true);\n\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n\n var result = this._f[key](a, b);\n\n return key == 'set' ? this : result;\n }\n\n return method.call(this, a, b);\n });\n });\n}\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(30);\n\nvar IObject = __w_pdfjs_require__(48);\n\nvar toObject = __w_pdfjs_require__(66);\n\nvar toLength = __w_pdfjs_require__(32);\n\nvar asc = __w_pdfjs_require__(109);\n\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n\n for (; length > index; index++) {\n if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n\n if (TYPE) {\n if (IS_MAP) result[index] = res;else if (res) switch (TYPE) {\n case 3:\n return true;\n\n case 5:\n return val;\n\n case 6:\n return index;\n\n case 2:\n result.push(val);\n } else if (IS_EVERY) return false;\n }\n }\n }\n\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar speciesConstructor = __w_pdfjs_require__(110);\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(17);\n\nvar isArray = __w_pdfjs_require__(111);\n\nvar SPECIES = __w_pdfjs_require__(37)('species');\n\nmodule.exports = function (original) {\n var C;\n\n if (isArray(original)) {\n C = original.constructor;\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n }\n\n return C === undefined ? Array : C;\n};\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(36);\n\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar META = __w_pdfjs_require__(26)('meta');\n\nvar isObject = __w_pdfjs_require__(17);\n\nvar has = __w_pdfjs_require__(25);\n\nvar setDesc = __w_pdfjs_require__(15).f;\n\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar FREEZE = !__w_pdfjs_require__(20)(function () {\n return isExtensible(Object.preventExtensions({}));\n});\n\nvar setMeta = function setMeta(it) {\n setDesc(it, META, {\n value: {\n i: 'O' + ++id,\n w: {}\n }\n });\n};\n\nvar fastKey = function fastKey(it, create) {\n if (!isObject(it)) return _typeof(it) == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n\n if (!has(it, META)) {\n if (!isExtensible(it)) return 'F';\n if (!create) return 'E';\n setMeta(it);\n }\n\n return it[META].i;\n};\n\nvar getWeak = function getWeak(it, create) {\n if (!has(it, META)) {\n if (!isExtensible(it)) return true;\n if (!create) return false;\n setMeta(it);\n }\n\n return it[META].w;\n};\n\nvar onFreeze = function onFreeze(it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\n\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar redefineAll = __w_pdfjs_require__(102);\n\nvar getWeak = __w_pdfjs_require__(112).getWeak;\n\nvar anObject = __w_pdfjs_require__(16);\n\nvar isObject = __w_pdfjs_require__(17);\n\nvar anInstance = __w_pdfjs_require__(92);\n\nvar forOf = __w_pdfjs_require__(93);\n\nvar createArrayMethod = __w_pdfjs_require__(108);\n\nvar $has = __w_pdfjs_require__(25);\n\nvar validate = __w_pdfjs_require__(114);\n\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\nvar uncaughtFrozenStore = function uncaughtFrozenStore(that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function UncaughtFrozenStore() {\n this.a = [];\n};\n\nvar findUncaughtFrozen = function findUncaughtFrozen(store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function get(key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function has(key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function set(key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;else this.a.push([key, value]);\n },\n 'delete': function _delete(key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\nmodule.exports = {\n getConstructor: function getConstructor(wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME;\n that._i = id++;\n that._l = undefined;\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n 'delete': function _delete(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function def(that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(17);\n\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(12);\n\nvar $export = __w_pdfjs_require__(11);\n\nvar redefine = __w_pdfjs_require__(24);\n\nvar redefineAll = __w_pdfjs_require__(102);\n\nvar meta = __w_pdfjs_require__(112);\n\nvar forOf = __w_pdfjs_require__(93);\n\nvar anInstance = __w_pdfjs_require__(92);\n\nvar isObject = __w_pdfjs_require__(17);\n\nvar fails = __w_pdfjs_require__(20);\n\nvar $iterDetect = __w_pdfjs_require__(73);\n\nvar setToStringTag = __w_pdfjs_require__(64);\n\nvar inheritIfRequired = __w_pdfjs_require__(116);\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n\n var fixMethod = function fixMethod(KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY, KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) {\n fn.call(this, a === 0 ? 0 : a);\n return this;\n } : function set(a, b) {\n fn.call(this, a === 0 ? 0 : a, b);\n return this;\n });\n };\n\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n var THROWS_ON_PRIMITIVES = fails(function () {\n instance.has(1);\n });\n var ACCEPT_ITERABLES = $iterDetect(function (iter) {\n new C(iter);\n });\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n var $instance = new C();\n var index = 5;\n\n while (index--) {\n $instance[ADDER](index, index);\n }\n\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n return C;\n};\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(17);\n\nvar setPrototypeOf = __w_pdfjs_require__(117).set;\n\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n }\n\n return that;\n};\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(17);\n\nvar anObject = __w_pdfjs_require__(16);\n\nvar check = function check(O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\n\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? function (test, buggy, set) {\n try {\n set = __w_pdfjs_require__(30)(Function.call, __w_pdfjs_require__(118).f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) {\n buggy = true;\n }\n\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pIE = __w_pdfjs_require__(78);\n\nvar createDesc = __w_pdfjs_require__(23);\n\nvar toIObject = __w_pdfjs_require__(47);\n\nvar toPrimitive = __w_pdfjs_require__(22);\n\nvar has = __w_pdfjs_require__(25);\n\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(18);\n\nvar gOPD = Object.getOwnPropertyDescriptor;\nexports.f = __w_pdfjs_require__(19) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) {}\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(120)('WeakMap');\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, {\n of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n\n while (length--) {\n A[length] = arguments[length];\n }\n\n return new this(A);\n }\n });\n};\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(122)('WeakMap');\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\n\nvar aFunction = __w_pdfjs_require__(31);\n\nvar ctx = __w_pdfjs_require__(30);\n\nvar forOf = __w_pdfjs_require__(93);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, {\n from: function from(source) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n\n return new this(A);\n }\n });\n};\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(87);\n\n__w_pdfjs_require__(88);\n\n__w_pdfjs_require__(124);\n\n__w_pdfjs_require__(125);\n\n__w_pdfjs_require__(126);\n\nmodule.exports = __w_pdfjs_require__(13).WeakSet;\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar weak = __w_pdfjs_require__(113);\n\nvar validate = __w_pdfjs_require__(114);\n\nvar WEAK_SET = 'WeakSet';\n\n__w_pdfjs_require__(115)(WEAK_SET, function (get) {\n return function WeakSet() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n}, {\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(120)('WeakSet');\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(122)('WeakSet');\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(128);\n\nmodule.exports = __w_pdfjs_require__(13).String.codePointAt;\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\n\nvar $at = __w_pdfjs_require__(53)(false);\n\n$export($export.P, 'String', {\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(130);\n\nmodule.exports = __w_pdfjs_require__(13).String.fromCodePoint;\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\n\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\n\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n fromCodePoint: function fromCodePoint(x) {\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00));\n }\n\n return res.join('');\n }\n});\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(132);\n\n__w_pdfjs_require__(87);\n\nmodule.exports = __w_pdfjs_require__(13).Symbol;\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar global = __w_pdfjs_require__(12);\n\nvar has = __w_pdfjs_require__(25);\n\nvar DESCRIPTORS = __w_pdfjs_require__(19);\n\nvar $export = __w_pdfjs_require__(11);\n\nvar redefine = __w_pdfjs_require__(24);\n\nvar META = __w_pdfjs_require__(112).KEY;\n\nvar $fails = __w_pdfjs_require__(20);\n\nvar shared = __w_pdfjs_require__(28);\n\nvar setToStringTag = __w_pdfjs_require__(64);\n\nvar uid = __w_pdfjs_require__(26);\n\nvar wks = __w_pdfjs_require__(37);\n\nvar wksExt = __w_pdfjs_require__(133);\n\nvar wksDefine = __w_pdfjs_require__(134);\n\nvar enumKeys = __w_pdfjs_require__(135);\n\nvar isArray = __w_pdfjs_require__(111);\n\nvar anObject = __w_pdfjs_require__(16);\n\nvar isObject = __w_pdfjs_require__(17);\n\nvar toObject = __w_pdfjs_require__(66);\n\nvar toIObject = __w_pdfjs_require__(47);\n\nvar toPrimitive = __w_pdfjs_require__(22);\n\nvar createDesc = __w_pdfjs_require__(23);\n\nvar _create = __w_pdfjs_require__(57);\n\nvar gOPNExt = __w_pdfjs_require__(136);\n\nvar $GOPD = __w_pdfjs_require__(118);\n\nvar $GOPS = __w_pdfjs_require__(77);\n\nvar $DP = __w_pdfjs_require__(15);\n\nvar $keys = __w_pdfjs_require__(59);\n\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\n\nvar _stringify = $JSON && $JSON.stringify;\n\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function get() {\n return dP(this, 'a', {\n value: 7\n }).a;\n }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function wrap(tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && _typeof($Symbol.iterator) == 'symbol' ? function (it) {\n return _typeof(it) == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, {\n enumerable: createDesc(0, false)\n });\n }\n\n return setSymbolDesc(it, key, D);\n }\n\n return dP(it, key, D);\n};\n\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n\n while (l > i) {\n $defineProperty(it, key = keys[i++], P[key]);\n }\n\n return it;\n};\n\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n }\n\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n }\n\n return result;\n};\n\nif (!USE_NATIVE) {\n $Symbol = function _Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n\n var $set = function $set(value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, {\n configurable: true,\n set: $set\n });\n return wrap(tag);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n __w_pdfjs_require__(137).f = gOPNExt.f = $getOwnPropertyNames;\n __w_pdfjs_require__(78).f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !__w_pdfjs_require__(29)) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {\n Symbol: $Symbol\n});\n\nfor (var es6Symbols = 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'.split(','), j = 0; es6Symbols.length > j;) {\n wks(es6Symbols[j++]);\n}\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) {\n wksDefine(wellKnownSymbols[k++]);\n}\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n 'for': function _for(key) {\n return has(SymbolRegistry, key += '') ? SymbolRegistry[key] : SymbolRegistry[key] = $Symbol(key);\n },\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n\n for (var key in SymbolRegistry) {\n if (SymbolRegistry[key] === sym) return key;\n }\n },\n useSetter: function useSetter() {\n setter = true;\n },\n useSimple: function useSimple() {\n setter = false;\n }\n});\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n create: $create,\n defineProperty: $defineProperty,\n defineProperties: $defineProperties,\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n getOwnPropertyNames: $getOwnPropertyNames,\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\nvar FAILS_ON_PRIMITIVES = $fails(function () {\n $GOPS.f(1);\n});\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n return _stringify([S]) != '[null]' || _stringify({\n a: S\n }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n\n while (arguments.length > i) {\n args.push(arguments[i++]);\n }\n\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return;\n if (!isArray(replacer)) replacer = function replacer(key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __w_pdfjs_require__(14)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\nsetToStringTag($Symbol, 'Symbol');\nsetToStringTag(Math, 'Math', true);\nsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = __w_pdfjs_require__(37);\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(12);\n\nvar core = __w_pdfjs_require__(13);\n\nvar LIBRARY = __w_pdfjs_require__(29);\n\nvar wksExt = __w_pdfjs_require__(133);\n\nvar defineProperty = __w_pdfjs_require__(15).f;\n\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, {\n value: wksExt.f(name)\n });\n};\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar getKeys = __w_pdfjs_require__(59);\n\nvar gOPS = __w_pdfjs_require__(77);\n\nvar pIE = __w_pdfjs_require__(78);\n\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n\n while (symbols.length > i) {\n if (isEnum.call(it, key = symbols[i++])) result.push(key);\n }\n }\n\n return result;\n};\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar toIObject = __w_pdfjs_require__(47);\n\nvar gOPN = __w_pdfjs_require__(137).f;\n\nvar toString = {}.toString;\nvar windowNames = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function getWindowNames(it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(60);\n\nvar hiddenKeys = __w_pdfjs_require__(62).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(139);\n\nmodule.exports = __w_pdfjs_require__(13).String.padStart;\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\n\nvar $pad = __w_pdfjs_require__(140);\n\nvar userAgent = __w_pdfjs_require__(100);\n\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padStart: function padStart(maxLength) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toLength = __w_pdfjs_require__(32);\n\nvar repeat = __w_pdfjs_require__(141);\n\nvar defined = __w_pdfjs_require__(38);\n\nmodule.exports = function (that, maxLength, fillString, left) {\n var S = String(defined(that));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n if (intMaxLength <= stringLength || fillStr == '') return S;\n var fillLen = intMaxLength - stringLength;\n var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(33);\n\nvar defined = __w_pdfjs_require__(38);\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n\n for (; n > 0; (n >>>= 1) && (str += str)) {\n if (n & 1) res += str;\n }\n\n return res;\n};\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(143);\n\nmodule.exports = __w_pdfjs_require__(13).String.padEnd;\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\n\nvar $pad = __w_pdfjs_require__(140);\n\nvar userAgent = __w_pdfjs_require__(100);\n\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padEnd: function padEnd(maxLength) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(145);\n\nmodule.exports = __w_pdfjs_require__(13).Object.values;\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\n\nvar $values = __w_pdfjs_require__(146)(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar DESCRIPTORS = __w_pdfjs_require__(19);\n\nvar getKeys = __w_pdfjs_require__(59);\n\nvar toIObject = __w_pdfjs_require__(47);\n\nvar isEnum = __w_pdfjs_require__(78).f;\n\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n\n while (length > i) {\n key = keys[i++];\n\n if (!DESCRIPTORS || isEnum.call(O, key)) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n\n return result;\n };\n};\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n{\n var isReadableStreamSupported = false;\n\n if (typeof ReadableStream !== 'undefined') {\n try {\n new ReadableStream({\n start: function start(controller) {\n controller.close();\n }\n });\n isReadableStreamSupported = true;\n } catch (e) {}\n }\n\n if (isReadableStreamSupported) {\n exports.ReadableStream = ReadableStream;\n } else {\n exports.ReadableStream = __w_pdfjs_require__(148).ReadableStream;\n }\n}\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\n(function (e, a) {\n for (var i in a) {\n e[i] = a[i];\n }\n})(exports, function (modules) {\n var installedModules = {};\n\n function __w_pdfjs_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: false,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n module.l = true;\n return module.exports;\n }\n\n __w_pdfjs_require__.m = modules;\n __w_pdfjs_require__.c = installedModules;\n\n __w_pdfjs_require__.i = function (value) {\n return value;\n };\n\n __w_pdfjs_require__.d = function (exports, name, getter) {\n if (!__w_pdfjs_require__.o(exports, name)) {\n Object.defineProperty(exports, name, {\n configurable: false,\n enumerable: true,\n get: getter\n });\n }\n };\n\n __w_pdfjs_require__.n = function (module) {\n var getter = module && module.__esModule ? function getDefault() {\n return module['default'];\n } : function getModuleExports() {\n return module;\n };\n\n __w_pdfjs_require__.d(getter, 'a', getter);\n\n return getter;\n };\n\n __w_pdfjs_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n\n __w_pdfjs_require__.p = \"\";\n return __w_pdfjs_require__(__w_pdfjs_require__.s = 7);\n}([function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return _typeof2(obj);\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n\n var _require = __w_pdfjs_require__(1),\n assert = _require.assert;\n\n function IsPropertyKey(argument) {\n return typeof argument === 'string' || (typeof argument === 'undefined' ? 'undefined' : _typeof(argument)) === 'symbol';\n }\n\n exports.typeIsObject = function (x) {\n return (typeof x === 'undefined' ? 'undefined' : _typeof(x)) === 'object' && x !== null || typeof x === 'function';\n };\n\n exports.createDataProperty = function (o, p, v) {\n assert(exports.typeIsObject(o));\n Object.defineProperty(o, p, {\n value: v,\n writable: true,\n enumerable: true,\n configurable: true\n });\n };\n\n exports.createArrayFromList = function (elements) {\n return elements.slice();\n };\n\n exports.ArrayBufferCopy = function (dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n };\n\n exports.CreateIterResultObject = function (value, done) {\n assert(typeof done === 'boolean');\n var obj = {};\n Object.defineProperty(obj, 'value', {\n value: value,\n enumerable: true,\n writable: true,\n configurable: true\n });\n Object.defineProperty(obj, 'done', {\n value: done,\n enumerable: true,\n writable: true,\n configurable: true\n });\n return obj;\n };\n\n exports.IsFiniteNonNegativeNumber = function (v) {\n if (Number.isNaN(v)) {\n return false;\n }\n\n if (v === Infinity) {\n return false;\n }\n\n if (v < 0) {\n return false;\n }\n\n return true;\n };\n\n function Call(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n\n return Function.prototype.apply.call(F, V, args);\n }\n\n exports.InvokeOrNoop = function (O, P, args) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n var method = O[P];\n\n if (method === undefined) {\n return undefined;\n }\n\n return Call(method, O, args);\n };\n\n exports.PromiseInvokeOrNoop = function (O, P, args) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n\n try {\n return Promise.resolve(exports.InvokeOrNoop(O, P, args));\n } catch (returnValueE) {\n return Promise.reject(returnValueE);\n }\n };\n\n exports.PromiseInvokeOrPerformFallback = function (O, P, args, F, argsF) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n assert(Array.isArray(argsF));\n var method = void 0;\n\n try {\n method = O[P];\n } catch (methodE) {\n return Promise.reject(methodE);\n }\n\n if (method === undefined) {\n return F.apply(null, argsF);\n }\n\n try {\n return Promise.resolve(Call(method, O, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n\n exports.TransferArrayBuffer = function (O) {\n return O.slice();\n };\n\n exports.ValidateAndNormalizeHighWaterMark = function (highWaterMark) {\n highWaterMark = Number(highWaterMark);\n\n if (Number.isNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\n }\n\n return highWaterMark;\n };\n\n exports.ValidateAndNormalizeQueuingStrategy = function (size, highWaterMark) {\n if (size !== undefined && typeof size !== 'function') {\n throw new TypeError('size property of a queuing strategy must be a function');\n }\n\n highWaterMark = exports.ValidateAndNormalizeHighWaterMark(highWaterMark);\n return {\n size: size,\n highWaterMark: highWaterMark\n };\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n function rethrowAssertionErrorRejection(e) {\n if (e && e.constructor === AssertionError) {\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n\n function AssertionError(message) {\n this.name = 'AssertionError';\n this.message = message || '';\n this.stack = new Error().stack;\n }\n\n AssertionError.prototype = Object.create(Error.prototype);\n AssertionError.prototype.constructor = AssertionError;\n\n function assert(value, message) {\n if (!value) {\n throw new AssertionError(message);\n }\n }\n\n module.exports = {\n rethrowAssertionErrorRejection: rethrowAssertionErrorRejection,\n AssertionError: AssertionError,\n assert: assert\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _require = __w_pdfjs_require__(0),\n InvokeOrNoop = _require.InvokeOrNoop,\n PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop,\n ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy,\n typeIsObject = _require.typeIsObject;\n\n var _require2 = __w_pdfjs_require__(1),\n assert = _require2.assert,\n rethrowAssertionErrorRejection = _require2.rethrowAssertionErrorRejection;\n\n var _require3 = __w_pdfjs_require__(3),\n DequeueValue = _require3.DequeueValue,\n EnqueueValueWithSize = _require3.EnqueueValueWithSize,\n PeekQueueValue = _require3.PeekQueueValue,\n ResetQueue = _require3.ResetQueue;\n\n var WritableStream = function () {\n function WritableStream() {\n var underlyingSink = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n size = _ref.size,\n _ref$highWaterMark = _ref.highWaterMark,\n highWaterMark = _ref$highWaterMark === undefined ? 1 : _ref$highWaterMark;\n\n _classCallCheck(this, WritableStream);\n\n this._state = 'writable';\n this._storedError = undefined;\n this._writer = undefined;\n this._writableStreamController = undefined;\n this._writeRequests = [];\n this._inFlightWriteRequest = undefined;\n this._closeRequest = undefined;\n this._inFlightCloseRequest = undefined;\n this._pendingAbortRequest = undefined;\n this._backpressure = false;\n var type = underlyingSink.type;\n\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n\n this._writableStreamController = new WritableStreamDefaultController(this, underlyingSink, size, highWaterMark);\n\n this._writableStreamController.__startSteps();\n }\n\n _createClass(WritableStream, [{\n key: 'abort',\n value: function abort(reason) {\n if (IsWritableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('abort'));\n }\n\n if (IsWritableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot abort a stream that already has a writer'));\n }\n\n return WritableStreamAbort(this, reason);\n }\n }, {\n key: 'getWriter',\n value: function getWriter() {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('getWriter');\n }\n\n return AcquireWritableStreamDefaultWriter(this);\n }\n }, {\n key: 'locked',\n get: function get() {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n\n return IsWritableStreamLocked(this);\n }\n }]);\n\n return WritableStream;\n }();\n\n module.exports = {\n AcquireWritableStreamDefaultWriter: AcquireWritableStreamDefaultWriter,\n IsWritableStream: IsWritableStream,\n IsWritableStreamLocked: IsWritableStreamLocked,\n WritableStream: WritableStream,\n WritableStreamAbort: WritableStreamAbort,\n WritableStreamDefaultControllerError: WritableStreamDefaultControllerError,\n WritableStreamDefaultWriterCloseWithErrorPropagation: WritableStreamDefaultWriterCloseWithErrorPropagation,\n WritableStreamDefaultWriterRelease: WritableStreamDefaultWriterRelease,\n WritableStreamDefaultWriterWrite: WritableStreamDefaultWriterWrite,\n WritableStreamCloseQueuedOrInFlight: WritableStreamCloseQueuedOrInFlight\n };\n\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n\n function IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n\n return true;\n }\n\n function IsWritableStreamLocked(stream) {\n assert(IsWritableStream(stream) === true, 'IsWritableStreamLocked should only be used on known writable streams');\n\n if (stream._writer === undefined) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamAbort(stream, reason) {\n var state = stream._state;\n\n if (state === 'closed') {\n return Promise.resolve(undefined);\n }\n\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n var error = new TypeError('Requested to abort');\n\n if (stream._pendingAbortRequest !== undefined) {\n return Promise.reject(error);\n }\n\n assert(state === 'writable' || state === 'erroring', 'state must be writable or erroring');\n var wasAlreadyErroring = false;\n\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n reason = undefined;\n }\n\n var promise = new Promise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n\n if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, error);\n }\n\n return promise;\n }\n\n function WritableStreamAddWriteRequest(stream) {\n assert(IsWritableStreamLocked(stream) === true);\n assert(stream._state === 'writable');\n var promise = new Promise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n }\n\n function WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n\n assert(state === 'erroring');\n WritableStreamFinishErroring(stream);\n }\n\n function WritableStreamStartErroring(stream, reason) {\n assert(stream._storedError === undefined, 'stream._storedError === undefined');\n assert(stream._state === 'writable', 'state must be writable');\n var controller = stream._writableStreamController;\n assert(controller !== undefined, 'controller must not be undefined');\n stream._state = 'erroring';\n stream._storedError = reason;\n var writer = stream._writer;\n\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n\n if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\n WritableStreamFinishErroring(stream);\n }\n }\n\n function WritableStreamFinishErroring(stream) {\n assert(stream._state === 'erroring', 'stream._state === erroring');\n assert(WritableStreamHasOperationMarkedInFlight(stream) === false, 'WritableStreamHasOperationMarkedInFlight(stream) === false');\n stream._state = 'errored';\n\n stream._writableStreamController.__errorSteps();\n\n var storedError = stream._storedError;\n\n for (var i = 0; i < stream._writeRequests.length; i++) {\n var writeRequest = stream._writeRequests[i];\n\n writeRequest._reject(storedError);\n }\n\n stream._writeRequests = [];\n\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n\n if (abortRequest._wasAlreadyErroring === true) {\n abortRequest._reject(storedError);\n\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n\n var promise = stream._writableStreamController.__abortSteps(abortRequest._reason);\n\n promise.then(function () {\n abortRequest._resolve();\n\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n }\n\n function WritableStreamFinishInFlightWrite(stream) {\n assert(stream._inFlightWriteRequest !== undefined);\n\n stream._inFlightWriteRequest._resolve(undefined);\n\n stream._inFlightWriteRequest = undefined;\n }\n\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n assert(stream._inFlightWriteRequest !== undefined);\n\n stream._inFlightWriteRequest._reject(error);\n\n stream._inFlightWriteRequest = undefined;\n assert(stream._state === 'writable' || stream._state === 'erroring');\n WritableStreamDealWithRejection(stream, error);\n }\n\n function WritableStreamFinishInFlightClose(stream) {\n assert(stream._inFlightCloseRequest !== undefined);\n\n stream._inFlightCloseRequest._resolve(undefined);\n\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n assert(state === 'writable' || state === 'erroring');\n\n if (state === 'erroring') {\n stream._storedError = undefined;\n\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n\n stream._pendingAbortRequest = undefined;\n }\n }\n\n stream._state = 'closed';\n var writer = stream._writer;\n\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n\n assert(stream._pendingAbortRequest === undefined, 'stream._pendingAbortRequest === undefined');\n assert(stream._storedError === undefined, 'stream._storedError === undefined');\n }\n\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n assert(stream._inFlightCloseRequest !== undefined);\n\n stream._inFlightCloseRequest._reject(error);\n\n stream._inFlightCloseRequest = undefined;\n assert(stream._state === 'writable' || stream._state === 'erroring');\n\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n\n stream._pendingAbortRequest = undefined;\n }\n\n WritableStreamDealWithRejection(stream, error);\n }\n\n function WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamMarkCloseRequestInFlight(stream) {\n assert(stream._inFlightCloseRequest === undefined);\n assert(stream._closeRequest !== undefined);\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n }\n\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n assert(stream._inFlightWriteRequest === undefined, 'there must be no pending write request');\n assert(stream._writeRequests.length !== 0, 'writeRequests must not be empty');\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n assert(stream._state === 'errored', '_stream_.[[state]] is `\"errored\"`');\n\n if (stream._closeRequest !== undefined) {\n assert(stream._inFlightCloseRequest === undefined);\n\n stream._closeRequest._reject(stream._storedError);\n\n stream._closeRequest = undefined;\n }\n\n var writer = stream._writer;\n\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n\n writer._closedPromise[\"catch\"](function () {});\n }\n }\n\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n assert(stream._state === 'writable');\n assert(WritableStreamCloseQueuedOrInFlight(stream) === false);\n var writer = stream._writer;\n\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure === true) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n assert(backpressure === false);\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n\n stream._backpressure = backpressure;\n }\n\n var WritableStreamDefaultWriter = function () {\n function WritableStreamDefaultWriter(stream) {\n _classCallCheck(this, WritableStreamDefaultWriter);\n\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\n }\n\n if (IsWritableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n\n if (state === 'writable') {\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\n defaultWriterReadyPromiseInitialize(this);\n } else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n\n this._readyPromise[\"catch\"](function () {});\n\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n } else {\n assert(state === 'errored', 'state must be errored');\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n\n this._readyPromise[\"catch\"](function () {});\n\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n\n this._closedPromise[\"catch\"](function () {});\n }\n }\n\n _createClass(WritableStreamDefaultWriter, [{\n key: 'abort',\n value: function abort(reason) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('abort'));\n }\n\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('abort'));\n }\n\n return WritableStreamDefaultWriterAbort(this, reason);\n }\n }, {\n key: 'close',\n value: function close() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('close'));\n }\n\n var stream = this._ownerWritableStream;\n\n if (stream === undefined) {\n return Promise.reject(defaultWriterLockException('close'));\n }\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return Promise.reject(new TypeError('cannot close an already-closing stream'));\n }\n\n return WritableStreamDefaultWriterClose(this);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n\n var stream = this._ownerWritableStream;\n\n if (stream === undefined) {\n return;\n }\n\n assert(stream._writer !== undefined);\n WritableStreamDefaultWriterRelease(this);\n }\n }, {\n key: 'write',\n value: function write(chunk) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('write'));\n }\n\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n\n return WritableStreamDefaultWriterWrite(this, chunk);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('closed'));\n }\n\n return this._closedPromise;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n\n return WritableStreamDefaultWriterGetDesiredSize(this);\n }\n }, {\n key: 'ready',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('ready'));\n }\n\n return this._readyPromise;\n }\n }]);\n\n return WritableStreamDefaultWriter;\n }();\n\n function IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n return WritableStreamAbort(stream, reason);\n }\n\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var state = stream._state;\n\n if (state === 'closed' || state === 'errored') {\n return Promise.reject(new TypeError('The stream (in ' + state + ' state) is not in the writable state and cannot be closed'));\n }\n\n assert(state === 'writable' || state === 'erroring');\n assert(WritableStreamCloseQueuedOrInFlight(stream) === false);\n var promise = new Promise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n\n if (stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var state = stream._state;\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.resolve();\n }\n\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n assert(state === 'writable' || state === 'erroring');\n return WritableStreamDefaultWriterClose(writer);\n }\n\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n\n writer._closedPromise[\"catch\"](function () {});\n }\n\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n\n writer._readyPromise[\"catch\"](function () {});\n }\n\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n\n if (state === 'closed') {\n return 0;\n }\n\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n }\n\n function WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n assert(stream._writer === writer);\n var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n stream._writer = undefined;\n writer._ownerWritableStream = undefined;\n }\n\n function WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n\n if (stream !== writer._ownerWritableStream) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n\n var state = stream._state;\n\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.reject(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n\n if (state === 'erroring') {\n return Promise.reject(stream._storedError);\n }\n\n assert(state === 'writable');\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n\n var WritableStreamDefaultController = function () {\n function WritableStreamDefaultController(stream, underlyingSink, size, highWaterMark) {\n _classCallCheck(this, WritableStreamDefaultController);\n\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultController can only be constructed with a WritableStream instance');\n }\n\n if (stream._writableStreamController !== undefined) {\n throw new TypeError('WritableStreamDefaultController instances can only be created by the WritableStream constructor');\n }\n\n this._controlledWritableStream = stream;\n this._underlyingSink = underlyingSink;\n this._queue = undefined;\n this._queueTotalSize = undefined;\n ResetQueue(this);\n this._started = false;\n var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark);\n this._strategySize = normalizedStrategy.size;\n this._strategyHWM = normalizedStrategy.highWaterMark;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(this);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n\n _createClass(WritableStreamDefaultController, [{\n key: 'error',\n value: function error(e) {\n if (IsWritableStreamDefaultController(this) === false) {\n throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\n }\n\n var state = this._controlledWritableStream._state;\n\n if (state !== 'writable') {\n return;\n }\n\n WritableStreamDefaultControllerError(this, e);\n }\n }, {\n key: '__abortSteps',\n value: function __abortSteps(reason) {\n return PromiseInvokeOrNoop(this._underlyingSink, 'abort', [reason]);\n }\n }, {\n key: '__errorSteps',\n value: function __errorSteps() {\n ResetQueue(this);\n }\n }, {\n key: '__startSteps',\n value: function __startSteps() {\n var _this = this;\n\n var startResult = InvokeOrNoop(this._underlyingSink, 'start', [this]);\n var stream = this._controlledWritableStream;\n Promise.resolve(startResult).then(function () {\n assert(stream._state === 'writable' || stream._state === 'erroring');\n _this._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(_this);\n }, function (r) {\n assert(stream._state === 'writable' || stream._state === 'erroring');\n _this._started = true;\n WritableStreamDealWithRejection(stream, r);\n })[\"catch\"](rethrowAssertionErrorRejection);\n }\n }]);\n\n return WritableStreamDefaultController;\n }();\n\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n var strategySize = controller._strategySize;\n\n if (strategySize === undefined) {\n return 1;\n }\n\n try {\n return strategySize(chunk);\n } catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n }\n\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n }\n\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n var writeRecord = {\n chunk: chunk\n };\n\n try {\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n\n var stream = controller._controlledWritableStream;\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n\n function IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSink')) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n\n if (controller._started === false) {\n return;\n }\n\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n\n var state = stream._state;\n\n if (state === 'closed' || state === 'errored') {\n return;\n }\n\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n\n if (controller._queue.length === 0) {\n return;\n }\n\n var writeRecord = PeekQueueValue(controller);\n\n if (writeRecord === 'close') {\n WritableStreamDefaultControllerProcessClose(controller);\n } else {\n WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\n }\n }\n\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n }\n\n function WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n assert(controller._queue.length === 0, 'queue must be empty once the final write record is dequeued');\n var sinkClosePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'close', []);\n sinkClosePromise.then(function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n })[\"catch\"](rethrowAssertionErrorRejection);\n }\n\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'write', [chunk, controller]);\n sinkWritePromise.then(function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n assert(state === 'writable' || state === 'erroring');\n DequeueValue(controller);\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n })[\"catch\"](rethrowAssertionErrorRejection);\n }\n\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n }\n\n function WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n assert(stream._state === 'writable');\n WritableStreamStartErroring(stream, error);\n }\n\n function streamBrandCheckException(name) {\n return new TypeError('WritableStream.prototype.' + name + ' can only be used on a WritableStream');\n }\n\n function defaultWriterBrandCheckException(name) {\n return new TypeError('WritableStreamDefaultWriter.prototype.' + name + ' can only be used on a WritableStreamDefaultWriter');\n }\n\n function defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n }\n\n function defaultWriterClosedPromiseInitialize(writer) {\n writer._closedPromise = new Promise(function (resolve, reject) {\n writer._closedPromise_resolve = resolve;\n writer._closedPromise_reject = reject;\n writer._closedPromiseState = 'pending';\n });\n }\n\n function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n writer._closedPromise = Promise.reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n writer._closedPromise = Promise.resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n\n function defaultWriterClosedPromiseReject(writer, reason) {\n assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined');\n assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined');\n assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending');\n\n writer._closedPromise_reject(reason);\n\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n assert(writer._closedPromise_resolve === undefined, 'writer._closedPromise_resolve === undefined');\n assert(writer._closedPromise_reject === undefined, 'writer._closedPromise_reject === undefined');\n assert(writer._closedPromiseState !== 'pending', 'writer._closedPromiseState is not pending');\n writer._closedPromise = Promise.reject(reason);\n writer._closedPromiseState = 'rejected';\n }\n\n function defaultWriterClosedPromiseResolve(writer) {\n assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined');\n assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined');\n assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending');\n\n writer._closedPromise_resolve(undefined);\n\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n\n function defaultWriterReadyPromiseInitialize(writer) {\n writer._readyPromise = new Promise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n\n function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n writer._readyPromise = Promise.reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n writer._readyPromise = Promise.resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n\n function defaultWriterReadyPromiseReject(writer, reason) {\n assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined');\n assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined');\n\n writer._readyPromise_reject(reason);\n\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n\n function defaultWriterReadyPromiseReset(writer) {\n assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined');\n assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined');\n writer._readyPromise = new Promise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined');\n assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined');\n writer._readyPromise = Promise.reject(reason);\n writer._readyPromiseState = 'rejected';\n }\n\n function defaultWriterReadyPromiseResolve(writer) {\n assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined');\n assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined');\n\n writer._readyPromise_resolve(undefined);\n\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _require = __w_pdfjs_require__(0),\n IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber;\n\n var _require2 = __w_pdfjs_require__(1),\n assert = _require2.assert;\n\n exports.DequeueValue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: DequeueValue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n assert(container._queue.length > 0, 'Spec-level failure: should never dequeue from an empty queue.');\n\n var pair = container._queue.shift();\n\n container._queueTotalSize -= pair.size;\n\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n\n return pair.value;\n };\n\n exports.EnqueueValueWithSize = function (container, value, size) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: EnqueueValueWithSize should only be used on containers with [[queue]] and ' + '[[queueTotalSize]].');\n size = Number(size);\n\n if (!IsFiniteNonNegativeNumber(size)) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n\n container._queue.push({\n value: value,\n size: size\n });\n\n container._queueTotalSize += size;\n };\n\n exports.PeekQueueValue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: PeekQueueValue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n assert(container._queue.length > 0, 'Spec-level failure: should never peek at an empty queue.');\n var pair = container._queue[0];\n return pair.value;\n };\n\n exports.ResetQueue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: ResetQueue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n container._queue = [];\n container._queueTotalSize = 0;\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _require = __w_pdfjs_require__(0),\n ArrayBufferCopy = _require.ArrayBufferCopy,\n CreateIterResultObject = _require.CreateIterResultObject,\n IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber,\n InvokeOrNoop = _require.InvokeOrNoop,\n PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop,\n TransferArrayBuffer = _require.TransferArrayBuffer,\n ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy,\n ValidateAndNormalizeHighWaterMark = _require.ValidateAndNormalizeHighWaterMark;\n\n var _require2 = __w_pdfjs_require__(0),\n createArrayFromList = _require2.createArrayFromList,\n createDataProperty = _require2.createDataProperty,\n typeIsObject = _require2.typeIsObject;\n\n var _require3 = __w_pdfjs_require__(1),\n assert = _require3.assert,\n rethrowAssertionErrorRejection = _require3.rethrowAssertionErrorRejection;\n\n var _require4 = __w_pdfjs_require__(3),\n DequeueValue = _require4.DequeueValue,\n EnqueueValueWithSize = _require4.EnqueueValueWithSize,\n ResetQueue = _require4.ResetQueue;\n\n var _require5 = __w_pdfjs_require__(2),\n AcquireWritableStreamDefaultWriter = _require5.AcquireWritableStreamDefaultWriter,\n IsWritableStream = _require5.IsWritableStream,\n IsWritableStreamLocked = _require5.IsWritableStreamLocked,\n WritableStreamAbort = _require5.WritableStreamAbort,\n WritableStreamDefaultWriterCloseWithErrorPropagation = _require5.WritableStreamDefaultWriterCloseWithErrorPropagation,\n WritableStreamDefaultWriterRelease = _require5.WritableStreamDefaultWriterRelease,\n WritableStreamDefaultWriterWrite = _require5.WritableStreamDefaultWriterWrite,\n WritableStreamCloseQueuedOrInFlight = _require5.WritableStreamCloseQueuedOrInFlight;\n\n var ReadableStream = function () {\n function ReadableStream() {\n var underlyingSource = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n size = _ref.size,\n highWaterMark = _ref.highWaterMark;\n\n _classCallCheck(this, ReadableStream);\n\n this._state = 'readable';\n this._reader = undefined;\n this._storedError = undefined;\n this._disturbed = false;\n this._readableStreamController = undefined;\n var type = underlyingSource.type;\n var typeString = String(type);\n\n if (typeString === 'bytes') {\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n\n this._readableStreamController = new ReadableByteStreamController(this, underlyingSource, highWaterMark);\n } else if (type === undefined) {\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n\n this._readableStreamController = new ReadableStreamDefaultController(this, underlyingSource, size, highWaterMark);\n } else {\n throw new RangeError('Invalid type is specified');\n }\n }\n\n _createClass(ReadableStream, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('cancel'));\n }\n\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n\n return ReadableStreamCancel(this, reason);\n }\n }, {\n key: 'getReader',\n value: function getReader() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n mode = _ref2.mode;\n\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('getReader');\n }\n\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this);\n }\n\n mode = String(mode);\n\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this);\n }\n\n throw new RangeError('Invalid mode is specified');\n }\n }, {\n key: 'pipeThrough',\n value: function pipeThrough(_ref3, options) {\n var writable = _ref3.writable,\n readable = _ref3.readable;\n var promise = this.pipeTo(writable, options);\n ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise);\n return readable;\n }\n }, {\n key: 'pipeTo',\n value: function pipeTo(dest) {\n var _this = this;\n\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n preventClose = _ref4.preventClose,\n preventAbort = _ref4.preventAbort,\n preventCancel = _ref4.preventCancel;\n\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('pipeTo'));\n }\n\n if (IsWritableStream(dest) === false) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\n }\n\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n\n if (IsWritableStreamLocked(dest) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n\n var reader = AcquireReadableStreamDefaultReader(this);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n var shuttingDown = false;\n var currentWrite = Promise.resolve();\n return new Promise(function (resolve, reject) {\n function pipeLoop() {\n currentWrite = Promise.resolve();\n\n if (shuttingDown === true) {\n return Promise.resolve();\n }\n\n return writer._readyPromise.then(function () {\n return ReadableStreamDefaultReaderRead(reader).then(function (_ref5) {\n var value = _ref5.value,\n done = _ref5.done;\n\n if (done === true) {\n return;\n }\n\n currentWrite = WritableStreamDefaultWriterWrite(writer, value)[\"catch\"](function () {});\n });\n }).then(pipeLoop);\n }\n\n isOrBecomesErrored(_this, reader._closedPromise, function (storedError) {\n if (preventAbort === false) {\n shutdownWithAction(function () {\n return WritableStreamAbort(dest, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(_this, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesClosed(_this, reader._closedPromise, function () {\n if (preventClose === false) {\n shutdownWithAction(function () {\n return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);\n });\n } else {\n shutdown();\n }\n });\n\n if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\n var destClosed = new TypeError('the destination writable stream closed before all data could be piped to it');\n\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(_this, destClosed);\n }, true, destClosed);\n } else {\n shutdown(true, destClosed);\n }\n }\n\n pipeLoop()[\"catch\"](function (err) {\n currentWrite = Promise.resolve();\n rethrowAssertionErrorRejection(err);\n });\n\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return currentWrite.then(function () {\n return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;\n });\n }\n\n function isOrBecomesErrored(stream, promise, action) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n } else {\n promise[\"catch\"](action)[\"catch\"](rethrowAssertionErrorRejection);\n }\n }\n\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n } else {\n promise.then(action)[\"catch\"](rethrowAssertionErrorRejection);\n }\n }\n\n function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown === true) {\n return;\n }\n\n shuttingDown = true;\n\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n waitForWritesToFinish().then(doTheRest);\n } else {\n doTheRest();\n }\n\n function doTheRest() {\n action().then(function () {\n return finalize(originalIsError, originalError);\n }, function (newError) {\n return finalize(true, newError);\n })[\"catch\"](rethrowAssertionErrorRejection);\n }\n }\n\n function shutdown(isError, error) {\n if (shuttingDown === true) {\n return;\n }\n\n shuttingDown = true;\n\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n waitForWritesToFinish().then(function () {\n return finalize(isError, error);\n })[\"catch\"](rethrowAssertionErrorRejection);\n } else {\n finalize(isError, error);\n }\n }\n\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n\n if (isError) {\n reject(error);\n } else {\n resolve(undefined);\n }\n }\n });\n }\n }, {\n key: 'tee',\n value: function tee() {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('tee');\n }\n\n var branches = ReadableStreamTee(this, false);\n return createArrayFromList(branches);\n }\n }, {\n key: 'locked',\n get: function get() {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n\n return IsReadableStreamLocked(this);\n }\n }]);\n\n return ReadableStream;\n }();\n\n module.exports = {\n ReadableStream: ReadableStream,\n IsReadableStreamDisturbed: IsReadableStreamDisturbed,\n ReadableStreamDefaultControllerClose: ReadableStreamDefaultControllerClose,\n ReadableStreamDefaultControllerEnqueue: ReadableStreamDefaultControllerEnqueue,\n ReadableStreamDefaultControllerError: ReadableStreamDefaultControllerError,\n ReadableStreamDefaultControllerGetDesiredSize: ReadableStreamDefaultControllerGetDesiredSize\n };\n\n function AcquireReadableStreamBYOBReader(stream) {\n return new ReadableStreamBYOBReader(stream);\n }\n\n function AcquireReadableStreamDefaultReader(stream) {\n return new ReadableStreamDefaultReader(stream);\n }\n\n function IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n\n return true;\n }\n\n function IsReadableStreamDisturbed(stream) {\n assert(IsReadableStream(stream) === true, 'IsReadableStreamDisturbed should only be used on known readable streams');\n return stream._disturbed;\n }\n\n function IsReadableStreamLocked(stream) {\n assert(IsReadableStream(stream) === true, 'IsReadableStreamLocked should only be used on known readable streams');\n\n if (stream._reader === undefined) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamTee(stream, cloneForBranch2) {\n assert(IsReadableStream(stream) === true);\n assert(typeof cloneForBranch2 === 'boolean');\n var reader = AcquireReadableStreamDefaultReader(stream);\n var teeState = {\n closedOrErrored: false,\n canceled1: false,\n canceled2: false,\n reason1: undefined,\n reason2: undefined\n };\n teeState.promise = new Promise(function (resolve) {\n teeState._resolve = resolve;\n });\n var pull = create_ReadableStreamTeePullFunction();\n pull._reader = reader;\n pull._teeState = teeState;\n pull._cloneForBranch2 = cloneForBranch2;\n var cancel1 = create_ReadableStreamTeeBranch1CancelFunction();\n cancel1._stream = stream;\n cancel1._teeState = teeState;\n var cancel2 = create_ReadableStreamTeeBranch2CancelFunction();\n cancel2._stream = stream;\n cancel2._teeState = teeState;\n var underlyingSource1 = Object.create(Object.prototype);\n createDataProperty(underlyingSource1, 'pull', pull);\n createDataProperty(underlyingSource1, 'cancel', cancel1);\n var branch1Stream = new ReadableStream(underlyingSource1);\n var underlyingSource2 = Object.create(Object.prototype);\n createDataProperty(underlyingSource2, 'pull', pull);\n createDataProperty(underlyingSource2, 'cancel', cancel2);\n var branch2Stream = new ReadableStream(underlyingSource2);\n pull._branch1 = branch1Stream._readableStreamController;\n pull._branch2 = branch2Stream._readableStreamController;\n\n reader._closedPromise[\"catch\"](function (r) {\n if (teeState.closedOrErrored === true) {\n return;\n }\n\n ReadableStreamDefaultControllerError(pull._branch1, r);\n ReadableStreamDefaultControllerError(pull._branch2, r);\n teeState.closedOrErrored = true;\n });\n\n return [branch1Stream, branch2Stream];\n }\n\n function create_ReadableStreamTeePullFunction() {\n function f() {\n var reader = f._reader,\n branch1 = f._branch1,\n branch2 = f._branch2,\n teeState = f._teeState;\n return ReadableStreamDefaultReaderRead(reader).then(function (result) {\n assert(typeIsObject(result));\n var value = result.value;\n var done = result.done;\n assert(typeof done === 'boolean');\n\n if (done === true && teeState.closedOrErrored === false) {\n if (teeState.canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1);\n }\n\n if (teeState.canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2);\n }\n\n teeState.closedOrErrored = true;\n }\n\n if (teeState.closedOrErrored === true) {\n return;\n }\n\n var value1 = value;\n var value2 = value;\n\n if (teeState.canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1, value1);\n }\n\n if (teeState.canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2, value2);\n }\n });\n }\n\n return f;\n }\n\n function create_ReadableStreamTeeBranch1CancelFunction() {\n function f(reason) {\n var stream = f._stream,\n teeState = f._teeState;\n teeState.canceled1 = true;\n teeState.reason1 = reason;\n\n if (teeState.canceled2 === true) {\n var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n\n teeState._resolve(cancelResult);\n }\n\n return teeState.promise;\n }\n\n return f;\n }\n\n function create_ReadableStreamTeeBranch2CancelFunction() {\n function f(reason) {\n var stream = f._stream,\n teeState = f._teeState;\n teeState.canceled2 = true;\n teeState.reason2 = reason;\n\n if (teeState.canceled1 === true) {\n var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n\n teeState._resolve(cancelResult);\n }\n\n return teeState.promise;\n }\n\n return f;\n }\n\n function ReadableStreamAddReadIntoRequest(stream) {\n assert(IsReadableStreamBYOBReader(stream._reader) === true);\n assert(stream._state === 'readable' || stream._state === 'closed');\n var promise = new Promise(function (resolve, reject) {\n var readIntoRequest = {\n _resolve: resolve,\n _reject: reject\n };\n\n stream._reader._readIntoRequests.push(readIntoRequest);\n });\n return promise;\n }\n\n function ReadableStreamAddReadRequest(stream) {\n assert(IsReadableStreamDefaultReader(stream._reader) === true);\n assert(stream._state === 'readable');\n var promise = new Promise(function (resolve, reject) {\n var readRequest = {\n _resolve: resolve,\n _reject: reject\n };\n\n stream._reader._readRequests.push(readRequest);\n });\n return promise;\n }\n\n function ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n\n if (stream._state === 'closed') {\n return Promise.resolve(undefined);\n }\n\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n ReadableStreamClose(stream);\n\n var sourceCancelPromise = stream._readableStreamController.__cancelSteps(reason);\n\n return sourceCancelPromise.then(function () {\n return undefined;\n });\n }\n\n function ReadableStreamClose(stream) {\n assert(stream._state === 'readable');\n stream._state = 'closed';\n var reader = stream._reader;\n\n if (reader === undefined) {\n return undefined;\n }\n\n if (IsReadableStreamDefaultReader(reader) === true) {\n for (var i = 0; i < reader._readRequests.length; i++) {\n var _resolve = reader._readRequests[i]._resolve;\n\n _resolve(CreateIterResultObject(undefined, true));\n }\n\n reader._readRequests = [];\n }\n\n defaultReaderClosedPromiseResolve(reader);\n return undefined;\n }\n\n function ReadableStreamError(stream, e) {\n assert(IsReadableStream(stream) === true, 'stream must be ReadableStream');\n assert(stream._state === 'readable', 'state must be readable');\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n\n if (reader === undefined) {\n return undefined;\n }\n\n if (IsReadableStreamDefaultReader(reader) === true) {\n for (var i = 0; i < reader._readRequests.length; i++) {\n var readRequest = reader._readRequests[i];\n\n readRequest._reject(e);\n }\n\n reader._readRequests = [];\n } else {\n assert(IsReadableStreamBYOBReader(reader), 'reader must be ReadableStreamBYOBReader');\n\n for (var _i = 0; _i < reader._readIntoRequests.length; _i++) {\n var readIntoRequest = reader._readIntoRequests[_i];\n\n readIntoRequest._reject(e);\n }\n\n reader._readIntoRequests = [];\n }\n\n defaultReaderClosedPromiseReject(reader, e);\n\n reader._closedPromise[\"catch\"](function () {});\n }\n\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n assert(reader._readIntoRequests.length > 0);\n\n var readIntoRequest = reader._readIntoRequests.shift();\n\n readIntoRequest._resolve(CreateIterResultObject(chunk, done));\n }\n\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n assert(reader._readRequests.length > 0);\n\n var readRequest = reader._readRequests.shift();\n\n readRequest._resolve(CreateIterResultObject(chunk, done));\n }\n\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n }\n\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n }\n\n function ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n\n if (reader === undefined) {\n return false;\n }\n\n if (IsReadableStreamBYOBReader(reader) === false) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n\n if (reader === undefined) {\n return false;\n }\n\n if (IsReadableStreamDefaultReader(reader) === false) {\n return false;\n }\n\n return true;\n }\n\n var ReadableStreamDefaultReader = function () {\n function ReadableStreamDefaultReader(stream) {\n _classCallCheck(this, ReadableStreamDefaultReader);\n\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\n }\n\n if (IsReadableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = [];\n }\n\n _createClass(ReadableStreamDefaultReader, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('cancel'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n\n return ReadableStreamReaderGenericCancel(this, reason);\n }\n }, {\n key: 'read',\n value: function read() {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('read'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n\n return ReadableStreamDefaultReaderRead(this);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (IsReadableStreamDefaultReader(this) === false) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n\n if (this._ownerReadableStream === undefined) {\n return;\n }\n\n if (this._readRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n\n ReadableStreamReaderGenericRelease(this);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('closed'));\n }\n\n return this._closedPromise;\n }\n }]);\n\n return ReadableStreamDefaultReader;\n }();\n\n var ReadableStreamBYOBReader = function () {\n function ReadableStreamBYOBReader(stream) {\n _classCallCheck(this, ReadableStreamBYOBReader);\n\n if (!IsReadableStream(stream)) {\n throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');\n }\n\n if (IsReadableByteStreamController(stream._readableStreamController) === false) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');\n }\n\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = [];\n }\n\n _createClass(ReadableStreamBYOBReader, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('cancel'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n\n return ReadableStreamReaderGenericCancel(this, reason);\n }\n }, {\n key: 'read',\n value: function read(view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('read'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n\n if (!ArrayBuffer.isView(view)) {\n return Promise.reject(new TypeError('view must be an array buffer view'));\n }\n\n if (view.byteLength === 0) {\n return Promise.reject(new TypeError('view must have non-zero byteLength'));\n }\n\n return ReadableStreamBYOBReaderRead(this, view);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n\n if (this._ownerReadableStream === undefined) {\n return;\n }\n\n if (this._readIntoRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n\n ReadableStreamReaderGenericRelease(this);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('closed'));\n }\n\n return this._closedPromise;\n }\n }]);\n\n return ReadableStreamBYOBReader;\n }();\n\n function IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n\n return true;\n }\n\n function IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n } else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n } else {\n assert(stream._state === 'errored', 'state must be errored');\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n\n reader._closedPromise[\"catch\"](function () {});\n }\n }\n\n function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n return ReadableStreamCancel(stream, reason);\n }\n\n function ReadableStreamReaderGenericRelease(reader) {\n assert(reader._ownerReadableStream !== undefined);\n assert(reader._ownerReadableStream._reader === reader);\n\n if (reader._ownerReadableStream._state === 'readable') {\n defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n } else {\n defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n }\n\n reader._closedPromise[\"catch\"](function () {});\n\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n }\n\n function ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n stream._disturbed = true;\n\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n }\n\n function ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n stream._disturbed = true;\n\n if (stream._state === 'closed') {\n return Promise.resolve(CreateIterResultObject(undefined, true));\n }\n\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n assert(stream._state === 'readable');\n return stream._readableStreamController.__pullSteps();\n }\n\n var ReadableStreamDefaultController = function () {\n function ReadableStreamDefaultController(stream, underlyingSource, size, highWaterMark) {\n _classCallCheck(this, ReadableStreamDefaultController);\n\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultController can only be constructed with a ReadableStream instance');\n }\n\n if (stream._readableStreamController !== undefined) {\n throw new TypeError('ReadableStreamDefaultController instances can only be created by the ReadableStream constructor');\n }\n\n this._controlledReadableStream = stream;\n this._underlyingSource = underlyingSource;\n this._queue = undefined;\n this._queueTotalSize = undefined;\n ResetQueue(this);\n this._started = false;\n this._closeRequested = false;\n this._pullAgain = false;\n this._pulling = false;\n var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark);\n this._strategySize = normalizedStrategy.size;\n this._strategyHWM = normalizedStrategy.highWaterMark;\n var controller = this;\n var startResult = InvokeOrNoop(underlyingSource, 'start', [this]);\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n assert(controller._pulling === false);\n assert(controller._pullAgain === false);\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, r);\n })[\"catch\"](rethrowAssertionErrorRejection);\n }\n\n _createClass(ReadableStreamDefaultController, [{\n key: 'close',\n value: function close() {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n\n var state = this._controlledReadableStream._state;\n\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be closed');\n }\n\n ReadableStreamDefaultControllerClose(this);\n }\n }, {\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n\n var state = this._controlledReadableStream._state;\n\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be enqueued to');\n }\n\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n }\n }, {\n key: 'error',\n value: function error(e) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n\n var stream = this._controlledReadableStream;\n\n if (stream._state !== 'readable') {\n throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n }\n\n ReadableStreamDefaultControllerError(this, e);\n }\n }, {\n key: '__cancelSteps',\n value: function __cancelSteps(reason) {\n ResetQueue(this);\n return PromiseInvokeOrNoop(this._underlyingSource, 'cancel', [reason]);\n }\n }, {\n key: '__pullSteps',\n value: function __pullSteps() {\n var stream = this._controlledReadableStream;\n\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n\n if (this._closeRequested === true && this._queue.length === 0) {\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n\n return Promise.resolve(CreateIterResultObject(chunk, false));\n }\n\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n }\n }]);\n\n return ReadableStreamDefaultController;\n }();\n\n function IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSource')) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n\n if (shouldPull === false) {\n return undefined;\n }\n\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return undefined;\n }\n\n assert(controller._pullAgain === false);\n controller._pulling = true;\n var pullPromise = PromiseInvokeOrNoop(controller._underlyingSource, 'pull', [controller]);\n pullPromise.then(function () {\n controller._pulling = false;\n\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n return ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n\n return undefined;\n }, function (e) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, e);\n })[\"catch\"](rethrowAssertionErrorRejection);\n return undefined;\n }\n\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n\n if (stream._state === 'closed' || stream._state === 'errored') {\n return false;\n }\n\n if (controller._closeRequested === true) {\n return false;\n }\n\n if (controller._started === false) {\n return false;\n }\n\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n\n if (desiredSize > 0) {\n return true;\n }\n\n return false;\n }\n\n function ReadableStreamDefaultControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n controller._closeRequested = true;\n\n if (controller._queue.length === 0) {\n ReadableStreamClose(stream);\n }\n }\n\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n var chunkSize = 1;\n\n if (controller._strategySize !== undefined) {\n var strategySize = controller._strategySize;\n\n try {\n chunkSize = strategySize(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n throw chunkSizeE;\n }\n }\n\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n throw enqueueE;\n }\n }\n\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n return undefined;\n }\n\n function ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n assert(stream._state === 'readable');\n ResetQueue(controller);\n ReadableStreamError(stream, e);\n }\n\n function ReadableStreamDefaultControllerErrorIfNeeded(controller, e) {\n if (controller._controlledReadableStream._state === 'readable') {\n ReadableStreamDefaultControllerError(controller, e);\n }\n }\n\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n\n if (state === 'errored') {\n return null;\n }\n\n if (state === 'closed') {\n return 0;\n }\n\n return controller._strategyHWM - controller._queueTotalSize;\n }\n\n var ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest(controller, view) {\n _classCallCheck(this, ReadableStreamBYOBRequest);\n\n this._associatedReadableByteStreamController = controller;\n this._view = view;\n }\n\n _createClass(ReadableStreamBYOBRequest, [{\n key: 'respond',\n value: function respond(bytesWritten) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n }\n }, {\n key: 'respondWithNewView',\n value: function respondWithNewView(view) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n }\n }, {\n key: 'view',\n get: function get() {\n return this._view;\n }\n }]);\n\n return ReadableStreamBYOBRequest;\n }();\n\n var ReadableByteStreamController = function () {\n function ReadableByteStreamController(stream, underlyingByteSource, highWaterMark) {\n _classCallCheck(this, ReadableByteStreamController);\n\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableByteStreamController can only be constructed with a ReadableStream instance given ' + 'a byte source');\n }\n\n if (stream._readableStreamController !== undefined) {\n throw new TypeError('ReadableByteStreamController instances can only be created by the ReadableStream constructor given a byte ' + 'source');\n }\n\n this._controlledReadableStream = stream;\n this._underlyingByteSource = underlyingByteSource;\n this._pullAgain = false;\n this._pulling = false;\n ReadableByteStreamControllerClearPendingPullIntos(this);\n this._queue = this._queueTotalSize = undefined;\n ResetQueue(this);\n this._closeRequested = false;\n this._started = false;\n this._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n\n if (autoAllocateChunkSize !== undefined) {\n if (Number.isInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\n }\n }\n\n this._autoAllocateChunkSize = autoAllocateChunkSize;\n this._pendingPullIntos = [];\n var controller = this;\n var startResult = InvokeOrNoop(underlyingByteSource, 'start', [this]);\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n assert(controller._pulling === false);\n assert(controller._pullAgain === false);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n if (stream._state === 'readable') {\n ReadableByteStreamControllerError(controller, r);\n }\n })[\"catch\"](rethrowAssertionErrorRejection);\n }\n\n _createClass(ReadableByteStreamController, [{\n key: 'close',\n value: function close() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('close');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n\n var state = this._controlledReadableStream._state;\n\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be closed');\n }\n\n ReadableByteStreamControllerClose(this);\n }\n }, {\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n\n var state = this._controlledReadableStream._state;\n\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be enqueued to');\n }\n\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\n }\n\n ReadableByteStreamControllerEnqueue(this, chunk);\n }\n }, {\n key: 'error',\n value: function error(e) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('error');\n }\n\n var stream = this._controlledReadableStream;\n\n if (stream._state !== 'readable') {\n throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n }\n\n ReadableByteStreamControllerError(this, e);\n }\n }, {\n key: '__cancelSteps',\n value: function __cancelSteps(reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos[0];\n firstDescriptor.bytesFilled = 0;\n }\n\n ResetQueue(this);\n return PromiseInvokeOrNoop(this._underlyingByteSource, 'cancel', [reason]);\n }\n }, {\n key: '__pullSteps',\n value: function __pullSteps() {\n var stream = this._controlledReadableStream;\n assert(ReadableStreamHasDefaultReader(stream) === true);\n\n if (this._queueTotalSize > 0) {\n assert(ReadableStreamGetNumReadRequests(stream) === 0);\n\n var entry = this._queue.shift();\n\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = void 0;\n\n try {\n view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n } catch (viewE) {\n return Promise.reject(viewE);\n }\n\n return Promise.resolve(CreateIterResultObject(view, false));\n }\n\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n } catch (bufferE) {\n return Promise.reject(bufferE);\n }\n\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: 0,\n byteLength: autoAllocateChunkSize,\n bytesFilled: 0,\n elementSize: 1,\n ctor: Uint8Array,\n readerType: 'default'\n };\n\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n\n var promise = ReadableStreamAddReadRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n return promise;\n }\n }, {\n key: 'byobRequest',\n get: function get() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos[0];\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n this._byobRequest = new ReadableStreamBYOBRequest(this, view);\n }\n\n return this._byobRequest;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n\n return ReadableByteStreamControllerGetDesiredSize(this);\n }\n }]);\n\n return ReadableByteStreamController;\n }();\n\n function IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingByteSource')) {\n return false;\n }\n\n return true;\n }\n\n function IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n\n return true;\n }\n\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n\n if (shouldPull === false) {\n return undefined;\n }\n\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return undefined;\n }\n\n assert(controller._pullAgain === false);\n controller._pulling = true;\n var pullPromise = PromiseInvokeOrNoop(controller._underlyingByteSource, 'pull', [controller]);\n pullPromise.then(function () {\n controller._pulling = false;\n\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n if (controller._controlledReadableStream._state === 'readable') {\n ReadableByteStreamControllerError(controller, e);\n }\n })[\"catch\"](rethrowAssertionErrorRejection);\n return undefined;\n }\n\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = [];\n }\n\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n assert(stream._state !== 'errored', 'state must not be errored');\n var done = false;\n\n if (stream._state === 'closed') {\n assert(pullIntoDescriptor.bytesFilled === 0);\n done = true;\n }\n\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n } else {\n assert(pullIntoDescriptor.readerType === 'byob');\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n }\n\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n assert(bytesFilled <= pullIntoDescriptor.byteLength);\n assert(bytesFilled % elementSize === 0);\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n }\n\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength\n });\n\n controller._queueTotalSize += byteLength;\n }\n\n function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n var elementSize = pullIntoDescriptor.elementSize;\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n var totalBytesToCopyRemaining = maxBytesToCopy;\n var ready = false;\n\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n\n var queue = controller._queue;\n\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue[0];\n var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n } else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n\n if (ready === false) {\n assert(controller._queueTotalSize === 0, 'queue must be empty');\n assert(pullIntoDescriptor.bytesFilled > 0);\n assert(pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize);\n }\n\n return ready;\n }\n\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n assert(controller._pendingPullIntos.length === 0 || controller._pendingPullIntos[0] === pullIntoDescriptor);\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n }\n\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n assert(controller._controlledReadableStream._state === 'readable');\n\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableStreamClose(controller._controlledReadableStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }\n\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === undefined) {\n return;\n }\n\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = undefined;\n controller._byobRequest = undefined;\n }\n\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n assert(controller._closeRequested === false);\n\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n\n var pullIntoDescriptor = controller._pendingPullIntos[0];\n\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor);\n }\n }\n }\n\n function ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableStream;\n var elementSize = 1;\n\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n\n var ctor = view.constructor;\n var pullIntoDescriptor = {\n buffer: view.buffer,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize: elementSize,\n ctor: ctor,\n readerType: 'byob'\n };\n\n if (controller._pendingPullIntos.length > 0) {\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n\n controller._pendingPullIntos.push(pullIntoDescriptor);\n\n return ReadableStreamAddReadIntoRequest(stream);\n }\n\n if (stream._state === 'closed') {\n var emptyView = new view.constructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n return Promise.resolve(CreateIterResultObject(emptyView, true));\n }\n\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n return Promise.resolve(CreateIterResultObject(filledView, false));\n }\n\n if (controller._closeRequested === true) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n return Promise.reject(e);\n }\n }\n\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n\n controller._pendingPullIntos.push(pullIntoDescriptor);\n\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n }\n\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n assert(firstDescriptor.bytesFilled === 0, 'bytesFilled must be 0');\n var stream = controller._controlledReadableStream;\n\n if (ReadableStreamHasBYOBReader(stream) === true) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\n }\n }\n\n function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n\n if (remainderSize > 0) {\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos[0];\n var stream = controller._controlledReadableStream;\n\n if (stream._state === 'closed') {\n if (bytesWritten !== 0) {\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n }\n\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n } else {\n assert(stream._state === 'readable');\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n }\n\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n }\n\n function ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n\n if (stream._state !== 'readable') {\n return false;\n }\n\n if (controller._closeRequested === true) {\n return false;\n }\n\n if (controller._started === false) {\n return false;\n }\n\n if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n\n if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n\n if (ReadableByteStreamControllerGetDesiredSize(controller) > 0) {\n return true;\n }\n\n return false;\n }\n\n function ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos[0];\n\n if (firstPendingPullInto.bytesFilled > 0) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n throw e;\n }\n }\n\n ReadableStreamClose(stream);\n }\n\n function ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n var buffer = chunk.buffer;\n var byteOffset = chunk.byteOffset;\n var byteLength = chunk.byteLength;\n var transferredBuffer = TransferArrayBuffer(buffer);\n\n if (ReadableStreamHasDefaultReader(stream) === true) {\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n } else {\n assert(controller._queue.length === 0);\n var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\n }\n } else if (ReadableStreamHasBYOBReader(stream) === true) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n } else {\n assert(IsReadableStreamLocked(stream) === false, 'stream must not be locked');\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n }\n\n function ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n assert(stream._state === 'readable');\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableStreamError(stream, e);\n }\n\n function ReadableByteStreamControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n\n if (state === 'errored') {\n return null;\n }\n\n if (state === 'closed') {\n return 0;\n }\n\n return controller._strategyHWM - controller._queueTotalSize;\n }\n\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n\n assert(controller._pendingPullIntos.length > 0);\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n assert(controller._pendingPullIntos.length > 0);\n var firstDescriptor = controller._pendingPullIntos[0];\n\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n\n if (firstDescriptor.byteLength !== view.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n\n firstDescriptor.buffer = view.buffer;\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n }\n\n function streamBrandCheckException(name) {\n return new TypeError('ReadableStream.prototype.' + name + ' can only be used on a ReadableStream');\n }\n\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n\n function defaultReaderBrandCheckException(name) {\n return new TypeError('ReadableStreamDefaultReader.prototype.' + name + ' can only be used on a ReadableStreamDefaultReader');\n }\n\n function defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = new Promise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n }\n\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n reader._closedPromise = Promise.reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n reader._closedPromise = Promise.resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n function defaultReaderClosedPromiseReject(reader, reason) {\n assert(reader._closedPromise_resolve !== undefined);\n assert(reader._closedPromise_reject !== undefined);\n\n reader._closedPromise_reject(reason);\n\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n assert(reader._closedPromise_resolve === undefined);\n assert(reader._closedPromise_reject === undefined);\n reader._closedPromise = Promise.reject(reason);\n }\n\n function defaultReaderClosedPromiseResolve(reader) {\n assert(reader._closedPromise_resolve !== undefined);\n assert(reader._closedPromise_reject !== undefined);\n\n reader._closedPromise_resolve(undefined);\n\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n function byobReaderBrandCheckException(name) {\n return new TypeError('ReadableStreamBYOBReader.prototype.' + name + ' can only be used on a ReadableStreamBYOBReader');\n }\n\n function defaultControllerBrandCheckException(name) {\n return new TypeError('ReadableStreamDefaultController.prototype.' + name + ' can only be used on a ReadableStreamDefaultController');\n }\n\n function byobRequestBrandCheckException(name) {\n return new TypeError('ReadableStreamBYOBRequest.prototype.' + name + ' can only be used on a ReadableStreamBYOBRequest');\n }\n\n function byteStreamControllerBrandCheckException(name) {\n return new TypeError('ReadableByteStreamController.prototype.' + name + ' can only be used on a ReadableByteStreamController');\n }\n\n function ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise) {\n try {\n Promise.prototype.then.call(promise, undefined, function () {});\n } catch (e) {}\n }\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var transformStream = __w_pdfjs_require__(6);\n\n var readableStream = __w_pdfjs_require__(4);\n\n var writableStream = __w_pdfjs_require__(2);\n\n exports.TransformStream = transformStream.TransformStream;\n exports.ReadableStream = readableStream.ReadableStream;\n exports.IsReadableStreamDisturbed = readableStream.IsReadableStreamDisturbed;\n exports.ReadableStreamDefaultControllerClose = readableStream.ReadableStreamDefaultControllerClose;\n exports.ReadableStreamDefaultControllerEnqueue = readableStream.ReadableStreamDefaultControllerEnqueue;\n exports.ReadableStreamDefaultControllerError = readableStream.ReadableStreamDefaultControllerError;\n exports.ReadableStreamDefaultControllerGetDesiredSize = readableStream.ReadableStreamDefaultControllerGetDesiredSize;\n exports.AcquireWritableStreamDefaultWriter = writableStream.AcquireWritableStreamDefaultWriter;\n exports.IsWritableStream = writableStream.IsWritableStream;\n exports.IsWritableStreamLocked = writableStream.IsWritableStreamLocked;\n exports.WritableStream = writableStream.WritableStream;\n exports.WritableStreamAbort = writableStream.WritableStreamAbort;\n exports.WritableStreamDefaultControllerError = writableStream.WritableStreamDefaultControllerError;\n exports.WritableStreamDefaultWriterCloseWithErrorPropagation = writableStream.WritableStreamDefaultWriterCloseWithErrorPropagation;\n exports.WritableStreamDefaultWriterRelease = writableStream.WritableStreamDefaultWriterRelease;\n exports.WritableStreamDefaultWriterWrite = writableStream.WritableStreamDefaultWriterWrite;\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _require = __w_pdfjs_require__(1),\n assert = _require.assert;\n\n var _require2 = __w_pdfjs_require__(0),\n InvokeOrNoop = _require2.InvokeOrNoop,\n PromiseInvokeOrPerformFallback = _require2.PromiseInvokeOrPerformFallback,\n PromiseInvokeOrNoop = _require2.PromiseInvokeOrNoop,\n typeIsObject = _require2.typeIsObject;\n\n var _require3 = __w_pdfjs_require__(4),\n ReadableStream = _require3.ReadableStream,\n ReadableStreamDefaultControllerClose = _require3.ReadableStreamDefaultControllerClose,\n ReadableStreamDefaultControllerEnqueue = _require3.ReadableStreamDefaultControllerEnqueue,\n ReadableStreamDefaultControllerError = _require3.ReadableStreamDefaultControllerError,\n ReadableStreamDefaultControllerGetDesiredSize = _require3.ReadableStreamDefaultControllerGetDesiredSize;\n\n var _require4 = __w_pdfjs_require__(2),\n WritableStream = _require4.WritableStream,\n WritableStreamDefaultControllerError = _require4.WritableStreamDefaultControllerError;\n\n function TransformStreamCloseReadable(transformStream) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n\n if (transformStream._readableClosed === true) {\n throw new TypeError('Readable side is already closed');\n }\n\n TransformStreamCloseReadableInternal(transformStream);\n }\n\n function TransformStreamEnqueueToReadable(transformStream, chunk) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n\n if (transformStream._readableClosed === true) {\n throw new TypeError('Readable side is already closed');\n }\n\n var controller = transformStream._readableController;\n\n try {\n ReadableStreamDefaultControllerEnqueue(controller, chunk);\n } catch (e) {\n transformStream._readableClosed = true;\n TransformStreamErrorIfNeeded(transformStream, e);\n throw transformStream._storedError;\n }\n\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n var maybeBackpressure = desiredSize <= 0;\n\n if (maybeBackpressure === true && transformStream._backpressure === false) {\n TransformStreamSetBackpressure(transformStream, true);\n }\n }\n\n function TransformStreamError(transformStream, e) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n\n TransformStreamErrorInternal(transformStream, e);\n }\n\n function TransformStreamCloseReadableInternal(transformStream) {\n assert(transformStream._errored === false);\n assert(transformStream._readableClosed === false);\n\n try {\n ReadableStreamDefaultControllerClose(transformStream._readableController);\n } catch (e) {\n assert(false);\n }\n\n transformStream._readableClosed = true;\n }\n\n function TransformStreamErrorIfNeeded(transformStream, e) {\n if (transformStream._errored === false) {\n TransformStreamErrorInternal(transformStream, e);\n }\n }\n\n function TransformStreamErrorInternal(transformStream, e) {\n assert(transformStream._errored === false);\n transformStream._errored = true;\n transformStream._storedError = e;\n\n if (transformStream._writableDone === false) {\n WritableStreamDefaultControllerError(transformStream._writableController, e);\n }\n\n if (transformStream._readableClosed === false) {\n ReadableStreamDefaultControllerError(transformStream._readableController, e);\n }\n }\n\n function TransformStreamReadableReadyPromise(transformStream) {\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n\n if (transformStream._backpressure === false) {\n return Promise.resolve();\n }\n\n assert(transformStream._backpressure === true, '_backpressure should have been initialized');\n return transformStream._backpressureChangePromise;\n }\n\n function TransformStreamSetBackpressure(transformStream, backpressure) {\n assert(transformStream._backpressure !== backpressure, 'TransformStreamSetBackpressure() should be called only when backpressure is changed');\n\n if (transformStream._backpressureChangePromise !== undefined) {\n transformStream._backpressureChangePromise_resolve(backpressure);\n }\n\n transformStream._backpressureChangePromise = new Promise(function (resolve) {\n transformStream._backpressureChangePromise_resolve = resolve;\n });\n\n transformStream._backpressureChangePromise.then(function (resolution) {\n assert(resolution !== backpressure, '_backpressureChangePromise should be fulfilled only when backpressure is changed');\n });\n\n transformStream._backpressure = backpressure;\n }\n\n function TransformStreamDefaultTransform(chunk, transformStreamController) {\n var transformStream = transformStreamController._controlledTransformStream;\n TransformStreamEnqueueToReadable(transformStream, chunk);\n return Promise.resolve();\n }\n\n function TransformStreamTransform(transformStream, chunk) {\n assert(transformStream._errored === false);\n assert(transformStream._transforming === false);\n assert(transformStream._backpressure === false);\n transformStream._transforming = true;\n var transformer = transformStream._transformer;\n var controller = transformStream._transformStreamController;\n var transformPromise = PromiseInvokeOrPerformFallback(transformer, 'transform', [chunk, controller], TransformStreamDefaultTransform, [chunk, controller]);\n return transformPromise.then(function () {\n transformStream._transforming = false;\n return TransformStreamReadableReadyPromise(transformStream);\n }, function (e) {\n TransformStreamErrorIfNeeded(transformStream, e);\n return Promise.reject(e);\n });\n }\n\n function IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n\n return true;\n }\n\n function IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n\n return true;\n }\n\n var TransformStreamSink = function () {\n function TransformStreamSink(transformStream, startPromise) {\n _classCallCheck(this, TransformStreamSink);\n\n this._transformStream = transformStream;\n this._startPromise = startPromise;\n }\n\n _createClass(TransformStreamSink, [{\n key: 'start',\n value: function start(c) {\n var transformStream = this._transformStream;\n transformStream._writableController = c;\n return this._startPromise.then(function () {\n return TransformStreamReadableReadyPromise(transformStream);\n });\n }\n }, {\n key: 'write',\n value: function write(chunk) {\n var transformStream = this._transformStream;\n return TransformStreamTransform(transformStream, chunk);\n }\n }, {\n key: 'abort',\n value: function abort() {\n var transformStream = this._transformStream;\n transformStream._writableDone = true;\n TransformStreamErrorInternal(transformStream, new TypeError('Writable side aborted'));\n }\n }, {\n key: 'close',\n value: function close() {\n var transformStream = this._transformStream;\n assert(transformStream._transforming === false);\n transformStream._writableDone = true;\n var flushPromise = PromiseInvokeOrNoop(transformStream._transformer, 'flush', [transformStream._transformStreamController]);\n return flushPromise.then(function () {\n if (transformStream._errored === true) {\n return Promise.reject(transformStream._storedError);\n }\n\n if (transformStream._readableClosed === false) {\n TransformStreamCloseReadableInternal(transformStream);\n }\n\n return Promise.resolve();\n })[\"catch\"](function (r) {\n TransformStreamErrorIfNeeded(transformStream, r);\n return Promise.reject(transformStream._storedError);\n });\n }\n }]);\n\n return TransformStreamSink;\n }();\n\n var TransformStreamSource = function () {\n function TransformStreamSource(transformStream, startPromise) {\n _classCallCheck(this, TransformStreamSource);\n\n this._transformStream = transformStream;\n this._startPromise = startPromise;\n }\n\n _createClass(TransformStreamSource, [{\n key: 'start',\n value: function start(c) {\n var transformStream = this._transformStream;\n transformStream._readableController = c;\n return this._startPromise.then(function () {\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n\n if (transformStream._backpressure === true) {\n return Promise.resolve();\n }\n\n assert(transformStream._backpressure === false, '_backpressure should have been initialized');\n return transformStream._backpressureChangePromise;\n });\n }\n }, {\n key: 'pull',\n value: function pull() {\n var transformStream = this._transformStream;\n assert(transformStream._backpressure === true, 'pull() should be never called while _backpressure is false');\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n TransformStreamSetBackpressure(transformStream, false);\n return transformStream._backpressureChangePromise;\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n var transformStream = this._transformStream;\n transformStream._readableClosed = true;\n TransformStreamErrorInternal(transformStream, new TypeError('Readable side canceled'));\n }\n }]);\n\n return TransformStreamSource;\n }();\n\n var TransformStreamDefaultController = function () {\n function TransformStreamDefaultController(transformStream) {\n _classCallCheck(this, TransformStreamDefaultController);\n\n if (IsTransformStream(transformStream) === false) {\n throw new TypeError('TransformStreamDefaultController can only be ' + 'constructed with a TransformStream instance');\n }\n\n if (transformStream._transformStreamController !== undefined) {\n throw new TypeError('TransformStreamDefaultController instances can ' + 'only be created by the TransformStream constructor');\n }\n\n this._controlledTransformStream = transformStream;\n }\n\n _createClass(TransformStreamDefaultController, [{\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n\n TransformStreamEnqueueToReadable(this._controlledTransformStream, chunk);\n }\n }, {\n key: 'close',\n value: function close() {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n\n TransformStreamCloseReadable(this._controlledTransformStream);\n }\n }, {\n key: 'error',\n value: function error(reason) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n\n TransformStreamError(this._controlledTransformStream, reason);\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n\n var transformStream = this._controlledTransformStream;\n var readableController = transformStream._readableController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n }\n }]);\n\n return TransformStreamDefaultController;\n }();\n\n var TransformStream = function () {\n function TransformStream() {\n var transformer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, TransformStream);\n\n this._transformer = transformer;\n var readableStrategy = transformer.readableStrategy,\n writableStrategy = transformer.writableStrategy;\n this._transforming = false;\n this._errored = false;\n this._storedError = undefined;\n this._writableController = undefined;\n this._readableController = undefined;\n this._transformStreamController = undefined;\n this._writableDone = false;\n this._readableClosed = false;\n this._backpressure = undefined;\n this._backpressureChangePromise = undefined;\n this._backpressureChangePromise_resolve = undefined;\n this._transformStreamController = new TransformStreamDefaultController(this);\n var startPromise_resolve = void 0;\n var startPromise = new Promise(function (resolve) {\n startPromise_resolve = resolve;\n });\n var source = new TransformStreamSource(this, startPromise);\n this._readable = new ReadableStream(source, readableStrategy);\n var sink = new TransformStreamSink(this, startPromise);\n this._writable = new WritableStream(sink, writableStrategy);\n assert(this._writableController !== undefined);\n assert(this._readableController !== undefined);\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(this._readableController);\n TransformStreamSetBackpressure(this, desiredSize <= 0);\n var transformStream = this;\n var startResult = InvokeOrNoop(transformer, 'start', [transformStream._transformStreamController]);\n startPromise_resolve(startResult);\n startPromise[\"catch\"](function (e) {\n if (transformStream._errored === false) {\n transformStream._errored = true;\n transformStream._storedError = e;\n }\n });\n }\n\n _createClass(TransformStream, [{\n key: 'readable',\n get: function get() {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException('readable');\n }\n\n return this._readable;\n }\n }, {\n key: 'writable',\n get: function get() {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException('writable');\n }\n\n return this._writable;\n }\n }]);\n\n return TransformStream;\n }();\n\n module.exports = {\n TransformStream: TransformStream\n };\n\n function defaultControllerBrandCheckException(name) {\n return new TypeError('TransformStreamDefaultController.prototype.' + name + ' can only be used on a TransformStreamDefaultController');\n }\n\n function streamBrandCheckException(name) {\n return new TypeError('TransformStream.prototype.' + name + ' can only be used on a TransformStream');\n }\n}, function (module, exports, __w_pdfjs_require__) {\n module.exports = __w_pdfjs_require__(5);\n}]));\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n{\n var isURLSupported = false;\n\n try {\n if (typeof URL === 'function' && _typeof(URL.prototype) === 'object' && 'origin' in URL.prototype) {\n var u = new URL('b', 'http://a');\n u.pathname = 'c%20d';\n isURLSupported = u.href === 'http://a/c%20d';\n }\n } catch (ex) {}\n\n if (isURLSupported) {\n exports.URL = URL;\n } else {\n var PolyfillURL = __w_pdfjs_require__(150).URL;\n\n var OriginalURL = __w_pdfjs_require__(7).URL;\n\n if (OriginalURL) {\n PolyfillURL.createObjectURL = function (blob) {\n return OriginalURL.createObjectURL.apply(OriginalURL, arguments);\n };\n\n PolyfillURL.revokeObjectURL = function (url) {\n OriginalURL.revokeObjectURL(url);\n };\n }\n\n exports.URL = PolyfillURL;\n }\n}\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n(function URLConstructorClosure() {\n 'use strict';\n\n var relative = Object.create(null);\n relative['ftp'] = 21;\n relative['file'] = 0;\n relative['gopher'] = 70;\n relative['http'] = 80;\n relative['https'] = 443;\n relative['ws'] = 80;\n relative['wss'] = 443;\n var relativePathDotMapping = Object.create(null);\n relativePathDotMapping['%2e'] = '.';\n relativePathDotMapping['.%2e'] = '..';\n relativePathDotMapping['%2e.'] = '..';\n relativePathDotMapping['%2e%2e'] = '..';\n\n function isRelativeScheme(scheme) {\n return relative[scheme] !== undefined;\n }\n\n function invalid() {\n clear.call(this);\n this._isInvalid = true;\n }\n\n function IDNAToASCII(h) {\n if (h === '') {\n invalid.call(this);\n }\n\n return h.toLowerCase();\n }\n\n function percentEscape(c) {\n var unicode = c.charCodeAt(0);\n\n if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x3F, 0x60].indexOf(unicode) === -1) {\n return c;\n }\n\n return encodeURIComponent(c);\n }\n\n function percentEscapeQuery(c) {\n var unicode = c.charCodeAt(0);\n\n if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x60].indexOf(unicode) === -1) {\n return c;\n }\n\n return encodeURIComponent(c);\n }\n\n var EOF,\n ALPHA = /[a-zA-Z]/,\n ALPHANUMERIC = /[a-zA-Z0-9\\+\\-\\.]/;\n\n function parse(input, stateOverride, base) {\n function err(message) {\n errors.push(message);\n }\n\n var state = stateOverride || 'scheme start',\n cursor = 0,\n buffer = '',\n seenAt = false,\n seenBracket = false,\n errors = [];\n\n loop: while ((input[cursor - 1] !== EOF || cursor === 0) && !this._isInvalid) {\n var c = input[cursor];\n\n switch (state) {\n case 'scheme start':\n if (c && ALPHA.test(c)) {\n buffer += c.toLowerCase();\n state = 'scheme';\n } else if (!stateOverride) {\n buffer = '';\n state = 'no scheme';\n continue;\n } else {\n err('Invalid scheme.');\n break loop;\n }\n\n break;\n\n case 'scheme':\n if (c && ALPHANUMERIC.test(c)) {\n buffer += c.toLowerCase();\n } else if (c === ':') {\n this._scheme = buffer;\n buffer = '';\n\n if (stateOverride) {\n break loop;\n }\n\n if (isRelativeScheme(this._scheme)) {\n this._isRelative = true;\n }\n\n if (this._scheme === 'file') {\n state = 'relative';\n } else if (this._isRelative && base && base._scheme === this._scheme) {\n state = 'relative or authority';\n } else if (this._isRelative) {\n state = 'authority first slash';\n } else {\n state = 'scheme data';\n }\n } else if (!stateOverride) {\n buffer = '';\n cursor = 0;\n state = 'no scheme';\n continue;\n } else if (c === EOF) {\n break loop;\n } else {\n err('Code point not allowed in scheme: ' + c);\n break loop;\n }\n\n break;\n\n case 'scheme data':\n if (c === '?') {\n this._query = '?';\n state = 'query';\n } else if (c === '#') {\n this._fragment = '#';\n state = 'fragment';\n } else {\n if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._schemeData += percentEscape(c);\n }\n }\n\n break;\n\n case 'no scheme':\n if (!base || !isRelativeScheme(base._scheme)) {\n err('Missing scheme.');\n invalid.call(this);\n } else {\n state = 'relative';\n continue;\n }\n\n break;\n\n case 'relative or authority':\n if (c === '/' && input[cursor + 1] === '/') {\n state = 'authority ignore slashes';\n } else {\n err('Expected /, got: ' + c);\n state = 'relative';\n continue;\n }\n\n break;\n\n case 'relative':\n this._isRelative = true;\n\n if (this._scheme !== 'file') {\n this._scheme = base._scheme;\n }\n\n if (c === EOF) {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = base._query;\n this._username = base._username;\n this._password = base._password;\n break loop;\n } else if (c === '/' || c === '\\\\') {\n if (c === '\\\\') {\n err('\\\\ is an invalid code point.');\n }\n\n state = 'relative slash';\n } else if (c === '?') {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = '?';\n this._username = base._username;\n this._password = base._password;\n state = 'query';\n } else if (c === '#') {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = base._query;\n this._fragment = '#';\n this._username = base._username;\n this._password = base._password;\n state = 'fragment';\n } else {\n var nextC = input[cursor + 1];\n var nextNextC = input[cursor + 2];\n\n if (this._scheme !== 'file' || !ALPHA.test(c) || nextC !== ':' && nextC !== '|' || nextNextC !== EOF && nextNextC !== '/' && nextNextC !== '\\\\' && nextNextC !== '?' && nextNextC !== '#') {\n this._host = base._host;\n this._port = base._port;\n this._username = base._username;\n this._password = base._password;\n this._path = base._path.slice();\n\n this._path.pop();\n }\n\n state = 'relative path';\n continue;\n }\n\n break;\n\n case 'relative slash':\n if (c === '/' || c === '\\\\') {\n if (c === '\\\\') {\n err('\\\\ is an invalid code point.');\n }\n\n if (this._scheme === 'file') {\n state = 'file host';\n } else {\n state = 'authority ignore slashes';\n }\n } else {\n if (this._scheme !== 'file') {\n this._host = base._host;\n this._port = base._port;\n this._username = base._username;\n this._password = base._password;\n }\n\n state = 'relative path';\n continue;\n }\n\n break;\n\n case 'authority first slash':\n if (c === '/') {\n state = 'authority second slash';\n } else {\n err('Expected \\'/\\', got: ' + c);\n state = 'authority ignore slashes';\n continue;\n }\n\n break;\n\n case 'authority second slash':\n state = 'authority ignore slashes';\n\n if (c !== '/') {\n err('Expected \\'/\\', got: ' + c);\n continue;\n }\n\n break;\n\n case 'authority ignore slashes':\n if (c !== '/' && c !== '\\\\') {\n state = 'authority';\n continue;\n } else {\n err('Expected authority, got: ' + c);\n }\n\n break;\n\n case 'authority':\n if (c === '@') {\n if (seenAt) {\n err('@ already seen.');\n buffer += '%40';\n }\n\n seenAt = true;\n\n for (var i = 0; i < buffer.length; i++) {\n var cp = buffer[i];\n\n if (cp === '\\t' || cp === '\\n' || cp === '\\r') {\n err('Invalid whitespace in authority.');\n continue;\n }\n\n if (cp === ':' && this._password === null) {\n this._password = '';\n continue;\n }\n\n var tempC = percentEscape(cp);\n\n if (this._password !== null) {\n this._password += tempC;\n } else {\n this._username += tempC;\n }\n }\n\n buffer = '';\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n cursor -= buffer.length;\n buffer = '';\n state = 'host';\n continue;\n } else {\n buffer += c;\n }\n\n break;\n\n case 'file host':\n if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n if (buffer.length === 2 && ALPHA.test(buffer[0]) && (buffer[1] === ':' || buffer[1] === '|')) {\n state = 'relative path';\n } else if (buffer.length === 0) {\n state = 'relative path start';\n } else {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'relative path start';\n }\n\n continue;\n } else if (c === '\\t' || c === '\\n' || c === '\\r') {\n err('Invalid whitespace in file host.');\n } else {\n buffer += c;\n }\n\n break;\n\n case 'host':\n case 'hostname':\n if (c === ':' && !seenBracket) {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'port';\n\n if (stateOverride === 'hostname') {\n break loop;\n }\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'relative path start';\n\n if (stateOverride) {\n break loop;\n }\n\n continue;\n } else if (c !== '\\t' && c !== '\\n' && c !== '\\r') {\n if (c === '[') {\n seenBracket = true;\n } else if (c === ']') {\n seenBracket = false;\n }\n\n buffer += c;\n } else {\n err('Invalid code point in host/hostname: ' + c);\n }\n\n break;\n\n case 'port':\n if (/[0-9]/.test(c)) {\n buffer += c;\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#' || stateOverride) {\n if (buffer !== '') {\n var temp = parseInt(buffer, 10);\n\n if (temp !== relative[this._scheme]) {\n this._port = temp + '';\n }\n\n buffer = '';\n }\n\n if (stateOverride) {\n break loop;\n }\n\n state = 'relative path start';\n continue;\n } else if (c === '\\t' || c === '\\n' || c === '\\r') {\n err('Invalid code point in port: ' + c);\n } else {\n invalid.call(this);\n }\n\n break;\n\n case 'relative path start':\n if (c === '\\\\') {\n err('\\'\\\\\\' not allowed in path.');\n }\n\n state = 'relative path';\n\n if (c !== '/' && c !== '\\\\') {\n continue;\n }\n\n break;\n\n case 'relative path':\n if (c === EOF || c === '/' || c === '\\\\' || !stateOverride && (c === '?' || c === '#')) {\n if (c === '\\\\') {\n err('\\\\ not allowed in relative path.');\n }\n\n var tmp;\n\n if (tmp = relativePathDotMapping[buffer.toLowerCase()]) {\n buffer = tmp;\n }\n\n if (buffer === '..') {\n this._path.pop();\n\n if (c !== '/' && c !== '\\\\') {\n this._path.push('');\n }\n } else if (buffer === '.' && c !== '/' && c !== '\\\\') {\n this._path.push('');\n } else if (buffer !== '.') {\n if (this._scheme === 'file' && this._path.length === 0 && buffer.length === 2 && ALPHA.test(buffer[0]) && buffer[1] === '|') {\n buffer = buffer[0] + ':';\n }\n\n this._path.push(buffer);\n }\n\n buffer = '';\n\n if (c === '?') {\n this._query = '?';\n state = 'query';\n } else if (c === '#') {\n this._fragment = '#';\n state = 'fragment';\n }\n } else if (c !== '\\t' && c !== '\\n' && c !== '\\r') {\n buffer += percentEscape(c);\n }\n\n break;\n\n case 'query':\n if (!stateOverride && c === '#') {\n this._fragment = '#';\n state = 'fragment';\n } else if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._query += percentEscapeQuery(c);\n }\n\n break;\n\n case 'fragment':\n if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._fragment += c;\n }\n\n break;\n }\n\n cursor++;\n }\n }\n\n function clear() {\n this._scheme = '';\n this._schemeData = '';\n this._username = '';\n this._password = null;\n this._host = '';\n this._port = '';\n this._path = [];\n this._query = '';\n this._fragment = '';\n this._isInvalid = false;\n this._isRelative = false;\n }\n\n function JURL(url, base) {\n if (base !== undefined && !(base instanceof JURL)) {\n base = new JURL(String(base));\n }\n\n this._url = url;\n clear.call(this);\n var input = url.replace(/^[ \\t\\r\\n\\f]+|[ \\t\\r\\n\\f]+$/g, '');\n parse.call(this, input, null, base);\n }\n\n JURL.prototype = {\n toString: function toString() {\n return this.href;\n },\n\n get href() {\n if (this._isInvalid) {\n return this._url;\n }\n\n var authority = '';\n\n if (this._username !== '' || this._password !== null) {\n authority = this._username + (this._password !== null ? ':' + this._password : '') + '@';\n }\n\n return this.protocol + (this._isRelative ? '//' + authority + this.host : '') + this.pathname + this._query + this._fragment;\n },\n\n set href(value) {\n clear.call(this);\n parse.call(this, value);\n },\n\n get protocol() {\n return this._scheme + ':';\n },\n\n set protocol(value) {\n if (this._isInvalid) {\n return;\n }\n\n parse.call(this, value + ':', 'scheme start');\n },\n\n get host() {\n return this._isInvalid ? '' : this._port ? this._host + ':' + this._port : this._host;\n },\n\n set host(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n parse.call(this, value, 'host');\n },\n\n get hostname() {\n return this._host;\n },\n\n set hostname(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n parse.call(this, value, 'hostname');\n },\n\n get port() {\n return this._port;\n },\n\n set port(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n parse.call(this, value, 'port');\n },\n\n get pathname() {\n return this._isInvalid ? '' : this._isRelative ? '/' + this._path.join('/') : this._schemeData;\n },\n\n set pathname(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n this._path = [];\n parse.call(this, value, 'relative path start');\n },\n\n get search() {\n return this._isInvalid || !this._query || this._query === '?' ? '' : this._query;\n },\n\n set search(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n this._query = '?';\n\n if (value[0] === '?') {\n value = value.slice(1);\n }\n\n parse.call(this, value, 'query');\n },\n\n get hash() {\n return this._isInvalid || !this._fragment || this._fragment === '#' ? '' : this._fragment;\n },\n\n set hash(value) {\n if (this._isInvalid) {\n return;\n }\n\n this._fragment = '#';\n\n if (value[0] === '#') {\n value = value.slice(1);\n }\n\n parse.call(this, value, 'fragment');\n },\n\n get origin() {\n var host;\n\n if (this._isInvalid || !this._scheme) {\n return '';\n }\n\n switch (this._scheme) {\n case 'data':\n case 'file':\n case 'javascript':\n case 'mailto':\n return 'null';\n\n case 'blob':\n try {\n return new JURL(this._schemeData).origin || 'null';\n } catch (_) {}\n\n return 'null';\n }\n\n host = this.host;\n\n if (!host) {\n return '';\n }\n\n return this._scheme + '://' + host;\n }\n\n };\n exports.URL = JURL;\n})();\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.clearPrimitiveCaches = clearPrimitiveCaches;\nexports.isEOF = isEOF;\nexports.isCmd = isCmd;\nexports.isDict = isDict;\nexports.isName = isName;\nexports.isRef = isRef;\nexports.isRefsEqual = isRefsEqual;\nexports.isStream = isStream;\nexports.RefSetCache = exports.RefSet = exports.Ref = exports.Name = exports.Dict = exports.Cmd = exports.EOF = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar EOF = {};\nexports.EOF = EOF;\n\nvar Name = function NameClosure() {\n var nameCache = Object.create(null);\n\n function Name(name) {\n this.name = name;\n }\n\n Name.prototype = {};\n\n Name.get = function Name_get(name) {\n var nameValue = nameCache[name];\n return nameValue ? nameValue : nameCache[name] = new Name(name);\n };\n\n Name._clearCache = function () {\n nameCache = Object.create(null);\n };\n\n return Name;\n}();\n\nexports.Name = Name;\n\nvar Cmd = function CmdClosure() {\n var cmdCache = Object.create(null);\n\n function Cmd(cmd) {\n this.cmd = cmd;\n }\n\n Cmd.prototype = {};\n\n Cmd.get = function Cmd_get(cmd) {\n var cmdValue = cmdCache[cmd];\n return cmdValue ? cmdValue : cmdCache[cmd] = new Cmd(cmd);\n };\n\n Cmd._clearCache = function () {\n cmdCache = Object.create(null);\n };\n\n return Cmd;\n}();\n\nexports.Cmd = Cmd;\n\nvar Dict = function DictClosure() {\n var nonSerializable = function nonSerializableClosure() {\n return nonSerializable;\n };\n\n function Dict(xref) {\n this._map = Object.create(null);\n this.xref = xref;\n this.objId = null;\n this.suppressEncryption = false;\n this.__nonSerializable__ = nonSerializable;\n }\n\n Dict.prototype = {\n assignXref: function Dict_assignXref(newXref) {\n this.xref = newXref;\n },\n get: function Dict_get(key1, key2, key3) {\n var value;\n var xref = this.xref,\n suppressEncryption = this.suppressEncryption;\n\n if (typeof (value = this._map[key1]) !== 'undefined' || key1 in this._map || typeof key2 === 'undefined') {\n return xref ? xref.fetchIfRef(value, suppressEncryption) : value;\n }\n\n if (typeof (value = this._map[key2]) !== 'undefined' || key2 in this._map || typeof key3 === 'undefined') {\n return xref ? xref.fetchIfRef(value, suppressEncryption) : value;\n }\n\n value = this._map[key3] || null;\n return xref ? xref.fetchIfRef(value, suppressEncryption) : value;\n },\n getAsync: function Dict_getAsync(key1, key2, key3) {\n var value;\n var xref = this.xref,\n suppressEncryption = this.suppressEncryption;\n\n if (typeof (value = this._map[key1]) !== 'undefined' || key1 in this._map || typeof key2 === 'undefined') {\n if (xref) {\n return xref.fetchIfRefAsync(value, suppressEncryption);\n }\n\n return Promise.resolve(value);\n }\n\n if (typeof (value = this._map[key2]) !== 'undefined' || key2 in this._map || typeof key3 === 'undefined') {\n if (xref) {\n return xref.fetchIfRefAsync(value, suppressEncryption);\n }\n\n return Promise.resolve(value);\n }\n\n value = this._map[key3] || null;\n\n if (xref) {\n return xref.fetchIfRefAsync(value, suppressEncryption);\n }\n\n return Promise.resolve(value);\n },\n getArray: function Dict_getArray(key1, key2, key3) {\n var value = this.get(key1, key2, key3);\n var xref = this.xref,\n suppressEncryption = this.suppressEncryption;\n\n if (!Array.isArray(value) || !xref) {\n return value;\n }\n\n value = value.slice();\n\n for (var i = 0, ii = value.length; i < ii; i++) {\n if (!isRef(value[i])) {\n continue;\n }\n\n value[i] = xref.fetch(value[i], suppressEncryption);\n }\n\n return value;\n },\n getRaw: function Dict_getRaw(key) {\n return this._map[key];\n },\n getKeys: function Dict_getKeys() {\n return Object.keys(this._map);\n },\n set: function Dict_set(key, value) {\n this._map[key] = value;\n },\n has: function Dict_has(key) {\n return key in this._map;\n },\n forEach: function Dict_forEach(callback) {\n for (var key in this._map) {\n callback(key, this.get(key));\n }\n }\n };\n Dict.empty = new Dict(null);\n\n Dict.merge = function (xref, dictArray) {\n var mergedDict = new Dict(xref);\n\n for (var i = 0, ii = dictArray.length; i < ii; i++) {\n var dict = dictArray[i];\n\n if (!isDict(dict)) {\n continue;\n }\n\n for (var keyName in dict._map) {\n if (mergedDict._map[keyName] !== undefined) {\n continue;\n }\n\n mergedDict._map[keyName] = dict._map[keyName];\n }\n }\n\n return mergedDict;\n };\n\n return Dict;\n}();\n\nexports.Dict = Dict;\n\nvar Ref = function RefClosure() {\n var refCache = Object.create(null);\n\n function Ref(num, gen) {\n this.num = num;\n this.gen = gen;\n }\n\n Ref.prototype = {\n toString: function Ref_toString() {\n if (this.gen === 0) {\n return \"\".concat(this.num, \"R\");\n }\n\n return \"\".concat(this.num, \"R\").concat(this.gen);\n }\n };\n\n Ref.get = function (num, gen) {\n var key = gen === 0 ? \"\".concat(num, \"R\") : \"\".concat(num, \"R\").concat(gen);\n var refValue = refCache[key];\n return refValue ? refValue : refCache[key] = new Ref(num, gen);\n };\n\n Ref._clearCache = function () {\n refCache = Object.create(null);\n };\n\n return Ref;\n}();\n\nexports.Ref = Ref;\n\nvar RefSet = function RefSetClosure() {\n function RefSet() {\n this.dict = Object.create(null);\n }\n\n RefSet.prototype = {\n has: function RefSet_has(ref) {\n return ref.toString() in this.dict;\n },\n put: function RefSet_put(ref) {\n this.dict[ref.toString()] = true;\n },\n remove: function RefSet_remove(ref) {\n delete this.dict[ref.toString()];\n }\n };\n return RefSet;\n}();\n\nexports.RefSet = RefSet;\n\nvar RefSetCache = function RefSetCacheClosure() {\n function RefSetCache() {\n this.dict = Object.create(null);\n }\n\n RefSetCache.prototype = {\n get: function RefSetCache_get(ref) {\n return this.dict[ref.toString()];\n },\n has: function RefSetCache_has(ref) {\n return ref.toString() in this.dict;\n },\n put: function RefSetCache_put(ref, obj) {\n this.dict[ref.toString()] = obj;\n },\n putAlias: function RefSetCache_putAlias(ref, aliasRef) {\n this.dict[ref.toString()] = this.get(aliasRef);\n },\n forEach: function RefSetCache_forEach(fn, thisArg) {\n for (var i in this.dict) {\n fn.call(thisArg, this.dict[i]);\n }\n },\n clear: function RefSetCache_clear() {\n this.dict = Object.create(null);\n }\n };\n return RefSetCache;\n}();\n\nexports.RefSetCache = RefSetCache;\n\nfunction isEOF(v) {\n return v === EOF;\n}\n\nfunction isName(v, name) {\n return v instanceof Name && (name === undefined || v.name === name);\n}\n\nfunction isCmd(v, cmd) {\n return v instanceof Cmd && (cmd === undefined || v.cmd === cmd);\n}\n\nfunction isDict(v, type) {\n return v instanceof Dict && (type === undefined || isName(v.get('Type'), type));\n}\n\nfunction isRef(v) {\n return v instanceof Ref;\n}\n\nfunction isRefsEqual(v1, v2) {\n return v1.num === v2.num && v1.gen === v2.gen;\n}\n\nfunction isStream(v) {\n return _typeof(v) === 'object' && v !== null && v.getBytes !== undefined;\n}\n\nfunction clearPrimitiveCaches() {\n Cmd._clearCache();\n\n Name._clearCache();\n\n Ref._clearCache();\n}\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NetworkPdfManager = exports.LocalPdfManager = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _chunked_stream = __w_pdfjs_require__(153);\n\nvar _core_utils = __w_pdfjs_require__(154);\n\nvar _document = __w_pdfjs_require__(155);\n\nvar _stream = __w_pdfjs_require__(158);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BasePdfManager =\n/*#__PURE__*/\nfunction () {\n function BasePdfManager() {\n _classCallCheck(this, BasePdfManager);\n\n if (this.constructor === BasePdfManager) {\n (0, _util.unreachable)('Cannot initialize BasePdfManager.');\n }\n }\n\n _createClass(BasePdfManager, [{\n key: \"onLoadedStream\",\n value: function onLoadedStream() {\n (0, _util.unreachable)('Abstract method `onLoadedStream` called');\n }\n }, {\n key: \"ensureDoc\",\n value: function ensureDoc(prop, args) {\n return this.ensure(this.pdfDocument, prop, args);\n }\n }, {\n key: \"ensureXRef\",\n value: function ensureXRef(prop, args) {\n return this.ensure(this.pdfDocument.xref, prop, args);\n }\n }, {\n key: \"ensureCatalog\",\n value: function ensureCatalog(prop, args) {\n return this.ensure(this.pdfDocument.catalog, prop, args);\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageIndex) {\n return this.pdfDocument.getPage(pageIndex);\n }\n }, {\n key: \"fontFallback\",\n value: function fontFallback(id, handler) {\n return this.pdfDocument.fontFallback(id, handler);\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n return this.pdfDocument.cleanup();\n }\n }, {\n key: \"ensure\",\n value: function () {\n var _ensure = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(obj, prop, args) {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n (0, _util.unreachable)('Abstract method `ensure` called');\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n function ensure(_x, _x2, _x3) {\n return _ensure.apply(this, arguments);\n }\n\n return ensure;\n }()\n }, {\n key: \"requestRange\",\n value: function requestRange(begin, end) {\n (0, _util.unreachable)('Abstract method `requestRange` called');\n }\n }, {\n key: \"requestLoadedStream\",\n value: function requestLoadedStream() {\n (0, _util.unreachable)('Abstract method `requestLoadedStream` called');\n }\n }, {\n key: \"sendProgressiveData\",\n value: function sendProgressiveData(chunk) {\n (0, _util.unreachable)('Abstract method `sendProgressiveData` called');\n }\n }, {\n key: \"updatePassword\",\n value: function updatePassword(password) {\n this._password = password;\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n (0, _util.unreachable)('Abstract method `terminate` called');\n }\n }, {\n key: \"docId\",\n get: function get() {\n return this._docId;\n }\n }, {\n key: \"password\",\n get: function get() {\n return this._password;\n }\n }, {\n key: \"docBaseUrl\",\n get: function get() {\n var docBaseUrl = null;\n\n if (this._docBaseUrl) {\n var absoluteUrl = (0, _util.createValidAbsoluteUrl)(this._docBaseUrl);\n\n if (absoluteUrl) {\n docBaseUrl = absoluteUrl.href;\n } else {\n (0, _util.warn)(\"Invalid absolute docBaseUrl: \\\"\".concat(this._docBaseUrl, \"\\\".\"));\n }\n }\n\n return (0, _util.shadow)(this, 'docBaseUrl', docBaseUrl);\n }\n }]);\n\n return BasePdfManager;\n}();\n\nvar LocalPdfManager =\n/*#__PURE__*/\nfunction (_BasePdfManager) {\n _inherits(LocalPdfManager, _BasePdfManager);\n\n function LocalPdfManager(docId, data, password, evaluatorOptions, docBaseUrl) {\n var _this;\n\n _classCallCheck(this, LocalPdfManager);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(LocalPdfManager).call(this));\n _this._docId = docId;\n _this._password = password;\n _this._docBaseUrl = docBaseUrl;\n _this.evaluatorOptions = evaluatorOptions;\n var stream = new _stream.Stream(data);\n _this.pdfDocument = new _document.PDFDocument(_assertThisInitialized(_this), stream);\n _this._loadedStreamPromise = Promise.resolve(stream);\n return _this;\n }\n\n _createClass(LocalPdfManager, [{\n key: \"ensure\",\n value: function () {\n var _ensure2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2(obj, prop, args) {\n var value;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n value = obj[prop];\n\n if (!(typeof value === 'function')) {\n _context2.next = 3;\n break;\n }\n\n return _context2.abrupt(\"return\", value.apply(obj, args));\n\n case 3:\n return _context2.abrupt(\"return\", value);\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n function ensure(_x4, _x5, _x6) {\n return _ensure2.apply(this, arguments);\n }\n\n return ensure;\n }()\n }, {\n key: \"requestRange\",\n value: function requestRange(begin, end) {\n return Promise.resolve();\n }\n }, {\n key: \"requestLoadedStream\",\n value: function requestLoadedStream() {}\n }, {\n key: \"onLoadedStream\",\n value: function onLoadedStream() {\n return this._loadedStreamPromise;\n }\n }, {\n key: \"terminate\",\n value: function terminate() {}\n }]);\n\n return LocalPdfManager;\n}(BasePdfManager);\n\nexports.LocalPdfManager = LocalPdfManager;\n\nvar NetworkPdfManager =\n/*#__PURE__*/\nfunction (_BasePdfManager2) {\n _inherits(NetworkPdfManager, _BasePdfManager2);\n\n function NetworkPdfManager(docId, pdfNetworkStream, args, evaluatorOptions, docBaseUrl) {\n var _this2;\n\n _classCallCheck(this, NetworkPdfManager);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(NetworkPdfManager).call(this));\n _this2._docId = docId;\n _this2._password = args.password;\n _this2._docBaseUrl = docBaseUrl;\n _this2.msgHandler = args.msgHandler;\n _this2.evaluatorOptions = evaluatorOptions;\n _this2.streamManager = new _chunked_stream.ChunkedStreamManager(pdfNetworkStream, {\n msgHandler: args.msgHandler,\n length: args.length,\n disableAutoFetch: args.disableAutoFetch,\n rangeChunkSize: args.rangeChunkSize\n });\n _this2.pdfDocument = new _document.PDFDocument(_assertThisInitialized(_this2), _this2.streamManager.getStream());\n return _this2;\n }\n\n _createClass(NetworkPdfManager, [{\n key: \"ensure\",\n value: function () {\n var _ensure3 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee3(obj, prop, args) {\n var value;\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.prev = 0;\n value = obj[prop];\n\n if (!(typeof value === 'function')) {\n _context3.next = 4;\n break;\n }\n\n return _context3.abrupt(\"return\", value.apply(obj, args));\n\n case 4:\n return _context3.abrupt(\"return\", value);\n\n case 7:\n _context3.prev = 7;\n _context3.t0 = _context3[\"catch\"](0);\n\n if (_context3.t0 instanceof _core_utils.MissingDataException) {\n _context3.next = 11;\n break;\n }\n\n throw _context3.t0;\n\n case 11:\n _context3.next = 13;\n return this.requestRange(_context3.t0.begin, _context3.t0.end);\n\n case 13:\n return _context3.abrupt(\"return\", this.ensure(obj, prop, args));\n\n case 14:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this, [[0, 7]]);\n }));\n\n function ensure(_x7, _x8, _x9) {\n return _ensure3.apply(this, arguments);\n }\n\n return ensure;\n }()\n }, {\n key: \"requestRange\",\n value: function requestRange(begin, end) {\n return this.streamManager.requestRange(begin, end);\n }\n }, {\n key: \"requestLoadedStream\",\n value: function requestLoadedStream() {\n this.streamManager.requestAllChunks();\n }\n }, {\n key: \"sendProgressiveData\",\n value: function sendProgressiveData(chunk) {\n this.streamManager.onReceiveData({\n chunk: chunk\n });\n }\n }, {\n key: \"onLoadedStream\",\n value: function onLoadedStream() {\n return this.streamManager.onLoadedStream();\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n this.streamManager.abort();\n }\n }]);\n\n return NetworkPdfManager;\n}(BasePdfManager);\n\nexports.NetworkPdfManager = NetworkPdfManager;\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ChunkedStreamManager = exports.ChunkedStream = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _core_utils = __w_pdfjs_require__(154);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar ChunkedStream =\n/*#__PURE__*/\nfunction () {\n function ChunkedStream(length, chunkSize, manager) {\n _classCallCheck(this, ChunkedStream);\n\n this.bytes = new Uint8Array(length);\n this.start = 0;\n this.pos = 0;\n this.end = length;\n this.chunkSize = chunkSize;\n this.loadedChunks = [];\n this.numChunksLoaded = 0;\n this.numChunks = Math.ceil(length / chunkSize);\n this.manager = manager;\n this.progressiveDataLength = 0;\n this.lastSuccessfulEnsureByteChunk = -1;\n }\n\n _createClass(ChunkedStream, [{\n key: \"getMissingChunks\",\n value: function getMissingChunks() {\n var chunks = [];\n\n for (var chunk = 0, n = this.numChunks; chunk < n; ++chunk) {\n if (!this.loadedChunks[chunk]) {\n chunks.push(chunk);\n }\n }\n\n return chunks;\n }\n }, {\n key: \"getBaseStreams\",\n value: function getBaseStreams() {\n return [this];\n }\n }, {\n key: \"allChunksLoaded\",\n value: function allChunksLoaded() {\n return this.numChunksLoaded === this.numChunks;\n }\n }, {\n key: \"onReceiveData\",\n value: function onReceiveData(begin, chunk) {\n var chunkSize = this.chunkSize;\n\n if (begin % chunkSize !== 0) {\n throw new Error(\"Bad begin offset: \".concat(begin));\n }\n\n var end = begin + chunk.byteLength;\n\n if (end % chunkSize !== 0 && end !== this.bytes.length) {\n throw new Error(\"Bad end offset: \".concat(end));\n }\n\n this.bytes.set(new Uint8Array(chunk), begin);\n var beginChunk = Math.floor(begin / chunkSize);\n var endChunk = Math.floor((end - 1) / chunkSize) + 1;\n\n for (var curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n if (!this.loadedChunks[curChunk]) {\n this.loadedChunks[curChunk] = true;\n ++this.numChunksLoaded;\n }\n }\n }\n }, {\n key: \"onReceiveProgressiveData\",\n value: function onReceiveProgressiveData(data) {\n var position = this.progressiveDataLength;\n var beginChunk = Math.floor(position / this.chunkSize);\n this.bytes.set(new Uint8Array(data), position);\n position += data.byteLength;\n this.progressiveDataLength = position;\n var endChunk = position >= this.end ? this.numChunks : Math.floor(position / this.chunkSize);\n\n for (var curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n if (!this.loadedChunks[curChunk]) {\n this.loadedChunks[curChunk] = true;\n ++this.numChunksLoaded;\n }\n }\n }\n }, {\n key: \"ensureByte\",\n value: function ensureByte(pos) {\n if (pos < this.progressiveDataLength) {\n return;\n }\n\n var chunk = Math.floor(pos / this.chunkSize);\n\n if (chunk === this.lastSuccessfulEnsureByteChunk) {\n return;\n }\n\n if (!this.loadedChunks[chunk]) {\n throw new _core_utils.MissingDataException(pos, pos + 1);\n }\n\n this.lastSuccessfulEnsureByteChunk = chunk;\n }\n }, {\n key: \"ensureRange\",\n value: function ensureRange(begin, end) {\n if (begin >= end) {\n return;\n }\n\n if (end <= this.progressiveDataLength) {\n return;\n }\n\n var chunkSize = this.chunkSize;\n var beginChunk = Math.floor(begin / chunkSize);\n var endChunk = Math.floor((end - 1) / chunkSize) + 1;\n\n for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n if (!this.loadedChunks[chunk]) {\n throw new _core_utils.MissingDataException(begin, end);\n }\n }\n }\n }, {\n key: \"nextEmptyChunk\",\n value: function nextEmptyChunk(beginChunk) {\n var numChunks = this.numChunks;\n\n for (var i = 0; i < numChunks; ++i) {\n var chunk = (beginChunk + i) % numChunks;\n\n if (!this.loadedChunks[chunk]) {\n return chunk;\n }\n }\n\n return null;\n }\n }, {\n key: \"hasChunk\",\n value: function hasChunk(chunk) {\n return !!this.loadedChunks[chunk];\n }\n }, {\n key: \"getByte\",\n value: function getByte() {\n var pos = this.pos;\n\n if (pos >= this.end) {\n return -1;\n }\n\n this.ensureByte(pos);\n return this.bytes[this.pos++];\n }\n }, {\n key: \"getUint16\",\n value: function getUint16() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n\n return (b0 << 8) + b1;\n }\n }, {\n key: \"getInt32\",\n value: function getInt32() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n var b2 = this.getByte();\n var b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n }\n }, {\n key: \"getBytes\",\n value: function getBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.bytes;\n var pos = this.pos;\n var strEnd = this.end;\n\n if (!length) {\n this.ensureRange(pos, strEnd);\n\n var _subarray = bytes.subarray(pos, strEnd);\n\n return forceClamped ? new Uint8ClampedArray(_subarray) : _subarray;\n }\n\n var end = pos + length;\n\n if (end > strEnd) {\n end = strEnd;\n }\n\n this.ensureRange(pos, end);\n this.pos = end;\n var subarray = bytes.subarray(pos, end);\n return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n }\n }, {\n key: \"peekByte\",\n value: function peekByte() {\n var peekedByte = this.getByte();\n this.pos--;\n return peekedByte;\n }\n }, {\n key: \"peekBytes\",\n value: function peekBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.getBytes(length, forceClamped);\n this.pos -= bytes.length;\n return bytes;\n }\n }, {\n key: \"getByteRange\",\n value: function getByteRange(begin, end) {\n this.ensureRange(begin, end);\n return this.bytes.subarray(begin, end);\n }\n }, {\n key: \"skip\",\n value: function skip(n) {\n if (!n) {\n n = 1;\n }\n\n this.pos += n;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.pos = this.start;\n }\n }, {\n key: \"moveStart\",\n value: function moveStart() {\n this.start = this.pos;\n }\n }, {\n key: \"makeSubStream\",\n value: function makeSubStream(start, length, dict) {\n if (length) {\n this.ensureRange(start, start + length);\n } else {\n this.ensureByte(start);\n }\n\n function ChunkedStreamSubstream() {}\n\n ChunkedStreamSubstream.prototype = Object.create(this);\n\n ChunkedStreamSubstream.prototype.getMissingChunks = function () {\n var chunkSize = this.chunkSize;\n var beginChunk = Math.floor(this.start / chunkSize);\n var endChunk = Math.floor((this.end - 1) / chunkSize) + 1;\n var missingChunks = [];\n\n for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n if (!this.loadedChunks[chunk]) {\n missingChunks.push(chunk);\n }\n }\n\n return missingChunks;\n };\n\n var subStream = new ChunkedStreamSubstream();\n subStream.pos = subStream.start = start;\n subStream.end = start + length || this.end;\n subStream.dict = dict;\n return subStream;\n }\n }, {\n key: \"length\",\n get: function get() {\n return this.end - this.start;\n }\n }, {\n key: \"isEmpty\",\n get: function get() {\n return this.length === 0;\n }\n }]);\n\n return ChunkedStream;\n}();\n\nexports.ChunkedStream = ChunkedStream;\n\nvar ChunkedStreamManager =\n/*#__PURE__*/\nfunction () {\n function ChunkedStreamManager(pdfNetworkStream, args) {\n _classCallCheck(this, ChunkedStreamManager);\n\n this.length = args.length;\n this.chunkSize = args.rangeChunkSize;\n this.stream = new ChunkedStream(this.length, this.chunkSize, this);\n this.pdfNetworkStream = pdfNetworkStream;\n this.disableAutoFetch = args.disableAutoFetch;\n this.msgHandler = args.msgHandler;\n this.currRequestId = 0;\n this.chunksNeededByRequest = Object.create(null);\n this.requestsByChunk = Object.create(null);\n this.promisesByRequest = Object.create(null);\n this.progressiveDataLength = 0;\n this.aborted = false;\n this._loadedStreamCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(ChunkedStreamManager, [{\n key: \"onLoadedStream\",\n value: function onLoadedStream() {\n return this._loadedStreamCapability.promise;\n }\n }, {\n key: \"sendRequest\",\n value: function sendRequest(begin, end) {\n var _this = this;\n\n var rangeReader = this.pdfNetworkStream.getRangeReader(begin, end);\n\n if (!rangeReader.isStreamingSupported) {\n rangeReader.onProgress = this.onProgress.bind(this);\n }\n\n var chunks = [],\n loaded = 0;\n var promise = new Promise(function (resolve, reject) {\n var readChunk = function readChunk(chunk) {\n try {\n if (!chunk.done) {\n var data = chunk.value;\n chunks.push(data);\n loaded += (0, _util.arrayByteLength)(data);\n\n if (rangeReader.isStreamingSupported) {\n _this.onProgress({\n loaded: loaded\n });\n }\n\n rangeReader.read().then(readChunk, reject);\n return;\n }\n\n var chunkData = (0, _util.arraysToBytes)(chunks);\n chunks = null;\n resolve(chunkData);\n } catch (e) {\n reject(e);\n }\n };\n\n rangeReader.read().then(readChunk, reject);\n });\n promise.then(function (data) {\n if (_this.aborted) {\n return;\n }\n\n _this.onReceiveData({\n chunk: data,\n begin: begin\n });\n });\n }\n }, {\n key: \"requestAllChunks\",\n value: function requestAllChunks() {\n var missingChunks = this.stream.getMissingChunks();\n\n this._requestChunks(missingChunks);\n\n return this._loadedStreamCapability.promise;\n }\n }, {\n key: \"_requestChunks\",\n value: function _requestChunks(chunks) {\n var requestId = this.currRequestId++;\n var chunksNeeded = Object.create(null);\n this.chunksNeededByRequest[requestId] = chunksNeeded;\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = chunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _chunk = _step.value;\n\n if (!this.stream.hasChunk(_chunk)) {\n chunksNeeded[_chunk] = true;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n if ((0, _util.isEmptyObj)(chunksNeeded)) {\n return Promise.resolve();\n }\n\n var capability = (0, _util.createPromiseCapability)();\n this.promisesByRequest[requestId] = capability;\n var chunksToRequest = [];\n\n for (var chunk in chunksNeeded) {\n chunk = chunk | 0;\n\n if (!(chunk in this.requestsByChunk)) {\n this.requestsByChunk[chunk] = [];\n chunksToRequest.push(chunk);\n }\n\n this.requestsByChunk[chunk].push(requestId);\n }\n\n if (!chunksToRequest.length) {\n return capability.promise;\n }\n\n var groupedChunksToRequest = this.groupChunks(chunksToRequest);\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = groupedChunksToRequest[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var groupedChunk = _step2.value;\n var begin = groupedChunk.beginChunk * this.chunkSize;\n var end = Math.min(groupedChunk.endChunk * this.chunkSize, this.length);\n this.sendRequest(begin, end);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2[\"return\"] != null) {\n _iterator2[\"return\"]();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n return capability.promise;\n }\n }, {\n key: \"getStream\",\n value: function getStream() {\n return this.stream;\n }\n }, {\n key: \"requestRange\",\n value: function requestRange(begin, end) {\n end = Math.min(end, this.length);\n var beginChunk = this.getBeginChunk(begin);\n var endChunk = this.getEndChunk(end);\n var chunks = [];\n\n for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n chunks.push(chunk);\n }\n\n return this._requestChunks(chunks);\n }\n }, {\n key: \"requestRanges\",\n value: function requestRanges() {\n var ranges = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var chunksToRequest = [];\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = ranges[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var range = _step3.value;\n var beginChunk = this.getBeginChunk(range.begin);\n var endChunk = this.getEndChunk(range.end);\n\n for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n if (!chunksToRequest.includes(chunk)) {\n chunksToRequest.push(chunk);\n }\n }\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3[\"return\"] != null) {\n _iterator3[\"return\"]();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n\n chunksToRequest.sort(function (a, b) {\n return a - b;\n });\n return this._requestChunks(chunksToRequest);\n }\n }, {\n key: \"groupChunks\",\n value: function groupChunks(chunks) {\n var groupedChunks = [];\n var beginChunk = -1;\n var prevChunk = -1;\n\n for (var i = 0, ii = chunks.length; i < ii; ++i) {\n var chunk = chunks[i];\n\n if (beginChunk < 0) {\n beginChunk = chunk;\n }\n\n if (prevChunk >= 0 && prevChunk + 1 !== chunk) {\n groupedChunks.push({\n beginChunk: beginChunk,\n endChunk: prevChunk + 1\n });\n beginChunk = chunk;\n }\n\n if (i + 1 === chunks.length) {\n groupedChunks.push({\n beginChunk: beginChunk,\n endChunk: chunk + 1\n });\n }\n\n prevChunk = chunk;\n }\n\n return groupedChunks;\n }\n }, {\n key: \"onProgress\",\n value: function onProgress(args) {\n this.msgHandler.send('DocProgress', {\n loaded: this.stream.numChunksLoaded * this.chunkSize + args.loaded,\n total: this.length\n });\n }\n }, {\n key: \"onReceiveData\",\n value: function onReceiveData(args) {\n var chunk = args.chunk;\n var isProgressive = args.begin === undefined;\n var begin = isProgressive ? this.progressiveDataLength : args.begin;\n var end = begin + chunk.byteLength;\n var beginChunk = Math.floor(begin / this.chunkSize);\n var endChunk = end < this.length ? Math.floor(end / this.chunkSize) : Math.ceil(end / this.chunkSize);\n\n if (isProgressive) {\n this.stream.onReceiveProgressiveData(chunk);\n this.progressiveDataLength = end;\n } else {\n this.stream.onReceiveData(begin, chunk);\n }\n\n if (this.stream.allChunksLoaded()) {\n this._loadedStreamCapability.resolve(this.stream);\n }\n\n var loadedRequests = [];\n\n for (var _chunk2 = beginChunk; _chunk2 < endChunk; ++_chunk2) {\n var requestIds = this.requestsByChunk[_chunk2] || [];\n delete this.requestsByChunk[_chunk2];\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = requestIds[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var requestId = _step4.value;\n var chunksNeeded = this.chunksNeededByRequest[requestId];\n\n if (_chunk2 in chunksNeeded) {\n delete chunksNeeded[_chunk2];\n }\n\n if (!(0, _util.isEmptyObj)(chunksNeeded)) {\n continue;\n }\n\n loadedRequests.push(requestId);\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4[\"return\"] != null) {\n _iterator4[\"return\"]();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n }\n\n if (!this.disableAutoFetch && (0, _util.isEmptyObj)(this.requestsByChunk)) {\n var nextEmptyChunk;\n\n if (this.stream.numChunksLoaded === 1) {\n var lastChunk = this.stream.numChunks - 1;\n\n if (!this.stream.hasChunk(lastChunk)) {\n nextEmptyChunk = lastChunk;\n }\n } else {\n nextEmptyChunk = this.stream.nextEmptyChunk(endChunk);\n }\n\n if (Number.isInteger(nextEmptyChunk)) {\n this._requestChunks([nextEmptyChunk]);\n }\n }\n\n for (var _i = 0, _loadedRequests = loadedRequests; _i < _loadedRequests.length; _i++) {\n var _requestId = _loadedRequests[_i];\n var capability = this.promisesByRequest[_requestId];\n delete this.promisesByRequest[_requestId];\n capability.resolve();\n }\n\n this.msgHandler.send('DocProgress', {\n loaded: this.stream.numChunksLoaded * this.chunkSize,\n total: this.length\n });\n }\n }, {\n key: \"onError\",\n value: function onError(err) {\n this._loadedStreamCapability.reject(err);\n }\n }, {\n key: \"getBeginChunk\",\n value: function getBeginChunk(begin) {\n return Math.floor(begin / this.chunkSize);\n }\n }, {\n key: \"getEndChunk\",\n value: function getEndChunk(end) {\n return Math.floor((end - 1) / this.chunkSize) + 1;\n }\n }, {\n key: \"abort\",\n value: function abort() {\n this.aborted = true;\n\n if (this.pdfNetworkStream) {\n this.pdfNetworkStream.cancelAllRequests('abort');\n }\n\n for (var requestId in this.promisesByRequest) {\n this.promisesByRequest[requestId].reject(new Error('Request was aborted'));\n }\n }\n }]);\n\n return ChunkedStreamManager;\n}();\n\nexports.ChunkedStreamManager = ChunkedStreamManager;\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLookupTableFactory = getLookupTableFactory;\nexports.getInheritableProperty = getInheritableProperty;\nexports.toRomanNumerals = toRomanNumerals;\nexports.XRefParseException = exports.XRefEntryException = exports.MissingDataException = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction getLookupTableFactory(initializer) {\n var lookup;\n return function () {\n if (initializer) {\n lookup = Object.create(null);\n initializer(lookup);\n initializer = null;\n }\n\n return lookup;\n };\n}\n\nvar MissingDataException = function MissingDataExceptionClosure() {\n function MissingDataException(begin, end) {\n this.begin = begin;\n this.end = end;\n this.message = \"Missing data [\".concat(begin, \", \").concat(end, \")\");\n }\n\n MissingDataException.prototype = new Error();\n MissingDataException.prototype.name = 'MissingDataException';\n MissingDataException.constructor = MissingDataException;\n return MissingDataException;\n}();\n\nexports.MissingDataException = MissingDataException;\n\nvar XRefEntryException = function XRefEntryExceptionClosure() {\n function XRefEntryException(msg) {\n this.message = msg;\n }\n\n XRefEntryException.prototype = new Error();\n XRefEntryException.prototype.name = 'XRefEntryException';\n XRefEntryException.constructor = XRefEntryException;\n return XRefEntryException;\n}();\n\nexports.XRefEntryException = XRefEntryException;\n\nvar XRefParseException = function XRefParseExceptionClosure() {\n function XRefParseException(msg) {\n this.message = msg;\n }\n\n XRefParseException.prototype = new Error();\n XRefParseException.prototype.name = 'XRefParseException';\n XRefParseException.constructor = XRefParseException;\n return XRefParseException;\n}();\n\nexports.XRefParseException = XRefParseException;\n\nfunction getInheritableProperty(_ref) {\n var dict = _ref.dict,\n key = _ref.key,\n _ref$getArray = _ref.getArray,\n getArray = _ref$getArray === void 0 ? false : _ref$getArray,\n _ref$stopWhenFound = _ref.stopWhenFound,\n stopWhenFound = _ref$stopWhenFound === void 0 ? true : _ref$stopWhenFound;\n var LOOP_LIMIT = 100;\n var loopCount = 0;\n var values;\n\n while (dict) {\n var value = getArray ? dict.getArray(key) : dict.get(key);\n\n if (value !== undefined) {\n if (stopWhenFound) {\n return value;\n }\n\n if (!values) {\n values = [];\n }\n\n values.push(value);\n }\n\n if (++loopCount > LOOP_LIMIT) {\n (0, _util.warn)(\"getInheritableProperty: maximum loop count exceeded for \\\"\".concat(key, \"\\\"\"));\n break;\n }\n\n dict = dict.get('Parent');\n }\n\n return values;\n}\n\nvar ROMAN_NUMBER_MAP = ['', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM', '', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC', '', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX'];\n\nfunction toRomanNumerals(number) {\n var lowerCase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n (0, _util.assert)(Number.isInteger(number) && number > 0, 'The number should be a positive integer.');\n var pos,\n romanBuf = [];\n\n while (number >= 1000) {\n number -= 1000;\n romanBuf.push('M');\n }\n\n pos = number / 100 | 0;\n number %= 100;\n romanBuf.push(ROMAN_NUMBER_MAP[pos]);\n pos = number / 10 | 0;\n number %= 10;\n romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]);\n romanBuf.push(ROMAN_NUMBER_MAP[20 + number]);\n var romanStr = romanBuf.join('');\n return lowerCase ? romanStr.toLowerCase() : romanStr;\n}\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFDocument = exports.Page = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _obj = __w_pdfjs_require__(156);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _core_utils = __w_pdfjs_require__(154);\n\nvar _stream2 = __w_pdfjs_require__(158);\n\nvar _annotation = __w_pdfjs_require__(170);\n\nvar _crypto = __w_pdfjs_require__(168);\n\nvar _parser = __w_pdfjs_require__(157);\n\nvar _operator_list = __w_pdfjs_require__(171);\n\nvar _evaluator = __w_pdfjs_require__(172);\n\nvar _function = __w_pdfjs_require__(186);\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DEFAULT_USER_UNIT = 1.0;\nvar LETTER_SIZE_MEDIABOX = [0, 0, 612, 792];\n\nfunction isAnnotationRenderable(annotation, intent) {\n return intent === 'display' && annotation.viewable || intent === 'print' && annotation.printable;\n}\n\nvar Page =\n/*#__PURE__*/\nfunction () {\n function Page(_ref) {\n var pdfManager = _ref.pdfManager,\n xref = _ref.xref,\n pageIndex = _ref.pageIndex,\n pageDict = _ref.pageDict,\n ref = _ref.ref,\n fontCache = _ref.fontCache,\n builtInCMapCache = _ref.builtInCMapCache,\n pdfFunctionFactory = _ref.pdfFunctionFactory;\n\n _classCallCheck(this, Page);\n\n this.pdfManager = pdfManager;\n this.pageIndex = pageIndex;\n this.pageDict = pageDict;\n this.xref = xref;\n this.ref = ref;\n this.fontCache = fontCache;\n this.builtInCMapCache = builtInCMapCache;\n this.pdfFunctionFactory = pdfFunctionFactory;\n this.evaluatorOptions = pdfManager.evaluatorOptions;\n this.resourcesPromise = null;\n var idCounters = {\n obj: 0\n };\n this.idFactory = {\n createObjId: function createObjId() {\n return \"p\".concat(pageIndex, \"_\").concat(++idCounters.obj);\n },\n getDocId: function getDocId() {\n return \"g_\".concat(pdfManager.docId);\n }\n };\n }\n\n _createClass(Page, [{\n key: \"_getInheritableProperty\",\n value: function _getInheritableProperty(key) {\n var getArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var value = (0, _core_utils.getInheritableProperty)({\n dict: this.pageDict,\n key: key,\n getArray: getArray,\n stopWhenFound: false\n });\n\n if (!Array.isArray(value)) {\n return value;\n }\n\n if (value.length === 1 || !(0, _primitives.isDict)(value[0])) {\n return value[0];\n }\n\n return _primitives.Dict.merge(this.xref, value);\n }\n }, {\n key: \"getContentStream\",\n value: function getContentStream() {\n var content = this.content;\n var stream;\n\n if (Array.isArray(content)) {\n var xref = this.xref;\n var streams = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = content[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _stream = _step.value;\n streams.push(xref.fetchIfRef(_stream));\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n stream = new _stream2.StreamsSequenceStream(streams);\n } else if ((0, _primitives.isStream)(content)) {\n stream = content;\n } else {\n stream = new _stream2.NullStream();\n }\n\n return stream;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(keys) {\n var _this = this;\n\n if (!this.resourcesPromise) {\n this.resourcesPromise = this.pdfManager.ensure(this, 'resources');\n }\n\n return this.resourcesPromise.then(function () {\n var objectLoader = new _obj.ObjectLoader(_this.resources, keys, _this.xref);\n return objectLoader.load();\n });\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList(_ref2) {\n var _this2 = this;\n\n var handler = _ref2.handler,\n task = _ref2.task,\n intent = _ref2.intent,\n renderInteractiveForms = _ref2.renderInteractiveForms;\n var contentStreamPromise = this.pdfManager.ensure(this, 'getContentStream');\n var resourcesPromise = this.loadResources(['ExtGState', 'ColorSpace', 'Pattern', 'Shading', 'XObject', 'Font']);\n var partialEvaluator = new _evaluator.PartialEvaluator({\n xref: this.xref,\n handler: handler,\n pageIndex: this.pageIndex,\n idFactory: this.idFactory,\n fontCache: this.fontCache,\n builtInCMapCache: this.builtInCMapCache,\n options: this.evaluatorOptions,\n pdfFunctionFactory: this.pdfFunctionFactory\n });\n var dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);\n var pageListPromise = dataPromises.then(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 1),\n contentStream = _ref4[0];\n\n var opList = new _operator_list.OperatorList(intent, handler, _this2.pageIndex);\n handler.send('StartRenderPage', {\n transparency: partialEvaluator.hasBlendModes(_this2.resources),\n pageIndex: _this2.pageIndex,\n intent: intent\n });\n return partialEvaluator.getOperatorList({\n stream: contentStream,\n task: task,\n resources: _this2.resources,\n operatorList: opList\n }).then(function () {\n return opList;\n });\n });\n return Promise.all([pageListPromise, this._parsedAnnotations]).then(function (_ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n pageOpList = _ref6[0],\n annotations = _ref6[1];\n\n if (annotations.length === 0) {\n pageOpList.flush(true);\n return pageOpList;\n }\n\n var opListPromises = [];\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = annotations[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var annotation = _step2.value;\n\n if (isAnnotationRenderable(annotation, intent)) {\n opListPromises.push(annotation.getOperatorList(partialEvaluator, task, renderInteractiveForms));\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2[\"return\"] != null) {\n _iterator2[\"return\"]();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n return Promise.all(opListPromises).then(function (opLists) {\n pageOpList.addOp(_util.OPS.beginAnnotations, []);\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = opLists[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var opList = _step3.value;\n pageOpList.addOpList(opList);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3[\"return\"] != null) {\n _iterator3[\"return\"]();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n\n pageOpList.addOp(_util.OPS.endAnnotations, []);\n pageOpList.flush(true);\n return pageOpList;\n });\n });\n }\n }, {\n key: \"extractTextContent\",\n value: function extractTextContent(_ref7) {\n var _this3 = this;\n\n var handler = _ref7.handler,\n task = _ref7.task,\n normalizeWhitespace = _ref7.normalizeWhitespace,\n sink = _ref7.sink,\n combineTextItems = _ref7.combineTextItems;\n var contentStreamPromise = this.pdfManager.ensure(this, 'getContentStream');\n var resourcesPromise = this.loadResources(['ExtGState', 'XObject', 'Font']);\n var dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);\n return dataPromises.then(function (_ref8) {\n var _ref9 = _slicedToArray(_ref8, 1),\n contentStream = _ref9[0];\n\n var partialEvaluator = new _evaluator.PartialEvaluator({\n xref: _this3.xref,\n handler: handler,\n pageIndex: _this3.pageIndex,\n idFactory: _this3.idFactory,\n fontCache: _this3.fontCache,\n builtInCMapCache: _this3.builtInCMapCache,\n options: _this3.evaluatorOptions,\n pdfFunctionFactory: _this3.pdfFunctionFactory\n });\n return partialEvaluator.getTextContent({\n stream: contentStream,\n task: task,\n resources: _this3.resources,\n normalizeWhitespace: normalizeWhitespace,\n combineTextItems: combineTextItems,\n sink: sink\n });\n });\n }\n }, {\n key: \"getAnnotationsData\",\n value: function getAnnotationsData(intent) {\n return this._parsedAnnotations.then(function (annotations) {\n var annotationsData = [];\n\n for (var i = 0, ii = annotations.length; i < ii; i++) {\n if (!intent || isAnnotationRenderable(annotations[i], intent)) {\n annotationsData.push(annotations[i].data);\n }\n }\n\n return annotationsData;\n });\n }\n }, {\n key: \"content\",\n get: function get() {\n return this.pageDict.get('Contents');\n }\n }, {\n key: \"resources\",\n get: function get() {\n return (0, _util.shadow)(this, 'resources', this._getInheritableProperty('Resources') || _primitives.Dict.empty);\n }\n }, {\n key: \"mediaBox\",\n get: function get() {\n var mediaBox = this._getInheritableProperty('MediaBox', true);\n\n if (!Array.isArray(mediaBox) || mediaBox.length !== 4) {\n return (0, _util.shadow)(this, 'mediaBox', LETTER_SIZE_MEDIABOX);\n }\n\n return (0, _util.shadow)(this, 'mediaBox', mediaBox);\n }\n }, {\n key: \"cropBox\",\n get: function get() {\n var cropBox = this._getInheritableProperty('CropBox', true);\n\n if (!Array.isArray(cropBox) || cropBox.length !== 4) {\n return (0, _util.shadow)(this, 'cropBox', this.mediaBox);\n }\n\n return (0, _util.shadow)(this, 'cropBox', cropBox);\n }\n }, {\n key: \"userUnit\",\n get: function get() {\n var obj = this.pageDict.get('UserUnit');\n\n if (!(0, _util.isNum)(obj) || obj <= 0) {\n obj = DEFAULT_USER_UNIT;\n }\n\n return (0, _util.shadow)(this, 'userUnit', obj);\n }\n }, {\n key: \"view\",\n get: function get() {\n var mediaBox = this.mediaBox,\n cropBox = this.cropBox;\n\n if (mediaBox === cropBox) {\n return (0, _util.shadow)(this, 'view', mediaBox);\n }\n\n var intersection = _util.Util.intersect(cropBox, mediaBox);\n\n return (0, _util.shadow)(this, 'view', intersection || mediaBox);\n }\n }, {\n key: \"rotate\",\n get: function get() {\n var rotate = this._getInheritableProperty('Rotate') || 0;\n\n if (rotate % 90 !== 0) {\n rotate = 0;\n } else if (rotate >= 360) {\n rotate = rotate % 360;\n } else if (rotate < 0) {\n rotate = (rotate % 360 + 360) % 360;\n }\n\n return (0, _util.shadow)(this, 'rotate', rotate);\n }\n }, {\n key: \"annotations\",\n get: function get() {\n return (0, _util.shadow)(this, 'annotations', this._getInheritableProperty('Annots') || []);\n }\n }, {\n key: \"_parsedAnnotations\",\n get: function get() {\n var _this4 = this;\n\n var parsedAnnotations = this.pdfManager.ensure(this, 'annotations').then(function () {\n var annotationRefs = _this4.annotations;\n var annotationPromises = [];\n\n for (var i = 0, ii = annotationRefs.length; i < ii; i++) {\n annotationPromises.push(_annotation.AnnotationFactory.create(_this4.xref, annotationRefs[i], _this4.pdfManager, _this4.idFactory));\n }\n\n return Promise.all(annotationPromises).then(function (annotations) {\n return annotations.filter(function isDefined(annotation) {\n return !!annotation;\n });\n }, function (reason) {\n (0, _util.warn)(\"_parsedAnnotations: \\\"\".concat(reason, \"\\\".\"));\n return [];\n });\n });\n return (0, _util.shadow)(this, '_parsedAnnotations', parsedAnnotations);\n }\n }]);\n\n return Page;\n}();\n\nexports.Page = Page;\nvar FINGERPRINT_FIRST_BYTES = 1024;\nvar EMPTY_FINGERPRINT = '\\x00\\x00\\x00\\x00\\x00\\x00\\x00' + '\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00';\n\nfunction find(stream, needle, limit) {\n var backwards = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n (0, _util.assert)(limit > 0, 'The \"limit\" must be a positive integer.');\n var str = (0, _util.bytesToString)(stream.peekBytes(limit));\n var index = backwards ? str.lastIndexOf(needle) : str.indexOf(needle);\n\n if (index === -1) {\n return false;\n }\n\n stream.pos += index;\n return true;\n}\n\nvar PDFDocument =\n/*#__PURE__*/\nfunction () {\n function PDFDocument(pdfManager, arg) {\n _classCallCheck(this, PDFDocument);\n\n var stream;\n\n if ((0, _primitives.isStream)(arg)) {\n stream = arg;\n } else if ((0, _util.isArrayBuffer)(arg)) {\n stream = new _stream2.Stream(arg);\n } else {\n throw new Error('PDFDocument: Unknown argument type');\n }\n\n if (stream.length <= 0) {\n throw new Error('PDFDocument: Stream must have data');\n }\n\n this.pdfManager = pdfManager;\n this.stream = stream;\n this.xref = new _obj.XRef(stream, pdfManager);\n this.pdfFunctionFactory = new _function.PDFFunctionFactory({\n xref: this.xref,\n isEvalSupported: pdfManager.evaluatorOptions.isEvalSupported\n });\n this._pagePromises = [];\n }\n\n _createClass(PDFDocument, [{\n key: \"parse\",\n value: function parse(recoveryMode) {\n this.setup(recoveryMode);\n var version = this.catalog.catDict.get('Version');\n\n if ((0, _primitives.isName)(version)) {\n this.pdfFormatVersion = version.name;\n }\n\n try {\n this.acroForm = this.catalog.catDict.get('AcroForm');\n\n if (this.acroForm) {\n this.xfa = this.acroForm.get('XFA');\n var fields = this.acroForm.get('Fields');\n\n if ((!Array.isArray(fields) || fields.length === 0) && !this.xfa) {\n this.acroForm = null;\n }\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.info)('Cannot fetch AcroForm entry; assuming no AcroForms are present');\n this.acroForm = null;\n }\n\n try {\n var collection = this.catalog.catDict.get('Collection');\n\n if ((0, _primitives.isDict)(collection) && collection.getKeys().length > 0) {\n this.collection = collection;\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.info)('Cannot fetch Collection dictionary.');\n }\n }\n }, {\n key: \"checkHeader\",\n value: function checkHeader() {\n var stream = this.stream;\n stream.reset();\n\n if (!find(stream, '%PDF-', 1024)) {\n return;\n }\n\n stream.moveStart();\n var MAX_PDF_VERSION_LENGTH = 12;\n var version = '',\n ch;\n\n while ((ch = stream.getByte()) > 0x20) {\n if (version.length >= MAX_PDF_VERSION_LENGTH) {\n break;\n }\n\n version += String.fromCharCode(ch);\n }\n\n if (!this.pdfFormatVersion) {\n this.pdfFormatVersion = version.substring(5);\n }\n }\n }, {\n key: \"parseStartXRef\",\n value: function parseStartXRef() {\n this.xref.setStartXRef(this.startXRef);\n }\n }, {\n key: \"setup\",\n value: function setup(recoveryMode) {\n this.xref.parse(recoveryMode);\n this.catalog = new _obj.Catalog(this.pdfManager, this.xref);\n }\n }, {\n key: \"_getLinearizationPage\",\n value: function _getLinearizationPage(pageIndex) {\n var catalog = this.catalog,\n linearization = this.linearization;\n (0, _util.assert)(linearization && linearization.pageFirst === pageIndex);\n\n var ref = _primitives.Ref.get(linearization.objectNumberFirst, 0);\n\n return this.xref.fetchAsync(ref).then(function (obj) {\n if ((0, _primitives.isDict)(obj, 'Page') || (0, _primitives.isDict)(obj) && !obj.has('Type') && obj.has('Contents')) {\n if (ref && !catalog.pageKidsCountCache.has(ref)) {\n catalog.pageKidsCountCache.put(ref, 1);\n }\n\n return [obj, ref];\n }\n\n throw new _util.FormatError('The Linearization dictionary doesn\\'t point ' + 'to a valid Page dictionary.');\n })[\"catch\"](function (reason) {\n (0, _util.info)(reason);\n return catalog.getPageDict(pageIndex);\n });\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageIndex) {\n var _this5 = this;\n\n if (this._pagePromises[pageIndex] !== undefined) {\n return this._pagePromises[pageIndex];\n }\n\n var catalog = this.catalog,\n linearization = this.linearization;\n var promise = linearization && linearization.pageFirst === pageIndex ? this._getLinearizationPage(pageIndex) : catalog.getPageDict(pageIndex);\n return this._pagePromises[pageIndex] = promise.then(function (_ref10) {\n var _ref11 = _slicedToArray(_ref10, 2),\n pageDict = _ref11[0],\n ref = _ref11[1];\n\n return new Page({\n pdfManager: _this5.pdfManager,\n xref: _this5.xref,\n pageIndex: pageIndex,\n pageDict: pageDict,\n ref: ref,\n fontCache: catalog.fontCache,\n builtInCMapCache: catalog.builtInCMapCache,\n pdfFunctionFactory: _this5.pdfFunctionFactory\n });\n });\n }\n }, {\n key: \"checkFirstPage\",\n value: function checkFirstPage() {\n var _this6 = this;\n\n return this.getPage(0)[\"catch\"](function (reason) {\n if (reason instanceof _core_utils.XRefEntryException) {\n _this6._pagePromises.length = 0;\n\n _this6.cleanup();\n\n throw new _core_utils.XRefParseException();\n }\n });\n }\n }, {\n key: \"fontFallback\",\n value: function fontFallback(id, handler) {\n return this.catalog.fontFallback(id, handler);\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n return this.catalog.cleanup();\n }\n }, {\n key: \"linearization\",\n get: function get() {\n var linearization = null;\n\n try {\n linearization = _parser.Linearization.create(this.stream);\n } catch (err) {\n if (err instanceof _core_utils.MissingDataException) {\n throw err;\n }\n\n (0, _util.info)(err);\n }\n\n return (0, _util.shadow)(this, 'linearization', linearization);\n }\n }, {\n key: \"startXRef\",\n get: function get() {\n var stream = this.stream;\n var startXRef = 0;\n\n if (this.linearization) {\n stream.reset();\n\n if (find(stream, 'endobj', 1024)) {\n startXRef = stream.pos + 6;\n }\n } else {\n var step = 1024;\n var startXRefLength = 'startxref'.length;\n var found = false,\n pos = stream.end;\n\n while (!found && pos > 0) {\n pos -= step - startXRefLength;\n\n if (pos < 0) {\n pos = 0;\n }\n\n stream.pos = pos;\n found = find(stream, 'startxref', step, true);\n }\n\n if (found) {\n stream.skip(9);\n var ch;\n\n do {\n ch = stream.getByte();\n } while ((0, _util.isSpace)(ch));\n\n var str = '';\n\n while (ch >= 0x20 && ch <= 0x39) {\n str += String.fromCharCode(ch);\n ch = stream.getByte();\n }\n\n startXRef = parseInt(str, 10);\n\n if (isNaN(startXRef)) {\n startXRef = 0;\n }\n }\n }\n\n return (0, _util.shadow)(this, 'startXRef', startXRef);\n }\n }, {\n key: \"numPages\",\n get: function get() {\n var linearization = this.linearization;\n var num = linearization ? linearization.numPages : this.catalog.numPages;\n return (0, _util.shadow)(this, 'numPages', num);\n }\n }, {\n key: \"documentInfo\",\n get: function get() {\n var DocumentInfoValidators = {\n Title: _util.isString,\n Author: _util.isString,\n Subject: _util.isString,\n Keywords: _util.isString,\n Creator: _util.isString,\n Producer: _util.isString,\n CreationDate: _util.isString,\n ModDate: _util.isString,\n Trapped: _primitives.isName\n };\n var docInfo = {\n PDFFormatVersion: this.pdfFormatVersion,\n IsLinearized: !!this.linearization,\n IsAcroFormPresent: !!this.acroForm,\n IsXFAPresent: !!this.xfa,\n IsCollectionPresent: !!this.collection\n };\n var infoDict;\n\n try {\n infoDict = this.xref.trailer.get('Info');\n } catch (err) {\n if (err instanceof _core_utils.MissingDataException) {\n throw err;\n }\n\n (0, _util.info)('The document information dictionary is invalid.');\n }\n\n if ((0, _primitives.isDict)(infoDict)) {\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = infoDict.getKeys()[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var key = _step4.value;\n var value = infoDict.get(key);\n\n if (DocumentInfoValidators[key]) {\n if (DocumentInfoValidators[key](value)) {\n docInfo[key] = typeof value !== 'string' ? value : (0, _util.stringToPDFString)(value);\n } else {\n (0, _util.info)(\"Bad value in document info for \\\"\".concat(key, \"\\\".\"));\n }\n } else if (typeof key === 'string') {\n var customValue = void 0;\n\n if ((0, _util.isString)(value)) {\n customValue = (0, _util.stringToPDFString)(value);\n } else if ((0, _primitives.isName)(value) || (0, _util.isNum)(value) || (0, _util.isBool)(value)) {\n customValue = value;\n } else {\n (0, _util.info)(\"Unsupported value in document info for (custom) \\\"\".concat(key, \"\\\".\"));\n continue;\n }\n\n if (!docInfo['Custom']) {\n docInfo['Custom'] = Object.create(null);\n }\n\n docInfo['Custom'][key] = customValue;\n }\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4[\"return\"] != null) {\n _iterator4[\"return\"]();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n }\n\n return (0, _util.shadow)(this, 'documentInfo', docInfo);\n }\n }, {\n key: \"fingerprint\",\n get: function get() {\n var hash;\n var idArray = this.xref.trailer.get('ID');\n\n if (Array.isArray(idArray) && idArray[0] && (0, _util.isString)(idArray[0]) && idArray[0] !== EMPTY_FINGERPRINT) {\n hash = (0, _util.stringToBytes)(idArray[0]);\n } else {\n if (this.stream.ensureRange) {\n this.stream.ensureRange(0, Math.min(FINGERPRINT_FIRST_BYTES, this.stream.end));\n }\n\n hash = (0, _crypto.calculateMD5)(this.stream.bytes.subarray(0, FINGERPRINT_FIRST_BYTES), 0, FINGERPRINT_FIRST_BYTES);\n }\n\n var fingerprint = '';\n\n for (var i = 0, ii = hash.length; i < ii; i++) {\n var hex = hash[i].toString(16);\n fingerprint += hex.length === 1 ? '0' + hex : hex;\n }\n\n return (0, _util.shadow)(this, 'fingerprint', fingerprint);\n }\n }]);\n\n return PDFDocument;\n}();\n\nexports.PDFDocument = PDFDocument;\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FileSpec = exports.XRef = exports.ObjectLoader = exports.Catalog = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _parser = __w_pdfjs_require__(157);\n\nvar _core_utils = __w_pdfjs_require__(154);\n\nvar _chunked_stream = __w_pdfjs_require__(153);\n\nvar _crypto = __w_pdfjs_require__(168);\n\nvar _colorspace = __w_pdfjs_require__(169);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction fetchDestination(dest) {\n return (0, _primitives.isDict)(dest) ? dest.get('D') : dest;\n}\n\nvar Catalog =\n/*#__PURE__*/\nfunction () {\n function Catalog(pdfManager, xref) {\n _classCallCheck(this, Catalog);\n\n this.pdfManager = pdfManager;\n this.xref = xref;\n this.catDict = xref.getCatalogObj();\n\n if (!(0, _primitives.isDict)(this.catDict)) {\n throw new _util.FormatError('Catalog object is not a dictionary.');\n }\n\n this.fontCache = new _primitives.RefSetCache();\n this.builtInCMapCache = new Map();\n this.pageKidsCountCache = new _primitives.RefSetCache();\n }\n\n _createClass(Catalog, [{\n key: \"_readDocumentOutline\",\n value: function _readDocumentOutline() {\n var obj = this.catDict.get('Outlines');\n\n if (!(0, _primitives.isDict)(obj)) {\n return null;\n }\n\n obj = obj.getRaw('First');\n\n if (!(0, _primitives.isRef)(obj)) {\n return null;\n }\n\n var root = {\n items: []\n };\n var queue = [{\n obj: obj,\n parent: root\n }];\n var processed = new _primitives.RefSet();\n processed.put(obj);\n var xref = this.xref,\n blackColor = new Uint8ClampedArray(3);\n\n while (queue.length > 0) {\n var i = queue.shift();\n var outlineDict = xref.fetchIfRef(i.obj);\n\n if (outlineDict === null) {\n continue;\n }\n\n if (!outlineDict.has('Title')) {\n throw new _util.FormatError('Invalid outline item encountered.');\n }\n\n var data = {\n url: null,\n dest: null\n };\n Catalog.parseDestDictionary({\n destDict: outlineDict,\n resultObj: data,\n docBaseUrl: this.pdfManager.docBaseUrl\n });\n var title = outlineDict.get('Title');\n var flags = outlineDict.get('F') || 0;\n var color = outlineDict.getArray('C');\n var count = outlineDict.get('Count');\n var rgbColor = blackColor;\n\n if (Array.isArray(color) && color.length === 3 && (color[0] !== 0 || color[1] !== 0 || color[2] !== 0)) {\n rgbColor = _colorspace.ColorSpace.singletons.rgb.getRgb(color, 0);\n }\n\n var outlineItem = {\n dest: data.dest,\n url: data.url,\n unsafeUrl: data.unsafeUrl,\n newWindow: data.newWindow,\n title: (0, _util.stringToPDFString)(title),\n color: rgbColor,\n count: Number.isInteger(count) ? count : undefined,\n bold: !!(flags & 2),\n italic: !!(flags & 1),\n items: []\n };\n i.parent.items.push(outlineItem);\n obj = outlineDict.getRaw('First');\n\n if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {\n queue.push({\n obj: obj,\n parent: outlineItem\n });\n processed.put(obj);\n }\n\n obj = outlineDict.getRaw('Next');\n\n if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {\n queue.push({\n obj: obj,\n parent: i.parent\n });\n processed.put(obj);\n }\n }\n\n return root.items.length > 0 ? root.items : null;\n }\n }, {\n key: \"_readPermissions\",\n value: function _readPermissions() {\n var encrypt = this.xref.trailer.get('Encrypt');\n\n if (!(0, _primitives.isDict)(encrypt)) {\n return null;\n }\n\n var flags = encrypt.get('P');\n\n if (!(0, _util.isNum)(flags)) {\n return null;\n }\n\n flags += Math.pow(2, 32);\n var permissions = [];\n\n for (var key in _util.PermissionFlag) {\n var value = _util.PermissionFlag[key];\n\n if (flags & value) {\n permissions.push(value);\n }\n }\n\n return permissions;\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(destinationId) {\n var obj = this._readDests();\n\n if (obj instanceof NameTree || obj instanceof _primitives.Dict) {\n return fetchDestination(obj.get(destinationId) || null);\n }\n\n return null;\n }\n }, {\n key: \"_readDests\",\n value: function _readDests() {\n var obj = this.catDict.get('Names');\n\n if (obj && obj.has('Dests')) {\n return new NameTree(obj.getRaw('Dests'), this.xref);\n } else if (this.catDict.has('Dests')) {\n return this.catDict.get('Dests');\n }\n\n return undefined;\n }\n }, {\n key: \"_readPageLabels\",\n value: function _readPageLabels() {\n var obj = this.catDict.getRaw('PageLabels');\n\n if (!obj) {\n return null;\n }\n\n var pageLabels = new Array(this.numPages);\n var style = null,\n prefix = '';\n var numberTree = new NumberTree(obj, this.xref);\n var nums = numberTree.getAll();\n var currentLabel = '',\n currentIndex = 1;\n\n for (var i = 0, ii = this.numPages; i < ii; i++) {\n if (i in nums) {\n var labelDict = nums[i];\n\n if (!(0, _primitives.isDict)(labelDict)) {\n throw new _util.FormatError('PageLabel is not a dictionary.');\n }\n\n if (labelDict.has('Type') && !(0, _primitives.isName)(labelDict.get('Type'), 'PageLabel')) {\n throw new _util.FormatError('Invalid type in PageLabel dictionary.');\n }\n\n if (labelDict.has('S')) {\n var s = labelDict.get('S');\n\n if (!(0, _primitives.isName)(s)) {\n throw new _util.FormatError('Invalid style in PageLabel dictionary.');\n }\n\n style = s.name;\n } else {\n style = null;\n }\n\n if (labelDict.has('P')) {\n var p = labelDict.get('P');\n\n if (!(0, _util.isString)(p)) {\n throw new _util.FormatError('Invalid prefix in PageLabel dictionary.');\n }\n\n prefix = (0, _util.stringToPDFString)(p);\n } else {\n prefix = '';\n }\n\n if (labelDict.has('St')) {\n var st = labelDict.get('St');\n\n if (!(Number.isInteger(st) && st >= 1)) {\n throw new _util.FormatError('Invalid start in PageLabel dictionary.');\n }\n\n currentIndex = st;\n } else {\n currentIndex = 1;\n }\n }\n\n switch (style) {\n case 'D':\n currentLabel = currentIndex;\n break;\n\n case 'R':\n case 'r':\n currentLabel = (0, _core_utils.toRomanNumerals)(currentIndex, style === 'r');\n break;\n\n case 'A':\n case 'a':\n var LIMIT = 26;\n var A_UPPER_CASE = 0x41,\n A_LOWER_CASE = 0x61;\n var baseCharCode = style === 'a' ? A_LOWER_CASE : A_UPPER_CASE;\n var letterIndex = currentIndex - 1;\n var character = String.fromCharCode(baseCharCode + letterIndex % LIMIT);\n var charBuf = [];\n\n for (var j = 0, jj = letterIndex / LIMIT | 0; j <= jj; j++) {\n charBuf.push(character);\n }\n\n currentLabel = charBuf.join('');\n break;\n\n default:\n if (style) {\n throw new _util.FormatError(\"Invalid style \\\"\".concat(style, \"\\\" in PageLabel dictionary.\"));\n }\n\n currentLabel = '';\n }\n\n pageLabels[i] = prefix + currentLabel;\n currentIndex++;\n }\n\n return pageLabels;\n }\n }, {\n key: \"fontFallback\",\n value: function fontFallback(id, handler) {\n var promises = [];\n this.fontCache.forEach(function (promise) {\n promises.push(promise);\n });\n return Promise.all(promises).then(function (translatedFonts) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = translatedFonts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var translatedFont = _step.value;\n\n if (translatedFont.loadedName === id) {\n translatedFont.fallback(handler);\n return;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n });\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n var _this = this;\n\n (0, _primitives.clearPrimitiveCaches)();\n this.pageKidsCountCache.clear();\n var promises = [];\n this.fontCache.forEach(function (promise) {\n promises.push(promise);\n });\n return Promise.all(promises).then(function (translatedFonts) {\n for (var i = 0, ii = translatedFonts.length; i < ii; i++) {\n var font = translatedFonts[i].dict;\n delete font.translated;\n }\n\n _this.fontCache.clear();\n\n _this.builtInCMapCache.clear();\n });\n }\n }, {\n key: \"getPageDict\",\n value: function getPageDict(pageIndex) {\n var capability = (0, _util.createPromiseCapability)();\n var nodesToVisit = [this.catDict.getRaw('Pages')];\n var xref = this.xref,\n pageKidsCountCache = this.pageKidsCountCache;\n var count,\n currentPageIndex = 0;\n\n function next() {\n var _loop = function _loop() {\n var currentNode = nodesToVisit.pop();\n\n if ((0, _primitives.isRef)(currentNode)) {\n count = pageKidsCountCache.get(currentNode);\n\n if (count > 0 && currentPageIndex + count < pageIndex) {\n currentPageIndex += count;\n return \"continue\";\n }\n\n xref.fetchAsync(currentNode).then(function (obj) {\n if ((0, _primitives.isDict)(obj, 'Page') || (0, _primitives.isDict)(obj) && !obj.has('Kids')) {\n if (pageIndex === currentPageIndex) {\n if (currentNode && !pageKidsCountCache.has(currentNode)) {\n pageKidsCountCache.put(currentNode, 1);\n }\n\n capability.resolve([obj, currentNode]);\n } else {\n currentPageIndex++;\n next();\n }\n\n return;\n }\n\n nodesToVisit.push(obj);\n next();\n }, capability.reject);\n return {\n v: void 0\n };\n }\n\n if (!(0, _primitives.isDict)(currentNode)) {\n capability.reject(new _util.FormatError('Page dictionary kid reference points to wrong type of object.'));\n return {\n v: void 0\n };\n }\n\n count = currentNode.get('Count');\n\n if (Number.isInteger(count) && count >= 0) {\n var objId = currentNode.objId;\n\n if (objId && !pageKidsCountCache.has(objId)) {\n pageKidsCountCache.put(objId, count);\n }\n\n if (currentPageIndex + count <= pageIndex) {\n currentPageIndex += count;\n return \"continue\";\n }\n }\n\n var kids = currentNode.get('Kids');\n\n if (!Array.isArray(kids)) {\n if ((0, _primitives.isName)(currentNode.get('Type'), 'Page') || !currentNode.has('Type') && currentNode.has('Contents')) {\n if (currentPageIndex === pageIndex) {\n capability.resolve([currentNode, null]);\n return {\n v: void 0\n };\n }\n\n currentPageIndex++;\n return \"continue\";\n }\n\n capability.reject(new _util.FormatError('Page dictionary kids object is not an array.'));\n return {\n v: void 0\n };\n }\n\n for (var last = kids.length - 1; last >= 0; last--) {\n nodesToVisit.push(kids[last]);\n }\n };\n\n while (nodesToVisit.length) {\n var _ret = _loop();\n\n switch (_ret) {\n case \"continue\":\n continue;\n\n default:\n if (_typeof(_ret) === \"object\") return _ret.v;\n }\n }\n\n capability.reject(new Error(\"Page index \".concat(pageIndex, \" not found.\")));\n }\n\n next();\n return capability.promise;\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(pageRef) {\n var xref = this.xref;\n\n function pagesBeforeRef(kidRef) {\n var total = 0,\n parentRef;\n return xref.fetchAsync(kidRef).then(function (node) {\n if ((0, _primitives.isRefsEqual)(kidRef, pageRef) && !(0, _primitives.isDict)(node, 'Page') && !((0, _primitives.isDict)(node) && !node.has('Type') && node.has('Contents'))) {\n throw new _util.FormatError('The reference does not point to a /Page dictionary.');\n }\n\n if (!node) {\n return null;\n }\n\n if (!(0, _primitives.isDict)(node)) {\n throw new _util.FormatError('Node must be a dictionary.');\n }\n\n parentRef = node.getRaw('Parent');\n return node.getAsync('Parent');\n }).then(function (parent) {\n if (!parent) {\n return null;\n }\n\n if (!(0, _primitives.isDict)(parent)) {\n throw new _util.FormatError('Parent must be a dictionary.');\n }\n\n return parent.getAsync('Kids');\n }).then(function (kids) {\n if (!kids) {\n return null;\n }\n\n var kidPromises = [];\n var found = false;\n\n for (var i = 0, ii = kids.length; i < ii; i++) {\n var kid = kids[i];\n\n if (!(0, _primitives.isRef)(kid)) {\n throw new _util.FormatError('Kid must be a reference.');\n }\n\n if ((0, _primitives.isRefsEqual)(kid, kidRef)) {\n found = true;\n break;\n }\n\n kidPromises.push(xref.fetchAsync(kid).then(function (kid) {\n if (!(0, _primitives.isDict)(kid)) {\n throw new _util.FormatError('Kid node must be a dictionary.');\n }\n\n if (kid.has('Count')) {\n total += kid.get('Count');\n } else {\n total++;\n }\n }));\n }\n\n if (!found) {\n throw new _util.FormatError('Kid reference not found in parent\\'s kids.');\n }\n\n return Promise.all(kidPromises).then(function () {\n return [total, parentRef];\n });\n });\n }\n\n var total = 0;\n\n function next(ref) {\n return pagesBeforeRef(ref).then(function (args) {\n if (!args) {\n return total;\n }\n\n var _args = _slicedToArray(args, 2),\n count = _args[0],\n parentRef = _args[1];\n\n total += count;\n return next(parentRef);\n });\n }\n\n return next(pageRef);\n }\n }, {\n key: \"metadata\",\n get: function get() {\n var streamRef = this.catDict.getRaw('Metadata');\n\n if (!(0, _primitives.isRef)(streamRef)) {\n return (0, _util.shadow)(this, 'metadata', null);\n }\n\n var suppressEncryption = !(this.xref.encrypt && this.xref.encrypt.encryptMetadata);\n var stream = this.xref.fetch(streamRef, suppressEncryption);\n var metadata;\n\n if (stream && (0, _primitives.isDict)(stream.dict)) {\n var type = stream.dict.get('Type');\n var subtype = stream.dict.get('Subtype');\n\n if ((0, _primitives.isName)(type, 'Metadata') && (0, _primitives.isName)(subtype, 'XML')) {\n try {\n metadata = (0, _util.stringToUTF8String)((0, _util.bytesToString)(stream.getBytes()));\n } catch (e) {\n if (e instanceof _core_utils.MissingDataException) {\n throw e;\n }\n\n (0, _util.info)('Skipping invalid metadata.');\n }\n }\n }\n\n return (0, _util.shadow)(this, 'metadata', metadata);\n }\n }, {\n key: \"toplevelPagesDict\",\n get: function get() {\n var pagesObj = this.catDict.get('Pages');\n\n if (!(0, _primitives.isDict)(pagesObj)) {\n throw new _util.FormatError('Invalid top-level pages dictionary.');\n }\n\n return (0, _util.shadow)(this, 'toplevelPagesDict', pagesObj);\n }\n }, {\n key: \"documentOutline\",\n get: function get() {\n var obj = null;\n\n try {\n obj = this._readDocumentOutline();\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)('Unable to read document outline.');\n }\n\n return (0, _util.shadow)(this, 'documentOutline', obj);\n }\n }, {\n key: \"permissions\",\n get: function get() {\n var permissions = null;\n\n try {\n permissions = this._readPermissions();\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)('Unable to read permissions.');\n }\n\n return (0, _util.shadow)(this, 'permissions', permissions);\n }\n }, {\n key: \"numPages\",\n get: function get() {\n var obj = this.toplevelPagesDict.get('Count');\n\n if (!Number.isInteger(obj)) {\n throw new _util.FormatError('Page count in top-level pages dictionary is not an integer.');\n }\n\n return (0, _util.shadow)(this, 'numPages', obj);\n }\n }, {\n key: \"destinations\",\n get: function get() {\n var obj = this._readDests(),\n dests = Object.create(null);\n\n if (obj instanceof NameTree) {\n var names = obj.getAll();\n\n for (var name in names) {\n dests[name] = fetchDestination(names[name]);\n }\n } else if (obj instanceof _primitives.Dict) {\n obj.forEach(function (key, value) {\n if (value) {\n dests[key] = fetchDestination(value);\n }\n });\n }\n\n return (0, _util.shadow)(this, 'destinations', dests);\n }\n }, {\n key: \"pageLabels\",\n get: function get() {\n var obj = null;\n\n try {\n obj = this._readPageLabels();\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)('Unable to read page labels.');\n }\n\n return (0, _util.shadow)(this, 'pageLabels', obj);\n }\n }, {\n key: \"pageLayout\",\n get: function get() {\n var obj = this.catDict.get('PageLayout');\n var pageLayout = '';\n\n if ((0, _primitives.isName)(obj)) {\n switch (obj.name) {\n case 'SinglePage':\n case 'OneColumn':\n case 'TwoColumnLeft':\n case 'TwoColumnRight':\n case 'TwoPageLeft':\n case 'TwoPageRight':\n pageLayout = obj.name;\n }\n }\n\n return (0, _util.shadow)(this, 'pageLayout', pageLayout);\n }\n }, {\n key: \"pageMode\",\n get: function get() {\n var obj = this.catDict.get('PageMode');\n var pageMode = 'UseNone';\n\n if ((0, _primitives.isName)(obj)) {\n switch (obj.name) {\n case 'UseNone':\n case 'UseOutlines':\n case 'UseThumbs':\n case 'FullScreen':\n case 'UseOC':\n case 'UseAttachments':\n pageMode = obj.name;\n }\n }\n\n return (0, _util.shadow)(this, 'pageMode', pageMode);\n }\n }, {\n key: \"viewerPreferences\",\n get: function get() {\n var _this2 = this;\n\n var ViewerPreferencesValidators = {\n HideToolbar: _util.isBool,\n HideMenubar: _util.isBool,\n HideWindowUI: _util.isBool,\n FitWindow: _util.isBool,\n CenterWindow: _util.isBool,\n DisplayDocTitle: _util.isBool,\n NonFullScreenPageMode: _primitives.isName,\n Direction: _primitives.isName,\n ViewArea: _primitives.isName,\n ViewClip: _primitives.isName,\n PrintArea: _primitives.isName,\n PrintClip: _primitives.isName,\n PrintScaling: _primitives.isName,\n Duplex: _primitives.isName,\n PickTrayByPDFSize: _util.isBool,\n PrintPageRange: Array.isArray,\n NumCopies: Number.isInteger\n };\n var obj = this.catDict.get('ViewerPreferences');\n var prefs = Object.create(null);\n\n if ((0, _primitives.isDict)(obj)) {\n for (var key in ViewerPreferencesValidators) {\n if (!obj.has(key)) {\n continue;\n }\n\n var value = obj.get(key);\n\n if (!ViewerPreferencesValidators[key](value)) {\n (0, _util.info)(\"Bad value in ViewerPreferences for \\\"\".concat(key, \"\\\".\"));\n continue;\n }\n\n var prefValue = void 0;\n\n switch (key) {\n case 'NonFullScreenPageMode':\n switch (value.name) {\n case 'UseNone':\n case 'UseOutlines':\n case 'UseThumbs':\n case 'UseOC':\n prefValue = value.name;\n break;\n\n default:\n prefValue = 'UseNone';\n }\n\n break;\n\n case 'Direction':\n switch (value.name) {\n case 'L2R':\n case 'R2L':\n prefValue = value.name;\n break;\n\n default:\n prefValue = 'L2R';\n }\n\n break;\n\n case 'ViewArea':\n case 'ViewClip':\n case 'PrintArea':\n case 'PrintClip':\n switch (value.name) {\n case 'MediaBox':\n case 'CropBox':\n case 'BleedBox':\n case 'TrimBox':\n case 'ArtBox':\n prefValue = value.name;\n break;\n\n default:\n prefValue = 'CropBox';\n }\n\n break;\n\n case 'PrintScaling':\n switch (value.name) {\n case 'None':\n case 'AppDefault':\n prefValue = value.name;\n break;\n\n default:\n prefValue = 'AppDefault';\n }\n\n break;\n\n case 'Duplex':\n switch (value.name) {\n case 'Simplex':\n case 'DuplexFlipShortEdge':\n case 'DuplexFlipLongEdge':\n prefValue = value.name;\n break;\n\n default:\n prefValue = 'None';\n }\n\n break;\n\n case 'PrintPageRange':\n var length = value.length;\n\n if (length % 2 !== 0) {\n break;\n }\n\n var isValid = value.every(function (page, i, arr) {\n return Number.isInteger(page) && page > 0 && (i === 0 || page >= arr[i - 1]) && page <= _this2.numPages;\n });\n\n if (isValid) {\n prefValue = value;\n }\n\n break;\n\n case 'NumCopies':\n if (value > 0) {\n prefValue = value;\n }\n\n break;\n\n default:\n (0, _util.assert)(typeof value === 'boolean');\n prefValue = value;\n }\n\n if (prefValue !== undefined) {\n prefs[key] = prefValue;\n } else {\n (0, _util.info)(\"Bad value in ViewerPreferences for \\\"\".concat(key, \"\\\".\"));\n }\n }\n }\n\n return (0, _util.shadow)(this, 'viewerPreferences', prefs);\n }\n }, {\n key: \"openActionDestination\",\n get: function get() {\n var obj = this.catDict.get('OpenAction');\n var openActionDest = null;\n\n if ((0, _primitives.isDict)(obj)) {\n var destDict = new _primitives.Dict(this.xref);\n destDict.set('A', obj);\n var resultObj = {\n url: null,\n dest: null\n };\n Catalog.parseDestDictionary({\n destDict: destDict,\n resultObj: resultObj\n });\n\n if (Array.isArray(resultObj.dest)) {\n openActionDest = resultObj.dest;\n }\n } else if (Array.isArray(obj)) {\n openActionDest = obj;\n }\n\n return (0, _util.shadow)(this, 'openActionDestination', openActionDest);\n }\n }, {\n key: \"attachments\",\n get: function get() {\n var obj = this.catDict.get('Names');\n var attachments = null;\n\n if (obj && obj.has('EmbeddedFiles')) {\n var nameTree = new NameTree(obj.getRaw('EmbeddedFiles'), this.xref);\n var names = nameTree.getAll();\n\n for (var name in names) {\n var fs = new FileSpec(names[name], this.xref);\n\n if (!attachments) {\n attachments = Object.create(null);\n }\n\n attachments[(0, _util.stringToPDFString)(name)] = fs.serializable;\n }\n }\n\n return (0, _util.shadow)(this, 'attachments', attachments);\n }\n }, {\n key: \"javaScript\",\n get: function get() {\n var obj = this.catDict.get('Names');\n var javaScript = null;\n\n function appendIfJavaScriptDict(jsDict) {\n var type = jsDict.get('S');\n\n if (!(0, _primitives.isName)(type, 'JavaScript')) {\n return;\n }\n\n var js = jsDict.get('JS');\n\n if ((0, _primitives.isStream)(js)) {\n js = (0, _util.bytesToString)(js.getBytes());\n } else if (!(0, _util.isString)(js)) {\n return;\n }\n\n if (!javaScript) {\n javaScript = [];\n }\n\n javaScript.push((0, _util.stringToPDFString)(js));\n }\n\n if (obj && obj.has('JavaScript')) {\n var nameTree = new NameTree(obj.getRaw('JavaScript'), this.xref);\n var names = nameTree.getAll();\n\n for (var name in names) {\n var jsDict = names[name];\n\n if ((0, _primitives.isDict)(jsDict)) {\n appendIfJavaScriptDict(jsDict);\n }\n }\n }\n\n var openActionDict = this.catDict.get('OpenAction');\n\n if ((0, _primitives.isDict)(openActionDict, 'Action')) {\n var actionType = openActionDict.get('S');\n\n if ((0, _primitives.isName)(actionType, 'Named')) {\n var action = openActionDict.get('N');\n\n if ((0, _primitives.isName)(action, 'Print')) {\n if (!javaScript) {\n javaScript = [];\n }\n\n javaScript.push('print({});');\n }\n } else {\n appendIfJavaScriptDict(openActionDict);\n }\n }\n\n return (0, _util.shadow)(this, 'javaScript', javaScript);\n }\n }], [{\n key: \"parseDestDictionary\",\n value: function parseDestDictionary(params) {\n function addDefaultProtocolToUrl(url) {\n return url.startsWith('www.') ? \"http://\".concat(url) : url;\n }\n\n function tryConvertUrlEncoding(url) {\n try {\n return (0, _util.stringToUTF8String)(url);\n } catch (e) {\n return url;\n }\n }\n\n var destDict = params.destDict;\n\n if (!(0, _primitives.isDict)(destDict)) {\n (0, _util.warn)('parseDestDictionary: `destDict` must be a dictionary.');\n return;\n }\n\n var resultObj = params.resultObj;\n\n if (_typeof(resultObj) !== 'object') {\n (0, _util.warn)('parseDestDictionary: `resultObj` must be an object.');\n return;\n }\n\n var docBaseUrl = params.docBaseUrl || null;\n var action = destDict.get('A'),\n url,\n dest;\n\n if (!(0, _primitives.isDict)(action) && destDict.has('Dest')) {\n action = destDict.get('Dest');\n }\n\n if ((0, _primitives.isDict)(action)) {\n var actionType = action.get('S');\n\n if (!(0, _primitives.isName)(actionType)) {\n (0, _util.warn)('parseDestDictionary: Invalid type in Action dictionary.');\n return;\n }\n\n var actionName = actionType.name;\n\n switch (actionName) {\n case 'URI':\n url = action.get('URI');\n\n if ((0, _primitives.isName)(url)) {\n url = '/' + url.name;\n } else if ((0, _util.isString)(url)) {\n url = addDefaultProtocolToUrl(url);\n }\n\n break;\n\n case 'GoTo':\n dest = action.get('D');\n break;\n\n case 'Launch':\n case 'GoToR':\n var urlDict = action.get('F');\n\n if ((0, _primitives.isDict)(urlDict)) {\n url = urlDict.get('F') || null;\n } else if ((0, _util.isString)(urlDict)) {\n url = urlDict;\n }\n\n var remoteDest = action.get('D');\n\n if (remoteDest) {\n if ((0, _primitives.isName)(remoteDest)) {\n remoteDest = remoteDest.name;\n }\n\n if ((0, _util.isString)(url)) {\n var baseUrl = url.split('#')[0];\n\n if ((0, _util.isString)(remoteDest)) {\n url = baseUrl + '#' + remoteDest;\n } else if (Array.isArray(remoteDest)) {\n url = baseUrl + '#' + JSON.stringify(remoteDest);\n }\n }\n }\n\n var newWindow = action.get('NewWindow');\n\n if ((0, _util.isBool)(newWindow)) {\n resultObj.newWindow = newWindow;\n }\n\n break;\n\n case 'Named':\n var namedAction = action.get('N');\n\n if ((0, _primitives.isName)(namedAction)) {\n resultObj.action = namedAction.name;\n }\n\n break;\n\n case 'JavaScript':\n var jsAction = action.get('JS');\n var js;\n\n if ((0, _primitives.isStream)(jsAction)) {\n js = (0, _util.bytesToString)(jsAction.getBytes());\n } else if ((0, _util.isString)(jsAction)) {\n js = jsAction;\n }\n\n if (js) {\n var URL_OPEN_METHODS = ['app.launchURL', 'window.open'];\n var regex = new RegExp('^\\\\s*(' + URL_OPEN_METHODS.join('|').split('.').join('\\\\.') + ')\\\\((?:\\'|\\\")([^\\'\\\"]*)(?:\\'|\\\")(?:,\\\\s*(\\\\w+)\\\\)|\\\\))', 'i');\n var jsUrl = regex.exec((0, _util.stringToPDFString)(js));\n\n if (jsUrl && jsUrl[2]) {\n url = jsUrl[2];\n\n if (jsUrl[3] === 'true' && jsUrl[1] === 'app.launchURL') {\n resultObj.newWindow = true;\n }\n\n break;\n }\n }\n\n default:\n (0, _util.warn)(\"parseDestDictionary: unsupported action type \\\"\".concat(actionName, \"\\\".\"));\n break;\n }\n } else if (destDict.has('Dest')) {\n dest = destDict.get('Dest');\n }\n\n if ((0, _util.isString)(url)) {\n url = tryConvertUrlEncoding(url);\n var absoluteUrl = (0, _util.createValidAbsoluteUrl)(url, docBaseUrl);\n\n if (absoluteUrl) {\n resultObj.url = absoluteUrl.href;\n }\n\n resultObj.unsafeUrl = url;\n }\n\n if (dest) {\n if ((0, _primitives.isName)(dest)) {\n dest = dest.name;\n }\n\n if ((0, _util.isString)(dest) || Array.isArray(dest)) {\n resultObj.dest = dest;\n }\n }\n }\n }]);\n\n return Catalog;\n}();\n\nexports.Catalog = Catalog;\n\nvar XRef = function XRefClosure() {\n function XRef(stream, pdfManager) {\n this.stream = stream;\n this.pdfManager = pdfManager;\n this.entries = [];\n this.xrefstms = Object.create(null);\n this.cache = [];\n this.stats = {\n streamTypes: [],\n fontTypes: []\n };\n }\n\n XRef.prototype = {\n setStartXRef: function XRef_setStartXRef(startXRef) {\n this.startXRefQueue = [startXRef];\n },\n parse: function XRef_parse(recoveryMode) {\n var trailerDict;\n\n if (!recoveryMode) {\n trailerDict = this.readXRef();\n } else {\n (0, _util.warn)('Indexing all PDF objects');\n trailerDict = this.indexObjects();\n }\n\n trailerDict.assignXref(this);\n this.trailer = trailerDict;\n var encrypt;\n\n try {\n encrypt = trailerDict.get('Encrypt');\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"XRef.parse - Invalid \\\"Encrypt\\\" reference: \\\"\".concat(ex, \"\\\".\"));\n }\n\n if ((0, _primitives.isDict)(encrypt)) {\n var ids = trailerDict.get('ID');\n var fileId = ids && ids.length ? ids[0] : '';\n encrypt.suppressEncryption = true;\n this.encrypt = new _crypto.CipherTransformFactory(encrypt, fileId, this.pdfManager.password);\n }\n\n var root;\n\n try {\n root = trailerDict.get('Root');\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"XRef.parse - Invalid \\\"Root\\\" reference: \\\"\".concat(ex, \"\\\".\"));\n }\n\n if ((0, _primitives.isDict)(root) && root.has('Pages')) {\n this.root = root;\n } else {\n if (!recoveryMode) {\n throw new _core_utils.XRefParseException();\n }\n\n throw new _util.FormatError('Invalid root reference');\n }\n },\n processXRefTable: function XRef_processXRefTable(parser) {\n if (!('tableState' in this)) {\n this.tableState = {\n entryNum: 0,\n streamPos: parser.lexer.stream.pos,\n parserBuf1: parser.buf1,\n parserBuf2: parser.buf2\n };\n }\n\n var obj = this.readXRefTable(parser);\n\n if (!(0, _primitives.isCmd)(obj, 'trailer')) {\n throw new _util.FormatError('Invalid XRef table: could not find trailer dictionary');\n }\n\n var dict = parser.getObj();\n\n if (!(0, _primitives.isDict)(dict) && dict.dict) {\n dict = dict.dict;\n }\n\n if (!(0, _primitives.isDict)(dict)) {\n throw new _util.FormatError('Invalid XRef table: could not parse trailer dictionary');\n }\n\n delete this.tableState;\n return dict;\n },\n readXRefTable: function XRef_readXRefTable(parser) {\n var stream = parser.lexer.stream;\n var tableState = this.tableState;\n stream.pos = tableState.streamPos;\n parser.buf1 = tableState.parserBuf1;\n parser.buf2 = tableState.parserBuf2;\n var obj;\n\n while (true) {\n if (!('firstEntryNum' in tableState) || !('entryCount' in tableState)) {\n if ((0, _primitives.isCmd)(obj = parser.getObj(), 'trailer')) {\n break;\n }\n\n tableState.firstEntryNum = obj;\n tableState.entryCount = parser.getObj();\n }\n\n var first = tableState.firstEntryNum;\n var count = tableState.entryCount;\n\n if (!Number.isInteger(first) || !Number.isInteger(count)) {\n throw new _util.FormatError('Invalid XRef table: wrong types in subsection header');\n }\n\n for (var i = tableState.entryNum; i < count; i++) {\n tableState.streamPos = stream.pos;\n tableState.entryNum = i;\n tableState.parserBuf1 = parser.buf1;\n tableState.parserBuf2 = parser.buf2;\n var entry = {};\n entry.offset = parser.getObj();\n entry.gen = parser.getObj();\n var type = parser.getObj();\n\n if (type instanceof _primitives.Cmd) {\n switch (type.cmd) {\n case 'f':\n entry.free = true;\n break;\n\n case 'n':\n entry.uncompressed = true;\n break;\n }\n }\n\n if (!Number.isInteger(entry.offset) || !Number.isInteger(entry.gen) || !(entry.free || entry.uncompressed)) {\n throw new _util.FormatError(\"Invalid entry in XRef subsection: \".concat(first, \", \").concat(count));\n }\n\n if (i === 0 && entry.free && first === 1) {\n first = 0;\n }\n\n if (!this.entries[i + first]) {\n this.entries[i + first] = entry;\n }\n }\n\n tableState.entryNum = 0;\n tableState.streamPos = stream.pos;\n tableState.parserBuf1 = parser.buf1;\n tableState.parserBuf2 = parser.buf2;\n delete tableState.firstEntryNum;\n delete tableState.entryCount;\n }\n\n if (this.entries[0] && !this.entries[0].free) {\n throw new _util.FormatError('Invalid XRef table: unexpected first object');\n }\n\n return obj;\n },\n processXRefStream: function XRef_processXRefStream(stream) {\n if (!('streamState' in this)) {\n var streamParameters = stream.dict;\n var byteWidths = streamParameters.get('W');\n var range = streamParameters.get('Index');\n\n if (!range) {\n range = [0, streamParameters.get('Size')];\n }\n\n this.streamState = {\n entryRanges: range,\n byteWidths: byteWidths,\n entryNum: 0,\n streamPos: stream.pos\n };\n }\n\n this.readXRefStream(stream);\n delete this.streamState;\n return stream.dict;\n },\n readXRefStream: function XRef_readXRefStream(stream) {\n var i, j;\n var streamState = this.streamState;\n stream.pos = streamState.streamPos;\n var byteWidths = streamState.byteWidths;\n var typeFieldWidth = byteWidths[0];\n var offsetFieldWidth = byteWidths[1];\n var generationFieldWidth = byteWidths[2];\n var entryRanges = streamState.entryRanges;\n\n while (entryRanges.length > 0) {\n var first = entryRanges[0];\n var n = entryRanges[1];\n\n if (!Number.isInteger(first) || !Number.isInteger(n)) {\n throw new _util.FormatError(\"Invalid XRef range fields: \".concat(first, \", \").concat(n));\n }\n\n if (!Number.isInteger(typeFieldWidth) || !Number.isInteger(offsetFieldWidth) || !Number.isInteger(generationFieldWidth)) {\n throw new _util.FormatError(\"Invalid XRef entry fields length: \".concat(first, \", \").concat(n));\n }\n\n for (i = streamState.entryNum; i < n; ++i) {\n streamState.entryNum = i;\n streamState.streamPos = stream.pos;\n var type = 0,\n offset = 0,\n generation = 0;\n\n for (j = 0; j < typeFieldWidth; ++j) {\n type = type << 8 | stream.getByte();\n }\n\n if (typeFieldWidth === 0) {\n type = 1;\n }\n\n for (j = 0; j < offsetFieldWidth; ++j) {\n offset = offset << 8 | stream.getByte();\n }\n\n for (j = 0; j < generationFieldWidth; ++j) {\n generation = generation << 8 | stream.getByte();\n }\n\n var entry = {};\n entry.offset = offset;\n entry.gen = generation;\n\n switch (type) {\n case 0:\n entry.free = true;\n break;\n\n case 1:\n entry.uncompressed = true;\n break;\n\n case 2:\n break;\n\n default:\n throw new _util.FormatError(\"Invalid XRef entry type: \".concat(type));\n }\n\n if (!this.entries[first + i]) {\n this.entries[first + i] = entry;\n }\n }\n\n streamState.entryNum = 0;\n streamState.streamPos = stream.pos;\n entryRanges.splice(0, 2);\n }\n },\n indexObjects: function XRef_indexObjects() {\n var TAB = 0x9,\n LF = 0xA,\n CR = 0xD,\n SPACE = 0x20;\n var PERCENT = 0x25,\n LT = 0x3C;\n\n function readToken(data, offset) {\n var token = '',\n ch = data[offset];\n\n while (ch !== LF && ch !== CR && ch !== LT) {\n if (++offset >= data.length) {\n break;\n }\n\n token += String.fromCharCode(ch);\n ch = data[offset];\n }\n\n return token;\n }\n\n function skipUntil(data, offset, what) {\n var length = what.length,\n dataLength = data.length;\n var skipped = 0;\n\n while (offset < dataLength) {\n var i = 0;\n\n while (i < length && data[offset + i] === what[i]) {\n ++i;\n }\n\n if (i >= length) {\n break;\n }\n\n offset++;\n skipped++;\n }\n\n return skipped;\n }\n\n var objRegExp = /^(\\d+)\\s+(\\d+)\\s+obj\\b/;\n var endobjRegExp = /\\bendobj[\\b\\s]$/;\n var nestedObjRegExp = /\\s+(\\d+\\s+\\d+\\s+obj[\\b\\s<])$/;\n var CHECK_CONTENT_LENGTH = 25;\n var trailerBytes = new Uint8Array([116, 114, 97, 105, 108, 101, 114]);\n var startxrefBytes = new Uint8Array([115, 116, 97, 114, 116, 120, 114, 101, 102]);\n var objBytes = new Uint8Array([111, 98, 106]);\n var xrefBytes = new Uint8Array([47, 88, 82, 101, 102]);\n this.entries.length = 0;\n var stream = this.stream;\n stream.pos = 0;\n var buffer = stream.getBytes();\n var position = stream.start,\n length = buffer.length;\n var trailers = [],\n xrefStms = [];\n\n while (position < length) {\n var ch = buffer[position];\n\n if (ch === TAB || ch === LF || ch === CR || ch === SPACE) {\n ++position;\n continue;\n }\n\n if (ch === PERCENT) {\n do {\n ++position;\n\n if (position >= length) {\n break;\n }\n\n ch = buffer[position];\n } while (ch !== LF && ch !== CR);\n\n continue;\n }\n\n var token = readToken(buffer, position);\n var m;\n\n if (token.startsWith('xref') && (token.length === 4 || /\\s/.test(token[4]))) {\n position += skipUntil(buffer, position, trailerBytes);\n trailers.push(position);\n position += skipUntil(buffer, position, startxrefBytes);\n } else if (m = objRegExp.exec(token)) {\n var num = m[1] | 0,\n gen = m[2] | 0;\n\n if (typeof this.entries[num] === 'undefined') {\n this.entries[num] = {\n offset: position - stream.start,\n gen: gen,\n uncompressed: true\n };\n }\n\n var contentLength = void 0,\n startPos = position + token.length;\n\n while (startPos < buffer.length) {\n var endPos = startPos + skipUntil(buffer, startPos, objBytes) + 4;\n contentLength = endPos - position;\n var checkPos = Math.max(endPos - CHECK_CONTENT_LENGTH, startPos);\n var tokenStr = (0, _util.bytesToString)(buffer.subarray(checkPos, endPos));\n\n if (endobjRegExp.test(tokenStr)) {\n break;\n } else {\n var objToken = nestedObjRegExp.exec(tokenStr);\n\n if (objToken && objToken[1]) {\n (0, _util.warn)('indexObjects: Found new \"obj\" inside of another \"obj\", ' + 'caused by missing \"endobj\" -- trying to recover.');\n contentLength -= objToken[1].length;\n break;\n }\n }\n\n startPos = endPos;\n }\n\n var content = buffer.subarray(position, position + contentLength);\n var xrefTagOffset = skipUntil(content, 0, xrefBytes);\n\n if (xrefTagOffset < contentLength && content[xrefTagOffset + 5] < 64) {\n xrefStms.push(position - stream.start);\n this.xrefstms[position - stream.start] = 1;\n }\n\n position += contentLength;\n } else if (token.startsWith('trailer') && (token.length === 7 || /\\s/.test(token[7]))) {\n trailers.push(position);\n position += skipUntil(buffer, position, startxrefBytes);\n } else {\n position += token.length + 1;\n }\n }\n\n var i, ii;\n\n for (i = 0, ii = xrefStms.length; i < ii; ++i) {\n this.startXRefQueue.push(xrefStms[i]);\n this.readXRef(true);\n }\n\n var trailerDict;\n\n for (i = 0, ii = trailers.length; i < ii; ++i) {\n stream.pos = trailers[i];\n var parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true,\n recoveryMode: true\n });\n var obj = parser.getObj();\n\n if (!(0, _primitives.isCmd)(obj, 'trailer')) {\n continue;\n }\n\n var dict = parser.getObj();\n\n if (!(0, _primitives.isDict)(dict)) {\n continue;\n }\n\n var rootDict = void 0;\n\n try {\n rootDict = dict.get('Root');\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n continue;\n }\n\n if (!(0, _primitives.isDict)(rootDict) || !rootDict.has('Pages')) {\n continue;\n }\n\n if (dict.has('ID')) {\n return dict;\n }\n\n trailerDict = dict;\n }\n\n if (trailerDict) {\n return trailerDict;\n }\n\n throw new _util.InvalidPDFException('Invalid PDF structure');\n },\n readXRef: function XRef_readXRef(recoveryMode) {\n var stream = this.stream;\n var startXRefParsedCache = Object.create(null);\n\n try {\n while (this.startXRefQueue.length) {\n var startXRef = this.startXRefQueue[0];\n\n if (startXRefParsedCache[startXRef]) {\n (0, _util.warn)('readXRef - skipping XRef table since it was already parsed.');\n this.startXRefQueue.shift();\n continue;\n }\n\n startXRefParsedCache[startXRef] = true;\n stream.pos = startXRef + stream.start;\n var parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true\n });\n var obj = parser.getObj();\n var dict;\n\n if ((0, _primitives.isCmd)(obj, 'xref')) {\n dict = this.processXRefTable(parser);\n\n if (!this.topDict) {\n this.topDict = dict;\n }\n\n obj = dict.get('XRefStm');\n\n if (Number.isInteger(obj)) {\n var pos = obj;\n\n if (!(pos in this.xrefstms)) {\n this.xrefstms[pos] = 1;\n this.startXRefQueue.push(pos);\n }\n }\n } else if (Number.isInteger(obj)) {\n if (!Number.isInteger(parser.getObj()) || !(0, _primitives.isCmd)(parser.getObj(), 'obj') || !(0, _primitives.isStream)(obj = parser.getObj())) {\n throw new _util.FormatError('Invalid XRef stream');\n }\n\n dict = this.processXRefStream(obj);\n\n if (!this.topDict) {\n this.topDict = dict;\n }\n\n if (!dict) {\n throw new _util.FormatError('Failed to read XRef stream');\n }\n } else {\n throw new _util.FormatError('Invalid XRef stream header');\n }\n\n obj = dict.get('Prev');\n\n if (Number.isInteger(obj)) {\n this.startXRefQueue.push(obj);\n } else if ((0, _primitives.isRef)(obj)) {\n this.startXRefQueue.push(obj.num);\n }\n\n this.startXRefQueue.shift();\n }\n\n return this.topDict;\n } catch (e) {\n if (e instanceof _core_utils.MissingDataException) {\n throw e;\n }\n\n (0, _util.info)('(while reading XRef): ' + e);\n }\n\n if (recoveryMode) {\n return undefined;\n }\n\n throw new _core_utils.XRefParseException();\n },\n getEntry: function XRef_getEntry(i) {\n var xrefEntry = this.entries[i];\n\n if (xrefEntry && !xrefEntry.free && xrefEntry.offset) {\n return xrefEntry;\n }\n\n return null;\n },\n fetchIfRef: function XRef_fetchIfRef(obj, suppressEncryption) {\n if (!(0, _primitives.isRef)(obj)) {\n return obj;\n }\n\n return this.fetch(obj, suppressEncryption);\n },\n fetch: function XRef_fetch(ref, suppressEncryption) {\n if (!(0, _primitives.isRef)(ref)) {\n throw new Error('ref object is not a reference');\n }\n\n var num = ref.num;\n\n if (num in this.cache) {\n var cacheEntry = this.cache[num];\n\n if (cacheEntry instanceof _primitives.Dict && !cacheEntry.objId) {\n cacheEntry.objId = ref.toString();\n }\n\n return cacheEntry;\n }\n\n var xrefEntry = this.getEntry(num);\n\n if (xrefEntry === null) {\n return this.cache[num] = null;\n }\n\n if (xrefEntry.uncompressed) {\n xrefEntry = this.fetchUncompressed(ref, xrefEntry, suppressEncryption);\n } else {\n xrefEntry = this.fetchCompressed(ref, xrefEntry, suppressEncryption);\n }\n\n if ((0, _primitives.isDict)(xrefEntry)) {\n xrefEntry.objId = ref.toString();\n } else if ((0, _primitives.isStream)(xrefEntry)) {\n xrefEntry.dict.objId = ref.toString();\n }\n\n return xrefEntry;\n },\n fetchUncompressed: function fetchUncompressed(ref, xrefEntry) {\n var suppressEncryption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var gen = ref.gen;\n var num = ref.num;\n\n if (xrefEntry.gen !== gen) {\n throw new _core_utils.XRefEntryException(\"Inconsistent generation in XRef: \".concat(ref));\n }\n\n var stream = this.stream.makeSubStream(xrefEntry.offset + this.stream.start);\n var parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true\n });\n var obj1 = parser.getObj();\n var obj2 = parser.getObj();\n var obj3 = parser.getObj();\n\n if (!Number.isInteger(obj1)) {\n obj1 = parseInt(obj1, 10);\n }\n\n if (!Number.isInteger(obj2)) {\n obj2 = parseInt(obj2, 10);\n }\n\n if (obj1 !== num || obj2 !== gen || !(obj3 instanceof _primitives.Cmd)) {\n throw new _core_utils.XRefEntryException(\"Bad (uncompressed) XRef entry: \".concat(ref));\n }\n\n if (obj3.cmd !== 'obj') {\n if (obj3.cmd.startsWith('obj')) {\n num = parseInt(obj3.cmd.substring(3), 10);\n\n if (!Number.isNaN(num)) {\n return num;\n }\n }\n\n throw new _core_utils.XRefEntryException(\"Bad (uncompressed) XRef entry: \".concat(ref));\n }\n\n if (this.encrypt && !suppressEncryption) {\n xrefEntry = parser.getObj(this.encrypt.createCipherTransform(num, gen));\n } else {\n xrefEntry = parser.getObj();\n }\n\n if (!(0, _primitives.isStream)(xrefEntry)) {\n this.cache[num] = xrefEntry;\n }\n\n return xrefEntry;\n },\n fetchCompressed: function fetchCompressed(ref, xrefEntry) {\n var suppressEncryption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var tableOffset = xrefEntry.offset;\n var stream = this.fetch(_primitives.Ref.get(tableOffset, 0));\n\n if (!(0, _primitives.isStream)(stream)) {\n throw new _util.FormatError('bad ObjStm stream');\n }\n\n var first = stream.dict.get('First');\n var n = stream.dict.get('N');\n\n if (!Number.isInteger(first) || !Number.isInteger(n)) {\n throw new _util.FormatError('invalid first and n parameters for ObjStm stream');\n }\n\n var parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true\n });\n var i,\n entries = [],\n num,\n nums = [];\n\n for (i = 0; i < n; ++i) {\n num = parser.getObj();\n\n if (!Number.isInteger(num)) {\n throw new _util.FormatError(\"invalid object number in the ObjStm stream: \".concat(num));\n }\n\n nums.push(num);\n var offset = parser.getObj();\n\n if (!Number.isInteger(offset)) {\n throw new _util.FormatError(\"invalid object offset in the ObjStm stream: \".concat(offset));\n }\n }\n\n for (i = 0; i < n; ++i) {\n entries.push(parser.getObj());\n\n if ((0, _primitives.isCmd)(parser.buf1, 'endobj')) {\n parser.shift();\n }\n\n num = nums[i];\n var entry = this.entries[num];\n\n if (entry && entry.offset === tableOffset && entry.gen === i) {\n this.cache[num] = entries[i];\n }\n }\n\n xrefEntry = entries[xrefEntry.gen];\n\n if (xrefEntry === undefined) {\n throw new _core_utils.XRefEntryException(\"Bad (compressed) XRef entry: \".concat(ref));\n }\n\n return xrefEntry;\n },\n fetchIfRefAsync: function () {\n var _fetchIfRefAsync = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(obj, suppressEncryption) {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if ((0, _primitives.isRef)(obj)) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\", obj);\n\n case 2:\n return _context.abrupt(\"return\", this.fetchAsync(obj, suppressEncryption));\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function fetchIfRefAsync(_x, _x2) {\n return _fetchIfRefAsync.apply(this, arguments);\n }\n\n return fetchIfRefAsync;\n }(),\n fetchAsync: function () {\n var _fetchAsync = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2(ref, suppressEncryption) {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.prev = 0;\n return _context2.abrupt(\"return\", this.fetch(ref, suppressEncryption));\n\n case 4:\n _context2.prev = 4;\n _context2.t0 = _context2[\"catch\"](0);\n\n if (_context2.t0 instanceof _core_utils.MissingDataException) {\n _context2.next = 8;\n break;\n }\n\n throw _context2.t0;\n\n case 8:\n _context2.next = 10;\n return this.pdfManager.requestRange(_context2.t0.begin, _context2.t0.end);\n\n case 10:\n return _context2.abrupt(\"return\", this.fetchAsync(ref, suppressEncryption));\n\n case 11:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this, [[0, 4]]);\n }));\n\n function fetchAsync(_x3, _x4) {\n return _fetchAsync.apply(this, arguments);\n }\n\n return fetchAsync;\n }(),\n getCatalogObj: function XRef_getCatalogObj() {\n return this.root;\n }\n };\n return XRef;\n}();\n\nexports.XRef = XRef;\n\nvar NameOrNumberTree =\n/*#__PURE__*/\nfunction () {\n function NameOrNumberTree(root, xref, type) {\n _classCallCheck(this, NameOrNumberTree);\n\n if (this.constructor === NameOrNumberTree) {\n (0, _util.unreachable)('Cannot initialize NameOrNumberTree.');\n }\n\n this.root = root;\n this.xref = xref;\n this._type = type;\n }\n\n _createClass(NameOrNumberTree, [{\n key: \"getAll\",\n value: function getAll() {\n var dict = Object.create(null);\n\n if (!this.root) {\n return dict;\n }\n\n var xref = this.xref;\n var processed = new _primitives.RefSet();\n processed.put(this.root);\n var queue = [this.root];\n\n while (queue.length > 0) {\n var obj = xref.fetchIfRef(queue.shift());\n\n if (!(0, _primitives.isDict)(obj)) {\n continue;\n }\n\n if (obj.has('Kids')) {\n var kids = obj.get('Kids');\n\n for (var i = 0, ii = kids.length; i < ii; i++) {\n var kid = kids[i];\n\n if (processed.has(kid)) {\n throw new _util.FormatError(\"Duplicate entry in \\\"\".concat(this._type, \"\\\" tree.\"));\n }\n\n queue.push(kid);\n processed.put(kid);\n }\n\n continue;\n }\n\n var entries = obj.get(this._type);\n\n if (Array.isArray(entries)) {\n for (var _i2 = 0, _ii = entries.length; _i2 < _ii; _i2 += 2) {\n dict[xref.fetchIfRef(entries[_i2])] = xref.fetchIfRef(entries[_i2 + 1]);\n }\n }\n }\n\n return dict;\n }\n }, {\n key: \"get\",\n value: function get(key) {\n if (!this.root) {\n return null;\n }\n\n var xref = this.xref;\n var kidsOrEntries = xref.fetchIfRef(this.root);\n var loopCount = 0;\n var MAX_LEVELS = 10;\n\n while (kidsOrEntries.has('Kids')) {\n if (++loopCount > MAX_LEVELS) {\n (0, _util.warn)(\"Search depth limit reached for \\\"\".concat(this._type, \"\\\" tree.\"));\n return null;\n }\n\n var kids = kidsOrEntries.get('Kids');\n\n if (!Array.isArray(kids)) {\n return null;\n }\n\n var l = 0,\n r = kids.length - 1;\n\n while (l <= r) {\n var m = l + r >> 1;\n var kid = xref.fetchIfRef(kids[m]);\n var limits = kid.get('Limits');\n\n if (key < xref.fetchIfRef(limits[0])) {\n r = m - 1;\n } else if (key > xref.fetchIfRef(limits[1])) {\n l = m + 1;\n } else {\n kidsOrEntries = xref.fetchIfRef(kids[m]);\n break;\n }\n }\n\n if (l > r) {\n return null;\n }\n }\n\n var entries = kidsOrEntries.get(this._type);\n\n if (Array.isArray(entries)) {\n var _l = 0,\n _r = entries.length - 2;\n\n while (_l <= _r) {\n var tmp = _l + _r >> 1,\n _m = tmp + (tmp & 1);\n\n var currentKey = xref.fetchIfRef(entries[_m]);\n\n if (key < currentKey) {\n _r = _m - 2;\n } else if (key > currentKey) {\n _l = _m + 2;\n } else {\n return xref.fetchIfRef(entries[_m + 1]);\n }\n }\n\n (0, _util.info)(\"Falling back to an exhaustive search, for key \\\"\".concat(key, \"\\\", \") + \"in \\\"\".concat(this._type, \"\\\" tree.\"));\n\n for (var _m2 = 0, mm = entries.length; _m2 < mm; _m2 += 2) {\n var _currentKey = xref.fetchIfRef(entries[_m2]);\n\n if (_currentKey === key) {\n (0, _util.warn)(\"The \\\"\".concat(key, \"\\\" key was found at an incorrect, \") + \"i.e. out-of-order, position in \\\"\".concat(this._type, \"\\\" tree.\"));\n return xref.fetchIfRef(entries[_m2 + 1]);\n }\n }\n }\n\n return null;\n }\n }]);\n\n return NameOrNumberTree;\n}();\n\nvar NameTree =\n/*#__PURE__*/\nfunction (_NameOrNumberTree) {\n _inherits(NameTree, _NameOrNumberTree);\n\n function NameTree(root, xref) {\n _classCallCheck(this, NameTree);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(NameTree).call(this, root, xref, 'Names'));\n }\n\n return NameTree;\n}(NameOrNumberTree);\n\nvar NumberTree =\n/*#__PURE__*/\nfunction (_NameOrNumberTree2) {\n _inherits(NumberTree, _NameOrNumberTree2);\n\n function NumberTree(root, xref) {\n _classCallCheck(this, NumberTree);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(NumberTree).call(this, root, xref, 'Nums'));\n }\n\n return NumberTree;\n}(NameOrNumberTree);\n\nvar FileSpec = function FileSpecClosure() {\n function FileSpec(root, xref) {\n if (!root || !(0, _primitives.isDict)(root)) {\n return;\n }\n\n this.xref = xref;\n this.root = root;\n\n if (root.has('FS')) {\n this.fs = root.get('FS');\n }\n\n this.description = root.has('Desc') ? (0, _util.stringToPDFString)(root.get('Desc')) : '';\n\n if (root.has('RF')) {\n (0, _util.warn)('Related file specifications are not supported');\n }\n\n this.contentAvailable = true;\n\n if (!root.has('EF')) {\n this.contentAvailable = false;\n (0, _util.warn)('Non-embedded file specifications are not supported');\n }\n }\n\n function pickPlatformItem(dict) {\n if (dict.has('UF')) {\n return dict.get('UF');\n } else if (dict.has('F')) {\n return dict.get('F');\n } else if (dict.has('Unix')) {\n return dict.get('Unix');\n } else if (dict.has('Mac')) {\n return dict.get('Mac');\n } else if (dict.has('DOS')) {\n return dict.get('DOS');\n }\n\n return null;\n }\n\n FileSpec.prototype = {\n get filename() {\n if (!this._filename && this.root) {\n var filename = pickPlatformItem(this.root) || 'unnamed';\n this._filename = (0, _util.stringToPDFString)(filename).replace(/\\\\\\\\/g, '\\\\').replace(/\\\\\\//g, '/').replace(/\\\\/g, '/');\n }\n\n return this._filename;\n },\n\n get content() {\n if (!this.contentAvailable) {\n return null;\n }\n\n if (!this.contentRef && this.root) {\n this.contentRef = pickPlatformItem(this.root.get('EF'));\n }\n\n var content = null;\n\n if (this.contentRef) {\n var xref = this.xref;\n var fileObj = xref.fetchIfRef(this.contentRef);\n\n if (fileObj && (0, _primitives.isStream)(fileObj)) {\n content = fileObj.getBytes();\n } else {\n (0, _util.warn)('Embedded file specification points to non-existing/invalid ' + 'content');\n }\n } else {\n (0, _util.warn)('Embedded file specification does not have a content');\n }\n\n return content;\n },\n\n get serializable() {\n return {\n filename: this.filename,\n content: this.content\n };\n }\n\n };\n return FileSpec;\n}();\n\nexports.FileSpec = FileSpec;\n\nvar ObjectLoader = function () {\n function mayHaveChildren(value) {\n return (0, _primitives.isRef)(value) || (0, _primitives.isDict)(value) || Array.isArray(value) || (0, _primitives.isStream)(value);\n }\n\n function addChildren(node, nodesToVisit) {\n if ((0, _primitives.isDict)(node) || (0, _primitives.isStream)(node)) {\n var dict = (0, _primitives.isDict)(node) ? node : node.dict;\n var dictKeys = dict.getKeys();\n\n for (var i = 0, ii = dictKeys.length; i < ii; i++) {\n var rawValue = dict.getRaw(dictKeys[i]);\n\n if (mayHaveChildren(rawValue)) {\n nodesToVisit.push(rawValue);\n }\n }\n } else if (Array.isArray(node)) {\n for (var _i3 = 0, _ii2 = node.length; _i3 < _ii2; _i3++) {\n var value = node[_i3];\n\n if (mayHaveChildren(value)) {\n nodesToVisit.push(value);\n }\n }\n }\n }\n\n function ObjectLoader(dict, keys, xref) {\n this.dict = dict;\n this.keys = keys;\n this.xref = xref;\n this.refSet = null;\n this.capability = null;\n }\n\n ObjectLoader.prototype = {\n load: function load() {\n this.capability = (0, _util.createPromiseCapability)();\n\n if (!(this.xref.stream instanceof _chunked_stream.ChunkedStream) || this.xref.stream.getMissingChunks().length === 0) {\n this.capability.resolve();\n return this.capability.promise;\n }\n\n var keys = this.keys,\n dict = this.dict;\n this.refSet = new _primitives.RefSet();\n var nodesToVisit = [];\n\n for (var i = 0, ii = keys.length; i < ii; i++) {\n var rawValue = dict.getRaw(keys[i]);\n\n if (rawValue !== undefined) {\n nodesToVisit.push(rawValue);\n }\n }\n\n this._walk(nodesToVisit);\n\n return this.capability.promise;\n },\n _walk: function _walk(nodesToVisit) {\n var _this3 = this;\n\n var nodesToRevisit = [];\n var pendingRequests = [];\n\n while (nodesToVisit.length) {\n var currentNode = nodesToVisit.pop();\n\n if ((0, _primitives.isRef)(currentNode)) {\n if (this.refSet.has(currentNode)) {\n continue;\n }\n\n try {\n this.refSet.put(currentNode);\n currentNode = this.xref.fetch(currentNode);\n } catch (ex) {\n if (!(ex instanceof _core_utils.MissingDataException)) {\n throw ex;\n }\n\n nodesToRevisit.push(currentNode);\n pendingRequests.push({\n begin: ex.begin,\n end: ex.end\n });\n }\n }\n\n if (currentNode && currentNode.getBaseStreams) {\n var baseStreams = currentNode.getBaseStreams();\n var foundMissingData = false;\n\n for (var i = 0, ii = baseStreams.length; i < ii; i++) {\n var stream = baseStreams[i];\n\n if (stream.getMissingChunks && stream.getMissingChunks().length) {\n foundMissingData = true;\n pendingRequests.push({\n begin: stream.start,\n end: stream.end\n });\n }\n }\n\n if (foundMissingData) {\n nodesToRevisit.push(currentNode);\n }\n }\n\n addChildren(currentNode, nodesToVisit);\n }\n\n if (pendingRequests.length) {\n this.xref.stream.manager.requestRanges(pendingRequests).then(function () {\n for (var _i4 = 0, _ii3 = nodesToRevisit.length; _i4 < _ii3; _i4++) {\n var node = nodesToRevisit[_i4];\n\n if ((0, _primitives.isRef)(node)) {\n _this3.refSet.remove(node);\n }\n }\n\n _this3._walk(nodesToRevisit);\n }, this.capability.reject);\n return;\n }\n\n this.refSet = null;\n this.capability.resolve();\n }\n };\n return ObjectLoader;\n}();\n\nexports.ObjectLoader = ObjectLoader;\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Parser = exports.Linearization = exports.Lexer = void 0;\n\nvar _stream = __w_pdfjs_require__(158);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _ccitt_stream = __w_pdfjs_require__(159);\n\nvar _jbig2_stream = __w_pdfjs_require__(161);\n\nvar _jpeg_stream = __w_pdfjs_require__(164);\n\nvar _jpx_stream = __w_pdfjs_require__(166);\n\nvar _core_utils = __w_pdfjs_require__(154);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar MAX_LENGTH_TO_CACHE = 1000;\nvar MAX_ADLER32_LENGTH = 5552;\n\nfunction computeAdler32(bytes) {\n var bytesLength = bytes.length;\n var a = 1,\n b = 0;\n\n for (var i = 0; i < bytesLength; ++i) {\n a += bytes[i] & 0xFF;\n b += a;\n }\n\n return b % 65521 << 16 | a % 65521;\n}\n\nvar Parser =\n/*#__PURE__*/\nfunction () {\n function Parser(_ref) {\n var lexer = _ref.lexer,\n xref = _ref.xref,\n _ref$allowStreams = _ref.allowStreams,\n allowStreams = _ref$allowStreams === void 0 ? false : _ref$allowStreams,\n _ref$recoveryMode = _ref.recoveryMode,\n recoveryMode = _ref$recoveryMode === void 0 ? false : _ref$recoveryMode;\n\n _classCallCheck(this, Parser);\n\n this.lexer = lexer;\n this.xref = xref;\n this.allowStreams = allowStreams;\n this.recoveryMode = recoveryMode;\n this.imageCache = Object.create(null);\n this.refill();\n }\n\n _createClass(Parser, [{\n key: \"refill\",\n value: function refill() {\n this.buf1 = this.lexer.getObj();\n this.buf2 = this.lexer.getObj();\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if ((0, _primitives.isCmd)(this.buf2, 'ID')) {\n this.buf1 = this.buf2;\n this.buf2 = null;\n } else {\n this.buf1 = this.buf2;\n this.buf2 = this.lexer.getObj();\n }\n }\n }, {\n key: \"tryShift\",\n value: function tryShift() {\n try {\n this.shift();\n return true;\n } catch (e) {\n if (e instanceof _core_utils.MissingDataException) {\n throw e;\n }\n\n return false;\n }\n }\n }, {\n key: \"getObj\",\n value: function getObj(cipherTransform) {\n var buf1 = this.buf1;\n this.shift();\n\n if (buf1 instanceof _primitives.Cmd) {\n switch (buf1.cmd) {\n case 'BI':\n return this.makeInlineImage(cipherTransform);\n\n case '[':\n var array = [];\n\n while (!(0, _primitives.isCmd)(this.buf1, ']') && !(0, _primitives.isEOF)(this.buf1)) {\n array.push(this.getObj(cipherTransform));\n }\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n if (!this.recoveryMode) {\n throw new _util.FormatError('End of file inside array');\n }\n\n return array;\n }\n\n this.shift();\n return array;\n\n case '<<':\n var dict = new _primitives.Dict(this.xref);\n\n while (!(0, _primitives.isCmd)(this.buf1, '>>') && !(0, _primitives.isEOF)(this.buf1)) {\n if (!(0, _primitives.isName)(this.buf1)) {\n (0, _util.info)('Malformed dictionary: key must be a name object');\n this.shift();\n continue;\n }\n\n var key = this.buf1.name;\n this.shift();\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n break;\n }\n\n dict.set(key, this.getObj(cipherTransform));\n }\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n if (!this.recoveryMode) {\n throw new _util.FormatError('End of file inside dictionary');\n }\n\n return dict;\n }\n\n if ((0, _primitives.isCmd)(this.buf2, 'stream')) {\n return this.allowStreams ? this.makeStream(dict, cipherTransform) : dict;\n }\n\n this.shift();\n return dict;\n\n default:\n return buf1;\n }\n }\n\n if (Number.isInteger(buf1)) {\n var num = buf1;\n\n if (Number.isInteger(this.buf1) && (0, _primitives.isCmd)(this.buf2, 'R')) {\n var ref = _primitives.Ref.get(num, this.buf1);\n\n this.shift();\n this.shift();\n return ref;\n }\n\n return num;\n }\n\n if ((0, _util.isString)(buf1)) {\n var str = buf1;\n\n if (cipherTransform) {\n str = cipherTransform.decryptString(str);\n }\n\n return str;\n }\n\n return buf1;\n }\n }, {\n key: \"findDefaultInlineStreamEnd\",\n value: function findDefaultInlineStreamEnd(stream) {\n var E = 0x45,\n I = 0x49,\n SPACE = 0x20,\n LF = 0xA,\n CR = 0xD;\n var n = 10,\n NUL = 0x0;\n var startPos = stream.pos,\n state = 0,\n ch,\n maybeEIPos;\n\n while ((ch = stream.getByte()) !== -1) {\n if (state === 0) {\n state = ch === E ? 1 : 0;\n } else if (state === 1) {\n state = ch === I ? 2 : 0;\n } else {\n (0, _util.assert)(state === 2);\n\n if (ch === SPACE || ch === LF || ch === CR) {\n maybeEIPos = stream.pos;\n var followingBytes = stream.peekBytes(n);\n\n for (var i = 0, ii = followingBytes.length; i < ii; i++) {\n ch = followingBytes[i];\n\n if (ch === NUL && followingBytes[i + 1] !== NUL) {\n continue;\n }\n\n if (ch !== LF && ch !== CR && (ch < SPACE || ch > 0x7F)) {\n state = 0;\n break;\n }\n }\n\n if (state === 2) {\n break;\n }\n } else {\n state = 0;\n }\n }\n }\n\n if (ch === -1) {\n (0, _util.warn)('findDefaultInlineStreamEnd: ' + 'Reached the end of the stream without finding a valid EI marker');\n\n if (maybeEIPos) {\n (0, _util.warn)('... trying to recover by using the last \"EI\" occurrence.');\n stream.skip(-(stream.pos - maybeEIPos));\n }\n }\n\n var endOffset = 4;\n stream.skip(-endOffset);\n ch = stream.peekByte();\n stream.skip(endOffset);\n\n if (!(0, _util.isSpace)(ch)) {\n endOffset--;\n }\n\n return stream.pos - endOffset - startPos;\n }\n }, {\n key: \"findDCTDecodeInlineStreamEnd\",\n value: function findDCTDecodeInlineStreamEnd(stream) {\n var startPos = stream.pos,\n foundEOI = false,\n b,\n markerLength,\n length;\n\n while ((b = stream.getByte()) !== -1) {\n if (b !== 0xFF) {\n continue;\n }\n\n switch (stream.getByte()) {\n case 0x00:\n break;\n\n case 0xFF:\n stream.skip(-1);\n break;\n\n case 0xD9:\n foundEOI = true;\n break;\n\n case 0xC0:\n case 0xC1:\n case 0xC2:\n case 0xC3:\n case 0xC5:\n case 0xC6:\n case 0xC7:\n case 0xC9:\n case 0xCA:\n case 0xCB:\n case 0xCD:\n case 0xCE:\n case 0xCF:\n case 0xC4:\n case 0xCC:\n case 0xDA:\n case 0xDB:\n case 0xDC:\n case 0xDD:\n case 0xDE:\n case 0xDF:\n case 0xE0:\n case 0xE1:\n case 0xE2:\n case 0xE3:\n case 0xE4:\n case 0xE5:\n case 0xE6:\n case 0xE7:\n case 0xE8:\n case 0xE9:\n case 0xEA:\n case 0xEB:\n case 0xEC:\n case 0xED:\n case 0xEE:\n case 0xEF:\n case 0xFE:\n markerLength = stream.getUint16();\n\n if (markerLength > 2) {\n stream.skip(markerLength - 2);\n } else {\n stream.skip(-2);\n }\n\n break;\n }\n\n if (foundEOI) {\n break;\n }\n }\n\n length = stream.pos - startPos;\n\n if (b === -1) {\n (0, _util.warn)('Inline DCTDecode image stream: ' + 'EOI marker not found, searching for /EI/ instead.');\n stream.skip(-length);\n return this.findDefaultInlineStreamEnd(stream);\n }\n\n this.inlineStreamSkipEI(stream);\n return length;\n }\n }, {\n key: \"findASCII85DecodeInlineStreamEnd\",\n value: function findASCII85DecodeInlineStreamEnd(stream) {\n var TILDE = 0x7E,\n GT = 0x3E;\n var startPos = stream.pos,\n ch,\n length;\n\n while ((ch = stream.getByte()) !== -1) {\n if (ch === TILDE) {\n ch = stream.peekByte();\n\n while ((0, _util.isSpace)(ch)) {\n stream.skip();\n ch = stream.peekByte();\n }\n\n if (ch === GT) {\n stream.skip();\n break;\n }\n }\n }\n\n length = stream.pos - startPos;\n\n if (ch === -1) {\n (0, _util.warn)('Inline ASCII85Decode image stream: ' + 'EOD marker not found, searching for /EI/ instead.');\n stream.skip(-length);\n return this.findDefaultInlineStreamEnd(stream);\n }\n\n this.inlineStreamSkipEI(stream);\n return length;\n }\n }, {\n key: \"findASCIIHexDecodeInlineStreamEnd\",\n value: function findASCIIHexDecodeInlineStreamEnd(stream) {\n var GT = 0x3E;\n var startPos = stream.pos,\n ch,\n length;\n\n while ((ch = stream.getByte()) !== -1) {\n if (ch === GT) {\n break;\n }\n }\n\n length = stream.pos - startPos;\n\n if (ch === -1) {\n (0, _util.warn)('Inline ASCIIHexDecode image stream: ' + 'EOD marker not found, searching for /EI/ instead.');\n stream.skip(-length);\n return this.findDefaultInlineStreamEnd(stream);\n }\n\n this.inlineStreamSkipEI(stream);\n return length;\n }\n }, {\n key: \"inlineStreamSkipEI\",\n value: function inlineStreamSkipEI(stream) {\n var E = 0x45,\n I = 0x49;\n var state = 0,\n ch;\n\n while ((ch = stream.getByte()) !== -1) {\n if (state === 0) {\n state = ch === E ? 1 : 0;\n } else if (state === 1) {\n state = ch === I ? 2 : 0;\n } else if (state === 2) {\n break;\n }\n }\n }\n }, {\n key: \"makeInlineImage\",\n value: function makeInlineImage(cipherTransform) {\n var lexer = this.lexer;\n var stream = lexer.stream;\n var dict = new _primitives.Dict(this.xref);\n var dictLength;\n\n while (!(0, _primitives.isCmd)(this.buf1, 'ID') && !(0, _primitives.isEOF)(this.buf1)) {\n if (!(0, _primitives.isName)(this.buf1)) {\n throw new _util.FormatError('Dictionary key must be a name object');\n }\n\n var key = this.buf1.name;\n this.shift();\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n break;\n }\n\n dict.set(key, this.getObj(cipherTransform));\n }\n\n if (lexer.beginInlineImagePos !== -1) {\n dictLength = stream.pos - lexer.beginInlineImagePos;\n }\n\n var filter = dict.get('Filter', 'F');\n var filterName;\n\n if ((0, _primitives.isName)(filter)) {\n filterName = filter.name;\n } else if (Array.isArray(filter)) {\n var filterZero = this.xref.fetchIfRef(filter[0]);\n\n if ((0, _primitives.isName)(filterZero)) {\n filterName = filterZero.name;\n }\n }\n\n var startPos = stream.pos;\n var length;\n\n if (filterName === 'DCTDecode' || filterName === 'DCT') {\n length = this.findDCTDecodeInlineStreamEnd(stream);\n } else if (filterName === 'ASCII85Decode' || filterName === 'A85') {\n length = this.findASCII85DecodeInlineStreamEnd(stream);\n } else if (filterName === 'ASCIIHexDecode' || filterName === 'AHx') {\n length = this.findASCIIHexDecodeInlineStreamEnd(stream);\n } else {\n length = this.findDefaultInlineStreamEnd(stream);\n }\n\n var imageStream = stream.makeSubStream(startPos, length, dict);\n var cacheKey;\n\n if (length < MAX_LENGTH_TO_CACHE && dictLength < MAX_ADLER32_LENGTH) {\n var imageBytes = imageStream.getBytes();\n imageStream.reset();\n var initialStreamPos = stream.pos;\n stream.pos = lexer.beginInlineImagePos;\n var dictBytes = stream.getBytes(dictLength);\n stream.pos = initialStreamPos;\n cacheKey = computeAdler32(imageBytes) + '_' + computeAdler32(dictBytes);\n var cacheEntry = this.imageCache[cacheKey];\n\n if (cacheEntry !== undefined) {\n this.buf2 = _primitives.Cmd.get('EI');\n this.shift();\n cacheEntry.reset();\n return cacheEntry;\n }\n }\n\n if (cipherTransform) {\n imageStream = cipherTransform.createStream(imageStream, length);\n }\n\n imageStream = this.filter(imageStream, dict, length);\n imageStream.dict = dict;\n\n if (cacheKey !== undefined) {\n imageStream.cacheKey = \"inline_\".concat(length, \"_\").concat(cacheKey);\n this.imageCache[cacheKey] = imageStream;\n }\n\n this.buf2 = _primitives.Cmd.get('EI');\n this.shift();\n return imageStream;\n }\n }, {\n key: \"_findStreamLength\",\n value: function _findStreamLength(startPos, signature) {\n var stream = this.lexer.stream;\n stream.pos = startPos;\n var SCAN_BLOCK_LENGTH = 2048;\n var signatureLength = signature.length;\n\n while (stream.pos < stream.end) {\n var scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);\n var scanLength = scanBytes.length - signatureLength;\n\n if (scanLength <= 0) {\n break;\n }\n\n var pos = 0;\n\n while (pos < scanLength) {\n var j = 0;\n\n while (j < signatureLength && scanBytes[pos + j] === signature[j]) {\n j++;\n }\n\n if (j >= signatureLength) {\n stream.pos += pos;\n return stream.pos - startPos;\n }\n\n pos++;\n }\n\n stream.pos += scanLength;\n }\n\n return -1;\n }\n }, {\n key: \"makeStream\",\n value: function makeStream(dict, cipherTransform) {\n var lexer = this.lexer;\n var stream = lexer.stream;\n lexer.skipToNextLine();\n var startPos = stream.pos - 1;\n var length = dict.get('Length');\n\n if (!Number.isInteger(length)) {\n (0, _util.info)(\"Bad length \\\"\".concat(length, \"\\\" in stream\"));\n length = 0;\n }\n\n stream.pos = startPos + length;\n lexer.nextChar();\n\n if (this.tryShift() && (0, _primitives.isCmd)(this.buf2, 'endstream')) {\n this.shift();\n } else {\n var ENDSTREAM_SIGNATURE = new Uint8Array([0x65, 0x6E, 0x64, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6D]);\n\n var actualLength = this._findStreamLength(startPos, ENDSTREAM_SIGNATURE);\n\n if (actualLength < 0) {\n var MAX_TRUNCATION = 1;\n\n for (var i = 1; i <= MAX_TRUNCATION; i++) {\n var end = ENDSTREAM_SIGNATURE.length - i;\n var TRUNCATED_SIGNATURE = ENDSTREAM_SIGNATURE.slice(0, end);\n\n var maybeLength = this._findStreamLength(startPos, TRUNCATED_SIGNATURE);\n\n if (maybeLength >= 0) {\n var lastByte = stream.peekBytes(end + 1)[end];\n\n if (!(0, _util.isSpace)(lastByte)) {\n break;\n }\n\n (0, _util.info)(\"Found \\\"\".concat((0, _util.bytesToString)(TRUNCATED_SIGNATURE), \"\\\" when \") + 'searching for endstream command.');\n actualLength = maybeLength;\n break;\n }\n }\n\n if (actualLength < 0) {\n throw new _util.FormatError('Missing endstream command.');\n }\n }\n\n length = actualLength;\n lexer.nextChar();\n this.shift();\n this.shift();\n }\n\n this.shift();\n stream = stream.makeSubStream(startPos, length, dict);\n\n if (cipherTransform) {\n stream = cipherTransform.createStream(stream, length);\n }\n\n stream = this.filter(stream, dict, length);\n stream.dict = dict;\n return stream;\n }\n }, {\n key: \"filter\",\n value: function filter(stream, dict, length) {\n var filter = dict.get('Filter', 'F');\n var params = dict.get('DecodeParms', 'DP');\n\n if ((0, _primitives.isName)(filter)) {\n if (Array.isArray(params)) {\n (0, _util.warn)('/DecodeParms should not contain an Array, ' + 'when /Filter contains a Name.');\n }\n\n return this.makeFilter(stream, filter.name, length, params);\n }\n\n var maybeLength = length;\n\n if (Array.isArray(filter)) {\n var filterArray = filter;\n var paramsArray = params;\n\n for (var i = 0, ii = filterArray.length; i < ii; ++i) {\n filter = this.xref.fetchIfRef(filterArray[i]);\n\n if (!(0, _primitives.isName)(filter)) {\n throw new _util.FormatError(\"Bad filter name \\\"\".concat(filter, \"\\\"\"));\n }\n\n params = null;\n\n if (Array.isArray(paramsArray) && i in paramsArray) {\n params = this.xref.fetchIfRef(paramsArray[i]);\n }\n\n stream = this.makeFilter(stream, filter.name, maybeLength, params);\n maybeLength = null;\n }\n }\n\n return stream;\n }\n }, {\n key: \"makeFilter\",\n value: function makeFilter(stream, name, maybeLength, params) {\n if (maybeLength === 0) {\n (0, _util.warn)(\"Empty \\\"\".concat(name, \"\\\" stream.\"));\n return new _stream.NullStream();\n }\n\n try {\n var xrefStreamStats = this.xref.stats.streamTypes;\n\n if (name === 'FlateDecode' || name === 'Fl') {\n xrefStreamStats[_util.StreamType.FLATE] = true;\n\n if (params) {\n return new _stream.PredictorStream(new _stream.FlateStream(stream, maybeLength), maybeLength, params);\n }\n\n return new _stream.FlateStream(stream, maybeLength);\n }\n\n if (name === 'LZWDecode' || name === 'LZW') {\n xrefStreamStats[_util.StreamType.LZW] = true;\n var earlyChange = 1;\n\n if (params) {\n if (params.has('EarlyChange')) {\n earlyChange = params.get('EarlyChange');\n }\n\n return new _stream.PredictorStream(new _stream.LZWStream(stream, maybeLength, earlyChange), maybeLength, params);\n }\n\n return new _stream.LZWStream(stream, maybeLength, earlyChange);\n }\n\n if (name === 'DCTDecode' || name === 'DCT') {\n xrefStreamStats[_util.StreamType.DCT] = true;\n return new _jpeg_stream.JpegStream(stream, maybeLength, stream.dict, params);\n }\n\n if (name === 'JPXDecode' || name === 'JPX') {\n xrefStreamStats[_util.StreamType.JPX] = true;\n return new _jpx_stream.JpxStream(stream, maybeLength, stream.dict, params);\n }\n\n if (name === 'ASCII85Decode' || name === 'A85') {\n xrefStreamStats[_util.StreamType.A85] = true;\n return new _stream.Ascii85Stream(stream, maybeLength);\n }\n\n if (name === 'ASCIIHexDecode' || name === 'AHx') {\n xrefStreamStats[_util.StreamType.AHX] = true;\n return new _stream.AsciiHexStream(stream, maybeLength);\n }\n\n if (name === 'CCITTFaxDecode' || name === 'CCF') {\n xrefStreamStats[_util.StreamType.CCF] = true;\n return new _ccitt_stream.CCITTFaxStream(stream, maybeLength, params);\n }\n\n if (name === 'RunLengthDecode' || name === 'RL') {\n xrefStreamStats[_util.StreamType.RL] = true;\n return new _stream.RunLengthStream(stream, maybeLength);\n }\n\n if (name === 'JBIG2Decode') {\n xrefStreamStats[_util.StreamType.JBIG] = true;\n return new _jbig2_stream.Jbig2Stream(stream, maybeLength, stream.dict, params);\n }\n\n (0, _util.warn)(\"Filter \\\"\".concat(name, \"\\\" is not supported.\"));\n return stream;\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"Invalid stream: \\\"\".concat(ex, \"\\\"\"));\n return new _stream.NullStream();\n }\n }\n }]);\n\n return Parser;\n}();\n\nexports.Parser = Parser;\nvar specialChars = [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\nfunction toHexDigit(ch) {\n if (ch >= 0x30 && ch <= 0x39) {\n return ch & 0x0F;\n }\n\n if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n return (ch & 0x0F) + 9;\n }\n\n return -1;\n}\n\nvar Lexer =\n/*#__PURE__*/\nfunction () {\n function Lexer(stream) {\n var knownCommands = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n _classCallCheck(this, Lexer);\n\n this.stream = stream;\n this.nextChar();\n this.strBuf = [];\n this.knownCommands = knownCommands;\n this.beginInlineImagePos = -1;\n }\n\n _createClass(Lexer, [{\n key: \"nextChar\",\n value: function nextChar() {\n return this.currentChar = this.stream.getByte();\n }\n }, {\n key: \"peekChar\",\n value: function peekChar() {\n return this.stream.peekByte();\n }\n }, {\n key: \"getNumber\",\n value: function getNumber() {\n var ch = this.currentChar;\n var eNotation = false;\n var divideBy = 0;\n var sign = 0;\n\n if (ch === 0x2D) {\n sign = -1;\n ch = this.nextChar();\n\n if (ch === 0x2D) {\n ch = this.nextChar();\n }\n } else if (ch === 0x2B) {\n sign = 1;\n ch = this.nextChar();\n }\n\n if (ch === 0x0A || ch === 0x0D) {\n do {\n ch = this.nextChar();\n } while (ch === 0x0A || ch === 0x0D);\n }\n\n if (ch === 0x2E) {\n divideBy = 10;\n ch = this.nextChar();\n }\n\n if (ch < 0x30 || ch > 0x39) {\n if (divideBy === 10 && sign === 0 && ((0, _util.isSpace)(ch) || ch === -1)) {\n (0, _util.warn)('Lexer.getNumber - treating a single decimal point as zero.');\n return 0;\n }\n\n throw new _util.FormatError(\"Invalid number: \".concat(String.fromCharCode(ch), \" (charCode \").concat(ch, \")\"));\n }\n\n sign = sign || 1;\n var baseValue = ch - 0x30;\n var powerValue = 0;\n var powerValueSign = 1;\n\n while ((ch = this.nextChar()) >= 0) {\n if (0x30 <= ch && ch <= 0x39) {\n var currentDigit = ch - 0x30;\n\n if (eNotation) {\n powerValue = powerValue * 10 + currentDigit;\n } else {\n if (divideBy !== 0) {\n divideBy *= 10;\n }\n\n baseValue = baseValue * 10 + currentDigit;\n }\n } else if (ch === 0x2E) {\n if (divideBy === 0) {\n divideBy = 1;\n } else {\n break;\n }\n } else if (ch === 0x2D) {\n (0, _util.warn)('Badly formatted number: minus sign in the middle');\n } else if (ch === 0x45 || ch === 0x65) {\n ch = this.peekChar();\n\n if (ch === 0x2B || ch === 0x2D) {\n powerValueSign = ch === 0x2D ? -1 : 1;\n this.nextChar();\n } else if (ch < 0x30 || ch > 0x39) {\n break;\n }\n\n eNotation = true;\n } else {\n break;\n }\n }\n\n if (divideBy !== 0) {\n baseValue /= divideBy;\n }\n\n if (eNotation) {\n baseValue *= Math.pow(10, powerValueSign * powerValue);\n }\n\n return sign * baseValue;\n }\n }, {\n key: \"getString\",\n value: function getString() {\n var numParen = 1;\n var done = false;\n var strBuf = this.strBuf;\n strBuf.length = 0;\n var ch = this.nextChar();\n\n while (true) {\n var charBuffered = false;\n\n switch (ch | 0) {\n case -1:\n (0, _util.warn)('Unterminated string');\n done = true;\n break;\n\n case 0x28:\n ++numParen;\n strBuf.push('(');\n break;\n\n case 0x29:\n if (--numParen === 0) {\n this.nextChar();\n done = true;\n } else {\n strBuf.push(')');\n }\n\n break;\n\n case 0x5C:\n ch = this.nextChar();\n\n switch (ch) {\n case -1:\n (0, _util.warn)('Unterminated string');\n done = true;\n break;\n\n case 0x6E:\n strBuf.push('\\n');\n break;\n\n case 0x72:\n strBuf.push('\\r');\n break;\n\n case 0x74:\n strBuf.push('\\t');\n break;\n\n case 0x62:\n strBuf.push('\\b');\n break;\n\n case 0x66:\n strBuf.push('\\f');\n break;\n\n case 0x5C:\n case 0x28:\n case 0x29:\n strBuf.push(String.fromCharCode(ch));\n break;\n\n case 0x30:\n case 0x31:\n case 0x32:\n case 0x33:\n case 0x34:\n case 0x35:\n case 0x36:\n case 0x37:\n var x = ch & 0x0F;\n ch = this.nextChar();\n charBuffered = true;\n\n if (ch >= 0x30 && ch <= 0x37) {\n x = (x << 3) + (ch & 0x0F);\n ch = this.nextChar();\n\n if (ch >= 0x30 && ch <= 0x37) {\n charBuffered = false;\n x = (x << 3) + (ch & 0x0F);\n }\n }\n\n strBuf.push(String.fromCharCode(x));\n break;\n\n case 0x0D:\n if (this.peekChar() === 0x0A) {\n this.nextChar();\n }\n\n break;\n\n case 0x0A:\n break;\n\n default:\n strBuf.push(String.fromCharCode(ch));\n break;\n }\n\n break;\n\n default:\n strBuf.push(String.fromCharCode(ch));\n break;\n }\n\n if (done) {\n break;\n }\n\n if (!charBuffered) {\n ch = this.nextChar();\n }\n }\n\n return strBuf.join('');\n }\n }, {\n key: \"getName\",\n value: function getName() {\n var ch, previousCh;\n var strBuf = this.strBuf;\n strBuf.length = 0;\n\n while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {\n if (ch === 0x23) {\n ch = this.nextChar();\n\n if (specialChars[ch]) {\n (0, _util.warn)('Lexer_getName: ' + 'NUMBER SIGN (#) should be followed by a hexadecimal number.');\n strBuf.push('#');\n break;\n }\n\n var x = toHexDigit(ch);\n\n if (x !== -1) {\n previousCh = ch;\n ch = this.nextChar();\n var x2 = toHexDigit(ch);\n\n if (x2 === -1) {\n (0, _util.warn)(\"Lexer_getName: Illegal digit (\".concat(String.fromCharCode(ch), \") \") + 'in hexadecimal number.');\n strBuf.push('#', String.fromCharCode(previousCh));\n\n if (specialChars[ch]) {\n break;\n }\n\n strBuf.push(String.fromCharCode(ch));\n continue;\n }\n\n strBuf.push(String.fromCharCode(x << 4 | x2));\n } else {\n strBuf.push('#', String.fromCharCode(ch));\n }\n } else {\n strBuf.push(String.fromCharCode(ch));\n }\n }\n\n if (strBuf.length > 127) {\n (0, _util.warn)(\"Name token is longer than allowed by the spec: \".concat(strBuf.length));\n }\n\n return _primitives.Name.get(strBuf.join(''));\n }\n }, {\n key: \"getHexString\",\n value: function getHexString() {\n var strBuf = this.strBuf;\n strBuf.length = 0;\n var ch = this.currentChar;\n var isFirstHex = true;\n var firstDigit, secondDigit;\n\n while (true) {\n if (ch < 0) {\n (0, _util.warn)('Unterminated hex string');\n break;\n } else if (ch === 0x3E) {\n this.nextChar();\n break;\n } else if (specialChars[ch] === 1) {\n ch = this.nextChar();\n continue;\n } else {\n if (isFirstHex) {\n firstDigit = toHexDigit(ch);\n\n if (firstDigit === -1) {\n (0, _util.warn)(\"Ignoring invalid character \\\"\".concat(ch, \"\\\" in hex string\"));\n ch = this.nextChar();\n continue;\n }\n } else {\n secondDigit = toHexDigit(ch);\n\n if (secondDigit === -1) {\n (0, _util.warn)(\"Ignoring invalid character \\\"\".concat(ch, \"\\\" in hex string\"));\n ch = this.nextChar();\n continue;\n }\n\n strBuf.push(String.fromCharCode(firstDigit << 4 | secondDigit));\n }\n\n isFirstHex = !isFirstHex;\n ch = this.nextChar();\n }\n }\n\n return strBuf.join('');\n }\n }, {\n key: \"getObj\",\n value: function getObj() {\n var comment = false;\n var ch = this.currentChar;\n\n while (true) {\n if (ch < 0) {\n return _primitives.EOF;\n }\n\n if (comment) {\n if (ch === 0x0A || ch === 0x0D) {\n comment = false;\n }\n } else if (ch === 0x25) {\n comment = true;\n } else if (specialChars[ch] !== 1) {\n break;\n }\n\n ch = this.nextChar();\n }\n\n switch (ch | 0) {\n case 0x30:\n case 0x31:\n case 0x32:\n case 0x33:\n case 0x34:\n case 0x35:\n case 0x36:\n case 0x37:\n case 0x38:\n case 0x39:\n case 0x2B:\n case 0x2D:\n case 0x2E:\n return this.getNumber();\n\n case 0x28:\n return this.getString();\n\n case 0x2F:\n return this.getName();\n\n case 0x5B:\n this.nextChar();\n return _primitives.Cmd.get('[');\n\n case 0x5D:\n this.nextChar();\n return _primitives.Cmd.get(']');\n\n case 0x3C:\n ch = this.nextChar();\n\n if (ch === 0x3C) {\n this.nextChar();\n return _primitives.Cmd.get('<<');\n }\n\n return this.getHexString();\n\n case 0x3E:\n ch = this.nextChar();\n\n if (ch === 0x3E) {\n this.nextChar();\n return _primitives.Cmd.get('>>');\n }\n\n return _primitives.Cmd.get('>');\n\n case 0x7B:\n this.nextChar();\n return _primitives.Cmd.get('{');\n\n case 0x7D:\n this.nextChar();\n return _primitives.Cmd.get('}');\n\n case 0x29:\n this.nextChar();\n throw new _util.FormatError(\"Illegal character: \".concat(ch));\n }\n\n var str = String.fromCharCode(ch);\n var knownCommands = this.knownCommands;\n var knownCommandFound = knownCommands && knownCommands[str] !== undefined;\n\n while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {\n var possibleCommand = str + String.fromCharCode(ch);\n\n if (knownCommandFound && knownCommands[possibleCommand] === undefined) {\n break;\n }\n\n if (str.length === 128) {\n throw new _util.FormatError(\"Command token too long: \".concat(str.length));\n }\n\n str = possibleCommand;\n knownCommandFound = knownCommands && knownCommands[str] !== undefined;\n }\n\n if (str === 'true') {\n return true;\n }\n\n if (str === 'false') {\n return false;\n }\n\n if (str === 'null') {\n return null;\n }\n\n if (str === 'BI') {\n this.beginInlineImagePos = this.stream.pos;\n }\n\n return _primitives.Cmd.get(str);\n }\n }, {\n key: \"skipToNextLine\",\n value: function skipToNextLine() {\n var ch = this.currentChar;\n\n while (ch >= 0) {\n if (ch === 0x0D) {\n ch = this.nextChar();\n\n if (ch === 0x0A) {\n this.nextChar();\n }\n\n break;\n } else if (ch === 0x0A) {\n this.nextChar();\n break;\n }\n\n ch = this.nextChar();\n }\n }\n }]);\n\n return Lexer;\n}();\n\nexports.Lexer = Lexer;\n\nvar Linearization =\n/*#__PURE__*/\nfunction () {\n function Linearization() {\n _classCallCheck(this, Linearization);\n }\n\n _createClass(Linearization, null, [{\n key: \"create\",\n value: function create(stream) {\n function getInt(linDict, name) {\n var allowZeroValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var obj = linDict.get(name);\n\n if (Number.isInteger(obj) && (allowZeroValue ? obj >= 0 : obj > 0)) {\n return obj;\n }\n\n throw new Error(\"The \\\"\".concat(name, \"\\\" parameter in the linearization \") + 'dictionary is invalid.');\n }\n\n function getHints(linDict) {\n var hints = linDict.get('H');\n var hintsLength;\n\n if (Array.isArray(hints) && ((hintsLength = hints.length) === 2 || hintsLength === 4)) {\n for (var index = 0; index < hintsLength; index++) {\n var hint = hints[index];\n\n if (!(Number.isInteger(hint) && hint > 0)) {\n throw new Error(\"Hint (\".concat(index, \") in the linearization dictionary \") + 'is invalid.');\n }\n }\n\n return hints;\n }\n\n throw new Error('Hint array in the linearization dictionary is invalid.');\n }\n\n var parser = new Parser({\n lexer: new Lexer(stream),\n xref: null\n });\n var obj1 = parser.getObj();\n var obj2 = parser.getObj();\n var obj3 = parser.getObj();\n var linDict = parser.getObj();\n var obj, length;\n\n if (!(Number.isInteger(obj1) && Number.isInteger(obj2) && (0, _primitives.isCmd)(obj3, 'obj') && (0, _primitives.isDict)(linDict) && (0, _util.isNum)(obj = linDict.get('Linearized')) && obj > 0)) {\n return null;\n } else if ((length = getInt(linDict, 'L')) !== stream.length) {\n throw new Error('The \"L\" parameter in the linearization dictionary ' + 'does not equal the stream length.');\n }\n\n return {\n length: length,\n hints: getHints(linDict),\n objectNumberFirst: getInt(linDict, 'O'),\n endFirst: getInt(linDict, 'E'),\n numPages: getInt(linDict, 'N'),\n mainXRefEntriesOffset: getInt(linDict, 'T'),\n pageFirst: linDict.has('P') ? getInt(linDict, 'P', true) : 0\n };\n }\n }]);\n\n return Linearization;\n}();\n\nexports.Linearization = Linearization;\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LZWStream = exports.StringStream = exports.StreamsSequenceStream = exports.Stream = exports.RunLengthStream = exports.PredictorStream = exports.NullStream = exports.FlateStream = exports.DecodeStream = exports.DecryptStream = exports.AsciiHexStream = exports.Ascii85Stream = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nvar Stream = function StreamClosure() {\n function Stream(arrayBuffer, start, length, dict) {\n this.bytes = arrayBuffer instanceof Uint8Array ? arrayBuffer : new Uint8Array(arrayBuffer);\n this.start = start || 0;\n this.pos = this.start;\n this.end = start + length || this.bytes.length;\n this.dict = dict;\n }\n\n Stream.prototype = {\n get length() {\n return this.end - this.start;\n },\n\n get isEmpty() {\n return this.length === 0;\n },\n\n getByte: function Stream_getByte() {\n if (this.pos >= this.end) {\n return -1;\n }\n\n return this.bytes[this.pos++];\n },\n getUint16: function Stream_getUint16() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n\n return (b0 << 8) + b1;\n },\n getInt32: function Stream_getInt32() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n var b2 = this.getByte();\n var b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n },\n getBytes: function getBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.bytes;\n var pos = this.pos;\n var strEnd = this.end;\n\n if (!length) {\n var _subarray = bytes.subarray(pos, strEnd);\n\n return forceClamped ? new Uint8ClampedArray(_subarray) : _subarray;\n }\n\n var end = pos + length;\n\n if (end > strEnd) {\n end = strEnd;\n }\n\n this.pos = end;\n var subarray = bytes.subarray(pos, end);\n return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n },\n peekByte: function Stream_peekByte() {\n var peekedByte = this.getByte();\n this.pos--;\n return peekedByte;\n },\n peekBytes: function peekBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.getBytes(length, forceClamped);\n this.pos -= bytes.length;\n return bytes;\n },\n skip: function Stream_skip(n) {\n if (!n) {\n n = 1;\n }\n\n this.pos += n;\n },\n reset: function Stream_reset() {\n this.pos = this.start;\n },\n moveStart: function Stream_moveStart() {\n this.start = this.pos;\n },\n makeSubStream: function Stream_makeSubStream(start, length, dict) {\n return new Stream(this.bytes.buffer, start, length, dict);\n }\n };\n return Stream;\n}();\n\nexports.Stream = Stream;\n\nvar StringStream = function StringStreamClosure() {\n function StringStream(str) {\n var bytes = (0, _util.stringToBytes)(str);\n Stream.call(this, bytes);\n }\n\n StringStream.prototype = Stream.prototype;\n return StringStream;\n}();\n\nexports.StringStream = StringStream;\n\nvar DecodeStream = function DecodeStreamClosure() {\n var emptyBuffer = new Uint8Array(0);\n\n function DecodeStream(maybeMinBufferLength) {\n this._rawMinBufferLength = maybeMinBufferLength || 0;\n this.pos = 0;\n this.bufferLength = 0;\n this.eof = false;\n this.buffer = emptyBuffer;\n this.minBufferLength = 512;\n\n if (maybeMinBufferLength) {\n while (this.minBufferLength < maybeMinBufferLength) {\n this.minBufferLength *= 2;\n }\n }\n }\n\n DecodeStream.prototype = {\n get isEmpty() {\n while (!this.eof && this.bufferLength === 0) {\n this.readBlock();\n }\n\n return this.bufferLength === 0;\n },\n\n ensureBuffer: function DecodeStream_ensureBuffer(requested) {\n var buffer = this.buffer;\n\n if (requested <= buffer.byteLength) {\n return buffer;\n }\n\n var size = this.minBufferLength;\n\n while (size < requested) {\n size *= 2;\n }\n\n var buffer2 = new Uint8Array(size);\n buffer2.set(buffer);\n return this.buffer = buffer2;\n },\n getByte: function DecodeStream_getByte() {\n var pos = this.pos;\n\n while (this.bufferLength <= pos) {\n if (this.eof) {\n return -1;\n }\n\n this.readBlock();\n }\n\n return this.buffer[this.pos++];\n },\n getUint16: function DecodeStream_getUint16() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n\n return (b0 << 8) + b1;\n },\n getInt32: function DecodeStream_getInt32() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n var b2 = this.getByte();\n var b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n },\n getBytes: function getBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var end,\n pos = this.pos;\n\n if (length) {\n this.ensureBuffer(pos + length);\n end = pos + length;\n\n while (!this.eof && this.bufferLength < end) {\n this.readBlock();\n }\n\n var bufEnd = this.bufferLength;\n\n if (end > bufEnd) {\n end = bufEnd;\n }\n } else {\n while (!this.eof) {\n this.readBlock();\n }\n\n end = this.bufferLength;\n }\n\n this.pos = end;\n var subarray = this.buffer.subarray(pos, end);\n return forceClamped && !(subarray instanceof Uint8ClampedArray) ? new Uint8ClampedArray(subarray) : subarray;\n },\n peekByte: function DecodeStream_peekByte() {\n var peekedByte = this.getByte();\n this.pos--;\n return peekedByte;\n },\n peekBytes: function peekBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.getBytes(length, forceClamped);\n this.pos -= bytes.length;\n return bytes;\n },\n makeSubStream: function DecodeStream_makeSubStream(start, length, dict) {\n var end = start + length;\n\n while (this.bufferLength <= end && !this.eof) {\n this.readBlock();\n }\n\n return new Stream(this.buffer, start, length, dict);\n },\n skip: function DecodeStream_skip(n) {\n if (!n) {\n n = 1;\n }\n\n this.pos += n;\n },\n reset: function DecodeStream_reset() {\n this.pos = 0;\n },\n getBaseStreams: function DecodeStream_getBaseStreams() {\n if (this.str && this.str.getBaseStreams) {\n return this.str.getBaseStreams();\n }\n\n return [];\n }\n };\n return DecodeStream;\n}();\n\nexports.DecodeStream = DecodeStream;\n\nvar StreamsSequenceStream = function StreamsSequenceStreamClosure() {\n function StreamsSequenceStream(streams) {\n this.streams = streams;\n var maybeLength = 0;\n\n for (var i = 0, ii = streams.length; i < ii; i++) {\n var stream = streams[i];\n\n if (stream instanceof DecodeStream) {\n maybeLength += stream._rawMinBufferLength;\n } else {\n maybeLength += stream.length;\n }\n }\n\n DecodeStream.call(this, maybeLength);\n }\n\n StreamsSequenceStream.prototype = Object.create(DecodeStream.prototype);\n\n StreamsSequenceStream.prototype.readBlock = function streamSequenceStreamReadBlock() {\n var streams = this.streams;\n\n if (streams.length === 0) {\n this.eof = true;\n return;\n }\n\n var stream = streams.shift();\n var chunk = stream.getBytes();\n var bufferLength = this.bufferLength;\n var newLength = bufferLength + chunk.length;\n var buffer = this.ensureBuffer(newLength);\n buffer.set(chunk, bufferLength);\n this.bufferLength = newLength;\n };\n\n StreamsSequenceStream.prototype.getBaseStreams = function StreamsSequenceStream_getBaseStreams() {\n var baseStreams = [];\n\n for (var i = 0, ii = this.streams.length; i < ii; i++) {\n var stream = this.streams[i];\n\n if (stream.getBaseStreams) {\n baseStreams.push.apply(baseStreams, _toConsumableArray(stream.getBaseStreams()));\n }\n }\n\n return baseStreams;\n };\n\n return StreamsSequenceStream;\n}();\n\nexports.StreamsSequenceStream = StreamsSequenceStream;\n\nvar FlateStream = function FlateStreamClosure() {\n var codeLenCodeMap = new Int32Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n var lengthDecode = new Int32Array([0x00003, 0x00004, 0x00005, 0x00006, 0x00007, 0x00008, 0x00009, 0x0000a, 0x1000b, 0x1000d, 0x1000f, 0x10011, 0x20013, 0x20017, 0x2001b, 0x2001f, 0x30023, 0x3002b, 0x30033, 0x3003b, 0x40043, 0x40053, 0x40063, 0x40073, 0x50083, 0x500a3, 0x500c3, 0x500e3, 0x00102, 0x00102, 0x00102]);\n var distDecode = new Int32Array([0x00001, 0x00002, 0x00003, 0x00004, 0x10005, 0x10007, 0x20009, 0x2000d, 0x30011, 0x30019, 0x40021, 0x40031, 0x50041, 0x50061, 0x60081, 0x600c1, 0x70101, 0x70181, 0x80201, 0x80301, 0x90401, 0x90601, 0xa0801, 0xa0c01, 0xb1001, 0xb1801, 0xc2001, 0xc3001, 0xd4001, 0xd6001]);\n var fixedLitCodeTab = [new Int32Array([0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c0, 0x70108, 0x80060, 0x80020, 0x900a0, 0x80000, 0x80080, 0x80040, 0x900e0, 0x70104, 0x80058, 0x80018, 0x90090, 0x70114, 0x80078, 0x80038, 0x900d0, 0x7010c, 0x80068, 0x80028, 0x900b0, 0x80008, 0x80088, 0x80048, 0x900f0, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c8, 0x7010a, 0x80064, 0x80024, 0x900a8, 0x80004, 0x80084, 0x80044, 0x900e8, 0x70106, 0x8005c, 0x8001c, 0x90098, 0x70116, 0x8007c, 0x8003c, 0x900d8, 0x7010e, 0x8006c, 0x8002c, 0x900b8, 0x8000c, 0x8008c, 0x8004c, 0x900f8, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c4, 0x70109, 0x80062, 0x80022, 0x900a4, 0x80002, 0x80082, 0x80042, 0x900e4, 0x70105, 0x8005a, 0x8001a, 0x90094, 0x70115, 0x8007a, 0x8003a, 0x900d4, 0x7010d, 0x8006a, 0x8002a, 0x900b4, 0x8000a, 0x8008a, 0x8004a, 0x900f4, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cc, 0x7010b, 0x80066, 0x80026, 0x900ac, 0x80006, 0x80086, 0x80046, 0x900ec, 0x70107, 0x8005e, 0x8001e, 0x9009c, 0x70117, 0x8007e, 0x8003e, 0x900dc, 0x7010f, 0x8006e, 0x8002e, 0x900bc, 0x8000e, 0x8008e, 0x8004e, 0x900fc, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c2, 0x70108, 0x80061, 0x80021, 0x900a2, 0x80001, 0x80081, 0x80041, 0x900e2, 0x70104, 0x80059, 0x80019, 0x90092, 0x70114, 0x80079, 0x80039, 0x900d2, 0x7010c, 0x80069, 0x80029, 0x900b2, 0x80009, 0x80089, 0x80049, 0x900f2, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900ca, 0x7010a, 0x80065, 0x80025, 0x900aa, 0x80005, 0x80085, 0x80045, 0x900ea, 0x70106, 0x8005d, 0x8001d, 0x9009a, 0x70116, 0x8007d, 0x8003d, 0x900da, 0x7010e, 0x8006d, 0x8002d, 0x900ba, 0x8000d, 0x8008d, 0x8004d, 0x900fa, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c6, 0x70109, 0x80063, 0x80023, 0x900a6, 0x80003, 0x80083, 0x80043, 0x900e6, 0x70105, 0x8005b, 0x8001b, 0x90096, 0x70115, 0x8007b, 0x8003b, 0x900d6, 0x7010d, 0x8006b, 0x8002b, 0x900b6, 0x8000b, 0x8008b, 0x8004b, 0x900f6, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900ce, 0x7010b, 0x80067, 0x80027, 0x900ae, 0x80007, 0x80087, 0x80047, 0x900ee, 0x70107, 0x8005f, 0x8001f, 0x9009e, 0x70117, 0x8007f, 0x8003f, 0x900de, 0x7010f, 0x8006f, 0x8002f, 0x900be, 0x8000f, 0x8008f, 0x8004f, 0x900fe, 0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c1, 0x70108, 0x80060, 0x80020, 0x900a1, 0x80000, 0x80080, 0x80040, 0x900e1, 0x70104, 0x80058, 0x80018, 0x90091, 0x70114, 0x80078, 0x80038, 0x900d1, 0x7010c, 0x80068, 0x80028, 0x900b1, 0x80008, 0x80088, 0x80048, 0x900f1, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c9, 0x7010a, 0x80064, 0x80024, 0x900a9, 0x80004, 0x80084, 0x80044, 0x900e9, 0x70106, 0x8005c, 0x8001c, 0x90099, 0x70116, 0x8007c, 0x8003c, 0x900d9, 0x7010e, 0x8006c, 0x8002c, 0x900b9, 0x8000c, 0x8008c, 0x8004c, 0x900f9, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c5, 0x70109, 0x80062, 0x80022, 0x900a5, 0x80002, 0x80082, 0x80042, 0x900e5, 0x70105, 0x8005a, 0x8001a, 0x90095, 0x70115, 0x8007a, 0x8003a, 0x900d5, 0x7010d, 0x8006a, 0x8002a, 0x900b5, 0x8000a, 0x8008a, 0x8004a, 0x900f5, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cd, 0x7010b, 0x80066, 0x80026, 0x900ad, 0x80006, 0x80086, 0x80046, 0x900ed, 0x70107, 0x8005e, 0x8001e, 0x9009d, 0x70117, 0x8007e, 0x8003e, 0x900dd, 0x7010f, 0x8006e, 0x8002e, 0x900bd, 0x8000e, 0x8008e, 0x8004e, 0x900fd, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c3, 0x70108, 0x80061, 0x80021, 0x900a3, 0x80001, 0x80081, 0x80041, 0x900e3, 0x70104, 0x80059, 0x80019, 0x90093, 0x70114, 0x80079, 0x80039, 0x900d3, 0x7010c, 0x80069, 0x80029, 0x900b3, 0x80009, 0x80089, 0x80049, 0x900f3, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900cb, 0x7010a, 0x80065, 0x80025, 0x900ab, 0x80005, 0x80085, 0x80045, 0x900eb, 0x70106, 0x8005d, 0x8001d, 0x9009b, 0x70116, 0x8007d, 0x8003d, 0x900db, 0x7010e, 0x8006d, 0x8002d, 0x900bb, 0x8000d, 0x8008d, 0x8004d, 0x900fb, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c7, 0x70109, 0x80063, 0x80023, 0x900a7, 0x80003, 0x80083, 0x80043, 0x900e7, 0x70105, 0x8005b, 0x8001b, 0x90097, 0x70115, 0x8007b, 0x8003b, 0x900d7, 0x7010d, 0x8006b, 0x8002b, 0x900b7, 0x8000b, 0x8008b, 0x8004b, 0x900f7, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900cf, 0x7010b, 0x80067, 0x80027, 0x900af, 0x80007, 0x80087, 0x80047, 0x900ef, 0x70107, 0x8005f, 0x8001f, 0x9009f, 0x70117, 0x8007f, 0x8003f, 0x900df, 0x7010f, 0x8006f, 0x8002f, 0x900bf, 0x8000f, 0x8008f, 0x8004f, 0x900ff]), 9];\n var fixedDistCodeTab = [new Int32Array([0x50000, 0x50010, 0x50008, 0x50018, 0x50004, 0x50014, 0x5000c, 0x5001c, 0x50002, 0x50012, 0x5000a, 0x5001a, 0x50006, 0x50016, 0x5000e, 0x00000, 0x50001, 0x50011, 0x50009, 0x50019, 0x50005, 0x50015, 0x5000d, 0x5001d, 0x50003, 0x50013, 0x5000b, 0x5001b, 0x50007, 0x50017, 0x5000f, 0x00000]), 5];\n\n function FlateStream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n var cmf = str.getByte();\n var flg = str.getByte();\n\n if (cmf === -1 || flg === -1) {\n throw new _util.FormatError(\"Invalid header in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n if ((cmf & 0x0f) !== 0x08) {\n throw new _util.FormatError(\"Unknown compression method in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n if (((cmf << 8) + flg) % 31 !== 0) {\n throw new _util.FormatError(\"Bad FCHECK in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n if (flg & 0x20) {\n throw new _util.FormatError(\"FDICT bit set in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n this.codeSize = 0;\n this.codeBuf = 0;\n DecodeStream.call(this, maybeLength);\n }\n\n FlateStream.prototype = Object.create(DecodeStream.prototype);\n\n FlateStream.prototype.getBits = function FlateStream_getBits(bits) {\n var str = this.str;\n var codeSize = this.codeSize;\n var codeBuf = this.codeBuf;\n var b;\n\n while (codeSize < bits) {\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError('Bad encoding in flate stream');\n }\n\n codeBuf |= b << codeSize;\n codeSize += 8;\n }\n\n b = codeBuf & (1 << bits) - 1;\n this.codeBuf = codeBuf >> bits;\n this.codeSize = codeSize -= bits;\n return b;\n };\n\n FlateStream.prototype.getCode = function FlateStream_getCode(table) {\n var str = this.str;\n var codes = table[0];\n var maxLen = table[1];\n var codeSize = this.codeSize;\n var codeBuf = this.codeBuf;\n var b;\n\n while (codeSize < maxLen) {\n if ((b = str.getByte()) === -1) {\n break;\n }\n\n codeBuf |= b << codeSize;\n codeSize += 8;\n }\n\n var code = codes[codeBuf & (1 << maxLen) - 1];\n var codeLen = code >> 16;\n var codeVal = code & 0xffff;\n\n if (codeLen < 1 || codeSize < codeLen) {\n throw new _util.FormatError('Bad encoding in flate stream');\n }\n\n this.codeBuf = codeBuf >> codeLen;\n this.codeSize = codeSize - codeLen;\n return codeVal;\n };\n\n FlateStream.prototype.generateHuffmanTable = function flateStreamGenerateHuffmanTable(lengths) {\n var n = lengths.length;\n var maxLen = 0;\n var i;\n\n for (i = 0; i < n; ++i) {\n if (lengths[i] > maxLen) {\n maxLen = lengths[i];\n }\n }\n\n var size = 1 << maxLen;\n var codes = new Int32Array(size);\n\n for (var len = 1, code = 0, skip = 2; len <= maxLen; ++len, code <<= 1, skip <<= 1) {\n for (var val = 0; val < n; ++val) {\n if (lengths[val] === len) {\n var code2 = 0;\n var t = code;\n\n for (i = 0; i < len; ++i) {\n code2 = code2 << 1 | t & 1;\n t >>= 1;\n }\n\n for (i = code2; i < size; i += skip) {\n codes[i] = len << 16 | val;\n }\n\n ++code;\n }\n }\n }\n\n return [codes, maxLen];\n };\n\n FlateStream.prototype.readBlock = function FlateStream_readBlock() {\n var buffer, len;\n var str = this.str;\n var hdr = this.getBits(3);\n\n if (hdr & 1) {\n this.eof = true;\n }\n\n hdr >>= 1;\n\n if (hdr === 0) {\n var b;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError('Bad block header in flate stream');\n }\n\n var blockLen = b;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError('Bad block header in flate stream');\n }\n\n blockLen |= b << 8;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError('Bad block header in flate stream');\n }\n\n var check = b;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError('Bad block header in flate stream');\n }\n\n check |= b << 8;\n\n if (check !== (~blockLen & 0xffff) && (blockLen !== 0 || check !== 0)) {\n throw new _util.FormatError('Bad uncompressed block length in flate stream');\n }\n\n this.codeBuf = 0;\n this.codeSize = 0;\n var bufferLength = this.bufferLength;\n buffer = this.ensureBuffer(bufferLength + blockLen);\n var end = bufferLength + blockLen;\n this.bufferLength = end;\n\n if (blockLen === 0) {\n if (str.peekByte() === -1) {\n this.eof = true;\n }\n } else {\n for (var n = bufferLength; n < end; ++n) {\n if ((b = str.getByte()) === -1) {\n this.eof = true;\n break;\n }\n\n buffer[n] = b;\n }\n }\n\n return;\n }\n\n var litCodeTable;\n var distCodeTable;\n\n if (hdr === 1) {\n litCodeTable = fixedLitCodeTab;\n distCodeTable = fixedDistCodeTab;\n } else if (hdr === 2) {\n var numLitCodes = this.getBits(5) + 257;\n var numDistCodes = this.getBits(5) + 1;\n var numCodeLenCodes = this.getBits(4) + 4;\n var codeLenCodeLengths = new Uint8Array(codeLenCodeMap.length);\n var i;\n\n for (i = 0; i < numCodeLenCodes; ++i) {\n codeLenCodeLengths[codeLenCodeMap[i]] = this.getBits(3);\n }\n\n var codeLenCodeTab = this.generateHuffmanTable(codeLenCodeLengths);\n len = 0;\n i = 0;\n var codes = numLitCodes + numDistCodes;\n var codeLengths = new Uint8Array(codes);\n var bitsLength, bitsOffset, what;\n\n while (i < codes) {\n var code = this.getCode(codeLenCodeTab);\n\n if (code === 16) {\n bitsLength = 2;\n bitsOffset = 3;\n what = len;\n } else if (code === 17) {\n bitsLength = 3;\n bitsOffset = 3;\n what = len = 0;\n } else if (code === 18) {\n bitsLength = 7;\n bitsOffset = 11;\n what = len = 0;\n } else {\n codeLengths[i++] = len = code;\n continue;\n }\n\n var repeatLength = this.getBits(bitsLength) + bitsOffset;\n\n while (repeatLength-- > 0) {\n codeLengths[i++] = what;\n }\n }\n\n litCodeTable = this.generateHuffmanTable(codeLengths.subarray(0, numLitCodes));\n distCodeTable = this.generateHuffmanTable(codeLengths.subarray(numLitCodes, codes));\n } else {\n throw new _util.FormatError('Unknown block type in flate stream');\n }\n\n buffer = this.buffer;\n var limit = buffer ? buffer.length : 0;\n var pos = this.bufferLength;\n\n while (true) {\n var code1 = this.getCode(litCodeTable);\n\n if (code1 < 256) {\n if (pos + 1 >= limit) {\n buffer = this.ensureBuffer(pos + 1);\n limit = buffer.length;\n }\n\n buffer[pos++] = code1;\n continue;\n }\n\n if (code1 === 256) {\n this.bufferLength = pos;\n return;\n }\n\n code1 -= 257;\n code1 = lengthDecode[code1];\n var code2 = code1 >> 16;\n\n if (code2 > 0) {\n code2 = this.getBits(code2);\n }\n\n len = (code1 & 0xffff) + code2;\n code1 = this.getCode(distCodeTable);\n code1 = distDecode[code1];\n code2 = code1 >> 16;\n\n if (code2 > 0) {\n code2 = this.getBits(code2);\n }\n\n var dist = (code1 & 0xffff) + code2;\n\n if (pos + len >= limit) {\n buffer = this.ensureBuffer(pos + len);\n limit = buffer.length;\n }\n\n for (var k = 0; k < len; ++k, ++pos) {\n buffer[pos] = buffer[pos - dist];\n }\n }\n };\n\n return FlateStream;\n}();\n\nexports.FlateStream = FlateStream;\n\nvar PredictorStream = function PredictorStreamClosure() {\n function PredictorStream(str, maybeLength, params) {\n if (!(0, _primitives.isDict)(params)) {\n return str;\n }\n\n var predictor = this.predictor = params.get('Predictor') || 1;\n\n if (predictor <= 1) {\n return str;\n }\n\n if (predictor !== 2 && (predictor < 10 || predictor > 15)) {\n throw new _util.FormatError(\"Unsupported predictor: \".concat(predictor));\n }\n\n if (predictor === 2) {\n this.readBlock = this.readBlockTiff;\n } else {\n this.readBlock = this.readBlockPng;\n }\n\n this.str = str;\n this.dict = str.dict;\n var colors = this.colors = params.get('Colors') || 1;\n var bits = this.bits = params.get('BitsPerComponent') || 8;\n var columns = this.columns = params.get('Columns') || 1;\n this.pixBytes = colors * bits + 7 >> 3;\n this.rowBytes = columns * colors * bits + 7 >> 3;\n DecodeStream.call(this, maybeLength);\n return this;\n }\n\n PredictorStream.prototype = Object.create(DecodeStream.prototype);\n\n PredictorStream.prototype.readBlockTiff = function predictorStreamReadBlockTiff() {\n var rowBytes = this.rowBytes;\n var bufferLength = this.bufferLength;\n var buffer = this.ensureBuffer(bufferLength + rowBytes);\n var bits = this.bits;\n var colors = this.colors;\n var rawBytes = this.str.getBytes(rowBytes);\n this.eof = !rawBytes.length;\n\n if (this.eof) {\n return;\n }\n\n var inbuf = 0,\n outbuf = 0;\n var inbits = 0,\n outbits = 0;\n var pos = bufferLength;\n var i;\n\n if (bits === 1 && colors === 1) {\n for (i = 0; i < rowBytes; ++i) {\n var c = rawBytes[i] ^ inbuf;\n c ^= c >> 1;\n c ^= c >> 2;\n c ^= c >> 4;\n inbuf = (c & 1) << 7;\n buffer[pos++] = c;\n }\n } else if (bits === 8) {\n for (i = 0; i < colors; ++i) {\n buffer[pos++] = rawBytes[i];\n }\n\n for (; i < rowBytes; ++i) {\n buffer[pos] = buffer[pos - colors] + rawBytes[i];\n pos++;\n }\n } else if (bits === 16) {\n var bytesPerPixel = colors * 2;\n\n for (i = 0; i < bytesPerPixel; ++i) {\n buffer[pos++] = rawBytes[i];\n }\n\n for (; i < rowBytes; i += 2) {\n var sum = ((rawBytes[i] & 0xFF) << 8) + (rawBytes[i + 1] & 0xFF) + ((buffer[pos - bytesPerPixel] & 0xFF) << 8) + (buffer[pos - bytesPerPixel + 1] & 0xFF);\n buffer[pos++] = sum >> 8 & 0xFF;\n buffer[pos++] = sum & 0xFF;\n }\n } else {\n var compArray = new Uint8Array(colors + 1);\n var bitMask = (1 << bits) - 1;\n var j = 0,\n k = bufferLength;\n var columns = this.columns;\n\n for (i = 0; i < columns; ++i) {\n for (var kk = 0; kk < colors; ++kk) {\n if (inbits < bits) {\n inbuf = inbuf << 8 | rawBytes[j++] & 0xFF;\n inbits += 8;\n }\n\n compArray[kk] = compArray[kk] + (inbuf >> inbits - bits) & bitMask;\n inbits -= bits;\n outbuf = outbuf << bits | compArray[kk];\n outbits += bits;\n\n if (outbits >= 8) {\n buffer[k++] = outbuf >> outbits - 8 & 0xFF;\n outbits -= 8;\n }\n }\n }\n\n if (outbits > 0) {\n buffer[k++] = (outbuf << 8 - outbits) + (inbuf & (1 << 8 - outbits) - 1);\n }\n }\n\n this.bufferLength += rowBytes;\n };\n\n PredictorStream.prototype.readBlockPng = function predictorStreamReadBlockPng() {\n var rowBytes = this.rowBytes;\n var pixBytes = this.pixBytes;\n var predictor = this.str.getByte();\n var rawBytes = this.str.getBytes(rowBytes);\n this.eof = !rawBytes.length;\n\n if (this.eof) {\n return;\n }\n\n var bufferLength = this.bufferLength;\n var buffer = this.ensureBuffer(bufferLength + rowBytes);\n var prevRow = buffer.subarray(bufferLength - rowBytes, bufferLength);\n\n if (prevRow.length === 0) {\n prevRow = new Uint8Array(rowBytes);\n }\n\n var i,\n j = bufferLength,\n up,\n c;\n\n switch (predictor) {\n case 0:\n for (i = 0; i < rowBytes; ++i) {\n buffer[j++] = rawBytes[i];\n }\n\n break;\n\n case 1:\n for (i = 0; i < pixBytes; ++i) {\n buffer[j++] = rawBytes[i];\n }\n\n for (; i < rowBytes; ++i) {\n buffer[j] = buffer[j - pixBytes] + rawBytes[i] & 0xFF;\n j++;\n }\n\n break;\n\n case 2:\n for (i = 0; i < rowBytes; ++i) {\n buffer[j++] = prevRow[i] + rawBytes[i] & 0xFF;\n }\n\n break;\n\n case 3:\n for (i = 0; i < pixBytes; ++i) {\n buffer[j++] = (prevRow[i] >> 1) + rawBytes[i];\n }\n\n for (; i < rowBytes; ++i) {\n buffer[j] = (prevRow[i] + buffer[j - pixBytes] >> 1) + rawBytes[i] & 0xFF;\n j++;\n }\n\n break;\n\n case 4:\n for (i = 0; i < pixBytes; ++i) {\n up = prevRow[i];\n c = rawBytes[i];\n buffer[j++] = up + c;\n }\n\n for (; i < rowBytes; ++i) {\n up = prevRow[i];\n var upLeft = prevRow[i - pixBytes];\n var left = buffer[j - pixBytes];\n var p = left + up - upLeft;\n var pa = p - left;\n\n if (pa < 0) {\n pa = -pa;\n }\n\n var pb = p - up;\n\n if (pb < 0) {\n pb = -pb;\n }\n\n var pc = p - upLeft;\n\n if (pc < 0) {\n pc = -pc;\n }\n\n c = rawBytes[i];\n\n if (pa <= pb && pa <= pc) {\n buffer[j++] = left + c;\n } else if (pb <= pc) {\n buffer[j++] = up + c;\n } else {\n buffer[j++] = upLeft + c;\n }\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unsupported predictor: \".concat(predictor));\n }\n\n this.bufferLength += rowBytes;\n };\n\n return PredictorStream;\n}();\n\nexports.PredictorStream = PredictorStream;\n\nvar DecryptStream = function DecryptStreamClosure() {\n function DecryptStream(str, maybeLength, decrypt) {\n this.str = str;\n this.dict = str.dict;\n this.decrypt = decrypt;\n this.nextChunk = null;\n this.initialized = false;\n DecodeStream.call(this, maybeLength);\n }\n\n var chunkSize = 512;\n DecryptStream.prototype = Object.create(DecodeStream.prototype);\n\n DecryptStream.prototype.readBlock = function DecryptStream_readBlock() {\n var chunk;\n\n if (this.initialized) {\n chunk = this.nextChunk;\n } else {\n chunk = this.str.getBytes(chunkSize);\n this.initialized = true;\n }\n\n if (!chunk || chunk.length === 0) {\n this.eof = true;\n return;\n }\n\n this.nextChunk = this.str.getBytes(chunkSize);\n var hasMoreData = this.nextChunk && this.nextChunk.length > 0;\n var decrypt = this.decrypt;\n chunk = decrypt(chunk, !hasMoreData);\n var bufferLength = this.bufferLength;\n var i,\n n = chunk.length;\n var buffer = this.ensureBuffer(bufferLength + n);\n\n for (i = 0; i < n; i++) {\n buffer[bufferLength++] = chunk[i];\n }\n\n this.bufferLength = bufferLength;\n };\n\n return DecryptStream;\n}();\n\nexports.DecryptStream = DecryptStream;\n\nvar Ascii85Stream = function Ascii85StreamClosure() {\n function Ascii85Stream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n this.input = new Uint8Array(5);\n\n if (maybeLength) {\n maybeLength = 0.8 * maybeLength;\n }\n\n DecodeStream.call(this, maybeLength);\n }\n\n Ascii85Stream.prototype = Object.create(DecodeStream.prototype);\n\n Ascii85Stream.prototype.readBlock = function Ascii85Stream_readBlock() {\n var TILDA_CHAR = 0x7E;\n var Z_LOWER_CHAR = 0x7A;\n var EOF = -1;\n var str = this.str;\n var c = str.getByte();\n\n while ((0, _util.isSpace)(c)) {\n c = str.getByte();\n }\n\n if (c === EOF || c === TILDA_CHAR) {\n this.eof = true;\n return;\n }\n\n var bufferLength = this.bufferLength,\n buffer;\n var i;\n\n if (c === Z_LOWER_CHAR) {\n buffer = this.ensureBuffer(bufferLength + 4);\n\n for (i = 0; i < 4; ++i) {\n buffer[bufferLength + i] = 0;\n }\n\n this.bufferLength += 4;\n } else {\n var input = this.input;\n input[0] = c;\n\n for (i = 1; i < 5; ++i) {\n c = str.getByte();\n\n while ((0, _util.isSpace)(c)) {\n c = str.getByte();\n }\n\n input[i] = c;\n\n if (c === EOF || c === TILDA_CHAR) {\n break;\n }\n }\n\n buffer = this.ensureBuffer(bufferLength + i - 1);\n this.bufferLength += i - 1;\n\n if (i < 5) {\n for (; i < 5; ++i) {\n input[i] = 0x21 + 84;\n }\n\n this.eof = true;\n }\n\n var t = 0;\n\n for (i = 0; i < 5; ++i) {\n t = t * 85 + (input[i] - 0x21);\n }\n\n for (i = 3; i >= 0; --i) {\n buffer[bufferLength + i] = t & 0xFF;\n t >>= 8;\n }\n }\n };\n\n return Ascii85Stream;\n}();\n\nexports.Ascii85Stream = Ascii85Stream;\n\nvar AsciiHexStream = function AsciiHexStreamClosure() {\n function AsciiHexStream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n this.firstDigit = -1;\n\n if (maybeLength) {\n maybeLength = 0.5 * maybeLength;\n }\n\n DecodeStream.call(this, maybeLength);\n }\n\n AsciiHexStream.prototype = Object.create(DecodeStream.prototype);\n\n AsciiHexStream.prototype.readBlock = function AsciiHexStream_readBlock() {\n var UPSTREAM_BLOCK_SIZE = 8000;\n var bytes = this.str.getBytes(UPSTREAM_BLOCK_SIZE);\n\n if (!bytes.length) {\n this.eof = true;\n return;\n }\n\n var maxDecodeLength = bytes.length + 1 >> 1;\n var buffer = this.ensureBuffer(this.bufferLength + maxDecodeLength);\n var bufferLength = this.bufferLength;\n var firstDigit = this.firstDigit;\n\n for (var i = 0, ii = bytes.length; i < ii; i++) {\n var ch = bytes[i],\n digit;\n\n if (ch >= 0x30 && ch <= 0x39) {\n digit = ch & 0x0F;\n } else if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n digit = (ch & 0x0F) + 9;\n } else if (ch === 0x3E) {\n this.eof = true;\n break;\n } else {\n continue;\n }\n\n if (firstDigit < 0) {\n firstDigit = digit;\n } else {\n buffer[bufferLength++] = firstDigit << 4 | digit;\n firstDigit = -1;\n }\n }\n\n if (firstDigit >= 0 && this.eof) {\n buffer[bufferLength++] = firstDigit << 4;\n firstDigit = -1;\n }\n\n this.firstDigit = firstDigit;\n this.bufferLength = bufferLength;\n };\n\n return AsciiHexStream;\n}();\n\nexports.AsciiHexStream = AsciiHexStream;\n\nvar RunLengthStream = function RunLengthStreamClosure() {\n function RunLengthStream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n DecodeStream.call(this, maybeLength);\n }\n\n RunLengthStream.prototype = Object.create(DecodeStream.prototype);\n\n RunLengthStream.prototype.readBlock = function RunLengthStream_readBlock() {\n var repeatHeader = this.str.getBytes(2);\n\n if (!repeatHeader || repeatHeader.length < 2 || repeatHeader[0] === 128) {\n this.eof = true;\n return;\n }\n\n var buffer;\n var bufferLength = this.bufferLength;\n var n = repeatHeader[0];\n\n if (n < 128) {\n buffer = this.ensureBuffer(bufferLength + n + 1);\n buffer[bufferLength++] = repeatHeader[1];\n\n if (n > 0) {\n var source = this.str.getBytes(n);\n buffer.set(source, bufferLength);\n bufferLength += n;\n }\n } else {\n n = 257 - n;\n var b = repeatHeader[1];\n buffer = this.ensureBuffer(bufferLength + n + 1);\n\n for (var i = 0; i < n; i++) {\n buffer[bufferLength++] = b;\n }\n }\n\n this.bufferLength = bufferLength;\n };\n\n return RunLengthStream;\n}();\n\nexports.RunLengthStream = RunLengthStream;\n\nvar LZWStream = function LZWStreamClosure() {\n function LZWStream(str, maybeLength, earlyChange) {\n this.str = str;\n this.dict = str.dict;\n this.cachedData = 0;\n this.bitsCached = 0;\n var maxLzwDictionarySize = 4096;\n var lzwState = {\n earlyChange: earlyChange,\n codeLength: 9,\n nextCode: 258,\n dictionaryValues: new Uint8Array(maxLzwDictionarySize),\n dictionaryLengths: new Uint16Array(maxLzwDictionarySize),\n dictionaryPrevCodes: new Uint16Array(maxLzwDictionarySize),\n currentSequence: new Uint8Array(maxLzwDictionarySize),\n currentSequenceLength: 0\n };\n\n for (var i = 0; i < 256; ++i) {\n lzwState.dictionaryValues[i] = i;\n lzwState.dictionaryLengths[i] = 1;\n }\n\n this.lzwState = lzwState;\n DecodeStream.call(this, maybeLength);\n }\n\n LZWStream.prototype = Object.create(DecodeStream.prototype);\n\n LZWStream.prototype.readBits = function LZWStream_readBits(n) {\n var bitsCached = this.bitsCached;\n var cachedData = this.cachedData;\n\n while (bitsCached < n) {\n var c = this.str.getByte();\n\n if (c === -1) {\n this.eof = true;\n return null;\n }\n\n cachedData = cachedData << 8 | c;\n bitsCached += 8;\n }\n\n this.bitsCached = bitsCached -= n;\n this.cachedData = cachedData;\n this.lastCode = null;\n return cachedData >>> bitsCached & (1 << n) - 1;\n };\n\n LZWStream.prototype.readBlock = function LZWStream_readBlock() {\n var blockSize = 512;\n var estimatedDecodedSize = blockSize * 2,\n decodedSizeDelta = blockSize;\n var i, j, q;\n var lzwState = this.lzwState;\n\n if (!lzwState) {\n return;\n }\n\n var earlyChange = lzwState.earlyChange;\n var nextCode = lzwState.nextCode;\n var dictionaryValues = lzwState.dictionaryValues;\n var dictionaryLengths = lzwState.dictionaryLengths;\n var dictionaryPrevCodes = lzwState.dictionaryPrevCodes;\n var codeLength = lzwState.codeLength;\n var prevCode = lzwState.prevCode;\n var currentSequence = lzwState.currentSequence;\n var currentSequenceLength = lzwState.currentSequenceLength;\n var decodedLength = 0;\n var currentBufferLength = this.bufferLength;\n var buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n\n for (i = 0; i < blockSize; i++) {\n var code = this.readBits(codeLength);\n var hasPrev = currentSequenceLength > 0;\n\n if (code < 256) {\n currentSequence[0] = code;\n currentSequenceLength = 1;\n } else if (code >= 258) {\n if (code < nextCode) {\n currentSequenceLength = dictionaryLengths[code];\n\n for (j = currentSequenceLength - 1, q = code; j >= 0; j--) {\n currentSequence[j] = dictionaryValues[q];\n q = dictionaryPrevCodes[q];\n }\n } else {\n currentSequence[currentSequenceLength++] = currentSequence[0];\n }\n } else if (code === 256) {\n codeLength = 9;\n nextCode = 258;\n currentSequenceLength = 0;\n continue;\n } else {\n this.eof = true;\n delete this.lzwState;\n break;\n }\n\n if (hasPrev) {\n dictionaryPrevCodes[nextCode] = prevCode;\n dictionaryLengths[nextCode] = dictionaryLengths[prevCode] + 1;\n dictionaryValues[nextCode] = currentSequence[0];\n nextCode++;\n codeLength = nextCode + earlyChange & nextCode + earlyChange - 1 ? codeLength : Math.min(Math.log(nextCode + earlyChange) / 0.6931471805599453 + 1, 12) | 0;\n }\n\n prevCode = code;\n decodedLength += currentSequenceLength;\n\n if (estimatedDecodedSize < decodedLength) {\n do {\n estimatedDecodedSize += decodedSizeDelta;\n } while (estimatedDecodedSize < decodedLength);\n\n buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n }\n\n for (j = 0; j < currentSequenceLength; j++) {\n buffer[currentBufferLength++] = currentSequence[j];\n }\n }\n\n lzwState.nextCode = nextCode;\n lzwState.codeLength = codeLength;\n lzwState.prevCode = prevCode;\n lzwState.currentSequenceLength = currentSequenceLength;\n this.bufferLength = currentBufferLength;\n };\n\n return LZWStream;\n}();\n\nexports.LZWStream = LZWStream;\n\nvar NullStream = function NullStreamClosure() {\n function NullStream() {\n Stream.call(this, new Uint8Array(0));\n }\n\n NullStream.prototype = Stream.prototype;\n return NullStream;\n}();\n\nexports.NullStream = NullStream;\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CCITTFaxStream = void 0;\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _ccitt = __w_pdfjs_require__(160);\n\nvar _stream = __w_pdfjs_require__(158);\n\nvar CCITTFaxStream = function CCITTFaxStreamClosure() {\n function CCITTFaxStream(str, maybeLength, params) {\n this.str = str;\n this.dict = str.dict;\n\n if (!(0, _primitives.isDict)(params)) {\n params = _primitives.Dict.empty;\n }\n\n var source = {\n next: function next() {\n return str.getByte();\n }\n };\n this.ccittFaxDecoder = new _ccitt.CCITTFaxDecoder(source, {\n K: params.get('K'),\n EndOfLine: params.get('EndOfLine'),\n EncodedByteAlign: params.get('EncodedByteAlign'),\n Columns: params.get('Columns'),\n Rows: params.get('Rows'),\n EndOfBlock: params.get('EndOfBlock'),\n BlackIs1: params.get('BlackIs1')\n });\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n CCITTFaxStream.prototype = Object.create(_stream.DecodeStream.prototype);\n\n CCITTFaxStream.prototype.readBlock = function () {\n while (!this.eof) {\n var c = this.ccittFaxDecoder.readNextChar();\n\n if (c === -1) {\n this.eof = true;\n return;\n }\n\n this.ensureBuffer(this.bufferLength + 1);\n this.buffer[this.bufferLength++] = c;\n }\n };\n\n return CCITTFaxStream;\n}();\n\nexports.CCITTFaxStream = CCITTFaxStream;\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CCITTFaxDecoder = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar CCITTFaxDecoder = function CCITTFaxDecoder() {\n var ccittEOL = -2;\n var ccittEOF = -1;\n var twoDimPass = 0;\n var twoDimHoriz = 1;\n var twoDimVert0 = 2;\n var twoDimVertR1 = 3;\n var twoDimVertL1 = 4;\n var twoDimVertR2 = 5;\n var twoDimVertL2 = 6;\n var twoDimVertR3 = 7;\n var twoDimVertL3 = 8;\n var twoDimTable = [[-1, -1], [-1, -1], [7, twoDimVertL3], [7, twoDimVertR3], [6, twoDimVertL2], [6, twoDimVertL2], [6, twoDimVertR2], [6, twoDimVertR2], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0]];\n var whiteTable1 = [[-1, -1], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [12, 1984], [12, 2048], [12, 2112], [12, 2176], [12, 2240], [12, 2304], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [12, 2368], [12, 2432], [12, 2496], [12, 2560]];\n var whiteTable2 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [8, 29], [8, 29], [8, 30], [8, 30], [8, 45], [8, 45], [8, 46], [8, 46], [7, 22], [7, 22], [7, 22], [7, 22], [7, 23], [7, 23], [7, 23], [7, 23], [8, 47], [8, 47], [8, 48], [8, 48], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [7, 20], [7, 20], [7, 20], [7, 20], [8, 33], [8, 33], [8, 34], [8, 34], [8, 35], [8, 35], [8, 36], [8, 36], [8, 37], [8, 37], [8, 38], [8, 38], [7, 19], [7, 19], [7, 19], [7, 19], [8, 31], [8, 31], [8, 32], [8, 32], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [8, 53], [8, 53], [8, 54], [8, 54], [7, 26], [7, 26], [7, 26], [7, 26], [8, 39], [8, 39], [8, 40], [8, 40], [8, 41], [8, 41], [8, 42], [8, 42], [8, 43], [8, 43], [8, 44], [8, 44], [7, 21], [7, 21], [7, 21], [7, 21], [7, 28], [7, 28], [7, 28], [7, 28], [8, 61], [8, 61], [8, 62], [8, 62], [8, 63], [8, 63], [8, 0], [8, 0], [8, 320], [8, 320], [8, 384], [8, 384], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [7, 27], [7, 27], [7, 27], [7, 27], [8, 59], [8, 59], [8, 60], [8, 60], [9, 1472], [9, 1536], [9, 1600], [9, 1728], [7, 18], [7, 18], [7, 18], [7, 18], [7, 24], [7, 24], [7, 24], [7, 24], [8, 49], [8, 49], [8, 50], [8, 50], [8, 51], [8, 51], [8, 52], [8, 52], [7, 25], [7, 25], [7, 25], [7, 25], [8, 55], [8, 55], [8, 56], [8, 56], [8, 57], [8, 57], [8, 58], [8, 58], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [8, 448], [8, 448], [8, 512], [8, 512], [9, 704], [9, 768], [8, 640], [8, 640], [8, 576], [8, 576], [9, 832], [9, 896], [9, 960], [9, 1024], [9, 1088], [9, 1152], [9, 1216], [9, 1280], [9, 1344], [9, 1408], [7, 256], [7, 256], [7, 256], [7, 256], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7]];\n var blackTable1 = [[-1, -1], [-1, -1], [12, ccittEOL], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [11, 1792], [11, 1792], [12, 1984], [12, 1984], [12, 2048], [12, 2048], [12, 2112], [12, 2112], [12, 2176], [12, 2176], [12, 2240], [12, 2240], [12, 2304], [12, 2304], [11, 1856], [11, 1856], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [11, 1920], [11, 1920], [12, 2368], [12, 2368], [12, 2432], [12, 2432], [12, 2496], [12, 2496], [12, 2560], [12, 2560], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [12, 52], [12, 52], [13, 640], [13, 704], [13, 768], [13, 832], [12, 55], [12, 55], [12, 56], [12, 56], [13, 1280], [13, 1344], [13, 1408], [13, 1472], [12, 59], [12, 59], [12, 60], [12, 60], [13, 1536], [13, 1600], [11, 24], [11, 24], [11, 24], [11, 24], [11, 25], [11, 25], [11, 25], [11, 25], [13, 1664], [13, 1728], [12, 320], [12, 320], [12, 384], [12, 384], [12, 448], [12, 448], [13, 512], [13, 576], [12, 53], [12, 53], [12, 54], [12, 54], [13, 896], [13, 960], [13, 1024], [13, 1088], [13, 1152], [13, 1216], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64]];\n var blackTable2 = [[8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [11, 23], [11, 23], [12, 50], [12, 51], [12, 44], [12, 45], [12, 46], [12, 47], [12, 57], [12, 58], [12, 61], [12, 256], [10, 16], [10, 16], [10, 16], [10, 16], [10, 17], [10, 17], [10, 17], [10, 17], [12, 48], [12, 49], [12, 62], [12, 63], [12, 30], [12, 31], [12, 32], [12, 33], [12, 40], [12, 41], [11, 22], [11, 22], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [12, 128], [12, 192], [12, 26], [12, 27], [12, 28], [12, 29], [11, 19], [11, 19], [11, 20], [11, 20], [12, 34], [12, 35], [12, 36], [12, 37], [12, 38], [12, 39], [11, 21], [11, 21], [12, 42], [12, 43], [10, 0], [10, 0], [10, 0], [10, 0], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12]];\n var blackTable3 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [6, 9], [6, 8], [5, 7], [5, 7], [4, 6], [4, 6], [4, 6], [4, 6], [4, 5], [4, 5], [4, 5], [4, 5], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2]];\n\n function CCITTFaxDecoder(source) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!source || typeof source.next !== 'function') {\n throw new Error('CCITTFaxDecoder - invalid \"source\" parameter.');\n }\n\n this.source = source;\n this.eof = false;\n this.encoding = options['K'] || 0;\n this.eoline = options['EndOfLine'] || false;\n this.byteAlign = options['EncodedByteAlign'] || false;\n this.columns = options['Columns'] || 1728;\n this.rows = options['Rows'] || 0;\n var eoblock = options['EndOfBlock'];\n\n if (eoblock === null || eoblock === undefined) {\n eoblock = true;\n }\n\n this.eoblock = eoblock;\n this.black = options['BlackIs1'] || false;\n this.codingLine = new Uint32Array(this.columns + 1);\n this.refLine = new Uint32Array(this.columns + 2);\n this.codingLine[0] = this.columns;\n this.codingPos = 0;\n this.row = 0;\n this.nextLine2D = this.encoding < 0;\n this.inputBits = 0;\n this.inputBuf = 0;\n this.outputBits = 0;\n this.rowsDone = false;\n var code1;\n\n while ((code1 = this._lookBits(12)) === 0) {\n this._eatBits(1);\n }\n\n if (code1 === 1) {\n this._eatBits(12);\n }\n\n if (this.encoding > 0) {\n this.nextLine2D = !this._lookBits(1);\n\n this._eatBits(1);\n }\n }\n\n CCITTFaxDecoder.prototype = {\n readNextChar: function readNextChar() {\n if (this.eof) {\n return -1;\n }\n\n var refLine = this.refLine;\n var codingLine = this.codingLine;\n var columns = this.columns;\n var refPos, blackPixels, bits, i;\n\n if (this.outputBits === 0) {\n if (this.rowsDone) {\n this.eof = true;\n }\n\n if (this.eof) {\n return -1;\n }\n\n this.err = false;\n var code1, code2, code3;\n\n if (this.nextLine2D) {\n for (i = 0; codingLine[i] < columns; ++i) {\n refLine[i] = codingLine[i];\n }\n\n refLine[i++] = columns;\n refLine[i] = columns;\n codingLine[0] = 0;\n this.codingPos = 0;\n refPos = 0;\n blackPixels = 0;\n\n while (codingLine[this.codingPos] < columns) {\n code1 = this._getTwoDimCode();\n\n switch (code1) {\n case twoDimPass:\n this._addPixels(refLine[refPos + 1], blackPixels);\n\n if (refLine[refPos + 1] < columns) {\n refPos += 2;\n }\n\n break;\n\n case twoDimHoriz:\n code1 = code2 = 0;\n\n if (blackPixels) {\n do {\n code1 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n\n do {\n code2 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n } else {\n do {\n code1 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n\n do {\n code2 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n }\n\n this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n\n if (codingLine[this.codingPos] < columns) {\n this._addPixels(codingLine[this.codingPos] + code2, blackPixels ^ 1);\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n\n break;\n\n case twoDimVertR3:\n this._addPixels(refLine[refPos] + 3, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertR2:\n this._addPixels(refLine[refPos] + 2, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertR1:\n this._addPixels(refLine[refPos] + 1, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVert0:\n this._addPixels(refLine[refPos], blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertL3:\n this._addPixelsNeg(refLine[refPos] - 3, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertL2:\n this._addPixelsNeg(refLine[refPos] - 2, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertL1:\n this._addPixelsNeg(refLine[refPos] - 1, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case ccittEOF:\n this._addPixels(columns, 0);\n\n this.eof = true;\n break;\n\n default:\n (0, _util.info)('bad 2d code');\n\n this._addPixels(columns, 0);\n\n this.err = true;\n }\n }\n } else {\n codingLine[0] = 0;\n this.codingPos = 0;\n blackPixels = 0;\n\n while (codingLine[this.codingPos] < columns) {\n code1 = 0;\n\n if (blackPixels) {\n do {\n code1 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n } else {\n do {\n code1 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n }\n\n this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n\n blackPixels ^= 1;\n }\n }\n\n var gotEOL = false;\n\n if (this.byteAlign) {\n this.inputBits &= ~7;\n }\n\n if (!this.eoblock && this.row === this.rows - 1) {\n this.rowsDone = true;\n } else {\n code1 = this._lookBits(12);\n\n if (this.eoline) {\n while (code1 !== ccittEOF && code1 !== 1) {\n this._eatBits(1);\n\n code1 = this._lookBits(12);\n }\n } else {\n while (code1 === 0) {\n this._eatBits(1);\n\n code1 = this._lookBits(12);\n }\n }\n\n if (code1 === 1) {\n this._eatBits(12);\n\n gotEOL = true;\n } else if (code1 === ccittEOF) {\n this.eof = true;\n }\n }\n\n if (!this.eof && this.encoding > 0 && !this.rowsDone) {\n this.nextLine2D = !this._lookBits(1);\n\n this._eatBits(1);\n }\n\n if (this.eoblock && gotEOL && this.byteAlign) {\n code1 = this._lookBits(12);\n\n if (code1 === 1) {\n this._eatBits(12);\n\n if (this.encoding > 0) {\n this._lookBits(1);\n\n this._eatBits(1);\n }\n\n if (this.encoding >= 0) {\n for (i = 0; i < 4; ++i) {\n code1 = this._lookBits(12);\n\n if (code1 !== 1) {\n (0, _util.info)('bad rtc code: ' + code1);\n }\n\n this._eatBits(12);\n\n if (this.encoding > 0) {\n this._lookBits(1);\n\n this._eatBits(1);\n }\n }\n }\n\n this.eof = true;\n }\n } else if (this.err && this.eoline) {\n while (true) {\n code1 = this._lookBits(13);\n\n if (code1 === ccittEOF) {\n this.eof = true;\n return -1;\n }\n\n if (code1 >> 1 === 1) {\n break;\n }\n\n this._eatBits(1);\n }\n\n this._eatBits(12);\n\n if (this.encoding > 0) {\n this._eatBits(1);\n\n this.nextLine2D = !(code1 & 1);\n }\n }\n\n if (codingLine[0] > 0) {\n this.outputBits = codingLine[this.codingPos = 0];\n } else {\n this.outputBits = codingLine[this.codingPos = 1];\n }\n\n this.row++;\n }\n\n var c;\n\n if (this.outputBits >= 8) {\n c = this.codingPos & 1 ? 0 : 0xFF;\n this.outputBits -= 8;\n\n if (this.outputBits === 0 && codingLine[this.codingPos] < columns) {\n this.codingPos++;\n this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n }\n } else {\n bits = 8;\n c = 0;\n\n do {\n if (this.outputBits > bits) {\n c <<= bits;\n\n if (!(this.codingPos & 1)) {\n c |= 0xFF >> 8 - bits;\n }\n\n this.outputBits -= bits;\n bits = 0;\n } else {\n c <<= this.outputBits;\n\n if (!(this.codingPos & 1)) {\n c |= 0xFF >> 8 - this.outputBits;\n }\n\n bits -= this.outputBits;\n this.outputBits = 0;\n\n if (codingLine[this.codingPos] < columns) {\n this.codingPos++;\n this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n } else if (bits > 0) {\n c <<= bits;\n bits = 0;\n }\n }\n } while (bits);\n }\n\n if (this.black) {\n c ^= 0xFF;\n }\n\n return c;\n },\n _addPixels: function _addPixels(a1, blackPixels) {\n var codingLine = this.codingLine;\n var codingPos = this.codingPos;\n\n if (a1 > codingLine[codingPos]) {\n if (a1 > this.columns) {\n (0, _util.info)('row is wrong length');\n this.err = true;\n a1 = this.columns;\n }\n\n if (codingPos & 1 ^ blackPixels) {\n ++codingPos;\n }\n\n codingLine[codingPos] = a1;\n }\n\n this.codingPos = codingPos;\n },\n _addPixelsNeg: function _addPixelsNeg(a1, blackPixels) {\n var codingLine = this.codingLine;\n var codingPos = this.codingPos;\n\n if (a1 > codingLine[codingPos]) {\n if (a1 > this.columns) {\n (0, _util.info)('row is wrong length');\n this.err = true;\n a1 = this.columns;\n }\n\n if (codingPos & 1 ^ blackPixels) {\n ++codingPos;\n }\n\n codingLine[codingPos] = a1;\n } else if (a1 < codingLine[codingPos]) {\n if (a1 < 0) {\n (0, _util.info)('invalid code');\n this.err = true;\n a1 = 0;\n }\n\n while (codingPos > 0 && a1 < codingLine[codingPos - 1]) {\n --codingPos;\n }\n\n codingLine[codingPos] = a1;\n }\n\n this.codingPos = codingPos;\n },\n _findTableCode: function _findTableCode(start, end, table, limit) {\n var limitValue = limit || 0;\n\n for (var i = start; i <= end; ++i) {\n var code = this._lookBits(i);\n\n if (code === ccittEOF) {\n return [true, 1, false];\n }\n\n if (i < end) {\n code <<= end - i;\n }\n\n if (!limitValue || code >= limitValue) {\n var p = table[code - limitValue];\n\n if (p[0] === i) {\n this._eatBits(i);\n\n return [true, p[1], true];\n }\n }\n }\n\n return [false, 0, false];\n },\n _getTwoDimCode: function _getTwoDimCode() {\n var code = 0;\n var p;\n\n if (this.eoblock) {\n code = this._lookBits(7);\n p = twoDimTable[code];\n\n if (p && p[0] > 0) {\n this._eatBits(p[0]);\n\n return p[1];\n }\n } else {\n var result = this._findTableCode(1, 7, twoDimTable);\n\n if (result[0] && result[2]) {\n return result[1];\n }\n }\n\n (0, _util.info)('Bad two dim code');\n return ccittEOF;\n },\n _getWhiteCode: function _getWhiteCode() {\n var code = 0;\n var p;\n\n if (this.eoblock) {\n code = this._lookBits(12);\n\n if (code === ccittEOF) {\n return 1;\n }\n\n if (code >> 5 === 0) {\n p = whiteTable1[code];\n } else {\n p = whiteTable2[code >> 3];\n }\n\n if (p[0] > 0) {\n this._eatBits(p[0]);\n\n return p[1];\n }\n } else {\n var result = this._findTableCode(1, 9, whiteTable2);\n\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(11, 12, whiteTable1);\n\n if (result[0]) {\n return result[1];\n }\n }\n\n (0, _util.info)('bad white code');\n\n this._eatBits(1);\n\n return 1;\n },\n _getBlackCode: function _getBlackCode() {\n var code, p;\n\n if (this.eoblock) {\n code = this._lookBits(13);\n\n if (code === ccittEOF) {\n return 1;\n }\n\n if (code >> 7 === 0) {\n p = blackTable1[code];\n } else if (code >> 9 === 0 && code >> 7 !== 0) {\n p = blackTable2[(code >> 1) - 64];\n } else {\n p = blackTable3[code >> 7];\n }\n\n if (p[0] > 0) {\n this._eatBits(p[0]);\n\n return p[1];\n }\n } else {\n var result = this._findTableCode(2, 6, blackTable3);\n\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(7, 12, blackTable2, 64);\n\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(10, 13, blackTable1);\n\n if (result[0]) {\n return result[1];\n }\n }\n\n (0, _util.info)('bad black code');\n\n this._eatBits(1);\n\n return 1;\n },\n _lookBits: function _lookBits(n) {\n var c;\n\n while (this.inputBits < n) {\n if ((c = this.source.next()) === -1) {\n if (this.inputBits === 0) {\n return ccittEOF;\n }\n\n return this.inputBuf << n - this.inputBits & 0xFFFF >> 16 - n;\n }\n\n this.inputBuf = this.inputBuf << 8 | c;\n this.inputBits += 8;\n }\n\n return this.inputBuf >> this.inputBits - n & 0xFFFF >> 16 - n;\n },\n _eatBits: function _eatBits(n) {\n if ((this.inputBits -= n) < 0) {\n this.inputBits = 0;\n }\n }\n };\n return CCITTFaxDecoder;\n}();\n\nexports.CCITTFaxDecoder = CCITTFaxDecoder;\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Jbig2Stream = void 0;\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _stream = __w_pdfjs_require__(158);\n\nvar _jbig = __w_pdfjs_require__(162);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar Jbig2Stream = function Jbig2StreamClosure() {\n function Jbig2Stream(stream, maybeLength, dict, params) {\n this.stream = stream;\n this.maybeLength = maybeLength;\n this.dict = dict;\n this.params = params;\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n Jbig2Stream.prototype = Object.create(_stream.DecodeStream.prototype);\n Object.defineProperty(Jbig2Stream.prototype, 'bytes', {\n get: function get() {\n return (0, _util.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength));\n },\n configurable: true\n });\n\n Jbig2Stream.prototype.ensureBuffer = function (requested) {};\n\n Jbig2Stream.prototype.readBlock = function () {\n if (this.eof) {\n return;\n }\n\n var jbig2Image = new _jbig.Jbig2Image();\n var chunks = [];\n\n if ((0, _primitives.isDict)(this.params)) {\n var globalsStream = this.params.get('JBIG2Globals');\n\n if ((0, _primitives.isStream)(globalsStream)) {\n var globals = globalsStream.getBytes();\n chunks.push({\n data: globals,\n start: 0,\n end: globals.length\n });\n }\n }\n\n chunks.push({\n data: this.bytes,\n start: 0,\n end: this.bytes.length\n });\n var data = jbig2Image.parseChunks(chunks);\n var dataLength = data.length;\n\n for (var i = 0; i < dataLength; i++) {\n data[i] ^= 0xFF;\n }\n\n this.buffer = data;\n this.bufferLength = dataLength;\n this.eof = true;\n };\n\n return Jbig2Stream;\n}();\n\nexports.Jbig2Stream = Jbig2Stream;\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Jbig2Image = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _arithmetic_decoder = __w_pdfjs_require__(163);\n\nvar _ccitt = __w_pdfjs_require__(160);\n\nvar Jbig2Error = function Jbig2ErrorClosure() {\n function Jbig2Error(msg) {\n this.message = 'JBIG2 error: ' + msg;\n }\n\n Jbig2Error.prototype = new Error();\n Jbig2Error.prototype.name = 'Jbig2Error';\n Jbig2Error.constructor = Jbig2Error;\n return Jbig2Error;\n}();\n\nvar Jbig2Image = function Jbig2ImageClosure() {\n function ContextCache() {}\n\n ContextCache.prototype = {\n getContexts: function getContexts(id) {\n if (id in this) {\n return this[id];\n }\n\n return this[id] = new Int8Array(1 << 16);\n }\n };\n\n function DecodingContext(data, start, end) {\n this.data = data;\n this.start = start;\n this.end = end;\n }\n\n DecodingContext.prototype = {\n get decoder() {\n var decoder = new _arithmetic_decoder.ArithmeticDecoder(this.data, this.start, this.end);\n return (0, _util.shadow)(this, 'decoder', decoder);\n },\n\n get contextCache() {\n var cache = new ContextCache();\n return (0, _util.shadow)(this, 'contextCache', cache);\n }\n\n };\n\n function decodeInteger(contextCache, procedure, decoder) {\n var contexts = contextCache.getContexts(procedure);\n var prev = 1;\n\n function readBits(length) {\n var v = 0;\n\n for (var i = 0; i < length; i++) {\n var bit = decoder.readBit(contexts, prev);\n prev = prev < 256 ? prev << 1 | bit : (prev << 1 | bit) & 511 | 256;\n v = v << 1 | bit;\n }\n\n return v >>> 0;\n }\n\n var sign = readBits(1);\n var value = readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(32) + 4436 : readBits(12) + 340 : readBits(8) + 84 : readBits(6) + 20 : readBits(4) + 4 : readBits(2);\n return sign === 0 ? value : value > 0 ? -value : null;\n }\n\n function decodeIAID(contextCache, decoder, codeLength) {\n var contexts = contextCache.getContexts('IAID');\n var prev = 1;\n\n for (var i = 0; i < codeLength; i++) {\n var bit = decoder.readBit(contexts, prev);\n prev = prev << 1 | bit;\n }\n\n if (codeLength < 31) {\n return prev & (1 << codeLength) - 1;\n }\n\n return prev & 0x7FFFFFFF;\n }\n\n var SegmentTypes = ['SymbolDictionary', null, null, null, 'IntermediateTextRegion', null, 'ImmediateTextRegion', 'ImmediateLosslessTextRegion', null, null, null, null, null, null, null, null, 'PatternDictionary', null, null, null, 'IntermediateHalftoneRegion', null, 'ImmediateHalftoneRegion', 'ImmediateLosslessHalftoneRegion', null, null, null, null, null, null, null, null, null, null, null, null, 'IntermediateGenericRegion', null, 'ImmediateGenericRegion', 'ImmediateLosslessGenericRegion', 'IntermediateGenericRefinementRegion', null, 'ImmediateGenericRefinementRegion', 'ImmediateLosslessGenericRefinementRegion', null, null, null, null, 'PageInformation', 'EndOfPage', 'EndOfStripe', 'EndOfFile', 'Profiles', 'Tables', null, null, null, null, null, null, null, null, 'Extension'];\n var CodingTemplates = [[{\n x: -1,\n y: -2\n }, {\n x: 0,\n y: -2\n }, {\n x: 1,\n y: -2\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: 2,\n y: -1\n }, {\n x: -4,\n y: 0\n }, {\n x: -3,\n y: 0\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }], [{\n x: -1,\n y: -2\n }, {\n x: 0,\n y: -2\n }, {\n x: 1,\n y: -2\n }, {\n x: 2,\n y: -2\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: 2,\n y: -1\n }, {\n x: -3,\n y: 0\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }], [{\n x: -1,\n y: -2\n }, {\n x: 0,\n y: -2\n }, {\n x: 1,\n y: -2\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }], [{\n x: -3,\n y: -1\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -4,\n y: 0\n }, {\n x: -3,\n y: 0\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }]];\n var RefinementTemplates = [{\n coding: [{\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -1,\n y: 0\n }],\n reference: [{\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -1,\n y: 0\n }, {\n x: 0,\n y: 0\n }, {\n x: 1,\n y: 0\n }, {\n x: -1,\n y: 1\n }, {\n x: 0,\n y: 1\n }, {\n x: 1,\n y: 1\n }]\n }, {\n coding: [{\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -1,\n y: 0\n }],\n reference: [{\n x: 0,\n y: -1\n }, {\n x: -1,\n y: 0\n }, {\n x: 0,\n y: 0\n }, {\n x: 1,\n y: 0\n }, {\n x: 0,\n y: 1\n }, {\n x: 1,\n y: 1\n }]\n }];\n var ReusedContexts = [0x9B25, 0x0795, 0x00E5, 0x0195];\n var RefinementReusedContexts = [0x0020, 0x0008];\n\n function decodeBitmapTemplate0(width, height, decodingContext) {\n var decoder = decodingContext.decoder;\n var contexts = decodingContext.contextCache.getContexts('GB');\n var contextLabel,\n i,\n j,\n pixel,\n row,\n row1,\n row2,\n bitmap = [];\n var OLD_PIXEL_MASK = 0x7BF7;\n\n for (i = 0; i < height; i++) {\n row = bitmap[i] = new Uint8Array(width);\n row1 = i < 1 ? row : bitmap[i - 1];\n row2 = i < 2 ? row : bitmap[i - 2];\n contextLabel = row2[0] << 13 | row2[1] << 12 | row2[2] << 11 | row1[0] << 7 | row1[1] << 6 | row1[2] << 5 | row1[3] << 4;\n\n for (j = 0; j < width; j++) {\n row[j] = pixel = decoder.readBit(contexts, contextLabel);\n contextLabel = (contextLabel & OLD_PIXEL_MASK) << 1 | (j + 3 < width ? row2[j + 3] << 11 : 0) | (j + 4 < width ? row1[j + 4] << 4 : 0) | pixel;\n }\n }\n\n return bitmap;\n }\n\n function decodeBitmap(mmr, width, height, templateIndex, prediction, skip, at, decodingContext) {\n if (mmr) {\n var input = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);\n return decodeMMRBitmap(input, width, height, false);\n }\n\n if (templateIndex === 0 && !skip && !prediction && at.length === 4 && at[0].x === 3 && at[0].y === -1 && at[1].x === -3 && at[1].y === -1 && at[2].x === 2 && at[2].y === -2 && at[3].x === -2 && at[3].y === -2) {\n return decodeBitmapTemplate0(width, height, decodingContext);\n }\n\n var useskip = !!skip;\n var template = CodingTemplates[templateIndex].concat(at);\n template.sort(function (a, b) {\n return a.y - b.y || a.x - b.x;\n });\n var templateLength = template.length;\n var templateX = new Int8Array(templateLength);\n var templateY = new Int8Array(templateLength);\n var changingTemplateEntries = [];\n var reuseMask = 0,\n minX = 0,\n maxX = 0,\n minY = 0;\n var c, k;\n\n for (k = 0; k < templateLength; k++) {\n templateX[k] = template[k].x;\n templateY[k] = template[k].y;\n minX = Math.min(minX, template[k].x);\n maxX = Math.max(maxX, template[k].x);\n minY = Math.min(minY, template[k].y);\n\n if (k < templateLength - 1 && template[k].y === template[k + 1].y && template[k].x === template[k + 1].x - 1) {\n reuseMask |= 1 << templateLength - 1 - k;\n } else {\n changingTemplateEntries.push(k);\n }\n }\n\n var changingEntriesLength = changingTemplateEntries.length;\n var changingTemplateX = new Int8Array(changingEntriesLength);\n var changingTemplateY = new Int8Array(changingEntriesLength);\n var changingTemplateBit = new Uint16Array(changingEntriesLength);\n\n for (c = 0; c < changingEntriesLength; c++) {\n k = changingTemplateEntries[c];\n changingTemplateX[c] = template[k].x;\n changingTemplateY[c] = template[k].y;\n changingTemplateBit[c] = 1 << templateLength - 1 - k;\n }\n\n var sbb_left = -minX;\n var sbb_top = -minY;\n var sbb_right = width - maxX;\n var pseudoPixelContext = ReusedContexts[templateIndex];\n var row = new Uint8Array(width);\n var bitmap = [];\n var decoder = decodingContext.decoder;\n var contexts = decodingContext.contextCache.getContexts('GB');\n var ltp = 0,\n j,\n i0,\n j0,\n contextLabel = 0,\n bit,\n shift;\n\n for (var i = 0; i < height; i++) {\n if (prediction) {\n var sltp = decoder.readBit(contexts, pseudoPixelContext);\n ltp ^= sltp;\n\n if (ltp) {\n bitmap.push(row);\n continue;\n }\n }\n\n row = new Uint8Array(row);\n bitmap.push(row);\n\n for (j = 0; j < width; j++) {\n if (useskip && skip[i][j]) {\n row[j] = 0;\n continue;\n }\n\n if (j >= sbb_left && j < sbb_right && i >= sbb_top) {\n contextLabel = contextLabel << 1 & reuseMask;\n\n for (k = 0; k < changingEntriesLength; k++) {\n i0 = i + changingTemplateY[k];\n j0 = j + changingTemplateX[k];\n bit = bitmap[i0][j0];\n\n if (bit) {\n bit = changingTemplateBit[k];\n contextLabel |= bit;\n }\n }\n } else {\n contextLabel = 0;\n shift = templateLength - 1;\n\n for (k = 0; k < templateLength; k++, shift--) {\n j0 = j + templateX[k];\n\n if (j0 >= 0 && j0 < width) {\n i0 = i + templateY[k];\n\n if (i0 >= 0) {\n bit = bitmap[i0][j0];\n\n if (bit) {\n contextLabel |= bit << shift;\n }\n }\n }\n }\n }\n\n var pixel = decoder.readBit(contexts, contextLabel);\n row[j] = pixel;\n }\n }\n\n return bitmap;\n }\n\n function decodeRefinement(width, height, templateIndex, referenceBitmap, offsetX, offsetY, prediction, at, decodingContext) {\n var codingTemplate = RefinementTemplates[templateIndex].coding;\n\n if (templateIndex === 0) {\n codingTemplate = codingTemplate.concat([at[0]]);\n }\n\n var codingTemplateLength = codingTemplate.length;\n var codingTemplateX = new Int32Array(codingTemplateLength);\n var codingTemplateY = new Int32Array(codingTemplateLength);\n var k;\n\n for (k = 0; k < codingTemplateLength; k++) {\n codingTemplateX[k] = codingTemplate[k].x;\n codingTemplateY[k] = codingTemplate[k].y;\n }\n\n var referenceTemplate = RefinementTemplates[templateIndex].reference;\n\n if (templateIndex === 0) {\n referenceTemplate = referenceTemplate.concat([at[1]]);\n }\n\n var referenceTemplateLength = referenceTemplate.length;\n var referenceTemplateX = new Int32Array(referenceTemplateLength);\n var referenceTemplateY = new Int32Array(referenceTemplateLength);\n\n for (k = 0; k < referenceTemplateLength; k++) {\n referenceTemplateX[k] = referenceTemplate[k].x;\n referenceTemplateY[k] = referenceTemplate[k].y;\n }\n\n var referenceWidth = referenceBitmap[0].length;\n var referenceHeight = referenceBitmap.length;\n var pseudoPixelContext = RefinementReusedContexts[templateIndex];\n var bitmap = [];\n var decoder = decodingContext.decoder;\n var contexts = decodingContext.contextCache.getContexts('GR');\n var ltp = 0;\n\n for (var i = 0; i < height; i++) {\n if (prediction) {\n var sltp = decoder.readBit(contexts, pseudoPixelContext);\n ltp ^= sltp;\n\n if (ltp) {\n throw new Jbig2Error('prediction is not supported');\n }\n }\n\n var row = new Uint8Array(width);\n bitmap.push(row);\n\n for (var j = 0; j < width; j++) {\n var i0, j0;\n var contextLabel = 0;\n\n for (k = 0; k < codingTemplateLength; k++) {\n i0 = i + codingTemplateY[k];\n j0 = j + codingTemplateX[k];\n\n if (i0 < 0 || j0 < 0 || j0 >= width) {\n contextLabel <<= 1;\n } else {\n contextLabel = contextLabel << 1 | bitmap[i0][j0];\n }\n }\n\n for (k = 0; k < referenceTemplateLength; k++) {\n i0 = i + referenceTemplateY[k] - offsetY;\n j0 = j + referenceTemplateX[k] - offsetX;\n\n if (i0 < 0 || i0 >= referenceHeight || j0 < 0 || j0 >= referenceWidth) {\n contextLabel <<= 1;\n } else {\n contextLabel = contextLabel << 1 | referenceBitmap[i0][j0];\n }\n }\n\n var pixel = decoder.readBit(contexts, contextLabel);\n row[j] = pixel;\n }\n }\n\n return bitmap;\n }\n\n function decodeSymbolDictionary(huffman, refinement, symbols, numberOfNewSymbols, numberOfExportedSymbols, huffmanTables, templateIndex, at, refinementTemplateIndex, refinementAt, decodingContext, huffmanInput) {\n if (huffman && refinement) {\n throw new Jbig2Error('symbol refinement with Huffman is not supported');\n }\n\n var newSymbols = [];\n var currentHeight = 0;\n var symbolCodeLength = (0, _util.log2)(symbols.length + numberOfNewSymbols);\n var decoder = decodingContext.decoder;\n var contextCache = decodingContext.contextCache;\n var tableB1, symbolWidths;\n\n if (huffman) {\n tableB1 = getStandardTable(1);\n symbolWidths = [];\n symbolCodeLength = Math.max(symbolCodeLength, 1);\n }\n\n while (newSymbols.length < numberOfNewSymbols) {\n var deltaHeight = huffman ? huffmanTables.tableDeltaHeight.decode(huffmanInput) : decodeInteger(contextCache, 'IADH', decoder);\n currentHeight += deltaHeight;\n var currentWidth = 0,\n totalWidth = 0;\n var firstSymbol = huffman ? symbolWidths.length : 0;\n\n while (true) {\n var deltaWidth = huffman ? huffmanTables.tableDeltaWidth.decode(huffmanInput) : decodeInteger(contextCache, 'IADW', decoder);\n\n if (deltaWidth === null) {\n break;\n }\n\n currentWidth += deltaWidth;\n totalWidth += currentWidth;\n var bitmap;\n\n if (refinement) {\n var numberOfInstances = decodeInteger(contextCache, 'IAAI', decoder);\n\n if (numberOfInstances > 1) {\n bitmap = decodeTextRegion(huffman, refinement, currentWidth, currentHeight, 0, numberOfInstances, 1, symbols.concat(newSymbols), symbolCodeLength, 0, 0, 1, 0, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, 0, huffmanInput);\n } else {\n var symbolId = decodeIAID(contextCache, decoder, symbolCodeLength);\n var rdx = decodeInteger(contextCache, 'IARDX', decoder);\n var rdy = decodeInteger(contextCache, 'IARDY', decoder);\n var symbol = symbolId < symbols.length ? symbols[symbolId] : newSymbols[symbolId - symbols.length];\n bitmap = decodeRefinement(currentWidth, currentHeight, refinementTemplateIndex, symbol, rdx, rdy, false, refinementAt, decodingContext);\n }\n\n newSymbols.push(bitmap);\n } else if (huffman) {\n symbolWidths.push(currentWidth);\n } else {\n bitmap = decodeBitmap(false, currentWidth, currentHeight, templateIndex, false, null, at, decodingContext);\n newSymbols.push(bitmap);\n }\n }\n\n if (huffman && !refinement) {\n var bitmapSize = huffmanTables.tableBitmapSize.decode(huffmanInput);\n huffmanInput.byteAlign();\n var collectiveBitmap = void 0;\n\n if (bitmapSize === 0) {\n collectiveBitmap = readUncompressedBitmap(huffmanInput, totalWidth, currentHeight);\n } else {\n var originalEnd = huffmanInput.end;\n var bitmapEnd = huffmanInput.position + bitmapSize;\n huffmanInput.end = bitmapEnd;\n collectiveBitmap = decodeMMRBitmap(huffmanInput, totalWidth, currentHeight, false);\n huffmanInput.end = originalEnd;\n huffmanInput.position = bitmapEnd;\n }\n\n var numberOfSymbolsDecoded = symbolWidths.length;\n\n if (firstSymbol === numberOfSymbolsDecoded - 1) {\n newSymbols.push(collectiveBitmap);\n } else {\n var _i = void 0,\n y = void 0,\n xMin = 0,\n xMax = void 0,\n bitmapWidth = void 0,\n symbolBitmap = void 0;\n\n for (_i = firstSymbol; _i < numberOfSymbolsDecoded; _i++) {\n bitmapWidth = symbolWidths[_i];\n xMax = xMin + bitmapWidth;\n symbolBitmap = [];\n\n for (y = 0; y < currentHeight; y++) {\n symbolBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n }\n\n newSymbols.push(symbolBitmap);\n xMin = xMax;\n }\n }\n }\n }\n\n var exportedSymbols = [];\n var flags = [],\n currentFlag = false;\n var totalSymbolsLength = symbols.length + numberOfNewSymbols;\n\n while (flags.length < totalSymbolsLength) {\n var runLength = huffman ? tableB1.decode(huffmanInput) : decodeInteger(contextCache, 'IAEX', decoder);\n\n while (runLength--) {\n flags.push(currentFlag);\n }\n\n currentFlag = !currentFlag;\n }\n\n for (var i = 0, ii = symbols.length; i < ii; i++) {\n if (flags[i]) {\n exportedSymbols.push(symbols[i]);\n }\n }\n\n for (var j = 0; j < numberOfNewSymbols; i++, j++) {\n if (flags[i]) {\n exportedSymbols.push(newSymbols[j]);\n }\n }\n\n return exportedSymbols;\n }\n\n function decodeTextRegion(huffman, refinement, width, height, defaultPixelValue, numberOfSymbolInstances, stripSize, inputSymbols, symbolCodeLength, transposed, dsOffset, referenceCorner, combinationOperator, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, logStripSize, huffmanInput) {\n if (huffman && refinement) {\n throw new Jbig2Error('refinement with Huffman is not supported');\n }\n\n var bitmap = [];\n var i, row;\n\n for (i = 0; i < height; i++) {\n row = new Uint8Array(width);\n\n if (defaultPixelValue) {\n for (var j = 0; j < width; j++) {\n row[j] = defaultPixelValue;\n }\n }\n\n bitmap.push(row);\n }\n\n var decoder = decodingContext.decoder;\n var contextCache = decodingContext.contextCache;\n var stripT = huffman ? -huffmanTables.tableDeltaT.decode(huffmanInput) : -decodeInteger(contextCache, 'IADT', decoder);\n var firstS = 0;\n i = 0;\n\n while (i < numberOfSymbolInstances) {\n var deltaT = huffman ? huffmanTables.tableDeltaT.decode(huffmanInput) : decodeInteger(contextCache, 'IADT', decoder);\n stripT += deltaT;\n var deltaFirstS = huffman ? huffmanTables.tableFirstS.decode(huffmanInput) : decodeInteger(contextCache, 'IAFS', decoder);\n firstS += deltaFirstS;\n var currentS = firstS;\n\n do {\n var currentT = 0;\n\n if (stripSize > 1) {\n currentT = huffman ? huffmanInput.readBits(logStripSize) : decodeInteger(contextCache, 'IAIT', decoder);\n }\n\n var t = stripSize * stripT + currentT;\n var symbolId = huffman ? huffmanTables.symbolIDTable.decode(huffmanInput) : decodeIAID(contextCache, decoder, symbolCodeLength);\n var applyRefinement = refinement && (huffman ? huffmanInput.readBit() : decodeInteger(contextCache, 'IARI', decoder));\n var symbolBitmap = inputSymbols[symbolId];\n var symbolWidth = symbolBitmap[0].length;\n var symbolHeight = symbolBitmap.length;\n\n if (applyRefinement) {\n var rdw = decodeInteger(contextCache, 'IARDW', decoder);\n var rdh = decodeInteger(contextCache, 'IARDH', decoder);\n var rdx = decodeInteger(contextCache, 'IARDX', decoder);\n var rdy = decodeInteger(contextCache, 'IARDY', decoder);\n symbolWidth += rdw;\n symbolHeight += rdh;\n symbolBitmap = decodeRefinement(symbolWidth, symbolHeight, refinementTemplateIndex, symbolBitmap, (rdw >> 1) + rdx, (rdh >> 1) + rdy, false, refinementAt, decodingContext);\n }\n\n var offsetT = t - (referenceCorner & 1 ? 0 : symbolHeight - 1);\n var offsetS = currentS - (referenceCorner & 2 ? symbolWidth - 1 : 0);\n var s2, t2, symbolRow;\n\n if (transposed) {\n for (s2 = 0; s2 < symbolHeight; s2++) {\n row = bitmap[offsetS + s2];\n\n if (!row) {\n continue;\n }\n\n symbolRow = symbolBitmap[s2];\n var maxWidth = Math.min(width - offsetT, symbolWidth);\n\n switch (combinationOperator) {\n case 0:\n for (t2 = 0; t2 < maxWidth; t2++) {\n row[offsetT + t2] |= symbolRow[t2];\n }\n\n break;\n\n case 2:\n for (t2 = 0; t2 < maxWidth; t2++) {\n row[offsetT + t2] ^= symbolRow[t2];\n }\n\n break;\n\n default:\n throw new Jbig2Error(\"operator \".concat(combinationOperator, \" is not supported\"));\n }\n }\n\n currentS += symbolHeight - 1;\n } else {\n for (t2 = 0; t2 < symbolHeight; t2++) {\n row = bitmap[offsetT + t2];\n\n if (!row) {\n continue;\n }\n\n symbolRow = symbolBitmap[t2];\n\n switch (combinationOperator) {\n case 0:\n for (s2 = 0; s2 < symbolWidth; s2++) {\n row[offsetS + s2] |= symbolRow[s2];\n }\n\n break;\n\n case 2:\n for (s2 = 0; s2 < symbolWidth; s2++) {\n row[offsetS + s2] ^= symbolRow[s2];\n }\n\n break;\n\n default:\n throw new Jbig2Error(\"operator \".concat(combinationOperator, \" is not supported\"));\n }\n }\n\n currentS += symbolWidth - 1;\n }\n\n i++;\n var deltaS = huffman ? huffmanTables.tableDeltaS.decode(huffmanInput) : decodeInteger(contextCache, 'IADS', decoder);\n\n if (deltaS === null) {\n break;\n }\n\n currentS += deltaS + dsOffset;\n } while (true);\n }\n\n return bitmap;\n }\n\n function decodePatternDictionary(mmr, patternWidth, patternHeight, maxPatternIndex, template, decodingContext) {\n var at = [];\n\n if (!mmr) {\n at.push({\n x: -patternWidth,\n y: 0\n });\n\n if (template === 0) {\n at.push({\n x: -3,\n y: -1\n });\n at.push({\n x: 2,\n y: -2\n });\n at.push({\n x: -2,\n y: -2\n });\n }\n }\n\n var collectiveWidth = (maxPatternIndex + 1) * patternWidth;\n var collectiveBitmap = decodeBitmap(mmr, collectiveWidth, patternHeight, template, false, null, at, decodingContext);\n var patterns = [],\n i = 0,\n patternBitmap,\n xMin,\n xMax,\n y;\n\n while (i <= maxPatternIndex) {\n patternBitmap = [];\n xMin = patternWidth * i;\n xMax = xMin + patternWidth;\n\n for (y = 0; y < patternHeight; y++) {\n patternBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n }\n\n patterns.push(patternBitmap);\n i++;\n }\n\n return patterns;\n }\n\n function decodeHalftoneRegion(mmr, patterns, template, regionWidth, regionHeight, defaultPixelValue, enableSkip, combinationOperator, gridWidth, gridHeight, gridOffsetX, gridOffsetY, gridVectorX, gridVectorY, decodingContext) {\n var skip = null;\n\n if (enableSkip) {\n throw new Jbig2Error('skip is not supported');\n }\n\n if (combinationOperator !== 0) {\n throw new Jbig2Error('operator ' + combinationOperator + ' is not supported in halftone region');\n }\n\n var regionBitmap = [];\n var i, j, row;\n\n for (i = 0; i < regionHeight; i++) {\n row = new Uint8Array(regionWidth);\n\n if (defaultPixelValue) {\n for (j = 0; j < regionWidth; j++) {\n row[j] = defaultPixelValue;\n }\n }\n\n regionBitmap.push(row);\n }\n\n var numberOfPatterns = patterns.length;\n var pattern0 = patterns[0];\n var patternWidth = pattern0[0].length,\n patternHeight = pattern0.length;\n var bitsPerValue = (0, _util.log2)(numberOfPatterns);\n var at = [];\n\n if (!mmr) {\n at.push({\n x: template <= 1 ? 3 : 2,\n y: -1\n });\n\n if (template === 0) {\n at.push({\n x: -3,\n y: -1\n });\n at.push({\n x: 2,\n y: -2\n });\n at.push({\n x: -2,\n y: -2\n });\n }\n }\n\n var grayScaleBitPlanes = [],\n mmrInput,\n bitmap;\n\n if (mmr) {\n mmrInput = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);\n }\n\n for (i = bitsPerValue - 1; i >= 0; i--) {\n if (mmr) {\n bitmap = decodeMMRBitmap(mmrInput, gridWidth, gridHeight, true);\n } else {\n bitmap = decodeBitmap(false, gridWidth, gridHeight, template, false, skip, at, decodingContext);\n }\n\n grayScaleBitPlanes[i] = bitmap;\n }\n\n var mg, ng, bit, patternIndex, patternBitmap, x, y, patternRow, regionRow;\n\n for (mg = 0; mg < gridHeight; mg++) {\n for (ng = 0; ng < gridWidth; ng++) {\n bit = 0;\n patternIndex = 0;\n\n for (j = bitsPerValue - 1; j >= 0; j--) {\n bit = grayScaleBitPlanes[j][mg][ng] ^ bit;\n patternIndex |= bit << j;\n }\n\n patternBitmap = patterns[patternIndex];\n x = gridOffsetX + mg * gridVectorY + ng * gridVectorX >> 8;\n y = gridOffsetY + mg * gridVectorX - ng * gridVectorY >> 8;\n\n if (x >= 0 && x + patternWidth <= regionWidth && y >= 0 && y + patternHeight <= regionHeight) {\n for (i = 0; i < patternHeight; i++) {\n regionRow = regionBitmap[y + i];\n patternRow = patternBitmap[i];\n\n for (j = 0; j < patternWidth; j++) {\n regionRow[x + j] |= patternRow[j];\n }\n }\n } else {\n var regionX = void 0,\n regionY = void 0;\n\n for (i = 0; i < patternHeight; i++) {\n regionY = y + i;\n\n if (regionY < 0 || regionY >= regionHeight) {\n continue;\n }\n\n regionRow = regionBitmap[regionY];\n patternRow = patternBitmap[i];\n\n for (j = 0; j < patternWidth; j++) {\n regionX = x + j;\n\n if (regionX >= 0 && regionX < regionWidth) {\n regionRow[regionX] |= patternRow[j];\n }\n }\n }\n }\n }\n }\n\n return regionBitmap;\n }\n\n function readSegmentHeader(data, start) {\n var segmentHeader = {};\n segmentHeader.number = (0, _util.readUint32)(data, start);\n var flags = data[start + 4];\n var segmentType = flags & 0x3F;\n\n if (!SegmentTypes[segmentType]) {\n throw new Jbig2Error('invalid segment type: ' + segmentType);\n }\n\n segmentHeader.type = segmentType;\n segmentHeader.typeName = SegmentTypes[segmentType];\n segmentHeader.deferredNonRetain = !!(flags & 0x80);\n var pageAssociationFieldSize = !!(flags & 0x40);\n var referredFlags = data[start + 5];\n var referredToCount = referredFlags >> 5 & 7;\n var retainBits = [referredFlags & 31];\n var position = start + 6;\n\n if (referredFlags === 7) {\n referredToCount = (0, _util.readUint32)(data, position - 1) & 0x1FFFFFFF;\n position += 3;\n var bytes = referredToCount + 7 >> 3;\n retainBits[0] = data[position++];\n\n while (--bytes > 0) {\n retainBits.push(data[position++]);\n }\n } else if (referredFlags === 5 || referredFlags === 6) {\n throw new Jbig2Error('invalid referred-to flags');\n }\n\n segmentHeader.retainBits = retainBits;\n var referredToSegmentNumberSize = segmentHeader.number <= 256 ? 1 : segmentHeader.number <= 65536 ? 2 : 4;\n var referredTo = [];\n var i, ii;\n\n for (i = 0; i < referredToCount; i++) {\n var number = referredToSegmentNumberSize === 1 ? data[position] : referredToSegmentNumberSize === 2 ? (0, _util.readUint16)(data, position) : (0, _util.readUint32)(data, position);\n referredTo.push(number);\n position += referredToSegmentNumberSize;\n }\n\n segmentHeader.referredTo = referredTo;\n\n if (!pageAssociationFieldSize) {\n segmentHeader.pageAssociation = data[position++];\n } else {\n segmentHeader.pageAssociation = (0, _util.readUint32)(data, position);\n position += 4;\n }\n\n segmentHeader.length = (0, _util.readUint32)(data, position);\n position += 4;\n\n if (segmentHeader.length === 0xFFFFFFFF) {\n if (segmentType === 38) {\n var genericRegionInfo = readRegionSegmentInformation(data, position);\n var genericRegionSegmentFlags = data[position + RegionSegmentInformationFieldLength];\n var genericRegionMmr = !!(genericRegionSegmentFlags & 1);\n var searchPatternLength = 6;\n var searchPattern = new Uint8Array(searchPatternLength);\n\n if (!genericRegionMmr) {\n searchPattern[0] = 0xFF;\n searchPattern[1] = 0xAC;\n }\n\n searchPattern[2] = genericRegionInfo.height >>> 24 & 0xFF;\n searchPattern[3] = genericRegionInfo.height >> 16 & 0xFF;\n searchPattern[4] = genericRegionInfo.height >> 8 & 0xFF;\n searchPattern[5] = genericRegionInfo.height & 0xFF;\n\n for (i = position, ii = data.length; i < ii; i++) {\n var j = 0;\n\n while (j < searchPatternLength && searchPattern[j] === data[i + j]) {\n j++;\n }\n\n if (j === searchPatternLength) {\n segmentHeader.length = i + searchPatternLength;\n break;\n }\n }\n\n if (segmentHeader.length === 0xFFFFFFFF) {\n throw new Jbig2Error('segment end was not found');\n }\n } else {\n throw new Jbig2Error('invalid unknown segment length');\n }\n }\n\n segmentHeader.headerEnd = position;\n return segmentHeader;\n }\n\n function readSegments(header, data, start, end) {\n var segments = [];\n var position = start;\n\n while (position < end) {\n var segmentHeader = readSegmentHeader(data, position);\n position = segmentHeader.headerEnd;\n var segment = {\n header: segmentHeader,\n data: data\n };\n\n if (!header.randomAccess) {\n segment.start = position;\n position += segmentHeader.length;\n segment.end = position;\n }\n\n segments.push(segment);\n\n if (segmentHeader.type === 51) {\n break;\n }\n }\n\n if (header.randomAccess) {\n for (var i = 0, ii = segments.length; i < ii; i++) {\n segments[i].start = position;\n position += segments[i].header.length;\n segments[i].end = position;\n }\n }\n\n return segments;\n }\n\n function readRegionSegmentInformation(data, start) {\n return {\n width: (0, _util.readUint32)(data, start),\n height: (0, _util.readUint32)(data, start + 4),\n x: (0, _util.readUint32)(data, start + 8),\n y: (0, _util.readUint32)(data, start + 12),\n combinationOperator: data[start + 16] & 7\n };\n }\n\n var RegionSegmentInformationFieldLength = 17;\n\n function processSegment(segment, visitor) {\n var header = segment.header;\n var data = segment.data,\n position = segment.start,\n end = segment.end;\n var args, at, i, atLength;\n\n switch (header.type) {\n case 0:\n var dictionary = {};\n var dictionaryFlags = (0, _util.readUint16)(data, position);\n dictionary.huffman = !!(dictionaryFlags & 1);\n dictionary.refinement = !!(dictionaryFlags & 2);\n dictionary.huffmanDHSelector = dictionaryFlags >> 2 & 3;\n dictionary.huffmanDWSelector = dictionaryFlags >> 4 & 3;\n dictionary.bitmapSizeSelector = dictionaryFlags >> 6 & 1;\n dictionary.aggregationInstancesSelector = dictionaryFlags >> 7 & 1;\n dictionary.bitmapCodingContextUsed = !!(dictionaryFlags & 256);\n dictionary.bitmapCodingContextRetained = !!(dictionaryFlags & 512);\n dictionary.template = dictionaryFlags >> 10 & 3;\n dictionary.refinementTemplate = dictionaryFlags >> 12 & 1;\n position += 2;\n\n if (!dictionary.huffman) {\n atLength = dictionary.template === 0 ? 4 : 1;\n at = [];\n\n for (i = 0; i < atLength; i++) {\n at.push({\n x: (0, _util.readInt8)(data, position),\n y: (0, _util.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n dictionary.at = at;\n }\n\n if (dictionary.refinement && !dictionary.refinementTemplate) {\n at = [];\n\n for (i = 0; i < 2; i++) {\n at.push({\n x: (0, _util.readInt8)(data, position),\n y: (0, _util.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n dictionary.refinementAt = at;\n }\n\n dictionary.numberOfExportedSymbols = (0, _util.readUint32)(data, position);\n position += 4;\n dictionary.numberOfNewSymbols = (0, _util.readUint32)(data, position);\n position += 4;\n args = [dictionary, header.number, header.referredTo, data, position, end];\n break;\n\n case 6:\n case 7:\n var textRegion = {};\n textRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n var textRegionSegmentFlags = (0, _util.readUint16)(data, position);\n position += 2;\n textRegion.huffman = !!(textRegionSegmentFlags & 1);\n textRegion.refinement = !!(textRegionSegmentFlags & 2);\n textRegion.logStripSize = textRegionSegmentFlags >> 2 & 3;\n textRegion.stripSize = 1 << textRegion.logStripSize;\n textRegion.referenceCorner = textRegionSegmentFlags >> 4 & 3;\n textRegion.transposed = !!(textRegionSegmentFlags & 64);\n textRegion.combinationOperator = textRegionSegmentFlags >> 7 & 3;\n textRegion.defaultPixelValue = textRegionSegmentFlags >> 9 & 1;\n textRegion.dsOffset = textRegionSegmentFlags << 17 >> 27;\n textRegion.refinementTemplate = textRegionSegmentFlags >> 15 & 1;\n\n if (textRegion.huffman) {\n var textRegionHuffmanFlags = (0, _util.readUint16)(data, position);\n position += 2;\n textRegion.huffmanFS = textRegionHuffmanFlags & 3;\n textRegion.huffmanDS = textRegionHuffmanFlags >> 2 & 3;\n textRegion.huffmanDT = textRegionHuffmanFlags >> 4 & 3;\n textRegion.huffmanRefinementDW = textRegionHuffmanFlags >> 6 & 3;\n textRegion.huffmanRefinementDH = textRegionHuffmanFlags >> 8 & 3;\n textRegion.huffmanRefinementDX = textRegionHuffmanFlags >> 10 & 3;\n textRegion.huffmanRefinementDY = textRegionHuffmanFlags >> 12 & 3;\n textRegion.huffmanRefinementSizeSelector = !!(textRegionHuffmanFlags & 0x4000);\n }\n\n if (textRegion.refinement && !textRegion.refinementTemplate) {\n at = [];\n\n for (i = 0; i < 2; i++) {\n at.push({\n x: (0, _util.readInt8)(data, position),\n y: (0, _util.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n textRegion.refinementAt = at;\n }\n\n textRegion.numberOfSymbolInstances = (0, _util.readUint32)(data, position);\n position += 4;\n args = [textRegion, header.referredTo, data, position, end];\n break;\n\n case 16:\n var patternDictionary = {};\n var patternDictionaryFlags = data[position++];\n patternDictionary.mmr = !!(patternDictionaryFlags & 1);\n patternDictionary.template = patternDictionaryFlags >> 1 & 3;\n patternDictionary.patternWidth = data[position++];\n patternDictionary.patternHeight = data[position++];\n patternDictionary.maxPatternIndex = (0, _util.readUint32)(data, position);\n position += 4;\n args = [patternDictionary, header.number, data, position, end];\n break;\n\n case 22:\n case 23:\n var halftoneRegion = {};\n halftoneRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n var halftoneRegionFlags = data[position++];\n halftoneRegion.mmr = !!(halftoneRegionFlags & 1);\n halftoneRegion.template = halftoneRegionFlags >> 1 & 3;\n halftoneRegion.enableSkip = !!(halftoneRegionFlags & 8);\n halftoneRegion.combinationOperator = halftoneRegionFlags >> 4 & 7;\n halftoneRegion.defaultPixelValue = halftoneRegionFlags >> 7 & 1;\n halftoneRegion.gridWidth = (0, _util.readUint32)(data, position);\n position += 4;\n halftoneRegion.gridHeight = (0, _util.readUint32)(data, position);\n position += 4;\n halftoneRegion.gridOffsetX = (0, _util.readUint32)(data, position) & 0xFFFFFFFF;\n position += 4;\n halftoneRegion.gridOffsetY = (0, _util.readUint32)(data, position) & 0xFFFFFFFF;\n position += 4;\n halftoneRegion.gridVectorX = (0, _util.readUint16)(data, position);\n position += 2;\n halftoneRegion.gridVectorY = (0, _util.readUint16)(data, position);\n position += 2;\n args = [halftoneRegion, header.referredTo, data, position, end];\n break;\n\n case 38:\n case 39:\n var genericRegion = {};\n genericRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n var genericRegionSegmentFlags = data[position++];\n genericRegion.mmr = !!(genericRegionSegmentFlags & 1);\n genericRegion.template = genericRegionSegmentFlags >> 1 & 3;\n genericRegion.prediction = !!(genericRegionSegmentFlags & 8);\n\n if (!genericRegion.mmr) {\n atLength = genericRegion.template === 0 ? 4 : 1;\n at = [];\n\n for (i = 0; i < atLength; i++) {\n at.push({\n x: (0, _util.readInt8)(data, position),\n y: (0, _util.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n genericRegion.at = at;\n }\n\n args = [genericRegion, data, position, end];\n break;\n\n case 48:\n var pageInfo = {\n width: (0, _util.readUint32)(data, position),\n height: (0, _util.readUint32)(data, position + 4),\n resolutionX: (0, _util.readUint32)(data, position + 8),\n resolutionY: (0, _util.readUint32)(data, position + 12)\n };\n\n if (pageInfo.height === 0xFFFFFFFF) {\n delete pageInfo.height;\n }\n\n var pageSegmentFlags = data[position + 16];\n (0, _util.readUint16)(data, position + 17);\n pageInfo.lossless = !!(pageSegmentFlags & 1);\n pageInfo.refinement = !!(pageSegmentFlags & 2);\n pageInfo.defaultPixelValue = pageSegmentFlags >> 2 & 1;\n pageInfo.combinationOperator = pageSegmentFlags >> 3 & 3;\n pageInfo.requiresBuffer = !!(pageSegmentFlags & 32);\n pageInfo.combinationOperatorOverride = !!(pageSegmentFlags & 64);\n args = [pageInfo];\n break;\n\n case 49:\n break;\n\n case 50:\n break;\n\n case 51:\n break;\n\n case 53:\n args = [header.number, data, position, end];\n break;\n\n case 62:\n break;\n\n default:\n throw new Jbig2Error(\"segment type \".concat(header.typeName, \"(\").concat(header.type, \")\") + ' is not implemented');\n }\n\n var callbackName = 'on' + header.typeName;\n\n if (callbackName in visitor) {\n visitor[callbackName].apply(visitor, args);\n }\n }\n\n function processSegments(segments, visitor) {\n for (var i = 0, ii = segments.length; i < ii; i++) {\n processSegment(segments[i], visitor);\n }\n }\n\n function parseJbig2Chunks(chunks) {\n var visitor = new SimpleSegmentVisitor();\n\n for (var i = 0, ii = chunks.length; i < ii; i++) {\n var chunk = chunks[i];\n var segments = readSegments({}, chunk.data, chunk.start, chunk.end);\n processSegments(segments, visitor);\n }\n\n return visitor.buffer;\n }\n\n function parseJbig2(data) {\n var position = 0,\n end = data.length;\n\n if (data[position] !== 0x97 || data[position + 1] !== 0x4A || data[position + 2] !== 0x42 || data[position + 3] !== 0x32 || data[position + 4] !== 0x0D || data[position + 5] !== 0x0A || data[position + 6] !== 0x1A || data[position + 7] !== 0x0A) {\n throw new Jbig2Error('parseJbig2 - invalid header.');\n }\n\n var header = Object.create(null);\n position += 8;\n var flags = data[position++];\n header.randomAccess = !(flags & 1);\n\n if (!(flags & 2)) {\n header.numberOfPages = (0, _util.readUint32)(data, position);\n position += 4;\n }\n\n var segments = readSegments(header, data, position, end);\n var visitor = new SimpleSegmentVisitor();\n processSegments(segments, visitor);\n var _visitor$currentPageI = visitor.currentPageInfo,\n width = _visitor$currentPageI.width,\n height = _visitor$currentPageI.height;\n var bitPacked = visitor.buffer;\n var imgData = new Uint8ClampedArray(width * height);\n var q = 0,\n k = 0;\n\n for (var i = 0; i < height; i++) {\n var mask = 0,\n buffer = void 0;\n\n for (var j = 0; j < width; j++) {\n if (!mask) {\n mask = 128;\n buffer = bitPacked[k++];\n }\n\n imgData[q++] = buffer & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n return {\n imgData: imgData,\n width: width,\n height: height\n };\n }\n\n function SimpleSegmentVisitor() {}\n\n SimpleSegmentVisitor.prototype = {\n onPageInformation: function SimpleSegmentVisitor_onPageInformation(info) {\n this.currentPageInfo = info;\n var rowSize = info.width + 7 >> 3;\n var buffer = new Uint8ClampedArray(rowSize * info.height);\n\n if (info.defaultPixelValue) {\n for (var i = 0, ii = buffer.length; i < ii; i++) {\n buffer[i] = 0xFF;\n }\n }\n\n this.buffer = buffer;\n },\n drawBitmap: function SimpleSegmentVisitor_drawBitmap(regionInfo, bitmap) {\n var pageInfo = this.currentPageInfo;\n var width = regionInfo.width,\n height = regionInfo.height;\n var rowSize = pageInfo.width + 7 >> 3;\n var combinationOperator = pageInfo.combinationOperatorOverride ? regionInfo.combinationOperator : pageInfo.combinationOperator;\n var buffer = this.buffer;\n var mask0 = 128 >> (regionInfo.x & 7);\n var offset0 = regionInfo.y * rowSize + (regionInfo.x >> 3);\n var i, j, mask, offset;\n\n switch (combinationOperator) {\n case 0:\n for (i = 0; i < height; i++) {\n mask = mask0;\n offset = offset0;\n\n for (j = 0; j < width; j++) {\n if (bitmap[i][j]) {\n buffer[offset] |= mask;\n }\n\n mask >>= 1;\n\n if (!mask) {\n mask = 128;\n offset++;\n }\n }\n\n offset0 += rowSize;\n }\n\n break;\n\n case 2:\n for (i = 0; i < height; i++) {\n mask = mask0;\n offset = offset0;\n\n for (j = 0; j < width; j++) {\n if (bitmap[i][j]) {\n buffer[offset] ^= mask;\n }\n\n mask >>= 1;\n\n if (!mask) {\n mask = 128;\n offset++;\n }\n }\n\n offset0 += rowSize;\n }\n\n break;\n\n default:\n throw new Jbig2Error(\"operator \".concat(combinationOperator, \" is not supported\"));\n }\n },\n onImmediateGenericRegion: function SimpleSegmentVisitor_onImmediateGenericRegion(region, data, start, end) {\n var regionInfo = region.info;\n var decodingContext = new DecodingContext(data, start, end);\n var bitmap = decodeBitmap(region.mmr, regionInfo.width, regionInfo.height, region.template, region.prediction, null, region.at, decodingContext);\n this.drawBitmap(regionInfo, bitmap);\n },\n onImmediateLosslessGenericRegion: function SimpleSegmentVisitor_onImmediateLosslessGenericRegion() {\n this.onImmediateGenericRegion.apply(this, arguments);\n },\n onSymbolDictionary: function SimpleSegmentVisitor_onSymbolDictionary(dictionary, currentSegment, referredSegments, data, start, end) {\n var huffmanTables, huffmanInput;\n\n if (dictionary.huffman) {\n huffmanTables = getSymbolDictionaryHuffmanTables(dictionary, referredSegments, this.customTables);\n huffmanInput = new Reader(data, start, end);\n }\n\n var symbols = this.symbols;\n\n if (!symbols) {\n this.symbols = symbols = {};\n }\n\n var inputSymbols = [];\n\n for (var i = 0, ii = referredSegments.length; i < ii; i++) {\n var referredSymbols = symbols[referredSegments[i]];\n\n if (referredSymbols) {\n inputSymbols = inputSymbols.concat(referredSymbols);\n }\n }\n\n var decodingContext = new DecodingContext(data, start, end);\n symbols[currentSegment] = decodeSymbolDictionary(dictionary.huffman, dictionary.refinement, inputSymbols, dictionary.numberOfNewSymbols, dictionary.numberOfExportedSymbols, huffmanTables, dictionary.template, dictionary.at, dictionary.refinementTemplate, dictionary.refinementAt, decodingContext, huffmanInput);\n },\n onImmediateTextRegion: function SimpleSegmentVisitor_onImmediateTextRegion(region, referredSegments, data, start, end) {\n var regionInfo = region.info;\n var huffmanTables, huffmanInput;\n var symbols = this.symbols;\n var inputSymbols = [];\n\n for (var i = 0, ii = referredSegments.length; i < ii; i++) {\n var referredSymbols = symbols[referredSegments[i]];\n\n if (referredSymbols) {\n inputSymbols = inputSymbols.concat(referredSymbols);\n }\n }\n\n var symbolCodeLength = (0, _util.log2)(inputSymbols.length);\n\n if (region.huffman) {\n huffmanInput = new Reader(data, start, end);\n huffmanTables = getTextRegionHuffmanTables(region, referredSegments, this.customTables, inputSymbols.length, huffmanInput);\n }\n\n var decodingContext = new DecodingContext(data, start, end);\n var bitmap = decodeTextRegion(region.huffman, region.refinement, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.numberOfSymbolInstances, region.stripSize, inputSymbols, symbolCodeLength, region.transposed, region.dsOffset, region.referenceCorner, region.combinationOperator, huffmanTables, region.refinementTemplate, region.refinementAt, decodingContext, region.logStripSize, huffmanInput);\n this.drawBitmap(regionInfo, bitmap);\n },\n onImmediateLosslessTextRegion: function SimpleSegmentVisitor_onImmediateLosslessTextRegion() {\n this.onImmediateTextRegion.apply(this, arguments);\n },\n onPatternDictionary: function onPatternDictionary(dictionary, currentSegment, data, start, end) {\n var patterns = this.patterns;\n\n if (!patterns) {\n this.patterns = patterns = {};\n }\n\n var decodingContext = new DecodingContext(data, start, end);\n patterns[currentSegment] = decodePatternDictionary(dictionary.mmr, dictionary.patternWidth, dictionary.patternHeight, dictionary.maxPatternIndex, dictionary.template, decodingContext);\n },\n onImmediateHalftoneRegion: function onImmediateHalftoneRegion(region, referredSegments, data, start, end) {\n var patterns = this.patterns[referredSegments[0]];\n var regionInfo = region.info;\n var decodingContext = new DecodingContext(data, start, end);\n var bitmap = decodeHalftoneRegion(region.mmr, patterns, region.template, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.enableSkip, region.combinationOperator, region.gridWidth, region.gridHeight, region.gridOffsetX, region.gridOffsetY, region.gridVectorX, region.gridVectorY, decodingContext);\n this.drawBitmap(regionInfo, bitmap);\n },\n onImmediateLosslessHalftoneRegion: function onImmediateLosslessHalftoneRegion() {\n this.onImmediateHalftoneRegion.apply(this, arguments);\n },\n onTables: function onTables(currentSegment, data, start, end) {\n var customTables = this.customTables;\n\n if (!customTables) {\n this.customTables = customTables = {};\n }\n\n customTables[currentSegment] = decodeTablesSegment(data, start, end);\n }\n };\n\n function HuffmanLine(lineData) {\n if (lineData.length === 2) {\n this.isOOB = true;\n this.rangeLow = 0;\n this.prefixLength = lineData[0];\n this.rangeLength = 0;\n this.prefixCode = lineData[1];\n this.isLowerRange = false;\n } else {\n this.isOOB = false;\n this.rangeLow = lineData[0];\n this.prefixLength = lineData[1];\n this.rangeLength = lineData[2];\n this.prefixCode = lineData[3];\n this.isLowerRange = lineData[4] === 'lower';\n }\n }\n\n function HuffmanTreeNode(line) {\n this.children = [];\n\n if (line) {\n this.isLeaf = true;\n this.rangeLength = line.rangeLength;\n this.rangeLow = line.rangeLow;\n this.isLowerRange = line.isLowerRange;\n this.isOOB = line.isOOB;\n } else {\n this.isLeaf = false;\n }\n }\n\n HuffmanTreeNode.prototype = {\n buildTree: function buildTree(line, shift) {\n var bit = line.prefixCode >> shift & 1;\n\n if (shift <= 0) {\n this.children[bit] = new HuffmanTreeNode(line);\n } else {\n var node = this.children[bit];\n\n if (!node) {\n this.children[bit] = node = new HuffmanTreeNode(null);\n }\n\n node.buildTree(line, shift - 1);\n }\n },\n decodeNode: function decodeNode(reader) {\n if (this.isLeaf) {\n if (this.isOOB) {\n return null;\n }\n\n var htOffset = reader.readBits(this.rangeLength);\n return this.rangeLow + (this.isLowerRange ? -htOffset : htOffset);\n }\n\n var node = this.children[reader.readBit()];\n\n if (!node) {\n throw new Jbig2Error('invalid Huffman data');\n }\n\n return node.decodeNode(reader);\n }\n };\n\n function HuffmanTable(lines, prefixCodesDone) {\n if (!prefixCodesDone) {\n this.assignPrefixCodes(lines);\n }\n\n this.rootNode = new HuffmanTreeNode(null);\n var i,\n ii = lines.length,\n line;\n\n for (i = 0; i < ii; i++) {\n line = lines[i];\n\n if (line.prefixLength > 0) {\n this.rootNode.buildTree(line, line.prefixLength - 1);\n }\n }\n }\n\n HuffmanTable.prototype = {\n decode: function decode(reader) {\n return this.rootNode.decodeNode(reader);\n },\n assignPrefixCodes: function assignPrefixCodes(lines) {\n var linesLength = lines.length,\n prefixLengthMax = 0,\n i;\n\n for (i = 0; i < linesLength; i++) {\n prefixLengthMax = Math.max(prefixLengthMax, lines[i].prefixLength);\n }\n\n var histogram = new Uint32Array(prefixLengthMax + 1);\n\n for (i = 0; i < linesLength; i++) {\n histogram[lines[i].prefixLength]++;\n }\n\n var currentLength = 1,\n firstCode = 0,\n currentCode,\n currentTemp,\n line;\n histogram[0] = 0;\n\n while (currentLength <= prefixLengthMax) {\n firstCode = firstCode + histogram[currentLength - 1] << 1;\n currentCode = firstCode;\n currentTemp = 0;\n\n while (currentTemp < linesLength) {\n line = lines[currentTemp];\n\n if (line.prefixLength === currentLength) {\n line.prefixCode = currentCode;\n currentCode++;\n }\n\n currentTemp++;\n }\n\n currentLength++;\n }\n }\n };\n\n function decodeTablesSegment(data, start, end) {\n var flags = data[start];\n var lowestValue = (0, _util.readUint32)(data, start + 1) & 0xFFFFFFFF;\n var highestValue = (0, _util.readUint32)(data, start + 5) & 0xFFFFFFFF;\n var reader = new Reader(data, start + 9, end);\n var prefixSizeBits = (flags >> 1 & 7) + 1;\n var rangeSizeBits = (flags >> 4 & 7) + 1;\n var lines = [];\n var prefixLength,\n rangeLength,\n currentRangeLow = lowestValue;\n\n do {\n prefixLength = reader.readBits(prefixSizeBits);\n rangeLength = reader.readBits(rangeSizeBits);\n lines.push(new HuffmanLine([currentRangeLow, prefixLength, rangeLength, 0]));\n currentRangeLow += 1 << rangeLength;\n } while (currentRangeLow < highestValue);\n\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([lowestValue - 1, prefixLength, 32, 0, 'lower']));\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([highestValue, prefixLength, 32, 0]));\n\n if (flags & 1) {\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([prefixLength, 0]));\n }\n\n return new HuffmanTable(lines, false);\n }\n\n var standardTablesCache = {};\n\n function getStandardTable(number) {\n var table = standardTablesCache[number];\n\n if (table) {\n return table;\n }\n\n var lines;\n\n switch (number) {\n case 1:\n lines = [[0, 1, 4, 0x0], [16, 2, 8, 0x2], [272, 3, 16, 0x6], [65808, 3, 32, 0x7]];\n break;\n\n case 2:\n lines = [[0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xE], [11, 5, 6, 0x1E], [75, 6, 32, 0x3E], [6, 0x3F]];\n break;\n\n case 3:\n lines = [[-256, 8, 8, 0xFE], [0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xE], [11, 5, 6, 0x1E], [-257, 8, 32, 0xFF, 'lower'], [75, 7, 32, 0x7E], [6, 0x3E]];\n break;\n\n case 4:\n lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xE], [12, 5, 6, 0x1E], [76, 5, 32, 0x1F]];\n break;\n\n case 5:\n lines = [[-255, 7, 8, 0x7E], [1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xE], [12, 5, 6, 0x1E], [-256, 7, 32, 0x7F, 'lower'], [76, 6, 32, 0x3E]];\n break;\n\n case 6:\n lines = [[-2048, 5, 10, 0x1C], [-1024, 4, 9, 0x8], [-512, 4, 8, 0x9], [-256, 4, 7, 0xA], [-128, 5, 6, 0x1D], [-64, 5, 5, 0x1E], [-32, 4, 5, 0xB], [0, 2, 7, 0x0], [128, 3, 7, 0x2], [256, 3, 8, 0x3], [512, 4, 9, 0xC], [1024, 4, 10, 0xD], [-2049, 6, 32, 0x3E, 'lower'], [2048, 6, 32, 0x3F]];\n break;\n\n case 7:\n lines = [[-1024, 4, 9, 0x8], [-512, 3, 8, 0x0], [-256, 4, 7, 0x9], [-128, 5, 6, 0x1A], [-64, 5, 5, 0x1B], [-32, 4, 5, 0xA], [0, 4, 5, 0xB], [32, 5, 5, 0x1C], [64, 5, 6, 0x1D], [128, 4, 7, 0xC], [256, 3, 8, 0x1], [512, 3, 9, 0x2], [1024, 3, 10, 0x3], [-1025, 5, 32, 0x1E, 'lower'], [2048, 5, 32, 0x1F]];\n break;\n\n case 8:\n lines = [[-15, 8, 3, 0xFC], [-7, 9, 1, 0x1FC], [-5, 8, 1, 0xFD], [-3, 9, 0, 0x1FD], [-2, 7, 0, 0x7C], [-1, 4, 0, 0xA], [0, 2, 1, 0x0], [2, 5, 0, 0x1A], [3, 6, 0, 0x3A], [4, 3, 4, 0x4], [20, 6, 1, 0x3B], [22, 4, 4, 0xB], [38, 4, 5, 0xC], [70, 5, 6, 0x1B], [134, 5, 7, 0x1C], [262, 6, 7, 0x3C], [390, 7, 8, 0x7D], [646, 6, 10, 0x3D], [-16, 9, 32, 0x1FE, 'lower'], [1670, 9, 32, 0x1FF], [2, 0x1]];\n break;\n\n case 9:\n lines = [[-31, 8, 4, 0xFC], [-15, 9, 2, 0x1FC], [-11, 8, 2, 0xFD], [-7, 9, 1, 0x1FD], [-5, 7, 1, 0x7C], [-3, 4, 1, 0xA], [-1, 3, 1, 0x2], [1, 3, 1, 0x3], [3, 5, 1, 0x1A], [5, 6, 1, 0x3A], [7, 3, 5, 0x4], [39, 6, 2, 0x3B], [43, 4, 5, 0xB], [75, 4, 6, 0xC], [139, 5, 7, 0x1B], [267, 5, 8, 0x1C], [523, 6, 8, 0x3C], [779, 7, 9, 0x7D], [1291, 6, 11, 0x3D], [-32, 9, 32, 0x1FE, 'lower'], [3339, 9, 32, 0x1FF], [2, 0x0]];\n break;\n\n case 10:\n lines = [[-21, 7, 4, 0x7A], [-5, 8, 0, 0xFC], [-4, 7, 0, 0x7B], [-3, 5, 0, 0x18], [-2, 2, 2, 0x0], [2, 5, 0, 0x19], [3, 6, 0, 0x36], [4, 7, 0, 0x7C], [5, 8, 0, 0xFD], [6, 2, 6, 0x1], [70, 5, 5, 0x1A], [102, 6, 5, 0x37], [134, 6, 6, 0x38], [198, 6, 7, 0x39], [326, 6, 8, 0x3A], [582, 6, 9, 0x3B], [1094, 6, 10, 0x3C], [2118, 7, 11, 0x7D], [-22, 8, 32, 0xFE, 'lower'], [4166, 8, 32, 0xFF], [2, 0x2]];\n break;\n\n case 11:\n lines = [[1, 1, 0, 0x0], [2, 2, 1, 0x2], [4, 4, 0, 0xC], [5, 4, 1, 0xD], [7, 5, 1, 0x1C], [9, 5, 2, 0x1D], [13, 6, 2, 0x3C], [17, 7, 2, 0x7A], [21, 7, 3, 0x7B], [29, 7, 4, 0x7C], [45, 7, 5, 0x7D], [77, 7, 6, 0x7E], [141, 7, 32, 0x7F]];\n break;\n\n case 12:\n lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 1, 0x6], [5, 5, 0, 0x1C], [6, 5, 1, 0x1D], [8, 6, 1, 0x3C], [10, 7, 0, 0x7A], [11, 7, 1, 0x7B], [13, 7, 2, 0x7C], [17, 7, 3, 0x7D], [25, 7, 4, 0x7E], [41, 8, 5, 0xFE], [73, 8, 32, 0xFF]];\n break;\n\n case 13:\n lines = [[1, 1, 0, 0x0], [2, 3, 0, 0x4], [3, 4, 0, 0xC], [4, 5, 0, 0x1C], [5, 4, 1, 0xD], [7, 3, 3, 0x5], [15, 6, 1, 0x3A], [17, 6, 2, 0x3B], [21, 6, 3, 0x3C], [29, 6, 4, 0x3D], [45, 6, 5, 0x3E], [77, 7, 6, 0x7E], [141, 7, 32, 0x7F]];\n break;\n\n case 14:\n lines = [[-2, 3, 0, 0x4], [-1, 3, 0, 0x5], [0, 1, 0, 0x0], [1, 3, 0, 0x6], [2, 3, 0, 0x7]];\n break;\n\n case 15:\n lines = [[-24, 7, 4, 0x7C], [-8, 6, 2, 0x3C], [-4, 5, 1, 0x1C], [-2, 4, 0, 0xC], [-1, 3, 0, 0x4], [0, 1, 0, 0x0], [1, 3, 0, 0x5], [2, 4, 0, 0xD], [3, 5, 1, 0x1D], [5, 6, 2, 0x3D], [9, 7, 4, 0x7D], [-25, 7, 32, 0x7E, 'lower'], [25, 7, 32, 0x7F]];\n break;\n\n default:\n throw new Jbig2Error(\"standard table B.\".concat(number, \" does not exist\"));\n }\n\n var length = lines.length,\n i;\n\n for (i = 0; i < length; i++) {\n lines[i] = new HuffmanLine(lines[i]);\n }\n\n table = new HuffmanTable(lines, true);\n standardTablesCache[number] = table;\n return table;\n }\n\n function Reader(data, start, end) {\n this.data = data;\n this.start = start;\n this.end = end;\n this.position = start;\n this.shift = -1;\n this.currentByte = 0;\n }\n\n Reader.prototype = {\n readBit: function readBit() {\n if (this.shift < 0) {\n if (this.position >= this.end) {\n throw new Jbig2Error('end of data while reading bit');\n }\n\n this.currentByte = this.data[this.position++];\n this.shift = 7;\n }\n\n var bit = this.currentByte >> this.shift & 1;\n this.shift--;\n return bit;\n },\n readBits: function readBits(numBits) {\n var result = 0,\n i;\n\n for (i = numBits - 1; i >= 0; i--) {\n result |= this.readBit() << i;\n }\n\n return result;\n },\n byteAlign: function byteAlign() {\n this.shift = -1;\n },\n next: function next() {\n if (this.position >= this.end) {\n return -1;\n }\n\n return this.data[this.position++];\n }\n };\n\n function getCustomHuffmanTable(index, referredTo, customTables) {\n var currentIndex = 0,\n i,\n ii = referredTo.length,\n table;\n\n for (i = 0; i < ii; i++) {\n table = customTables[referredTo[i]];\n\n if (table) {\n if (index === currentIndex) {\n return table;\n }\n\n currentIndex++;\n }\n }\n\n throw new Jbig2Error('can\\'t find custom Huffman table');\n }\n\n function getTextRegionHuffmanTables(textRegion, referredTo, customTables, numberOfSymbols, reader) {\n var codes = [],\n i,\n codeLength;\n\n for (i = 0; i <= 34; i++) {\n codeLength = reader.readBits(4);\n codes.push(new HuffmanLine([i, codeLength, 0, 0]));\n }\n\n var runCodesTable = new HuffmanTable(codes, false);\n codes.length = 0;\n\n for (i = 0; i < numberOfSymbols;) {\n codeLength = runCodesTable.decode(reader);\n\n if (codeLength >= 32) {\n var repeatedLength = void 0,\n numberOfRepeats = void 0,\n j = void 0;\n\n switch (codeLength) {\n case 32:\n if (i === 0) {\n throw new Jbig2Error('no previous value in symbol ID table');\n }\n\n numberOfRepeats = reader.readBits(2) + 3;\n repeatedLength = codes[i - 1].prefixLength;\n break;\n\n case 33:\n numberOfRepeats = reader.readBits(3) + 3;\n repeatedLength = 0;\n break;\n\n case 34:\n numberOfRepeats = reader.readBits(7) + 11;\n repeatedLength = 0;\n break;\n\n default:\n throw new Jbig2Error('invalid code length in symbol ID table');\n }\n\n for (j = 0; j < numberOfRepeats; j++) {\n codes.push(new HuffmanLine([i, repeatedLength, 0, 0]));\n i++;\n }\n } else {\n codes.push(new HuffmanLine([i, codeLength, 0, 0]));\n i++;\n }\n }\n\n reader.byteAlign();\n var symbolIDTable = new HuffmanTable(codes, false);\n var customIndex = 0,\n tableFirstS,\n tableDeltaS,\n tableDeltaT;\n\n switch (textRegion.huffmanFS) {\n case 0:\n case 1:\n tableFirstS = getStandardTable(textRegion.huffmanFS + 6);\n break;\n\n case 3:\n tableFirstS = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error('invalid Huffman FS selector');\n }\n\n switch (textRegion.huffmanDS) {\n case 0:\n case 1:\n case 2:\n tableDeltaS = getStandardTable(textRegion.huffmanDS + 8);\n break;\n\n case 3:\n tableDeltaS = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error('invalid Huffman DS selector');\n }\n\n switch (textRegion.huffmanDT) {\n case 0:\n case 1:\n case 2:\n tableDeltaT = getStandardTable(textRegion.huffmanDT + 11);\n break;\n\n case 3:\n tableDeltaT = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error('invalid Huffman DT selector');\n }\n\n if (textRegion.refinement) {\n throw new Jbig2Error('refinement with Huffman is not supported');\n }\n\n return {\n symbolIDTable: symbolIDTable,\n tableFirstS: tableFirstS,\n tableDeltaS: tableDeltaS,\n tableDeltaT: tableDeltaT\n };\n }\n\n function getSymbolDictionaryHuffmanTables(dictionary, referredTo, customTables) {\n var customIndex = 0,\n tableDeltaHeight,\n tableDeltaWidth;\n\n switch (dictionary.huffmanDHSelector) {\n case 0:\n case 1:\n tableDeltaHeight = getStandardTable(dictionary.huffmanDHSelector + 4);\n break;\n\n case 3:\n tableDeltaHeight = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error('invalid Huffman DH selector');\n }\n\n switch (dictionary.huffmanDWSelector) {\n case 0:\n case 1:\n tableDeltaWidth = getStandardTable(dictionary.huffmanDWSelector + 2);\n break;\n\n case 3:\n tableDeltaWidth = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error('invalid Huffman DW selector');\n }\n\n var tableBitmapSize, tableAggregateInstances;\n\n if (dictionary.bitmapSizeSelector) {\n tableBitmapSize = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n } else {\n tableBitmapSize = getStandardTable(1);\n }\n\n if (dictionary.aggregationInstancesSelector) {\n tableAggregateInstances = getCustomHuffmanTable(customIndex, referredTo, customTables);\n } else {\n tableAggregateInstances = getStandardTable(1);\n }\n\n return {\n tableDeltaHeight: tableDeltaHeight,\n tableDeltaWidth: tableDeltaWidth,\n tableBitmapSize: tableBitmapSize,\n tableAggregateInstances: tableAggregateInstances\n };\n }\n\n function readUncompressedBitmap(reader, width, height) {\n var bitmap = [],\n x,\n y,\n row;\n\n for (y = 0; y < height; y++) {\n row = new Uint8Array(width);\n bitmap.push(row);\n\n for (x = 0; x < width; x++) {\n row[x] = reader.readBit();\n }\n\n reader.byteAlign();\n }\n\n return bitmap;\n }\n\n function decodeMMRBitmap(input, width, height, endOfBlock) {\n var params = {\n K: -1,\n Columns: width,\n Rows: height,\n BlackIs1: true,\n EndOfBlock: endOfBlock\n };\n var decoder = new _ccitt.CCITTFaxDecoder(input, params);\n var bitmap = [],\n x,\n y,\n row,\n currentByte,\n shift,\n eof = false;\n\n for (y = 0; y < height; y++) {\n row = new Uint8Array(width);\n bitmap.push(row);\n shift = -1;\n\n for (x = 0; x < width; x++) {\n if (shift < 0) {\n currentByte = decoder.readNextChar();\n\n if (currentByte === -1) {\n currentByte = 0;\n eof = true;\n }\n\n shift = 7;\n }\n\n row[x] = currentByte >> shift & 1;\n shift--;\n }\n }\n\n if (endOfBlock && !eof) {\n var lookForEOFLimit = 5;\n\n for (var i = 0; i < lookForEOFLimit; i++) {\n if (decoder.readNextChar() === -1) {\n break;\n }\n }\n }\n\n return bitmap;\n }\n\n function Jbig2Image() {}\n\n Jbig2Image.prototype = {\n parseChunks: function parseChunks(chunks) {\n return parseJbig2Chunks(chunks);\n },\n parse: function parse(data) {\n var _parseJbig = parseJbig2(data),\n imgData = _parseJbig.imgData,\n width = _parseJbig.width,\n height = _parseJbig.height;\n\n this.width = width;\n this.height = height;\n return imgData;\n }\n };\n return Jbig2Image;\n}();\n\nexports.Jbig2Image = Jbig2Image;\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ArithmeticDecoder = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar QeTable = [{\n qe: 0x5601,\n nmps: 1,\n nlps: 1,\n switchFlag: 1\n}, {\n qe: 0x3401,\n nmps: 2,\n nlps: 6,\n switchFlag: 0\n}, {\n qe: 0x1801,\n nmps: 3,\n nlps: 9,\n switchFlag: 0\n}, {\n qe: 0x0AC1,\n nmps: 4,\n nlps: 12,\n switchFlag: 0\n}, {\n qe: 0x0521,\n nmps: 5,\n nlps: 29,\n switchFlag: 0\n}, {\n qe: 0x0221,\n nmps: 38,\n nlps: 33,\n switchFlag: 0\n}, {\n qe: 0x5601,\n nmps: 7,\n nlps: 6,\n switchFlag: 1\n}, {\n qe: 0x5401,\n nmps: 8,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x4801,\n nmps: 9,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x3801,\n nmps: 10,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x3001,\n nmps: 11,\n nlps: 17,\n switchFlag: 0\n}, {\n qe: 0x2401,\n nmps: 12,\n nlps: 18,\n switchFlag: 0\n}, {\n qe: 0x1C01,\n nmps: 13,\n nlps: 20,\n switchFlag: 0\n}, {\n qe: 0x1601,\n nmps: 29,\n nlps: 21,\n switchFlag: 0\n}, {\n qe: 0x5601,\n nmps: 15,\n nlps: 14,\n switchFlag: 1\n}, {\n qe: 0x5401,\n nmps: 16,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x5101,\n nmps: 17,\n nlps: 15,\n switchFlag: 0\n}, {\n qe: 0x4801,\n nmps: 18,\n nlps: 16,\n switchFlag: 0\n}, {\n qe: 0x3801,\n nmps: 19,\n nlps: 17,\n switchFlag: 0\n}, {\n qe: 0x3401,\n nmps: 20,\n nlps: 18,\n switchFlag: 0\n}, {\n qe: 0x3001,\n nmps: 21,\n nlps: 19,\n switchFlag: 0\n}, {\n qe: 0x2801,\n nmps: 22,\n nlps: 19,\n switchFlag: 0\n}, {\n qe: 0x2401,\n nmps: 23,\n nlps: 20,\n switchFlag: 0\n}, {\n qe: 0x2201,\n nmps: 24,\n nlps: 21,\n switchFlag: 0\n}, {\n qe: 0x1C01,\n nmps: 25,\n nlps: 22,\n switchFlag: 0\n}, {\n qe: 0x1801,\n nmps: 26,\n nlps: 23,\n switchFlag: 0\n}, {\n qe: 0x1601,\n nmps: 27,\n nlps: 24,\n switchFlag: 0\n}, {\n qe: 0x1401,\n nmps: 28,\n nlps: 25,\n switchFlag: 0\n}, {\n qe: 0x1201,\n nmps: 29,\n nlps: 26,\n switchFlag: 0\n}, {\n qe: 0x1101,\n nmps: 30,\n nlps: 27,\n switchFlag: 0\n}, {\n qe: 0x0AC1,\n nmps: 31,\n nlps: 28,\n switchFlag: 0\n}, {\n qe: 0x09C1,\n nmps: 32,\n nlps: 29,\n switchFlag: 0\n}, {\n qe: 0x08A1,\n nmps: 33,\n nlps: 30,\n switchFlag: 0\n}, {\n qe: 0x0521,\n nmps: 34,\n nlps: 31,\n switchFlag: 0\n}, {\n qe: 0x0441,\n nmps: 35,\n nlps: 32,\n switchFlag: 0\n}, {\n qe: 0x02A1,\n nmps: 36,\n nlps: 33,\n switchFlag: 0\n}, {\n qe: 0x0221,\n nmps: 37,\n nlps: 34,\n switchFlag: 0\n}, {\n qe: 0x0141,\n nmps: 38,\n nlps: 35,\n switchFlag: 0\n}, {\n qe: 0x0111,\n nmps: 39,\n nlps: 36,\n switchFlag: 0\n}, {\n qe: 0x0085,\n nmps: 40,\n nlps: 37,\n switchFlag: 0\n}, {\n qe: 0x0049,\n nmps: 41,\n nlps: 38,\n switchFlag: 0\n}, {\n qe: 0x0025,\n nmps: 42,\n nlps: 39,\n switchFlag: 0\n}, {\n qe: 0x0015,\n nmps: 43,\n nlps: 40,\n switchFlag: 0\n}, {\n qe: 0x0009,\n nmps: 44,\n nlps: 41,\n switchFlag: 0\n}, {\n qe: 0x0005,\n nmps: 45,\n nlps: 42,\n switchFlag: 0\n}, {\n qe: 0x0001,\n nmps: 45,\n nlps: 43,\n switchFlag: 0\n}, {\n qe: 0x5601,\n nmps: 46,\n nlps: 46,\n switchFlag: 0\n}];\n\nvar ArithmeticDecoder =\n/*#__PURE__*/\nfunction () {\n function ArithmeticDecoder(data, start, end) {\n _classCallCheck(this, ArithmeticDecoder);\n\n this.data = data;\n this.bp = start;\n this.dataEnd = end;\n this.chigh = data[start];\n this.clow = 0;\n this.byteIn();\n this.chigh = this.chigh << 7 & 0xFFFF | this.clow >> 9 & 0x7F;\n this.clow = this.clow << 7 & 0xFFFF;\n this.ct -= 7;\n this.a = 0x8000;\n }\n\n _createClass(ArithmeticDecoder, [{\n key: \"byteIn\",\n value: function byteIn() {\n var data = this.data;\n var bp = this.bp;\n\n if (data[bp] === 0xFF) {\n if (data[bp + 1] > 0x8F) {\n this.clow += 0xFF00;\n this.ct = 8;\n } else {\n bp++;\n this.clow += data[bp] << 9;\n this.ct = 7;\n this.bp = bp;\n }\n } else {\n bp++;\n this.clow += bp < this.dataEnd ? data[bp] << 8 : 0xFF00;\n this.ct = 8;\n this.bp = bp;\n }\n\n if (this.clow > 0xFFFF) {\n this.chigh += this.clow >> 16;\n this.clow &= 0xFFFF;\n }\n }\n }, {\n key: \"readBit\",\n value: function readBit(contexts, pos) {\n var cx_index = contexts[pos] >> 1,\n cx_mps = contexts[pos] & 1;\n var qeTableIcx = QeTable[cx_index];\n var qeIcx = qeTableIcx.qe;\n var d;\n var a = this.a - qeIcx;\n\n if (this.chigh < qeIcx) {\n if (a < qeIcx) {\n a = qeIcx;\n d = cx_mps;\n cx_index = qeTableIcx.nmps;\n } else {\n a = qeIcx;\n d = 1 ^ cx_mps;\n\n if (qeTableIcx.switchFlag === 1) {\n cx_mps = d;\n }\n\n cx_index = qeTableIcx.nlps;\n }\n } else {\n this.chigh -= qeIcx;\n\n if ((a & 0x8000) !== 0) {\n this.a = a;\n return cx_mps;\n }\n\n if (a < qeIcx) {\n d = 1 ^ cx_mps;\n\n if (qeTableIcx.switchFlag === 1) {\n cx_mps = d;\n }\n\n cx_index = qeTableIcx.nlps;\n } else {\n d = cx_mps;\n cx_index = qeTableIcx.nmps;\n }\n }\n\n do {\n if (this.ct === 0) {\n this.byteIn();\n }\n\n a <<= 1;\n this.chigh = this.chigh << 1 & 0xFFFF | this.clow >> 15 & 1;\n this.clow = this.clow << 1 & 0xFFFF;\n this.ct--;\n } while ((a & 0x8000) === 0);\n\n this.a = a;\n contexts[pos] = cx_index << 1 | cx_mps;\n return d;\n }\n }]);\n\n return ArithmeticDecoder;\n}();\n\nexports.ArithmeticDecoder = ArithmeticDecoder;\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JpegStream = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _stream = __w_pdfjs_require__(158);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _jpg = __w_pdfjs_require__(165);\n\nvar JpegStream = function JpegStreamClosure() {\n function JpegStream(stream, maybeLength, dict, params) {\n var ch;\n\n while ((ch = stream.getByte()) !== -1) {\n if (ch === 0xFF) {\n stream.skip(-1);\n break;\n }\n }\n\n this.stream = stream;\n this.maybeLength = maybeLength;\n this.dict = dict;\n this.params = params;\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n JpegStream.prototype = Object.create(_stream.DecodeStream.prototype);\n Object.defineProperty(JpegStream.prototype, 'bytes', {\n get: function JpegStream_bytes() {\n return (0, _util.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength));\n },\n configurable: true\n });\n\n JpegStream.prototype.ensureBuffer = function (requested) {};\n\n JpegStream.prototype.readBlock = function () {\n if (this.eof) {\n return;\n }\n\n var jpegOptions = {\n decodeTransform: undefined,\n colorTransform: undefined\n };\n var decodeArr = this.dict.getArray('Decode', 'D');\n\n if (this.forceRGB && Array.isArray(decodeArr)) {\n var bitsPerComponent = this.dict.get('BitsPerComponent') || 8;\n var decodeArrLength = decodeArr.length;\n var transform = new Int32Array(decodeArrLength);\n var transformNeeded = false;\n var maxValue = (1 << bitsPerComponent) - 1;\n\n for (var i = 0; i < decodeArrLength; i += 2) {\n transform[i] = (decodeArr[i + 1] - decodeArr[i]) * 256 | 0;\n transform[i + 1] = decodeArr[i] * maxValue | 0;\n\n if (transform[i] !== 256 || transform[i + 1] !== 0) {\n transformNeeded = true;\n }\n }\n\n if (transformNeeded) {\n jpegOptions.decodeTransform = transform;\n }\n }\n\n if ((0, _primitives.isDict)(this.params)) {\n var colorTransform = this.params.get('ColorTransform');\n\n if (Number.isInteger(colorTransform)) {\n jpegOptions.colorTransform = colorTransform;\n }\n }\n\n var jpegImage = new _jpg.JpegImage(jpegOptions);\n jpegImage.parse(this.bytes);\n var data = jpegImage.getData({\n width: this.drawWidth,\n height: this.drawHeight,\n forceRGB: this.forceRGB,\n isSourcePDF: true\n });\n this.buffer = data;\n this.bufferLength = data.length;\n this.eof = true;\n };\n\n JpegStream.prototype.getIR = function () {\n var forceDataSchema = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (0, _util.createObjectURL)(this.bytes, 'image/jpeg', forceDataSchema);\n };\n\n return JpegStream;\n}();\n\nexports.JpegStream = JpegStream;\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JpegImage = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar JpegError = function JpegErrorClosure() {\n function JpegError(msg) {\n this.message = 'JPEG error: ' + msg;\n }\n\n JpegError.prototype = new Error();\n JpegError.prototype.name = 'JpegError';\n JpegError.constructor = JpegError;\n return JpegError;\n}();\n\nvar DNLMarkerError = function DNLMarkerErrorClosure() {\n function DNLMarkerError(message, scanLines) {\n this.message = message;\n this.scanLines = scanLines;\n }\n\n DNLMarkerError.prototype = new Error();\n DNLMarkerError.prototype.name = 'DNLMarkerError';\n DNLMarkerError.constructor = DNLMarkerError;\n return DNLMarkerError;\n}();\n\nvar EOIMarkerError = function EOIMarkerErrorClosure() {\n function EOIMarkerError(message) {\n this.message = message;\n }\n\n EOIMarkerError.prototype = new Error();\n EOIMarkerError.prototype.name = 'EOIMarkerError';\n EOIMarkerError.constructor = EOIMarkerError;\n return EOIMarkerError;\n}();\n\nvar JpegImage = function JpegImageClosure() {\n var dctZigZag = new Uint8Array([0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40, 48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63]);\n var dctCos1 = 4017;\n var dctSin1 = 799;\n var dctCos3 = 3406;\n var dctSin3 = 2276;\n var dctCos6 = 1567;\n var dctSin6 = 3784;\n var dctSqrt2 = 5793;\n var dctSqrt1d2 = 2896;\n\n function JpegImage() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$decodeTransform = _ref.decodeTransform,\n decodeTransform = _ref$decodeTransform === void 0 ? null : _ref$decodeTransform,\n _ref$colorTransform = _ref.colorTransform,\n colorTransform = _ref$colorTransform === void 0 ? -1 : _ref$colorTransform;\n\n this._decodeTransform = decodeTransform;\n this._colorTransform = colorTransform;\n }\n\n function buildHuffmanTable(codeLengths, values) {\n var k = 0,\n code = [],\n i,\n j,\n length = 16;\n\n while (length > 0 && !codeLengths[length - 1]) {\n length--;\n }\n\n code.push({\n children: [],\n index: 0\n });\n var p = code[0],\n q;\n\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n\n while (p.index > 0) {\n p = code.pop();\n }\n\n p.index++;\n code.push(p);\n\n while (code.length <= i) {\n code.push(q = {\n children: [],\n index: 0\n });\n p.children[p.index] = q.children;\n p = q;\n }\n\n k++;\n }\n\n if (i + 1 < length) {\n code.push(q = {\n children: [],\n index: 0\n });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n\n return code[0].children;\n }\n\n function getBlockBufferOffset(component, row, col) {\n return 64 * ((component.blocksPerLine + 1) * row + col);\n }\n\n function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive) {\n var parseDNLMarker = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;\n var mcusPerLine = frame.mcusPerLine;\n var progressive = frame.progressive;\n var startOffset = offset,\n bitsData = 0,\n bitsCount = 0;\n\n function readBit() {\n if (bitsCount > 0) {\n bitsCount--;\n return bitsData >> bitsCount & 1;\n }\n\n bitsData = data[offset++];\n\n if (bitsData === 0xFF) {\n var nextByte = data[offset++];\n\n if (nextByte) {\n if (nextByte === 0xDC && parseDNLMarker) {\n offset += 2;\n var scanLines = data[offset++] << 8 | data[offset++];\n\n if (scanLines > 0 && scanLines !== frame.scanLines) {\n throw new DNLMarkerError('Found DNL marker (0xFFDC) while parsing scan data', scanLines);\n }\n } else if (nextByte === 0xD9) {\n throw new EOIMarkerError('Found EOI marker (0xFFD9) while parsing scan data');\n }\n\n throw new JpegError(\"unexpected marker \".concat((bitsData << 8 | nextByte).toString(16)));\n }\n }\n\n bitsCount = 7;\n return bitsData >>> 7;\n }\n\n function decodeHuffman(tree) {\n var node = tree;\n\n while (true) {\n node = node[readBit()];\n\n if (typeof node === 'number') {\n return node;\n }\n\n if (_typeof(node) !== 'object') {\n throw new JpegError('invalid huffman sequence');\n }\n }\n }\n\n function receive(length) {\n var n = 0;\n\n while (length > 0) {\n n = n << 1 | readBit();\n length--;\n }\n\n return n;\n }\n\n function receiveAndExtend(length) {\n if (length === 1) {\n return readBit() === 1 ? 1 : -1;\n }\n\n var n = receive(length);\n\n if (n >= 1 << length - 1) {\n return n;\n }\n\n return n + (-1 << length) + 1;\n }\n\n function decodeBaseline(component, offset) {\n var t = decodeHuffman(component.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t);\n component.blockData[offset] = component.pred += diff;\n var k = 1;\n\n while (k < 64) {\n var rs = decodeHuffman(component.huffmanTableAC);\n var s = rs & 15,\n r = rs >> 4;\n\n if (s === 0) {\n if (r < 15) {\n break;\n }\n\n k += 16;\n continue;\n }\n\n k += r;\n var z = dctZigZag[k];\n component.blockData[offset + z] = receiveAndExtend(s);\n k++;\n }\n }\n\n function decodeDCFirst(component, offset) {\n var t = decodeHuffman(component.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t) << successive;\n component.blockData[offset] = component.pred += diff;\n }\n\n function decodeDCSuccessive(component, offset) {\n component.blockData[offset] |= readBit() << successive;\n }\n\n var eobrun = 0;\n\n function decodeACFirst(component, offset) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n\n var k = spectralStart,\n e = spectralEnd;\n\n while (k <= e) {\n var rs = decodeHuffman(component.huffmanTableAC);\n var s = rs & 15,\n r = rs >> 4;\n\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r) - 1;\n break;\n }\n\n k += 16;\n continue;\n }\n\n k += r;\n var z = dctZigZag[k];\n component.blockData[offset + z] = receiveAndExtend(s) * (1 << successive);\n k++;\n }\n }\n\n var successiveACState = 0,\n successiveACNextValue;\n\n function decodeACSuccessive(component, offset) {\n var k = spectralStart;\n var e = spectralEnd;\n var r = 0;\n var s;\n var rs;\n\n while (k <= e) {\n var offsetZ = offset + dctZigZag[k];\n var sign = component.blockData[offsetZ] < 0 ? -1 : 1;\n\n switch (successiveACState) {\n case 0:\n rs = decodeHuffman(component.huffmanTableAC);\n s = rs & 15;\n r = rs >> 4;\n\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r);\n successiveACState = 4;\n } else {\n r = 16;\n successiveACState = 1;\n }\n } else {\n if (s !== 1) {\n throw new JpegError('invalid ACn encoding');\n }\n\n successiveACNextValue = receiveAndExtend(s);\n successiveACState = r ? 2 : 3;\n }\n\n continue;\n\n case 1:\n case 2:\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n } else {\n r--;\n\n if (r === 0) {\n successiveACState = successiveACState === 2 ? 3 : 0;\n }\n }\n\n break;\n\n case 3:\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n } else {\n component.blockData[offsetZ] = successiveACNextValue << successive;\n successiveACState = 0;\n }\n\n break;\n\n case 4:\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n }\n\n break;\n }\n\n k++;\n }\n\n if (successiveACState === 4) {\n eobrun--;\n\n if (eobrun === 0) {\n successiveACState = 0;\n }\n }\n }\n\n function decodeMcu(component, decode, mcu, row, col) {\n var mcuRow = mcu / mcusPerLine | 0;\n var mcuCol = mcu % mcusPerLine;\n var blockRow = mcuRow * component.v + row;\n var blockCol = mcuCol * component.h + col;\n var offset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, offset);\n }\n\n function decodeBlock(component, decode, mcu) {\n var blockRow = mcu / component.blocksPerLine | 0;\n var blockCol = mcu % component.blocksPerLine;\n var offset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, offset);\n }\n\n var componentsLength = components.length;\n var component, i, j, k, n;\n var decodeFn;\n\n if (progressive) {\n if (spectralStart === 0) {\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n } else {\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n }\n } else {\n decodeFn = decodeBaseline;\n }\n\n var mcu = 0,\n fileMarker;\n var mcuExpected;\n\n if (componentsLength === 1) {\n mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;\n } else {\n mcuExpected = mcusPerLine * frame.mcusPerColumn;\n }\n\n var h, v;\n\n while (mcu < mcuExpected) {\n var mcuToRead = resetInterval ? Math.min(mcuExpected - mcu, resetInterval) : mcuExpected;\n\n for (i = 0; i < componentsLength; i++) {\n components[i].pred = 0;\n }\n\n eobrun = 0;\n\n if (componentsLength === 1) {\n component = components[0];\n\n for (n = 0; n < mcuToRead; n++) {\n decodeBlock(component, decodeFn, mcu);\n mcu++;\n }\n } else {\n for (n = 0; n < mcuToRead; n++) {\n for (i = 0; i < componentsLength; i++) {\n component = components[i];\n h = component.h;\n v = component.v;\n\n for (j = 0; j < v; j++) {\n for (k = 0; k < h; k++) {\n decodeMcu(component, decodeFn, mcu, j, k);\n }\n }\n }\n\n mcu++;\n }\n }\n\n bitsCount = 0;\n fileMarker = findNextFileMarker(data, offset);\n\n if (fileMarker && fileMarker.invalid) {\n (0, _util.warn)('decodeScan - unexpected MCU data, current marker is: ' + fileMarker.invalid);\n offset = fileMarker.offset;\n }\n\n var marker = fileMarker && fileMarker.marker;\n\n if (!marker || marker <= 0xFF00) {\n throw new JpegError('marker was not found');\n }\n\n if (marker >= 0xFFD0 && marker <= 0xFFD7) {\n offset += 2;\n } else {\n break;\n }\n }\n\n fileMarker = findNextFileMarker(data, offset);\n\n if (fileMarker && fileMarker.invalid) {\n (0, _util.warn)('decodeScan - unexpected Scan data, current marker is: ' + fileMarker.invalid);\n offset = fileMarker.offset;\n }\n\n return offset - startOffset;\n }\n\n function quantizeAndInverse(component, blockBufferOffset, p) {\n var qt = component.quantizationTable,\n blockData = component.blockData;\n var v0, v1, v2, v3, v4, v5, v6, v7;\n var p0, p1, p2, p3, p4, p5, p6, p7;\n var t;\n\n if (!qt) {\n throw new JpegError('missing required Quantization Table.');\n }\n\n for (var row = 0; row < 64; row += 8) {\n p0 = blockData[blockBufferOffset + row];\n p1 = blockData[blockBufferOffset + row + 1];\n p2 = blockData[blockBufferOffset + row + 2];\n p3 = blockData[blockBufferOffset + row + 3];\n p4 = blockData[blockBufferOffset + row + 4];\n p5 = blockData[blockBufferOffset + row + 5];\n p6 = blockData[blockBufferOffset + row + 6];\n p7 = blockData[blockBufferOffset + row + 7];\n p0 *= qt[row];\n\n if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n t = dctSqrt2 * p0 + 512 >> 10;\n p[row] = t;\n p[row + 1] = t;\n p[row + 2] = t;\n p[row + 3] = t;\n p[row + 4] = t;\n p[row + 5] = t;\n p[row + 6] = t;\n p[row + 7] = t;\n continue;\n }\n\n p1 *= qt[row + 1];\n p2 *= qt[row + 2];\n p3 *= qt[row + 3];\n p4 *= qt[row + 4];\n p5 *= qt[row + 5];\n p6 *= qt[row + 6];\n p7 *= qt[row + 7];\n v0 = dctSqrt2 * p0 + 128 >> 8;\n v1 = dctSqrt2 * p4 + 128 >> 8;\n v2 = p2;\n v3 = p6;\n v4 = dctSqrt1d2 * (p1 - p7) + 128 >> 8;\n v7 = dctSqrt1d2 * (p1 + p7) + 128 >> 8;\n v5 = p3 << 4;\n v6 = p5 << 4;\n v0 = v0 + v1 + 1 >> 1;\n v1 = v0 - v1;\n t = v2 * dctSin6 + v3 * dctCos6 + 128 >> 8;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 128 >> 8;\n v3 = t;\n v4 = v4 + v6 + 1 >> 1;\n v6 = v4 - v6;\n v7 = v7 + v5 + 1 >> 1;\n v5 = v7 - v5;\n v0 = v0 + v3 + 1 >> 1;\n v3 = v0 - v3;\n v1 = v1 + v2 + 1 >> 1;\n v2 = v1 - v2;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p[row] = v0 + v7;\n p[row + 7] = v0 - v7;\n p[row + 1] = v1 + v6;\n p[row + 6] = v1 - v6;\n p[row + 2] = v2 + v5;\n p[row + 5] = v2 - v5;\n p[row + 3] = v3 + v4;\n p[row + 4] = v3 - v4;\n }\n\n for (var col = 0; col < 8; ++col) {\n p0 = p[col];\n p1 = p[col + 8];\n p2 = p[col + 16];\n p3 = p[col + 24];\n p4 = p[col + 32];\n p5 = p[col + 40];\n p6 = p[col + 48];\n p7 = p[col + 56];\n\n if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n t = dctSqrt2 * p0 + 8192 >> 14;\n t = t < -2040 ? 0 : t >= 2024 ? 255 : t + 2056 >> 4;\n blockData[blockBufferOffset + col] = t;\n blockData[blockBufferOffset + col + 8] = t;\n blockData[blockBufferOffset + col + 16] = t;\n blockData[blockBufferOffset + col + 24] = t;\n blockData[blockBufferOffset + col + 32] = t;\n blockData[blockBufferOffset + col + 40] = t;\n blockData[blockBufferOffset + col + 48] = t;\n blockData[blockBufferOffset + col + 56] = t;\n continue;\n }\n\n v0 = dctSqrt2 * p0 + 2048 >> 12;\n v1 = dctSqrt2 * p4 + 2048 >> 12;\n v2 = p2;\n v3 = p6;\n v4 = dctSqrt1d2 * (p1 - p7) + 2048 >> 12;\n v7 = dctSqrt1d2 * (p1 + p7) + 2048 >> 12;\n v5 = p3;\n v6 = p5;\n v0 = (v0 + v1 + 1 >> 1) + 4112;\n v1 = v0 - v1;\n t = v2 * dctSin6 + v3 * dctCos6 + 2048 >> 12;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 2048 >> 12;\n v3 = t;\n v4 = v4 + v6 + 1 >> 1;\n v6 = v4 - v6;\n v7 = v7 + v5 + 1 >> 1;\n v5 = v7 - v5;\n v0 = v0 + v3 + 1 >> 1;\n v3 = v0 - v3;\n v1 = v1 + v2 + 1 >> 1;\n v2 = v1 - v2;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p0 = v0 + v7;\n p7 = v0 - v7;\n p1 = v1 + v6;\n p6 = v1 - v6;\n p2 = v2 + v5;\n p5 = v2 - v5;\n p3 = v3 + v4;\n p4 = v3 - v4;\n p0 = p0 < 16 ? 0 : p0 >= 4080 ? 255 : p0 >> 4;\n p1 = p1 < 16 ? 0 : p1 >= 4080 ? 255 : p1 >> 4;\n p2 = p2 < 16 ? 0 : p2 >= 4080 ? 255 : p2 >> 4;\n p3 = p3 < 16 ? 0 : p3 >= 4080 ? 255 : p3 >> 4;\n p4 = p4 < 16 ? 0 : p4 >= 4080 ? 255 : p4 >> 4;\n p5 = p5 < 16 ? 0 : p5 >= 4080 ? 255 : p5 >> 4;\n p6 = p6 < 16 ? 0 : p6 >= 4080 ? 255 : p6 >> 4;\n p7 = p7 < 16 ? 0 : p7 >= 4080 ? 255 : p7 >> 4;\n blockData[blockBufferOffset + col] = p0;\n blockData[blockBufferOffset + col + 8] = p1;\n blockData[blockBufferOffset + col + 16] = p2;\n blockData[blockBufferOffset + col + 24] = p3;\n blockData[blockBufferOffset + col + 32] = p4;\n blockData[blockBufferOffset + col + 40] = p5;\n blockData[blockBufferOffset + col + 48] = p6;\n blockData[blockBufferOffset + col + 56] = p7;\n }\n }\n\n function buildComponentData(frame, component) {\n var blocksPerLine = component.blocksPerLine;\n var blocksPerColumn = component.blocksPerColumn;\n var computationBuffer = new Int16Array(64);\n\n for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n var offset = getBlockBufferOffset(component, blockRow, blockCol);\n quantizeAndInverse(component, offset, computationBuffer);\n }\n }\n\n return component.blockData;\n }\n\n function findNextFileMarker(data, currentPos) {\n var startPos = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : currentPos;\n\n function peekUint16(pos) {\n return data[pos] << 8 | data[pos + 1];\n }\n\n var maxPos = data.length - 1;\n var newPos = startPos < currentPos ? startPos : currentPos;\n\n if (currentPos >= maxPos) {\n return null;\n }\n\n var currentMarker = peekUint16(currentPos);\n\n if (currentMarker >= 0xFFC0 && currentMarker <= 0xFFFE) {\n return {\n invalid: null,\n marker: currentMarker,\n offset: currentPos\n };\n }\n\n var newMarker = peekUint16(newPos);\n\n while (!(newMarker >= 0xFFC0 && newMarker <= 0xFFFE)) {\n if (++newPos >= maxPos) {\n return null;\n }\n\n newMarker = peekUint16(newPos);\n }\n\n return {\n invalid: currentMarker.toString(16),\n marker: newMarker,\n offset: newPos\n };\n }\n\n JpegImage.prototype = {\n parse: function parse(data) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref2$dnlScanLines = _ref2.dnlScanLines,\n dnlScanLines = _ref2$dnlScanLines === void 0 ? null : _ref2$dnlScanLines;\n\n function readUint16() {\n var value = data[offset] << 8 | data[offset + 1];\n offset += 2;\n return value;\n }\n\n function readDataBlock() {\n var length = readUint16();\n var endOffset = offset + length - 2;\n var fileMarker = findNextFileMarker(data, endOffset, offset);\n\n if (fileMarker && fileMarker.invalid) {\n (0, _util.warn)('readDataBlock - incorrect length, current marker is: ' + fileMarker.invalid);\n endOffset = fileMarker.offset;\n }\n\n var array = data.subarray(offset, endOffset);\n offset += array.length;\n return array;\n }\n\n function prepareComponents(frame) {\n var mcusPerLine = Math.ceil(frame.samplesPerLine / 8 / frame.maxH);\n var mcusPerColumn = Math.ceil(frame.scanLines / 8 / frame.maxV);\n\n for (var i = 0; i < frame.components.length; i++) {\n component = frame.components[i];\n var blocksPerLine = Math.ceil(Math.ceil(frame.samplesPerLine / 8) * component.h / frame.maxH);\n var blocksPerColumn = Math.ceil(Math.ceil(frame.scanLines / 8) * component.v / frame.maxV);\n var blocksPerLineForMcu = mcusPerLine * component.h;\n var blocksPerColumnForMcu = mcusPerColumn * component.v;\n var blocksBufferSize = 64 * blocksPerColumnForMcu * (blocksPerLineForMcu + 1);\n component.blockData = new Int16Array(blocksBufferSize);\n component.blocksPerLine = blocksPerLine;\n component.blocksPerColumn = blocksPerColumn;\n }\n\n frame.mcusPerLine = mcusPerLine;\n frame.mcusPerColumn = mcusPerColumn;\n }\n\n var offset = 0;\n var jfif = null;\n var adobe = null;\n var frame, resetInterval;\n var numSOSMarkers = 0;\n var quantizationTables = [];\n var huffmanTablesAC = [],\n huffmanTablesDC = [];\n var fileMarker = readUint16();\n\n if (fileMarker !== 0xFFD8) {\n throw new JpegError('SOI not found');\n }\n\n fileMarker = readUint16();\n\n markerLoop: while (fileMarker !== 0xFFD9) {\n var i, j, l;\n\n switch (fileMarker) {\n case 0xFFE0:\n case 0xFFE1:\n case 0xFFE2:\n case 0xFFE3:\n case 0xFFE4:\n case 0xFFE5:\n case 0xFFE6:\n case 0xFFE7:\n case 0xFFE8:\n case 0xFFE9:\n case 0xFFEA:\n case 0xFFEB:\n case 0xFFEC:\n case 0xFFED:\n case 0xFFEE:\n case 0xFFEF:\n case 0xFFFE:\n var appData = readDataBlock();\n\n if (fileMarker === 0xFFE0) {\n if (appData[0] === 0x4A && appData[1] === 0x46 && appData[2] === 0x49 && appData[3] === 0x46 && appData[4] === 0) {\n jfif = {\n version: {\n major: appData[5],\n minor: appData[6]\n },\n densityUnits: appData[7],\n xDensity: appData[8] << 8 | appData[9],\n yDensity: appData[10] << 8 | appData[11],\n thumbWidth: appData[12],\n thumbHeight: appData[13],\n thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13])\n };\n }\n }\n\n if (fileMarker === 0xFFEE) {\n if (appData[0] === 0x41 && appData[1] === 0x64 && appData[2] === 0x6F && appData[3] === 0x62 && appData[4] === 0x65) {\n adobe = {\n version: appData[5] << 8 | appData[6],\n flags0: appData[7] << 8 | appData[8],\n flags1: appData[9] << 8 | appData[10],\n transformCode: appData[11]\n };\n }\n }\n\n break;\n\n case 0xFFDB:\n var quantizationTablesLength = readUint16();\n var quantizationTablesEnd = quantizationTablesLength + offset - 2;\n var z;\n\n while (offset < quantizationTablesEnd) {\n var quantizationTableSpec = data[offset++];\n var tableData = new Uint16Array(64);\n\n if (quantizationTableSpec >> 4 === 0) {\n for (j = 0; j < 64; j++) {\n z = dctZigZag[j];\n tableData[z] = data[offset++];\n }\n } else if (quantizationTableSpec >> 4 === 1) {\n for (j = 0; j < 64; j++) {\n z = dctZigZag[j];\n tableData[z] = readUint16();\n }\n } else {\n throw new JpegError('DQT - invalid table spec');\n }\n\n quantizationTables[quantizationTableSpec & 15] = tableData;\n }\n\n break;\n\n case 0xFFC0:\n case 0xFFC1:\n case 0xFFC2:\n if (frame) {\n throw new JpegError('Only single frame JPEGs supported');\n }\n\n readUint16();\n frame = {};\n frame.extended = fileMarker === 0xFFC1;\n frame.progressive = fileMarker === 0xFFC2;\n frame.precision = data[offset++];\n var sofScanLines = readUint16();\n frame.scanLines = dnlScanLines || sofScanLines;\n frame.samplesPerLine = readUint16();\n frame.components = [];\n frame.componentIds = {};\n var componentsCount = data[offset++],\n componentId;\n var maxH = 0,\n maxV = 0;\n\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n var h = data[offset + 1] >> 4;\n var v = data[offset + 1] & 15;\n\n if (maxH < h) {\n maxH = h;\n }\n\n if (maxV < v) {\n maxV = v;\n }\n\n var qId = data[offset + 2];\n l = frame.components.push({\n h: h,\n v: v,\n quantizationId: qId,\n quantizationTable: null\n });\n frame.componentIds[componentId] = l - 1;\n offset += 3;\n }\n\n frame.maxH = maxH;\n frame.maxV = maxV;\n prepareComponents(frame);\n break;\n\n case 0xFFC4:\n var huffmanLength = readUint16();\n\n for (i = 2; i < huffmanLength;) {\n var huffmanTableSpec = data[offset++];\n var codeLengths = new Uint8Array(16);\n var codeLengthSum = 0;\n\n for (j = 0; j < 16; j++, offset++) {\n codeLengthSum += codeLengths[j] = data[offset];\n }\n\n var huffmanValues = new Uint8Array(codeLengthSum);\n\n for (j = 0; j < codeLengthSum; j++, offset++) {\n huffmanValues[j] = data[offset];\n }\n\n i += 17 + codeLengthSum;\n (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] = buildHuffmanTable(codeLengths, huffmanValues);\n }\n\n break;\n\n case 0xFFDD:\n readUint16();\n resetInterval = readUint16();\n break;\n\n case 0xFFDA:\n var parseDNLMarker = ++numSOSMarkers === 1 && !dnlScanLines;\n readUint16();\n var selectorsCount = data[offset++];\n var components = [],\n component;\n\n for (i = 0; i < selectorsCount; i++) {\n var componentIndex = frame.componentIds[data[offset++]];\n component = frame.components[componentIndex];\n var tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n\n var spectralStart = data[offset++];\n var spectralEnd = data[offset++];\n var successiveApproximation = data[offset++];\n\n try {\n var processed = decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15, parseDNLMarker);\n offset += processed;\n } catch (ex) {\n if (ex instanceof DNLMarkerError) {\n (0, _util.warn)(\"\".concat(ex.message, \" -- attempting to re-parse the JPEG image.\"));\n return this.parse(data, {\n dnlScanLines: ex.scanLines\n });\n } else if (ex instanceof EOIMarkerError) {\n (0, _util.warn)(\"\".concat(ex.message, \" -- ignoring the rest of the image data.\"));\n break markerLoop;\n }\n\n throw ex;\n }\n\n break;\n\n case 0xFFDC:\n offset += 4;\n break;\n\n case 0xFFFF:\n if (data[offset] !== 0xFF) {\n offset--;\n }\n\n break;\n\n default:\n if (data[offset - 3] === 0xFF && data[offset - 2] >= 0xC0 && data[offset - 2] <= 0xFE) {\n offset -= 3;\n break;\n }\n\n var nextFileMarker = findNextFileMarker(data, offset - 2);\n\n if (nextFileMarker && nextFileMarker.invalid) {\n (0, _util.warn)('JpegImage.parse - unexpected data, current marker is: ' + nextFileMarker.invalid);\n offset = nextFileMarker.offset;\n break;\n }\n\n throw new JpegError('unknown marker ' + fileMarker.toString(16));\n }\n\n fileMarker = readUint16();\n }\n\n this.width = frame.samplesPerLine;\n this.height = frame.scanLines;\n this.jfif = jfif;\n this.adobe = adobe;\n this.components = [];\n\n for (i = 0; i < frame.components.length; i++) {\n component = frame.components[i];\n var quantizationTable = quantizationTables[component.quantizationId];\n\n if (quantizationTable) {\n component.quantizationTable = quantizationTable;\n }\n\n this.components.push({\n output: buildComponentData(frame, component),\n scaleX: component.h / frame.maxH,\n scaleY: component.v / frame.maxV,\n blocksPerLine: component.blocksPerLine,\n blocksPerColumn: component.blocksPerColumn\n });\n }\n\n this.numComponents = this.components.length;\n return undefined;\n },\n _getLinearizedBlockData: function _getLinearizedBlockData(width, height) {\n var isSourcePDF = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var scaleX = this.width / width,\n scaleY = this.height / height;\n var component, componentScaleX, componentScaleY, blocksPerScanline;\n var x, y, i, j, k;\n var index;\n var offset = 0;\n var output;\n var numComponents = this.components.length;\n var dataLength = width * height * numComponents;\n var data = new Uint8ClampedArray(dataLength);\n var xScaleBlockOffset = new Uint32Array(width);\n var mask3LSB = 0xfffffff8;\n\n for (i = 0; i < numComponents; i++) {\n component = this.components[i];\n componentScaleX = component.scaleX * scaleX;\n componentScaleY = component.scaleY * scaleY;\n offset = i;\n output = component.output;\n blocksPerScanline = component.blocksPerLine + 1 << 3;\n\n for (x = 0; x < width; x++) {\n j = 0 | x * componentScaleX;\n xScaleBlockOffset[x] = (j & mask3LSB) << 3 | j & 7;\n }\n\n for (y = 0; y < height; y++) {\n j = 0 | y * componentScaleY;\n index = blocksPerScanline * (j & mask3LSB) | (j & 7) << 3;\n\n for (x = 0; x < width; x++) {\n data[offset] = output[index + xScaleBlockOffset[x]];\n offset += numComponents;\n }\n }\n }\n\n var transform = this._decodeTransform;\n\n if (!isSourcePDF && numComponents === 4 && !transform) {\n transform = new Int32Array([-256, 255, -256, 255, -256, 255, -256, 255]);\n }\n\n if (transform) {\n for (i = 0; i < dataLength;) {\n for (j = 0, k = 0; j < numComponents; j++, i++, k += 2) {\n data[i] = (data[i] * transform[k] >> 8) + transform[k + 1];\n }\n }\n }\n\n return data;\n },\n\n get _isColorConversionNeeded() {\n if (this.adobe) {\n return !!this.adobe.transformCode;\n }\n\n if (this.numComponents === 3) {\n if (this._colorTransform === 0) {\n return false;\n }\n\n return true;\n }\n\n if (this._colorTransform === 1) {\n return true;\n }\n\n return false;\n },\n\n _convertYccToRgb: function convertYccToRgb(data) {\n var Y, Cb, Cr;\n\n for (var i = 0, length = data.length; i < length; i += 3) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n data[i] = Y - 179.456 + 1.402 * Cr;\n data[i + 1] = Y + 135.459 - 0.344 * Cb - 0.714 * Cr;\n data[i + 2] = Y - 226.816 + 1.772 * Cb;\n }\n\n return data;\n },\n _convertYcckToRgb: function convertYcckToRgb(data) {\n var Y, Cb, Cr, k;\n var offset = 0;\n\n for (var i = 0, length = data.length; i < length; i += 4) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n k = data[i + 3];\n data[offset++] = -122.67195406894 + Cb * (-6.60635669420364e-5 * Cb + 0.000437130475926232 * Cr - 5.4080610064599e-5 * Y + 0.00048449797120281 * k - 0.154362151871126) + Cr * (-0.000957964378445773 * Cr + 0.000817076911346625 * Y - 0.00477271405408747 * k + 1.53380253221734) + Y * (0.000961250184130688 * Y - 0.00266257332283933 * k + 0.48357088451265) + k * (-0.000336197177618394 * k + 0.484791561490776);\n data[offset++] = 107.268039397724 + Cb * (2.19927104525741e-5 * Cb - 0.000640992018297945 * Cr + 0.000659397001245577 * Y + 0.000426105652938837 * k - 0.176491792462875) + Cr * (-0.000778269941513683 * Cr + 0.00130872261408275 * Y + 0.000770482631801132 * k - 0.151051492775562) + Y * (0.00126935368114843 * Y - 0.00265090189010898 * k + 0.25802910206845) + k * (-0.000318913117588328 * k - 0.213742400323665);\n data[offset++] = -20.810012546947 + Cb * (-0.000570115196973677 * Cb - 2.63409051004589e-5 * Cr + 0.0020741088115012 * Y - 0.00288260236853442 * k + 0.814272968359295) + Cr * (-1.53496057440975e-5 * Cr - 0.000132689043961446 * Y + 0.000560833691242812 * k - 0.195152027534049) + Y * (0.00174418132927582 * Y - 0.00255243321439347 * k + 0.116935020465145) + k * (-0.000343531996510555 * k + 0.24165260232407);\n }\n\n return data.subarray(0, offset);\n },\n _convertYcckToCmyk: function convertYcckToCmyk(data) {\n var Y, Cb, Cr;\n\n for (var i = 0, length = data.length; i < length; i += 4) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n data[i] = 434.456 - Y - 1.402 * Cr;\n data[i + 1] = 119.541 - Y + 0.344 * Cb + 0.714 * Cr;\n data[i + 2] = 481.816 - Y - 1.772 * Cb;\n }\n\n return data;\n },\n _convertCmykToRgb: function convertCmykToRgb(data) {\n var c, m, y, k;\n var offset = 0;\n var scale = 1 / 255;\n\n for (var i = 0, length = data.length; i < length; i += 4) {\n c = data[i] * scale;\n m = data[i + 1] * scale;\n y = data[i + 2] * scale;\n k = data[i + 3] * scale;\n data[offset++] = 255 + c * (-4.387332384609988 * c + 54.48615194189176 * m + 18.82290502165302 * y + 212.25662451639585 * k - 285.2331026137004) + m * (1.7149763477362134 * m - 5.6096736904047315 * y - 17.873870861415444 * k - 5.497006427196366) + y * (-2.5217340131683033 * y - 21.248923337353073 * k + 17.5119270841813) - k * (21.86122147463605 * k + 189.48180835922747);\n data[offset++] = 255 + c * (8.841041422036149 * c + 60.118027045597366 * m + 6.871425592049007 * y + 31.159100130055922 * k - 79.2970844816548) + m * (-15.310361306967817 * m + 17.575251261109482 * y + 131.35250912493976 * k - 190.9453302588951) + y * (4.444339102852739 * y + 9.8632861493405 * k - 24.86741582555878) - k * (20.737325471181034 * k + 187.80453709719578);\n data[offset++] = 255 + c * (0.8842522430003296 * c + 8.078677503112928 * m + 30.89978309703729 * y - 0.23883238689178934 * k - 14.183576799673286) + m * (10.49593273432072 * m + 63.02378494754052 * y + 50.606957656360734 * k - 112.23884253719248) + y * (0.03296041114873217 * y + 115.60384449646641 * k - 193.58209356861505) - k * (22.33816807309886 * k + 180.12613974708367);\n }\n\n return data.subarray(0, offset);\n },\n getData: function getData(_ref3) {\n var width = _ref3.width,\n height = _ref3.height,\n _ref3$forceRGB = _ref3.forceRGB,\n forceRGB = _ref3$forceRGB === void 0 ? false : _ref3$forceRGB,\n _ref3$isSourcePDF = _ref3.isSourcePDF,\n isSourcePDF = _ref3$isSourcePDF === void 0 ? false : _ref3$isSourcePDF;\n\n if (this.numComponents > 4) {\n throw new JpegError('Unsupported color mode');\n }\n\n var data = this._getLinearizedBlockData(width, height, isSourcePDF);\n\n if (this.numComponents === 1 && forceRGB) {\n var dataLength = data.length;\n var rgbData = new Uint8ClampedArray(dataLength * 3);\n var offset = 0;\n\n for (var i = 0; i < dataLength; i++) {\n var grayColor = data[i];\n rgbData[offset++] = grayColor;\n rgbData[offset++] = grayColor;\n rgbData[offset++] = grayColor;\n }\n\n return rgbData;\n } else if (this.numComponents === 3 && this._isColorConversionNeeded) {\n return this._convertYccToRgb(data);\n } else if (this.numComponents === 4) {\n if (this._isColorConversionNeeded) {\n if (forceRGB) {\n return this._convertYcckToRgb(data);\n }\n\n return this._convertYcckToCmyk(data);\n } else if (forceRGB) {\n return this._convertCmykToRgb(data);\n }\n }\n\n return data;\n }\n };\n return JpegImage;\n}();\n\nexports.JpegImage = JpegImage;\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JpxStream = void 0;\n\nvar _stream = __w_pdfjs_require__(158);\n\nvar _jpx = __w_pdfjs_require__(167);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar JpxStream = function JpxStreamClosure() {\n function JpxStream(stream, maybeLength, dict, params) {\n this.stream = stream;\n this.maybeLength = maybeLength;\n this.dict = dict;\n this.params = params;\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n JpxStream.prototype = Object.create(_stream.DecodeStream.prototype);\n Object.defineProperty(JpxStream.prototype, 'bytes', {\n get: function JpxStream_bytes() {\n return (0, _util.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength));\n },\n configurable: true\n });\n\n JpxStream.prototype.ensureBuffer = function (requested) {};\n\n JpxStream.prototype.readBlock = function () {\n if (this.eof) {\n return;\n }\n\n var jpxImage = new _jpx.JpxImage();\n jpxImage.parse(this.bytes);\n var width = jpxImage.width;\n var height = jpxImage.height;\n var componentsCount = jpxImage.componentsCount;\n var tileCount = jpxImage.tiles.length;\n\n if (tileCount === 1) {\n this.buffer = jpxImage.tiles[0].items;\n } else {\n var data = new Uint8ClampedArray(width * height * componentsCount);\n\n for (var k = 0; k < tileCount; k++) {\n var tileComponents = jpxImage.tiles[k];\n var tileWidth = tileComponents.width;\n var tileHeight = tileComponents.height;\n var tileLeft = tileComponents.left;\n var tileTop = tileComponents.top;\n var src = tileComponents.items;\n var srcPosition = 0;\n var dataPosition = (width * tileTop + tileLeft) * componentsCount;\n var imgRowSize = width * componentsCount;\n var tileRowSize = tileWidth * componentsCount;\n\n for (var j = 0; j < tileHeight; j++) {\n var rowBytes = src.subarray(srcPosition, srcPosition + tileRowSize);\n data.set(rowBytes, dataPosition);\n srcPosition += tileRowSize;\n dataPosition += imgRowSize;\n }\n }\n\n this.buffer = data;\n }\n\n this.bufferLength = this.buffer.length;\n this.eof = true;\n };\n\n return JpxStream;\n}();\n\nexports.JpxStream = JpxStream;\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JpxImage = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _arithmetic_decoder = __w_pdfjs_require__(163);\n\nvar JpxError = function JpxErrorClosure() {\n function JpxError(msg) {\n this.message = 'JPX error: ' + msg;\n }\n\n JpxError.prototype = new Error();\n JpxError.prototype.name = 'JpxError';\n JpxError.constructor = JpxError;\n return JpxError;\n}();\n\nvar JpxImage = function JpxImageClosure() {\n var SubbandsGainLog2 = {\n 'LL': 0,\n 'LH': 1,\n 'HL': 1,\n 'HH': 2\n };\n\n function JpxImage() {\n this.failOnCorruptedImage = false;\n }\n\n JpxImage.prototype = {\n parse: function JpxImage_parse(data) {\n var head = (0, _util.readUint16)(data, 0);\n\n if (head === 0xFF4F) {\n this.parseCodestream(data, 0, data.length);\n return;\n }\n\n var position = 0,\n length = data.length;\n\n while (position < length) {\n var headerSize = 8;\n var lbox = (0, _util.readUint32)(data, position);\n var tbox = (0, _util.readUint32)(data, position + 4);\n position += headerSize;\n\n if (lbox === 1) {\n lbox = (0, _util.readUint32)(data, position) * 4294967296 + (0, _util.readUint32)(data, position + 4);\n position += 8;\n headerSize += 8;\n }\n\n if (lbox === 0) {\n lbox = length - position + headerSize;\n }\n\n if (lbox < headerSize) {\n throw new JpxError('Invalid box field size');\n }\n\n var dataLength = lbox - headerSize;\n var jumpDataLength = true;\n\n switch (tbox) {\n case 0x6A703268:\n jumpDataLength = false;\n break;\n\n case 0x636F6C72:\n var method = data[position];\n\n if (method === 1) {\n var colorspace = (0, _util.readUint32)(data, position + 3);\n\n switch (colorspace) {\n case 16:\n case 17:\n case 18:\n break;\n\n default:\n (0, _util.warn)('Unknown colorspace ' + colorspace);\n break;\n }\n } else if (method === 2) {\n (0, _util.info)('ICC profile not supported');\n }\n\n break;\n\n case 0x6A703263:\n this.parseCodestream(data, position, position + dataLength);\n break;\n\n case 0x6A502020:\n if ((0, _util.readUint32)(data, position) !== 0x0d0a870a) {\n (0, _util.warn)('Invalid JP2 signature');\n }\n\n break;\n\n case 0x6A501A1A:\n case 0x66747970:\n case 0x72726571:\n case 0x72657320:\n case 0x69686472:\n break;\n\n default:\n var headerType = String.fromCharCode(tbox >> 24 & 0xFF, tbox >> 16 & 0xFF, tbox >> 8 & 0xFF, tbox & 0xFF);\n (0, _util.warn)('Unsupported header type ' + tbox + ' (' + headerType + ')');\n break;\n }\n\n if (jumpDataLength) {\n position += dataLength;\n }\n }\n },\n parseImageProperties: function JpxImage_parseImageProperties(stream) {\n var newByte = stream.getByte();\n\n while (newByte >= 0) {\n var oldByte = newByte;\n newByte = stream.getByte();\n var code = oldByte << 8 | newByte;\n\n if (code === 0xFF51) {\n stream.skip(4);\n var Xsiz = stream.getInt32() >>> 0;\n var Ysiz = stream.getInt32() >>> 0;\n var XOsiz = stream.getInt32() >>> 0;\n var YOsiz = stream.getInt32() >>> 0;\n stream.skip(16);\n var Csiz = stream.getUint16();\n this.width = Xsiz - XOsiz;\n this.height = Ysiz - YOsiz;\n this.componentsCount = Csiz;\n this.bitsPerComponent = 8;\n return;\n }\n }\n\n throw new JpxError('No size marker found in JPX stream');\n },\n parseCodestream: function JpxImage_parseCodestream(data, start, end) {\n var context = {};\n var doNotRecover = false;\n\n try {\n var position = start;\n\n while (position + 1 < end) {\n var code = (0, _util.readUint16)(data, position);\n position += 2;\n var length = 0,\n j,\n sqcd,\n spqcds,\n spqcdSize,\n scalarExpounded,\n tile;\n\n switch (code) {\n case 0xFF4F:\n context.mainHeader = true;\n break;\n\n case 0xFFD9:\n break;\n\n case 0xFF51:\n length = (0, _util.readUint16)(data, position);\n var siz = {};\n siz.Xsiz = (0, _util.readUint32)(data, position + 4);\n siz.Ysiz = (0, _util.readUint32)(data, position + 8);\n siz.XOsiz = (0, _util.readUint32)(data, position + 12);\n siz.YOsiz = (0, _util.readUint32)(data, position + 16);\n siz.XTsiz = (0, _util.readUint32)(data, position + 20);\n siz.YTsiz = (0, _util.readUint32)(data, position + 24);\n siz.XTOsiz = (0, _util.readUint32)(data, position + 28);\n siz.YTOsiz = (0, _util.readUint32)(data, position + 32);\n var componentsCount = (0, _util.readUint16)(data, position + 36);\n siz.Csiz = componentsCount;\n var components = [];\n j = position + 38;\n\n for (var i = 0; i < componentsCount; i++) {\n var component = {\n precision: (data[j] & 0x7F) + 1,\n isSigned: !!(data[j] & 0x80),\n XRsiz: data[j + 1],\n YRsiz: data[j + 2]\n };\n j += 3;\n calculateComponentDimensions(component, siz);\n components.push(component);\n }\n\n context.SIZ = siz;\n context.components = components;\n calculateTileGrids(context, components);\n context.QCC = [];\n context.COC = [];\n break;\n\n case 0xFF5C:\n length = (0, _util.readUint16)(data, position);\n var qcd = {};\n j = position + 2;\n sqcd = data[j++];\n\n switch (sqcd & 0x1F) {\n case 0:\n spqcdSize = 8;\n scalarExpounded = true;\n break;\n\n case 1:\n spqcdSize = 16;\n scalarExpounded = false;\n break;\n\n case 2:\n spqcdSize = 16;\n scalarExpounded = true;\n break;\n\n default:\n throw new Error('Invalid SQcd value ' + sqcd);\n }\n\n qcd.noQuantization = spqcdSize === 8;\n qcd.scalarExpounded = scalarExpounded;\n qcd.guardBits = sqcd >> 5;\n spqcds = [];\n\n while (j < length + position) {\n var spqcd = {};\n\n if (spqcdSize === 8) {\n spqcd.epsilon = data[j++] >> 3;\n spqcd.mu = 0;\n } else {\n spqcd.epsilon = data[j] >> 3;\n spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1];\n j += 2;\n }\n\n spqcds.push(spqcd);\n }\n\n qcd.SPqcds = spqcds;\n\n if (context.mainHeader) {\n context.QCD = qcd;\n } else {\n context.currentTile.QCD = qcd;\n context.currentTile.QCC = [];\n }\n\n break;\n\n case 0xFF5D:\n length = (0, _util.readUint16)(data, position);\n var qcc = {};\n j = position + 2;\n var cqcc;\n\n if (context.SIZ.Csiz < 257) {\n cqcc = data[j++];\n } else {\n cqcc = (0, _util.readUint16)(data, j);\n j += 2;\n }\n\n sqcd = data[j++];\n\n switch (sqcd & 0x1F) {\n case 0:\n spqcdSize = 8;\n scalarExpounded = true;\n break;\n\n case 1:\n spqcdSize = 16;\n scalarExpounded = false;\n break;\n\n case 2:\n spqcdSize = 16;\n scalarExpounded = true;\n break;\n\n default:\n throw new Error('Invalid SQcd value ' + sqcd);\n }\n\n qcc.noQuantization = spqcdSize === 8;\n qcc.scalarExpounded = scalarExpounded;\n qcc.guardBits = sqcd >> 5;\n spqcds = [];\n\n while (j < length + position) {\n spqcd = {};\n\n if (spqcdSize === 8) {\n spqcd.epsilon = data[j++] >> 3;\n spqcd.mu = 0;\n } else {\n spqcd.epsilon = data[j] >> 3;\n spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1];\n j += 2;\n }\n\n spqcds.push(spqcd);\n }\n\n qcc.SPqcds = spqcds;\n\n if (context.mainHeader) {\n context.QCC[cqcc] = qcc;\n } else {\n context.currentTile.QCC[cqcc] = qcc;\n }\n\n break;\n\n case 0xFF52:\n length = (0, _util.readUint16)(data, position);\n var cod = {};\n j = position + 2;\n var scod = data[j++];\n cod.entropyCoderWithCustomPrecincts = !!(scod & 1);\n cod.sopMarkerUsed = !!(scod & 2);\n cod.ephMarkerUsed = !!(scod & 4);\n cod.progressionOrder = data[j++];\n cod.layersCount = (0, _util.readUint16)(data, j);\n j += 2;\n cod.multipleComponentTransform = data[j++];\n cod.decompositionLevelsCount = data[j++];\n cod.xcb = (data[j++] & 0xF) + 2;\n cod.ycb = (data[j++] & 0xF) + 2;\n var blockStyle = data[j++];\n cod.selectiveArithmeticCodingBypass = !!(blockStyle & 1);\n cod.resetContextProbabilities = !!(blockStyle & 2);\n cod.terminationOnEachCodingPass = !!(blockStyle & 4);\n cod.verticallyStripe = !!(blockStyle & 8);\n cod.predictableTermination = !!(blockStyle & 16);\n cod.segmentationSymbolUsed = !!(blockStyle & 32);\n cod.reversibleTransformation = data[j++];\n\n if (cod.entropyCoderWithCustomPrecincts) {\n var precinctsSizes = [];\n\n while (j < length + position) {\n var precinctsSize = data[j++];\n precinctsSizes.push({\n PPx: precinctsSize & 0xF,\n PPy: precinctsSize >> 4\n });\n }\n\n cod.precinctsSizes = precinctsSizes;\n }\n\n var unsupported = [];\n\n if (cod.selectiveArithmeticCodingBypass) {\n unsupported.push('selectiveArithmeticCodingBypass');\n }\n\n if (cod.resetContextProbabilities) {\n unsupported.push('resetContextProbabilities');\n }\n\n if (cod.terminationOnEachCodingPass) {\n unsupported.push('terminationOnEachCodingPass');\n }\n\n if (cod.verticallyStripe) {\n unsupported.push('verticallyStripe');\n }\n\n if (cod.predictableTermination) {\n unsupported.push('predictableTermination');\n }\n\n if (unsupported.length > 0) {\n doNotRecover = true;\n throw new Error('Unsupported COD options (' + unsupported.join(', ') + ')');\n }\n\n if (context.mainHeader) {\n context.COD = cod;\n } else {\n context.currentTile.COD = cod;\n context.currentTile.COC = [];\n }\n\n break;\n\n case 0xFF90:\n length = (0, _util.readUint16)(data, position);\n tile = {};\n tile.index = (0, _util.readUint16)(data, position + 2);\n tile.length = (0, _util.readUint32)(data, position + 4);\n tile.dataEnd = tile.length + position - 2;\n tile.partIndex = data[position + 8];\n tile.partsCount = data[position + 9];\n context.mainHeader = false;\n\n if (tile.partIndex === 0) {\n tile.COD = context.COD;\n tile.COC = context.COC.slice(0);\n tile.QCD = context.QCD;\n tile.QCC = context.QCC.slice(0);\n }\n\n context.currentTile = tile;\n break;\n\n case 0xFF93:\n tile = context.currentTile;\n\n if (tile.partIndex === 0) {\n initializeTile(context, tile.index);\n buildPackets(context);\n }\n\n length = tile.dataEnd - position;\n parseTilePackets(context, data, position, length);\n break;\n\n case 0xFF55:\n case 0xFF57:\n case 0xFF58:\n case 0xFF64:\n length = (0, _util.readUint16)(data, position);\n break;\n\n case 0xFF53:\n throw new Error('Codestream code 0xFF53 (COC) is ' + 'not implemented');\n\n default:\n throw new Error('Unknown codestream code: ' + code.toString(16));\n }\n\n position += length;\n }\n } catch (e) {\n if (doNotRecover || this.failOnCorruptedImage) {\n throw new JpxError(e.message);\n } else {\n (0, _util.warn)('JPX: Trying to recover from: ' + e.message);\n }\n }\n\n this.tiles = transformComponents(context);\n this.width = context.SIZ.Xsiz - context.SIZ.XOsiz;\n this.height = context.SIZ.Ysiz - context.SIZ.YOsiz;\n this.componentsCount = context.SIZ.Csiz;\n }\n };\n\n function calculateComponentDimensions(component, siz) {\n component.x0 = Math.ceil(siz.XOsiz / component.XRsiz);\n component.x1 = Math.ceil(siz.Xsiz / component.XRsiz);\n component.y0 = Math.ceil(siz.YOsiz / component.YRsiz);\n component.y1 = Math.ceil(siz.Ysiz / component.YRsiz);\n component.width = component.x1 - component.x0;\n component.height = component.y1 - component.y0;\n }\n\n function calculateTileGrids(context, components) {\n var siz = context.SIZ;\n var tile,\n tiles = [];\n var numXtiles = Math.ceil((siz.Xsiz - siz.XTOsiz) / siz.XTsiz);\n var numYtiles = Math.ceil((siz.Ysiz - siz.YTOsiz) / siz.YTsiz);\n\n for (var q = 0; q < numYtiles; q++) {\n for (var p = 0; p < numXtiles; p++) {\n tile = {};\n tile.tx0 = Math.max(siz.XTOsiz + p * siz.XTsiz, siz.XOsiz);\n tile.ty0 = Math.max(siz.YTOsiz + q * siz.YTsiz, siz.YOsiz);\n tile.tx1 = Math.min(siz.XTOsiz + (p + 1) * siz.XTsiz, siz.Xsiz);\n tile.ty1 = Math.min(siz.YTOsiz + (q + 1) * siz.YTsiz, siz.Ysiz);\n tile.width = tile.tx1 - tile.tx0;\n tile.height = tile.ty1 - tile.ty0;\n tile.components = [];\n tiles.push(tile);\n }\n }\n\n context.tiles = tiles;\n var componentsCount = siz.Csiz;\n\n for (var i = 0, ii = componentsCount; i < ii; i++) {\n var component = components[i];\n\n for (var j = 0, jj = tiles.length; j < jj; j++) {\n var tileComponent = {};\n tile = tiles[j];\n tileComponent.tcx0 = Math.ceil(tile.tx0 / component.XRsiz);\n tileComponent.tcy0 = Math.ceil(tile.ty0 / component.YRsiz);\n tileComponent.tcx1 = Math.ceil(tile.tx1 / component.XRsiz);\n tileComponent.tcy1 = Math.ceil(tile.ty1 / component.YRsiz);\n tileComponent.width = tileComponent.tcx1 - tileComponent.tcx0;\n tileComponent.height = tileComponent.tcy1 - tileComponent.tcy0;\n tile.components[i] = tileComponent;\n }\n }\n }\n\n function getBlocksDimensions(context, component, r) {\n var codOrCoc = component.codingStyleParameters;\n var result = {};\n\n if (!codOrCoc.entropyCoderWithCustomPrecincts) {\n result.PPx = 15;\n result.PPy = 15;\n } else {\n result.PPx = codOrCoc.precinctsSizes[r].PPx;\n result.PPy = codOrCoc.precinctsSizes[r].PPy;\n }\n\n result.xcb_ = r > 0 ? Math.min(codOrCoc.xcb, result.PPx - 1) : Math.min(codOrCoc.xcb, result.PPx);\n result.ycb_ = r > 0 ? Math.min(codOrCoc.ycb, result.PPy - 1) : Math.min(codOrCoc.ycb, result.PPy);\n return result;\n }\n\n function buildPrecincts(context, resolution, dimensions) {\n var precinctWidth = 1 << dimensions.PPx;\n var precinctHeight = 1 << dimensions.PPy;\n var isZeroRes = resolution.resLevel === 0;\n var precinctWidthInSubband = 1 << dimensions.PPx + (isZeroRes ? 0 : -1);\n var precinctHeightInSubband = 1 << dimensions.PPy + (isZeroRes ? 0 : -1);\n var numprecinctswide = resolution.trx1 > resolution.trx0 ? Math.ceil(resolution.trx1 / precinctWidth) - Math.floor(resolution.trx0 / precinctWidth) : 0;\n var numprecinctshigh = resolution.try1 > resolution.try0 ? Math.ceil(resolution.try1 / precinctHeight) - Math.floor(resolution.try0 / precinctHeight) : 0;\n var numprecincts = numprecinctswide * numprecinctshigh;\n resolution.precinctParameters = {\n precinctWidth: precinctWidth,\n precinctHeight: precinctHeight,\n numprecinctswide: numprecinctswide,\n numprecinctshigh: numprecinctshigh,\n numprecincts: numprecincts,\n precinctWidthInSubband: precinctWidthInSubband,\n precinctHeightInSubband: precinctHeightInSubband\n };\n }\n\n function buildCodeblocks(context, subband, dimensions) {\n var xcb_ = dimensions.xcb_;\n var ycb_ = dimensions.ycb_;\n var codeblockWidth = 1 << xcb_;\n var codeblockHeight = 1 << ycb_;\n var cbx0 = subband.tbx0 >> xcb_;\n var cby0 = subband.tby0 >> ycb_;\n var cbx1 = subband.tbx1 + codeblockWidth - 1 >> xcb_;\n var cby1 = subband.tby1 + codeblockHeight - 1 >> ycb_;\n var precinctParameters = subband.resolution.precinctParameters;\n var codeblocks = [];\n var precincts = [];\n var i, j, codeblock, precinctNumber;\n\n for (j = cby0; j < cby1; j++) {\n for (i = cbx0; i < cbx1; i++) {\n codeblock = {\n cbx: i,\n cby: j,\n tbx0: codeblockWidth * i,\n tby0: codeblockHeight * j,\n tbx1: codeblockWidth * (i + 1),\n tby1: codeblockHeight * (j + 1)\n };\n codeblock.tbx0_ = Math.max(subband.tbx0, codeblock.tbx0);\n codeblock.tby0_ = Math.max(subband.tby0, codeblock.tby0);\n codeblock.tbx1_ = Math.min(subband.tbx1, codeblock.tbx1);\n codeblock.tby1_ = Math.min(subband.tby1, codeblock.tby1);\n var pi = Math.floor((codeblock.tbx0_ - subband.tbx0) / precinctParameters.precinctWidthInSubband);\n var pj = Math.floor((codeblock.tby0_ - subband.tby0) / precinctParameters.precinctHeightInSubband);\n precinctNumber = pi + pj * precinctParameters.numprecinctswide;\n codeblock.precinctNumber = precinctNumber;\n codeblock.subbandType = subband.type;\n codeblock.Lblock = 3;\n\n if (codeblock.tbx1_ <= codeblock.tbx0_ || codeblock.tby1_ <= codeblock.tby0_) {\n continue;\n }\n\n codeblocks.push(codeblock);\n var precinct = precincts[precinctNumber];\n\n if (precinct !== undefined) {\n if (i < precinct.cbxMin) {\n precinct.cbxMin = i;\n } else if (i > precinct.cbxMax) {\n precinct.cbxMax = i;\n }\n\n if (j < precinct.cbyMin) {\n precinct.cbxMin = j;\n } else if (j > precinct.cbyMax) {\n precinct.cbyMax = j;\n }\n } else {\n precincts[precinctNumber] = precinct = {\n cbxMin: i,\n cbyMin: j,\n cbxMax: i,\n cbyMax: j\n };\n }\n\n codeblock.precinct = precinct;\n }\n }\n\n subband.codeblockParameters = {\n codeblockWidth: xcb_,\n codeblockHeight: ycb_,\n numcodeblockwide: cbx1 - cbx0 + 1,\n numcodeblockhigh: cby1 - cby0 + 1\n };\n subband.codeblocks = codeblocks;\n subband.precincts = precincts;\n }\n\n function createPacket(resolution, precinctNumber, layerNumber) {\n var precinctCodeblocks = [];\n var subbands = resolution.subbands;\n\n for (var i = 0, ii = subbands.length; i < ii; i++) {\n var subband = subbands[i];\n var codeblocks = subband.codeblocks;\n\n for (var j = 0, jj = codeblocks.length; j < jj; j++) {\n var codeblock = codeblocks[j];\n\n if (codeblock.precinctNumber !== precinctNumber) {\n continue;\n }\n\n precinctCodeblocks.push(codeblock);\n }\n }\n\n return {\n layerNumber: layerNumber,\n codeblocks: precinctCodeblocks\n };\n }\n\n function LayerResolutionComponentPositionIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var maxDecompositionLevelsCount = 0;\n\n for (var q = 0; q < componentsCount; q++) {\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount);\n }\n\n var l = 0,\n r = 0,\n i = 0,\n k = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; l < layersCount; l++) {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; i < componentsCount; i++) {\n var component = tile.components[i];\n\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n var resolution = component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n\n for (; k < numprecincts;) {\n var packet = createPacket(resolution, k, l);\n k++;\n return packet;\n }\n\n k = 0;\n }\n\n i = 0;\n }\n\n r = 0;\n }\n\n throw new JpxError('Out of packets');\n };\n }\n\n function ResolutionLayerComponentPositionIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var maxDecompositionLevelsCount = 0;\n\n for (var q = 0; q < componentsCount; q++) {\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount);\n }\n\n var r = 0,\n l = 0,\n i = 0,\n k = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; l < layersCount; l++) {\n for (; i < componentsCount; i++) {\n var component = tile.components[i];\n\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n var resolution = component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n\n for (; k < numprecincts;) {\n var packet = createPacket(resolution, k, l);\n k++;\n return packet;\n }\n\n k = 0;\n }\n\n i = 0;\n }\n\n l = 0;\n }\n\n throw new JpxError('Out of packets');\n };\n }\n\n function ResolutionPositionComponentLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var l, r, c, p;\n var maxDecompositionLevelsCount = 0;\n\n for (c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, component.codingStyleParameters.decompositionLevelsCount);\n }\n\n var maxNumPrecinctsInLevel = new Int32Array(maxDecompositionLevelsCount + 1);\n\n for (r = 0; r <= maxDecompositionLevelsCount; ++r) {\n var maxNumPrecincts = 0;\n\n for (c = 0; c < componentsCount; ++c) {\n var resolutions = tile.components[c].resolutions;\n\n if (r < resolutions.length) {\n maxNumPrecincts = Math.max(maxNumPrecincts, resolutions[r].precinctParameters.numprecincts);\n }\n }\n\n maxNumPrecinctsInLevel[r] = maxNumPrecincts;\n }\n\n l = 0;\n r = 0;\n c = 0;\n p = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; p < maxNumPrecinctsInLevel[r]; p++) {\n for (; c < componentsCount; c++) {\n var component = tile.components[c];\n\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n var resolution = component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n\n if (p >= numprecincts) {\n continue;\n }\n\n for (; l < layersCount;) {\n var packet = createPacket(resolution, p, l);\n l++;\n return packet;\n }\n\n l = 0;\n }\n\n c = 0;\n }\n\n p = 0;\n }\n\n throw new JpxError('Out of packets');\n };\n }\n\n function PositionComponentResolutionLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var precinctsSizes = getPrecinctSizesInImageScale(tile);\n var precinctsIterationSizes = precinctsSizes;\n var l = 0,\n r = 0,\n c = 0,\n px = 0,\n py = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n for (; px < precinctsIterationSizes.maxNumWide; px++) {\n for (; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n\n for (; r <= decompositionLevelsCount; r++) {\n var resolution = component.resolutions[r];\n var sizeInImageScale = precinctsSizes.components[c].resolutions[r];\n var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution);\n\n if (k === null) {\n continue;\n }\n\n for (; l < layersCount;) {\n var packet = createPacket(resolution, k, l);\n l++;\n return packet;\n }\n\n l = 0;\n }\n\n r = 0;\n }\n\n c = 0;\n }\n\n px = 0;\n }\n\n throw new JpxError('Out of packets');\n };\n }\n\n function ComponentPositionResolutionLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var precinctsSizes = getPrecinctSizesInImageScale(tile);\n var l = 0,\n r = 0,\n c = 0,\n px = 0,\n py = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; c < componentsCount; ++c) {\n var component = tile.components[c];\n var precinctsIterationSizes = precinctsSizes.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n\n for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n for (; px < precinctsIterationSizes.maxNumWide; px++) {\n for (; r <= decompositionLevelsCount; r++) {\n var resolution = component.resolutions[r];\n var sizeInImageScale = precinctsIterationSizes.resolutions[r];\n var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution);\n\n if (k === null) {\n continue;\n }\n\n for (; l < layersCount;) {\n var packet = createPacket(resolution, k, l);\n l++;\n return packet;\n }\n\n l = 0;\n }\n\n r = 0;\n }\n\n px = 0;\n }\n\n py = 0;\n }\n\n throw new JpxError('Out of packets');\n };\n }\n\n function getPrecinctIndexIfExist(pxIndex, pyIndex, sizeInImageScale, precinctIterationSizes, resolution) {\n var posX = pxIndex * precinctIterationSizes.minWidth;\n var posY = pyIndex * precinctIterationSizes.minHeight;\n\n if (posX % sizeInImageScale.width !== 0 || posY % sizeInImageScale.height !== 0) {\n return null;\n }\n\n var startPrecinctRowIndex = posY / sizeInImageScale.width * resolution.precinctParameters.numprecinctswide;\n return posX / sizeInImageScale.height + startPrecinctRowIndex;\n }\n\n function getPrecinctSizesInImageScale(tile) {\n var componentsCount = tile.components.length;\n var minWidth = Number.MAX_VALUE;\n var minHeight = Number.MAX_VALUE;\n var maxNumWide = 0;\n var maxNumHigh = 0;\n var sizePerComponent = new Array(componentsCount);\n\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n var sizePerResolution = new Array(decompositionLevelsCount + 1);\n var minWidthCurrentComponent = Number.MAX_VALUE;\n var minHeightCurrentComponent = Number.MAX_VALUE;\n var maxNumWideCurrentComponent = 0;\n var maxNumHighCurrentComponent = 0;\n var scale = 1;\n\n for (var r = decompositionLevelsCount; r >= 0; --r) {\n var resolution = component.resolutions[r];\n var widthCurrentResolution = scale * resolution.precinctParameters.precinctWidth;\n var heightCurrentResolution = scale * resolution.precinctParameters.precinctHeight;\n minWidthCurrentComponent = Math.min(minWidthCurrentComponent, widthCurrentResolution);\n minHeightCurrentComponent = Math.min(minHeightCurrentComponent, heightCurrentResolution);\n maxNumWideCurrentComponent = Math.max(maxNumWideCurrentComponent, resolution.precinctParameters.numprecinctswide);\n maxNumHighCurrentComponent = Math.max(maxNumHighCurrentComponent, resolution.precinctParameters.numprecinctshigh);\n sizePerResolution[r] = {\n width: widthCurrentResolution,\n height: heightCurrentResolution\n };\n scale <<= 1;\n }\n\n minWidth = Math.min(minWidth, minWidthCurrentComponent);\n minHeight = Math.min(minHeight, minHeightCurrentComponent);\n maxNumWide = Math.max(maxNumWide, maxNumWideCurrentComponent);\n maxNumHigh = Math.max(maxNumHigh, maxNumHighCurrentComponent);\n sizePerComponent[c] = {\n resolutions: sizePerResolution,\n minWidth: minWidthCurrentComponent,\n minHeight: minHeightCurrentComponent,\n maxNumWide: maxNumWideCurrentComponent,\n maxNumHigh: maxNumHighCurrentComponent\n };\n }\n\n return {\n components: sizePerComponent,\n minWidth: minWidth,\n minHeight: minHeight,\n maxNumWide: maxNumWide,\n maxNumHigh: maxNumHigh\n };\n }\n\n function buildPackets(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var componentsCount = siz.Csiz;\n\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n var resolutions = [];\n var subbands = [];\n\n for (var r = 0; r <= decompositionLevelsCount; r++) {\n var blocksDimensions = getBlocksDimensions(context, component, r);\n var resolution = {};\n var scale = 1 << decompositionLevelsCount - r;\n resolution.trx0 = Math.ceil(component.tcx0 / scale);\n resolution.try0 = Math.ceil(component.tcy0 / scale);\n resolution.trx1 = Math.ceil(component.tcx1 / scale);\n resolution.try1 = Math.ceil(component.tcy1 / scale);\n resolution.resLevel = r;\n buildPrecincts(context, resolution, blocksDimensions);\n resolutions.push(resolution);\n var subband;\n\n if (r === 0) {\n subband = {};\n subband.type = 'LL';\n subband.tbx0 = Math.ceil(component.tcx0 / scale);\n subband.tby0 = Math.ceil(component.tcy0 / scale);\n subband.tbx1 = Math.ceil(component.tcx1 / scale);\n subband.tby1 = Math.ceil(component.tcy1 / scale);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolution.subbands = [subband];\n } else {\n var bscale = 1 << decompositionLevelsCount - r + 1;\n var resolutionSubbands = [];\n subband = {};\n subband.type = 'HL';\n subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n subband.tby0 = Math.ceil(component.tcy0 / bscale);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n subband.tby1 = Math.ceil(component.tcy1 / bscale);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n subband = {};\n subband.type = 'LH';\n subband.tbx0 = Math.ceil(component.tcx0 / bscale);\n subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale);\n subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n subband = {};\n subband.type = 'HH';\n subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n resolution.subbands = resolutionSubbands;\n }\n }\n\n component.resolutions = resolutions;\n component.subbands = subbands;\n }\n\n var progressionOrder = tile.codingStyleDefaultParameters.progressionOrder;\n\n switch (progressionOrder) {\n case 0:\n tile.packetsIterator = new LayerResolutionComponentPositionIterator(context);\n break;\n\n case 1:\n tile.packetsIterator = new ResolutionLayerComponentPositionIterator(context);\n break;\n\n case 2:\n tile.packetsIterator = new ResolutionPositionComponentLayerIterator(context);\n break;\n\n case 3:\n tile.packetsIterator = new PositionComponentResolutionLayerIterator(context);\n break;\n\n case 4:\n tile.packetsIterator = new ComponentPositionResolutionLayerIterator(context);\n break;\n\n default:\n throw new JpxError(\"Unsupported progression order \".concat(progressionOrder));\n }\n }\n\n function parseTilePackets(context, data, offset, dataLength) {\n var position = 0;\n var buffer,\n bufferSize = 0,\n skipNextBit = false;\n\n function readBits(count) {\n while (bufferSize < count) {\n var b = data[offset + position];\n position++;\n\n if (skipNextBit) {\n buffer = buffer << 7 | b;\n bufferSize += 7;\n skipNextBit = false;\n } else {\n buffer = buffer << 8 | b;\n bufferSize += 8;\n }\n\n if (b === 0xFF) {\n skipNextBit = true;\n }\n }\n\n bufferSize -= count;\n return buffer >>> bufferSize & (1 << count) - 1;\n }\n\n function skipMarkerIfEqual(value) {\n if (data[offset + position - 1] === 0xFF && data[offset + position] === value) {\n skipBytes(1);\n return true;\n } else if (data[offset + position] === 0xFF && data[offset + position + 1] === value) {\n skipBytes(2);\n return true;\n }\n\n return false;\n }\n\n function skipBytes(count) {\n position += count;\n }\n\n function alignToByte() {\n bufferSize = 0;\n\n if (skipNextBit) {\n position++;\n skipNextBit = false;\n }\n }\n\n function readCodingpasses() {\n if (readBits(1) === 0) {\n return 1;\n }\n\n if (readBits(1) === 0) {\n return 2;\n }\n\n var value = readBits(2);\n\n if (value < 3) {\n return value + 3;\n }\n\n value = readBits(5);\n\n if (value < 31) {\n return value + 6;\n }\n\n value = readBits(7);\n return value + 37;\n }\n\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var sopMarkerUsed = context.COD.sopMarkerUsed;\n var ephMarkerUsed = context.COD.ephMarkerUsed;\n var packetsIterator = tile.packetsIterator;\n\n while (position < dataLength) {\n alignToByte();\n\n if (sopMarkerUsed && skipMarkerIfEqual(0x91)) {\n skipBytes(4);\n }\n\n var packet = packetsIterator.nextPacket();\n\n if (!readBits(1)) {\n continue;\n }\n\n var layerNumber = packet.layerNumber;\n var queue = [],\n codeblock;\n\n for (var i = 0, ii = packet.codeblocks.length; i < ii; i++) {\n codeblock = packet.codeblocks[i];\n var precinct = codeblock.precinct;\n var codeblockColumn = codeblock.cbx - precinct.cbxMin;\n var codeblockRow = codeblock.cby - precinct.cbyMin;\n var codeblockIncluded = false;\n var firstTimeInclusion = false;\n var valueReady;\n\n if (codeblock['included'] !== undefined) {\n codeblockIncluded = !!readBits(1);\n } else {\n precinct = codeblock.precinct;\n var inclusionTree, zeroBitPlanesTree;\n\n if (precinct['inclusionTree'] !== undefined) {\n inclusionTree = precinct.inclusionTree;\n } else {\n var width = precinct.cbxMax - precinct.cbxMin + 1;\n var height = precinct.cbyMax - precinct.cbyMin + 1;\n inclusionTree = new InclusionTree(width, height, layerNumber);\n zeroBitPlanesTree = new TagTree(width, height);\n precinct.inclusionTree = inclusionTree;\n precinct.zeroBitPlanesTree = zeroBitPlanesTree;\n }\n\n if (inclusionTree.reset(codeblockColumn, codeblockRow, layerNumber)) {\n while (true) {\n if (readBits(1)) {\n valueReady = !inclusionTree.nextLevel();\n\n if (valueReady) {\n codeblock.included = true;\n codeblockIncluded = firstTimeInclusion = true;\n break;\n }\n } else {\n inclusionTree.incrementValue(layerNumber);\n break;\n }\n }\n }\n }\n\n if (!codeblockIncluded) {\n continue;\n }\n\n if (firstTimeInclusion) {\n zeroBitPlanesTree = precinct.zeroBitPlanesTree;\n zeroBitPlanesTree.reset(codeblockColumn, codeblockRow);\n\n while (true) {\n if (readBits(1)) {\n valueReady = !zeroBitPlanesTree.nextLevel();\n\n if (valueReady) {\n break;\n }\n } else {\n zeroBitPlanesTree.incrementValue();\n }\n }\n\n codeblock.zeroBitPlanes = zeroBitPlanesTree.value;\n }\n\n var codingpasses = readCodingpasses();\n\n while (readBits(1)) {\n codeblock.Lblock++;\n }\n\n var codingpassesLog2 = (0, _util.log2)(codingpasses);\n var bits = (codingpasses < 1 << codingpassesLog2 ? codingpassesLog2 - 1 : codingpassesLog2) + codeblock.Lblock;\n var codedDataLength = readBits(bits);\n queue.push({\n codeblock: codeblock,\n codingpasses: codingpasses,\n dataLength: codedDataLength\n });\n }\n\n alignToByte();\n\n if (ephMarkerUsed) {\n skipMarkerIfEqual(0x92);\n }\n\n while (queue.length > 0) {\n var packetItem = queue.shift();\n codeblock = packetItem.codeblock;\n\n if (codeblock['data'] === undefined) {\n codeblock.data = [];\n }\n\n codeblock.data.push({\n data: data,\n start: offset + position,\n end: offset + position + packetItem.dataLength,\n codingpasses: packetItem.codingpasses\n });\n position += packetItem.dataLength;\n }\n }\n\n return position;\n }\n\n function copyCoefficients(coefficients, levelWidth, levelHeight, subband, delta, mb, reversible, segmentationSymbolUsed) {\n var x0 = subband.tbx0;\n var y0 = subband.tby0;\n var width = subband.tbx1 - subband.tbx0;\n var codeblocks = subband.codeblocks;\n var right = subband.type.charAt(0) === 'H' ? 1 : 0;\n var bottom = subband.type.charAt(1) === 'H' ? levelWidth : 0;\n\n for (var i = 0, ii = codeblocks.length; i < ii; ++i) {\n var codeblock = codeblocks[i];\n var blockWidth = codeblock.tbx1_ - codeblock.tbx0_;\n var blockHeight = codeblock.tby1_ - codeblock.tby0_;\n\n if (blockWidth === 0 || blockHeight === 0) {\n continue;\n }\n\n if (codeblock['data'] === undefined) {\n continue;\n }\n\n var bitModel, currentCodingpassType;\n bitModel = new BitModel(blockWidth, blockHeight, codeblock.subbandType, codeblock.zeroBitPlanes, mb);\n currentCodingpassType = 2;\n var data = codeblock.data,\n totalLength = 0,\n codingpasses = 0;\n var j, jj, dataItem;\n\n for (j = 0, jj = data.length; j < jj; j++) {\n dataItem = data[j];\n totalLength += dataItem.end - dataItem.start;\n codingpasses += dataItem.codingpasses;\n }\n\n var encodedData = new Uint8Array(totalLength);\n var position = 0;\n\n for (j = 0, jj = data.length; j < jj; j++) {\n dataItem = data[j];\n var chunk = dataItem.data.subarray(dataItem.start, dataItem.end);\n encodedData.set(chunk, position);\n position += chunk.length;\n }\n\n var decoder = new _arithmetic_decoder.ArithmeticDecoder(encodedData, 0, totalLength);\n bitModel.setDecoder(decoder);\n\n for (j = 0; j < codingpasses; j++) {\n switch (currentCodingpassType) {\n case 0:\n bitModel.runSignificancePropagationPass();\n break;\n\n case 1:\n bitModel.runMagnitudeRefinementPass();\n break;\n\n case 2:\n bitModel.runCleanupPass();\n\n if (segmentationSymbolUsed) {\n bitModel.checkSegmentationSymbol();\n }\n\n break;\n }\n\n currentCodingpassType = (currentCodingpassType + 1) % 3;\n }\n\n var offset = codeblock.tbx0_ - x0 + (codeblock.tby0_ - y0) * width;\n var sign = bitModel.coefficentsSign;\n var magnitude = bitModel.coefficentsMagnitude;\n var bitsDecoded = bitModel.bitsDecoded;\n var magnitudeCorrection = reversible ? 0 : 0.5;\n var k, n, nb;\n position = 0;\n var interleave = subband.type !== 'LL';\n\n for (j = 0; j < blockHeight; j++) {\n var row = offset / width | 0;\n var levelOffset = 2 * row * (levelWidth - width) + right + bottom;\n\n for (k = 0; k < blockWidth; k++) {\n n = magnitude[position];\n\n if (n !== 0) {\n n = (n + magnitudeCorrection) * delta;\n\n if (sign[position] !== 0) {\n n = -n;\n }\n\n nb = bitsDecoded[position];\n var pos = interleave ? levelOffset + (offset << 1) : offset;\n\n if (reversible && nb >= mb) {\n coefficients[pos] = n;\n } else {\n coefficients[pos] = n * (1 << mb - nb);\n }\n }\n\n offset++;\n position++;\n }\n\n offset += width - blockWidth;\n }\n }\n }\n\n function transformTile(context, tile, c) {\n var component = tile.components[c];\n var codingStyleParameters = component.codingStyleParameters;\n var quantizationParameters = component.quantizationParameters;\n var decompositionLevelsCount = codingStyleParameters.decompositionLevelsCount;\n var spqcds = quantizationParameters.SPqcds;\n var scalarExpounded = quantizationParameters.scalarExpounded;\n var guardBits = quantizationParameters.guardBits;\n var segmentationSymbolUsed = codingStyleParameters.segmentationSymbolUsed;\n var precision = context.components[c].precision;\n var reversible = codingStyleParameters.reversibleTransformation;\n var transform = reversible ? new ReversibleTransform() : new IrreversibleTransform();\n var subbandCoefficients = [];\n var b = 0;\n\n for (var i = 0; i <= decompositionLevelsCount; i++) {\n var resolution = component.resolutions[i];\n var width = resolution.trx1 - resolution.trx0;\n var height = resolution.try1 - resolution.try0;\n var coefficients = new Float32Array(width * height);\n\n for (var j = 0, jj = resolution.subbands.length; j < jj; j++) {\n var mu, epsilon;\n\n if (!scalarExpounded) {\n mu = spqcds[0].mu;\n epsilon = spqcds[0].epsilon + (i > 0 ? 1 - i : 0);\n } else {\n mu = spqcds[b].mu;\n epsilon = spqcds[b].epsilon;\n b++;\n }\n\n var subband = resolution.subbands[j];\n var gainLog2 = SubbandsGainLog2[subband.type];\n var delta = reversible ? 1 : Math.pow(2, precision + gainLog2 - epsilon) * (1 + mu / 2048);\n var mb = guardBits + epsilon - 1;\n copyCoefficients(coefficients, width, height, subband, delta, mb, reversible, segmentationSymbolUsed);\n }\n\n subbandCoefficients.push({\n width: width,\n height: height,\n items: coefficients\n });\n }\n\n var result = transform.calculate(subbandCoefficients, component.tcx0, component.tcy0);\n return {\n left: component.tcx0,\n top: component.tcy0,\n width: result.width,\n height: result.height,\n items: result.items\n };\n }\n\n function transformComponents(context) {\n var siz = context.SIZ;\n var components = context.components;\n var componentsCount = siz.Csiz;\n var resultImages = [];\n\n for (var i = 0, ii = context.tiles.length; i < ii; i++) {\n var tile = context.tiles[i];\n var transformedTiles = [];\n var c;\n\n for (c = 0; c < componentsCount; c++) {\n transformedTiles[c] = transformTile(context, tile, c);\n }\n\n var tile0 = transformedTiles[0];\n var out = new Uint8ClampedArray(tile0.items.length * componentsCount);\n var result = {\n left: tile0.left,\n top: tile0.top,\n width: tile0.width,\n height: tile0.height,\n items: out\n };\n var shift, offset;\n var pos = 0,\n j,\n jj,\n y0,\n y1,\n y2;\n\n if (tile.codingStyleDefaultParameters.multipleComponentTransform) {\n var fourComponents = componentsCount === 4;\n var y0items = transformedTiles[0].items;\n var y1items = transformedTiles[1].items;\n var y2items = transformedTiles[2].items;\n var y3items = fourComponents ? transformedTiles[3].items : null;\n shift = components[0].precision - 8;\n offset = (128 << shift) + 0.5;\n var component0 = tile.components[0];\n var alpha01 = componentsCount - 3;\n jj = y0items.length;\n\n if (!component0.codingStyleParameters.reversibleTransformation) {\n for (j = 0; j < jj; j++, pos += alpha01) {\n y0 = y0items[j] + offset;\n y1 = y1items[j];\n y2 = y2items[j];\n out[pos++] = y0 + 1.402 * y2 >> shift;\n out[pos++] = y0 - 0.34413 * y1 - 0.71414 * y2 >> shift;\n out[pos++] = y0 + 1.772 * y1 >> shift;\n }\n } else {\n for (j = 0; j < jj; j++, pos += alpha01) {\n y0 = y0items[j] + offset;\n y1 = y1items[j];\n y2 = y2items[j];\n var g = y0 - (y2 + y1 >> 2);\n out[pos++] = g + y2 >> shift;\n out[pos++] = g >> shift;\n out[pos++] = g + y1 >> shift;\n }\n }\n\n if (fourComponents) {\n for (j = 0, pos = 3; j < jj; j++, pos += 4) {\n out[pos] = y3items[j] + offset >> shift;\n }\n }\n } else {\n for (c = 0; c < componentsCount; c++) {\n var items = transformedTiles[c].items;\n shift = components[c].precision - 8;\n offset = (128 << shift) + 0.5;\n\n for (pos = c, j = 0, jj = items.length; j < jj; j++) {\n out[pos] = items[j] + offset >> shift;\n pos += componentsCount;\n }\n }\n }\n\n resultImages.push(result);\n }\n\n return resultImages;\n }\n\n function initializeTile(context, tileIndex) {\n var siz = context.SIZ;\n var componentsCount = siz.Csiz;\n var tile = context.tiles[tileIndex];\n\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var qcdOrQcc = context.currentTile.QCC[c] !== undefined ? context.currentTile.QCC[c] : context.currentTile.QCD;\n component.quantizationParameters = qcdOrQcc;\n var codOrCoc = context.currentTile.COC[c] !== undefined ? context.currentTile.COC[c] : context.currentTile.COD;\n component.codingStyleParameters = codOrCoc;\n }\n\n tile.codingStyleDefaultParameters = context.currentTile.COD;\n }\n\n var TagTree = function TagTreeClosure() {\n function TagTree(width, height) {\n var levelsLength = (0, _util.log2)(Math.max(width, height)) + 1;\n this.levels = [];\n\n for (var i = 0; i < levelsLength; i++) {\n var level = {\n width: width,\n height: height,\n items: []\n };\n this.levels.push(level);\n width = Math.ceil(width / 2);\n height = Math.ceil(height / 2);\n }\n }\n\n TagTree.prototype = {\n reset: function TagTree_reset(i, j) {\n var currentLevel = 0,\n value = 0,\n level;\n\n while (currentLevel < this.levels.length) {\n level = this.levels[currentLevel];\n var index = i + j * level.width;\n\n if (level.items[index] !== undefined) {\n value = level.items[index];\n break;\n }\n\n level.index = index;\n i >>= 1;\n j >>= 1;\n currentLevel++;\n }\n\n currentLevel--;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n this.currentLevel = currentLevel;\n delete this.value;\n },\n incrementValue: function TagTree_incrementValue() {\n var level = this.levels[this.currentLevel];\n level.items[level.index]++;\n },\n nextLevel: function TagTree_nextLevel() {\n var currentLevel = this.currentLevel;\n var level = this.levels[currentLevel];\n var value = level.items[level.index];\n currentLevel--;\n\n if (currentLevel < 0) {\n this.value = value;\n return false;\n }\n\n this.currentLevel = currentLevel;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n return true;\n }\n };\n return TagTree;\n }();\n\n var InclusionTree = function InclusionTreeClosure() {\n function InclusionTree(width, height, defaultValue) {\n var levelsLength = (0, _util.log2)(Math.max(width, height)) + 1;\n this.levels = [];\n\n for (var i = 0; i < levelsLength; i++) {\n var items = new Uint8Array(width * height);\n\n for (var j = 0, jj = items.length; j < jj; j++) {\n items[j] = defaultValue;\n }\n\n var level = {\n width: width,\n height: height,\n items: items\n };\n this.levels.push(level);\n width = Math.ceil(width / 2);\n height = Math.ceil(height / 2);\n }\n }\n\n InclusionTree.prototype = {\n reset: function InclusionTree_reset(i, j, stopValue) {\n var currentLevel = 0;\n\n while (currentLevel < this.levels.length) {\n var level = this.levels[currentLevel];\n var index = i + j * level.width;\n level.index = index;\n var value = level.items[index];\n\n if (value === 0xFF) {\n break;\n }\n\n if (value > stopValue) {\n this.currentLevel = currentLevel;\n this.propagateValues();\n return false;\n }\n\n i >>= 1;\n j >>= 1;\n currentLevel++;\n }\n\n this.currentLevel = currentLevel - 1;\n return true;\n },\n incrementValue: function InclusionTree_incrementValue(stopValue) {\n var level = this.levels[this.currentLevel];\n level.items[level.index] = stopValue + 1;\n this.propagateValues();\n },\n propagateValues: function InclusionTree_propagateValues() {\n var levelIndex = this.currentLevel;\n var level = this.levels[levelIndex];\n var currentValue = level.items[level.index];\n\n while (--levelIndex >= 0) {\n level = this.levels[levelIndex];\n level.items[level.index] = currentValue;\n }\n },\n nextLevel: function InclusionTree_nextLevel() {\n var currentLevel = this.currentLevel;\n var level = this.levels[currentLevel];\n var value = level.items[level.index];\n level.items[level.index] = 0xFF;\n currentLevel--;\n\n if (currentLevel < 0) {\n return false;\n }\n\n this.currentLevel = currentLevel;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n return true;\n }\n };\n return InclusionTree;\n }();\n\n var BitModel = function BitModelClosure() {\n var UNIFORM_CONTEXT = 17;\n var RUNLENGTH_CONTEXT = 18;\n var LLAndLHContextsLabel = new Uint8Array([0, 5, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 1, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8]);\n var HLContextLabel = new Uint8Array([0, 3, 4, 0, 5, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 1, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8]);\n var HHContextLabel = new Uint8Array([0, 1, 2, 0, 1, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 0, 3, 4, 5, 0, 4, 5, 5, 0, 5, 5, 5, 0, 0, 0, 0, 0, 6, 7, 7, 0, 7, 7, 7, 0, 7, 7, 7, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8]);\n\n function BitModel(width, height, subband, zeroBitPlanes, mb) {\n this.width = width;\n this.height = height;\n this.contextLabelTable = subband === 'HH' ? HHContextLabel : subband === 'HL' ? HLContextLabel : LLAndLHContextsLabel;\n var coefficientCount = width * height;\n this.neighborsSignificance = new Uint8Array(coefficientCount);\n this.coefficentsSign = new Uint8Array(coefficientCount);\n this.coefficentsMagnitude = mb > 14 ? new Uint32Array(coefficientCount) : mb > 6 ? new Uint16Array(coefficientCount) : new Uint8Array(coefficientCount);\n this.processingFlags = new Uint8Array(coefficientCount);\n var bitsDecoded = new Uint8Array(coefficientCount);\n\n if (zeroBitPlanes !== 0) {\n for (var i = 0; i < coefficientCount; i++) {\n bitsDecoded[i] = zeroBitPlanes;\n }\n }\n\n this.bitsDecoded = bitsDecoded;\n this.reset();\n }\n\n BitModel.prototype = {\n setDecoder: function BitModel_setDecoder(decoder) {\n this.decoder = decoder;\n },\n reset: function BitModel_reset() {\n this.contexts = new Int8Array(19);\n this.contexts[0] = 4 << 1 | 0;\n this.contexts[UNIFORM_CONTEXT] = 46 << 1 | 0;\n this.contexts[RUNLENGTH_CONTEXT] = 3 << 1 | 0;\n },\n setNeighborsSignificance: function BitModel_setNeighborsSignificance(row, column, index) {\n var neighborsSignificance = this.neighborsSignificance;\n var width = this.width,\n height = this.height;\n var left = column > 0;\n var right = column + 1 < width;\n var i;\n\n if (row > 0) {\n i = index - width;\n\n if (left) {\n neighborsSignificance[i - 1] += 0x10;\n }\n\n if (right) {\n neighborsSignificance[i + 1] += 0x10;\n }\n\n neighborsSignificance[i] += 0x04;\n }\n\n if (row + 1 < height) {\n i = index + width;\n\n if (left) {\n neighborsSignificance[i - 1] += 0x10;\n }\n\n if (right) {\n neighborsSignificance[i + 1] += 0x10;\n }\n\n neighborsSignificance[i] += 0x04;\n }\n\n if (left) {\n neighborsSignificance[index - 1] += 0x01;\n }\n\n if (right) {\n neighborsSignificance[index + 1] += 0x01;\n }\n\n neighborsSignificance[index] |= 0x80;\n },\n runSignificancePropagationPass: function BitModel_runSignificancePropagationPass() {\n var decoder = this.decoder;\n var width = this.width,\n height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var neighborsSignificance = this.neighborsSignificance;\n var processingFlags = this.processingFlags;\n var contexts = this.contexts;\n var labels = this.contextLabelTable;\n var bitsDecoded = this.bitsDecoded;\n var processedInverseMask = ~1;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n\n for (var i0 = 0; i0 < height; i0 += 4) {\n for (var j = 0; j < width; j++) {\n var index = i0 * width + j;\n\n for (var i1 = 0; i1 < 4; i1++, index += width) {\n var i = i0 + i1;\n\n if (i >= height) {\n break;\n }\n\n processingFlags[index] &= processedInverseMask;\n\n if (coefficentsMagnitude[index] || !neighborsSignificance[index]) {\n continue;\n }\n\n var contextLabel = labels[neighborsSignificance[index]];\n var decision = decoder.readBit(contexts, contextLabel);\n\n if (decision) {\n var sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n }\n\n bitsDecoded[index]++;\n processingFlags[index] |= processedMask;\n }\n }\n }\n },\n decodeSignBit: function BitModel_decodeSignBit(row, column, index) {\n var width = this.width,\n height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var contribution, sign0, sign1, significance1;\n var contextLabel, decoded;\n significance1 = column > 0 && coefficentsMagnitude[index - 1] !== 0;\n\n if (column + 1 < width && coefficentsMagnitude[index + 1] !== 0) {\n sign1 = coefficentsSign[index + 1];\n\n if (significance1) {\n sign0 = coefficentsSign[index - 1];\n contribution = 1 - sign1 - sign0;\n } else {\n contribution = 1 - sign1 - sign1;\n }\n } else if (significance1) {\n sign0 = coefficentsSign[index - 1];\n contribution = 1 - sign0 - sign0;\n } else {\n contribution = 0;\n }\n\n var horizontalContribution = 3 * contribution;\n significance1 = row > 0 && coefficentsMagnitude[index - width] !== 0;\n\n if (row + 1 < height && coefficentsMagnitude[index + width] !== 0) {\n sign1 = coefficentsSign[index + width];\n\n if (significance1) {\n sign0 = coefficentsSign[index - width];\n contribution = 1 - sign1 - sign0 + horizontalContribution;\n } else {\n contribution = 1 - sign1 - sign1 + horizontalContribution;\n }\n } else if (significance1) {\n sign0 = coefficentsSign[index - width];\n contribution = 1 - sign0 - sign0 + horizontalContribution;\n } else {\n contribution = horizontalContribution;\n }\n\n if (contribution >= 0) {\n contextLabel = 9 + contribution;\n decoded = this.decoder.readBit(this.contexts, contextLabel);\n } else {\n contextLabel = 9 - contribution;\n decoded = this.decoder.readBit(this.contexts, contextLabel) ^ 1;\n }\n\n return decoded;\n },\n runMagnitudeRefinementPass: function BitModel_runMagnitudeRefinementPass() {\n var decoder = this.decoder;\n var width = this.width,\n height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var neighborsSignificance = this.neighborsSignificance;\n var contexts = this.contexts;\n var bitsDecoded = this.bitsDecoded;\n var processingFlags = this.processingFlags;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n var length = width * height;\n var width4 = width * 4;\n\n for (var index0 = 0, indexNext; index0 < length; index0 = indexNext) {\n indexNext = Math.min(length, index0 + width4);\n\n for (var j = 0; j < width; j++) {\n for (var index = index0 + j; index < indexNext; index += width) {\n if (!coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) {\n continue;\n }\n\n var contextLabel = 16;\n\n if ((processingFlags[index] & firstMagnitudeBitMask) !== 0) {\n processingFlags[index] ^= firstMagnitudeBitMask;\n var significance = neighborsSignificance[index] & 127;\n contextLabel = significance === 0 ? 15 : 14;\n }\n\n var bit = decoder.readBit(contexts, contextLabel);\n coefficentsMagnitude[index] = coefficentsMagnitude[index] << 1 | bit;\n bitsDecoded[index]++;\n processingFlags[index] |= processedMask;\n }\n }\n }\n },\n runCleanupPass: function BitModel_runCleanupPass() {\n var decoder = this.decoder;\n var width = this.width,\n height = this.height;\n var neighborsSignificance = this.neighborsSignificance;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var contexts = this.contexts;\n var labels = this.contextLabelTable;\n var bitsDecoded = this.bitsDecoded;\n var processingFlags = this.processingFlags;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n var oneRowDown = width;\n var twoRowsDown = width * 2;\n var threeRowsDown = width * 3;\n var iNext;\n\n for (var i0 = 0; i0 < height; i0 = iNext) {\n iNext = Math.min(i0 + 4, height);\n var indexBase = i0 * width;\n var checkAllEmpty = i0 + 3 < height;\n\n for (var j = 0; j < width; j++) {\n var index0 = indexBase + j;\n var allEmpty = checkAllEmpty && processingFlags[index0] === 0 && processingFlags[index0 + oneRowDown] === 0 && processingFlags[index0 + twoRowsDown] === 0 && processingFlags[index0 + threeRowsDown] === 0 && neighborsSignificance[index0] === 0 && neighborsSignificance[index0 + oneRowDown] === 0 && neighborsSignificance[index0 + twoRowsDown] === 0 && neighborsSignificance[index0 + threeRowsDown] === 0;\n var i1 = 0,\n index = index0;\n var i = i0,\n sign;\n\n if (allEmpty) {\n var hasSignificantCoefficent = decoder.readBit(contexts, RUNLENGTH_CONTEXT);\n\n if (!hasSignificantCoefficent) {\n bitsDecoded[index0]++;\n bitsDecoded[index0 + oneRowDown]++;\n bitsDecoded[index0 + twoRowsDown]++;\n bitsDecoded[index0 + threeRowsDown]++;\n continue;\n }\n\n i1 = decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT);\n\n if (i1 !== 0) {\n i = i0 + i1;\n index += i1 * width;\n }\n\n sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n index = index0;\n\n for (var i2 = i0; i2 <= i; i2++, index += width) {\n bitsDecoded[index]++;\n }\n\n i1++;\n }\n\n for (i = i0 + i1; i < iNext; i++, index += width) {\n if (coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) {\n continue;\n }\n\n var contextLabel = labels[neighborsSignificance[index]];\n var decision = decoder.readBit(contexts, contextLabel);\n\n if (decision === 1) {\n sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n }\n\n bitsDecoded[index]++;\n }\n }\n }\n },\n checkSegmentationSymbol: function BitModel_checkSegmentationSymbol() {\n var decoder = this.decoder;\n var contexts = this.contexts;\n var symbol = decoder.readBit(contexts, UNIFORM_CONTEXT) << 3 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 2 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT);\n\n if (symbol !== 0xA) {\n throw new JpxError('Invalid segmentation symbol');\n }\n }\n };\n return BitModel;\n }();\n\n var Transform = function TransformClosure() {\n function Transform() {}\n\n Transform.prototype.calculate = function transformCalculate(subbands, u0, v0) {\n var ll = subbands[0];\n\n for (var i = 1, ii = subbands.length; i < ii; i++) {\n ll = this.iterate(ll, subbands[i], u0, v0);\n }\n\n return ll;\n };\n\n Transform.prototype.extend = function extend(buffer, offset, size) {\n var i1 = offset - 1,\n j1 = offset + 1;\n var i2 = offset + size - 2,\n j2 = offset + size;\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1] = buffer[j1];\n buffer[j2] = buffer[i2];\n };\n\n Transform.prototype.iterate = function Transform_iterate(ll, hl_lh_hh, u0, v0) {\n var llWidth = ll.width,\n llHeight = ll.height,\n llItems = ll.items;\n var width = hl_lh_hh.width;\n var height = hl_lh_hh.height;\n var items = hl_lh_hh.items;\n var i, j, k, l, u, v;\n\n for (k = 0, i = 0; i < llHeight; i++) {\n l = i * 2 * width;\n\n for (j = 0; j < llWidth; j++, k++, l += 2) {\n items[l] = llItems[k];\n }\n }\n\n llItems = ll.items = null;\n var bufferPadding = 4;\n var rowBuffer = new Float32Array(width + 2 * bufferPadding);\n\n if (width === 1) {\n if ((u0 & 1) !== 0) {\n for (v = 0, k = 0; v < height; v++, k += width) {\n items[k] *= 0.5;\n }\n }\n } else {\n for (v = 0, k = 0; v < height; v++, k += width) {\n rowBuffer.set(items.subarray(k, k + width), bufferPadding);\n this.extend(rowBuffer, bufferPadding, width);\n this.filter(rowBuffer, bufferPadding, width);\n items.set(rowBuffer.subarray(bufferPadding, bufferPadding + width), k);\n }\n }\n\n var numBuffers = 16;\n var colBuffers = [];\n\n for (i = 0; i < numBuffers; i++) {\n colBuffers.push(new Float32Array(height + 2 * bufferPadding));\n }\n\n var b,\n currentBuffer = 0;\n ll = bufferPadding + height;\n\n if (height === 1) {\n if ((v0 & 1) !== 0) {\n for (u = 0; u < width; u++) {\n items[u] *= 0.5;\n }\n }\n } else {\n for (u = 0; u < width; u++) {\n if (currentBuffer === 0) {\n numBuffers = Math.min(width - u, numBuffers);\n\n for (k = u, l = bufferPadding; l < ll; k += width, l++) {\n for (b = 0; b < numBuffers; b++) {\n colBuffers[b][l] = items[k + b];\n }\n }\n\n currentBuffer = numBuffers;\n }\n\n currentBuffer--;\n var buffer = colBuffers[currentBuffer];\n this.extend(buffer, bufferPadding, height);\n this.filter(buffer, bufferPadding, height);\n\n if (currentBuffer === 0) {\n k = u - numBuffers + 1;\n\n for (l = bufferPadding; l < ll; k += width, l++) {\n for (b = 0; b < numBuffers; b++) {\n items[k + b] = colBuffers[b][l];\n }\n }\n }\n }\n }\n\n return {\n width: width,\n height: height,\n items: items\n };\n };\n\n return Transform;\n }();\n\n var IrreversibleTransform = function IrreversibleTransformClosure() {\n function IrreversibleTransform() {\n Transform.call(this);\n }\n\n IrreversibleTransform.prototype = Object.create(Transform.prototype);\n\n IrreversibleTransform.prototype.filter = function irreversibleTransformFilter(x, offset, length) {\n var len = length >> 1;\n offset = offset | 0;\n var j, n, current, next;\n var alpha = -1.586134342059924;\n var beta = -0.052980118572961;\n var gamma = 0.882911075530934;\n var delta = 0.443506852043971;\n var K = 1.230174104914001;\n var K_ = 1 / K;\n j = offset - 3;\n\n for (n = len + 4; n--; j += 2) {\n x[j] *= K_;\n }\n\n j = offset - 2;\n current = delta * x[j - 1];\n\n for (n = len + 3; n--; j += 2) {\n next = delta * x[j + 1];\n x[j] = K * x[j] - current - next;\n\n if (n--) {\n j += 2;\n current = delta * x[j + 1];\n x[j] = K * x[j] - current - next;\n } else {\n break;\n }\n }\n\n j = offset - 1;\n current = gamma * x[j - 1];\n\n for (n = len + 2; n--; j += 2) {\n next = gamma * x[j + 1];\n x[j] -= current + next;\n\n if (n--) {\n j += 2;\n current = gamma * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n\n j = offset;\n current = beta * x[j - 1];\n\n for (n = len + 1; n--; j += 2) {\n next = beta * x[j + 1];\n x[j] -= current + next;\n\n if (n--) {\n j += 2;\n current = beta * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n\n if (len !== 0) {\n j = offset + 1;\n current = alpha * x[j - 1];\n\n for (n = len; n--; j += 2) {\n next = alpha * x[j + 1];\n x[j] -= current + next;\n\n if (n--) {\n j += 2;\n current = alpha * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n }\n };\n\n return IrreversibleTransform;\n }();\n\n var ReversibleTransform = function ReversibleTransformClosure() {\n function ReversibleTransform() {\n Transform.call(this);\n }\n\n ReversibleTransform.prototype = Object.create(Transform.prototype);\n\n ReversibleTransform.prototype.filter = function reversibleTransformFilter(x, offset, length) {\n var len = length >> 1;\n offset = offset | 0;\n var j, n;\n\n for (j = offset, n = len + 1; n--; j += 2) {\n x[j] -= x[j - 1] + x[j + 1] + 2 >> 2;\n }\n\n for (j = offset + 1, n = len; n--; j += 2) {\n x[j] += x[j - 1] + x[j + 1] >> 1;\n }\n };\n\n return ReversibleTransform;\n }();\n\n return JpxImage;\n}();\n\nexports.JpxImage = JpxImage;\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.calculateSHA512 = exports.calculateSHA384 = exports.calculateSHA256 = exports.calculateMD5 = exports.PDF20 = exports.PDF17 = exports.CipherTransformFactory = exports.ARCFourCipher = exports.AES256Cipher = exports.AES128Cipher = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _stream = __w_pdfjs_require__(158);\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar ARCFourCipher = function ARCFourCipherClosure() {\n function ARCFourCipher(key) {\n this.a = 0;\n this.b = 0;\n var s = new Uint8Array(256);\n var i,\n j = 0,\n tmp,\n keyLength = key.length;\n\n for (i = 0; i < 256; ++i) {\n s[i] = i;\n }\n\n for (i = 0; i < 256; ++i) {\n tmp = s[i];\n j = j + tmp + key[i % keyLength] & 0xFF;\n s[i] = s[j];\n s[j] = tmp;\n }\n\n this.s = s;\n }\n\n ARCFourCipher.prototype = {\n encryptBlock: function ARCFourCipher_encryptBlock(data) {\n var i,\n n = data.length,\n tmp,\n tmp2;\n var a = this.a,\n b = this.b,\n s = this.s;\n var output = new Uint8Array(n);\n\n for (i = 0; i < n; ++i) {\n a = a + 1 & 0xFF;\n tmp = s[a];\n b = b + tmp & 0xFF;\n tmp2 = s[b];\n s[a] = tmp2;\n s[b] = tmp;\n output[i] = data[i] ^ s[tmp + tmp2 & 0xFF];\n }\n\n this.a = a;\n this.b = b;\n return output;\n }\n };\n ARCFourCipher.prototype.decryptBlock = ARCFourCipher.prototype.encryptBlock;\n return ARCFourCipher;\n}();\n\nexports.ARCFourCipher = ARCFourCipher;\n\nvar calculateMD5 = function calculateMD5Closure() {\n var r = new Uint8Array([7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21]);\n var k = new Int32Array([-680876936, -389564586, 606105819, -1044525330, -176418897, 1200080426, -1473231341, -45705983, 1770035416, -1958414417, -42063, -1990404162, 1804603682, -40341101, -1502002290, 1236535329, -165796510, -1069501632, 643717713, -373897302, -701558691, 38016083, -660478335, -405537848, 568446438, -1019803690, -187363961, 1163531501, -1444681467, -51403784, 1735328473, -1926607734, -378558, -2022574463, 1839030562, -35309556, -1530992060, 1272893353, -155497632, -1094730640, 681279174, -358537222, -722521979, 76029189, -640364487, -421815835, 530742520, -995338651, -198630844, 1126891415, -1416354905, -57434055, 1700485571, -1894986606, -1051523, -2054922799, 1873313359, -30611744, -1560198380, 1309151649, -145523070, -1120210379, 718787259, -343485551]);\n\n function hash(data, offset, length) {\n var h0 = 1732584193,\n h1 = -271733879,\n h2 = -1732584194,\n h3 = 271733878;\n var paddedLength = length + 72 & ~63;\n var padded = new Uint8Array(paddedLength);\n var i, j, n;\n\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n\n padded[i++] = 0x80;\n n = paddedLength - 8;\n\n while (i < n) {\n padded[i++] = 0;\n }\n\n padded[i++] = length << 3 & 0xFF;\n padded[i++] = length >> 5 & 0xFF;\n padded[i++] = length >> 13 & 0xFF;\n padded[i++] = length >> 21 & 0xFF;\n padded[i++] = length >>> 29 & 0xFF;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n var w = new Int32Array(16);\n\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j, i += 4) {\n w[j] = padded[i] | padded[i + 1] << 8 | padded[i + 2] << 16 | padded[i + 3] << 24;\n }\n\n var a = h0,\n b = h1,\n c = h2,\n d = h3,\n f,\n g;\n\n for (j = 0; j < 64; ++j) {\n if (j < 16) {\n f = b & c | ~b & d;\n g = j;\n } else if (j < 32) {\n f = d & b | ~d & c;\n g = 5 * j + 1 & 15;\n } else if (j < 48) {\n f = b ^ c ^ d;\n g = 3 * j + 5 & 15;\n } else {\n f = c ^ (b | ~d);\n g = 7 * j & 15;\n }\n\n var tmp = d,\n rotateArg = a + f + k[j] + w[g] | 0,\n rotate = r[j];\n d = c;\n c = b;\n b = b + (rotateArg << rotate | rotateArg >>> 32 - rotate) | 0;\n a = tmp;\n }\n\n h0 = h0 + a | 0;\n h1 = h1 + b | 0;\n h2 = h2 + c | 0;\n h3 = h3 + d | 0;\n }\n\n return new Uint8Array([h0 & 0xFF, h0 >> 8 & 0xFF, h0 >> 16 & 0xFF, h0 >>> 24 & 0xFF, h1 & 0xFF, h1 >> 8 & 0xFF, h1 >> 16 & 0xFF, h1 >>> 24 & 0xFF, h2 & 0xFF, h2 >> 8 & 0xFF, h2 >> 16 & 0xFF, h2 >>> 24 & 0xFF, h3 & 0xFF, h3 >> 8 & 0xFF, h3 >> 16 & 0xFF, h3 >>> 24 & 0xFF]);\n }\n\n return hash;\n}();\n\nexports.calculateMD5 = calculateMD5;\n\nvar Word64 = function Word64Closure() {\n function Word64(highInteger, lowInteger) {\n this.high = highInteger | 0;\n this.low = lowInteger | 0;\n }\n\n Word64.prototype = {\n and: function Word64_and(word) {\n this.high &= word.high;\n this.low &= word.low;\n },\n xor: function Word64_xor(word) {\n this.high ^= word.high;\n this.low ^= word.low;\n },\n or: function Word64_or(word) {\n this.high |= word.high;\n this.low |= word.low;\n },\n shiftRight: function Word64_shiftRight(places) {\n if (places >= 32) {\n this.low = this.high >>> places - 32 | 0;\n this.high = 0;\n } else {\n this.low = this.low >>> places | this.high << 32 - places;\n this.high = this.high >>> places | 0;\n }\n },\n shiftLeft: function Word64_shiftLeft(places) {\n if (places >= 32) {\n this.high = this.low << places - 32;\n this.low = 0;\n } else {\n this.high = this.high << places | this.low >>> 32 - places;\n this.low = this.low << places;\n }\n },\n rotateRight: function Word64_rotateRight(places) {\n var low, high;\n\n if (places & 32) {\n high = this.low;\n low = this.high;\n } else {\n low = this.low;\n high = this.high;\n }\n\n places &= 31;\n this.low = low >>> places | high << 32 - places;\n this.high = high >>> places | low << 32 - places;\n },\n not: function Word64_not() {\n this.high = ~this.high;\n this.low = ~this.low;\n },\n add: function Word64_add(word) {\n var lowAdd = (this.low >>> 0) + (word.low >>> 0);\n var highAdd = (this.high >>> 0) + (word.high >>> 0);\n\n if (lowAdd > 0xFFFFFFFF) {\n highAdd += 1;\n }\n\n this.low = lowAdd | 0;\n this.high = highAdd | 0;\n },\n copyTo: function Word64_copyTo(bytes, offset) {\n bytes[offset] = this.high >>> 24 & 0xFF;\n bytes[offset + 1] = this.high >> 16 & 0xFF;\n bytes[offset + 2] = this.high >> 8 & 0xFF;\n bytes[offset + 3] = this.high & 0xFF;\n bytes[offset + 4] = this.low >>> 24 & 0xFF;\n bytes[offset + 5] = this.low >> 16 & 0xFF;\n bytes[offset + 6] = this.low >> 8 & 0xFF;\n bytes[offset + 7] = this.low & 0xFF;\n },\n assign: function Word64_assign(word) {\n this.high = word.high;\n this.low = word.low;\n }\n };\n return Word64;\n}();\n\nvar calculateSHA256 = function calculateSHA256Closure() {\n function rotr(x, n) {\n return x >>> n | x << 32 - n;\n }\n\n function ch(x, y, z) {\n return x & y ^ ~x & z;\n }\n\n function maj(x, y, z) {\n return x & y ^ x & z ^ y & z;\n }\n\n function sigma(x) {\n return rotr(x, 2) ^ rotr(x, 13) ^ rotr(x, 22);\n }\n\n function sigmaPrime(x) {\n return rotr(x, 6) ^ rotr(x, 11) ^ rotr(x, 25);\n }\n\n function littleSigma(x) {\n return rotr(x, 7) ^ rotr(x, 18) ^ x >>> 3;\n }\n\n function littleSigmaPrime(x) {\n return rotr(x, 17) ^ rotr(x, 19) ^ x >>> 10;\n }\n\n var k = [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2];\n\n function hash(data, offset, length) {\n var h0 = 0x6a09e667,\n h1 = 0xbb67ae85,\n h2 = 0x3c6ef372,\n h3 = 0xa54ff53a,\n h4 = 0x510e527f,\n h5 = 0x9b05688c,\n h6 = 0x1f83d9ab,\n h7 = 0x5be0cd19;\n var paddedLength = Math.ceil((length + 9) / 64) * 64;\n var padded = new Uint8Array(paddedLength);\n var i, j, n;\n\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n\n padded[i++] = 0x80;\n n = paddedLength - 8;\n\n while (i < n) {\n padded[i++] = 0;\n }\n\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = length >>> 29 & 0xFF;\n padded[i++] = length >> 21 & 0xFF;\n padded[i++] = length >> 13 & 0xFF;\n padded[i++] = length >> 5 & 0xFF;\n padded[i++] = length << 3 & 0xFF;\n var w = new Uint32Array(64);\n\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j) {\n w[j] = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];\n i += 4;\n }\n\n for (j = 16; j < 64; ++j) {\n w[j] = littleSigmaPrime(w[j - 2]) + w[j - 7] + littleSigma(w[j - 15]) + w[j - 16] | 0;\n }\n\n var a = h0,\n b = h1,\n c = h2,\n d = h3,\n e = h4,\n f = h5,\n g = h6,\n h = h7,\n t1,\n t2;\n\n for (j = 0; j < 64; ++j) {\n t1 = h + sigmaPrime(e) + ch(e, f, g) + k[j] + w[j];\n t2 = sigma(a) + maj(a, b, c);\n h = g;\n g = f;\n f = e;\n e = d + t1 | 0;\n d = c;\n c = b;\n b = a;\n a = t1 + t2 | 0;\n }\n\n h0 = h0 + a | 0;\n h1 = h1 + b | 0;\n h2 = h2 + c | 0;\n h3 = h3 + d | 0;\n h4 = h4 + e | 0;\n h5 = h5 + f | 0;\n h6 = h6 + g | 0;\n h7 = h7 + h | 0;\n }\n\n return new Uint8Array([h0 >> 24 & 0xFF, h0 >> 16 & 0xFF, h0 >> 8 & 0xFF, h0 & 0xFF, h1 >> 24 & 0xFF, h1 >> 16 & 0xFF, h1 >> 8 & 0xFF, h1 & 0xFF, h2 >> 24 & 0xFF, h2 >> 16 & 0xFF, h2 >> 8 & 0xFF, h2 & 0xFF, h3 >> 24 & 0xFF, h3 >> 16 & 0xFF, h3 >> 8 & 0xFF, h3 & 0xFF, h4 >> 24 & 0xFF, h4 >> 16 & 0xFF, h4 >> 8 & 0xFF, h4 & 0xFF, h5 >> 24 & 0xFF, h5 >> 16 & 0xFF, h5 >> 8 & 0xFF, h5 & 0xFF, h6 >> 24 & 0xFF, h6 >> 16 & 0xFF, h6 >> 8 & 0xFF, h6 & 0xFF, h7 >> 24 & 0xFF, h7 >> 16 & 0xFF, h7 >> 8 & 0xFF, h7 & 0xFF]);\n }\n\n return hash;\n}();\n\nexports.calculateSHA256 = calculateSHA256;\n\nvar calculateSHA512 = function calculateSHA512Closure() {\n function ch(result, x, y, z, tmp) {\n result.assign(x);\n result.and(y);\n tmp.assign(x);\n tmp.not();\n tmp.and(z);\n result.xor(tmp);\n }\n\n function maj(result, x, y, z, tmp) {\n result.assign(x);\n result.and(y);\n tmp.assign(x);\n tmp.and(z);\n result.xor(tmp);\n tmp.assign(y);\n tmp.and(z);\n result.xor(tmp);\n }\n\n function sigma(result, x, tmp) {\n result.assign(x);\n result.rotateRight(28);\n tmp.assign(x);\n tmp.rotateRight(34);\n result.xor(tmp);\n tmp.assign(x);\n tmp.rotateRight(39);\n result.xor(tmp);\n }\n\n function sigmaPrime(result, x, tmp) {\n result.assign(x);\n result.rotateRight(14);\n tmp.assign(x);\n tmp.rotateRight(18);\n result.xor(tmp);\n tmp.assign(x);\n tmp.rotateRight(41);\n result.xor(tmp);\n }\n\n function littleSigma(result, x, tmp) {\n result.assign(x);\n result.rotateRight(1);\n tmp.assign(x);\n tmp.rotateRight(8);\n result.xor(tmp);\n tmp.assign(x);\n tmp.shiftRight(7);\n result.xor(tmp);\n }\n\n function littleSigmaPrime(result, x, tmp) {\n result.assign(x);\n result.rotateRight(19);\n tmp.assign(x);\n tmp.rotateRight(61);\n result.xor(tmp);\n tmp.assign(x);\n tmp.shiftRight(6);\n result.xor(tmp);\n }\n\n var k = [new Word64(0x428a2f98, 0xd728ae22), new Word64(0x71374491, 0x23ef65cd), new Word64(0xb5c0fbcf, 0xec4d3b2f), new Word64(0xe9b5dba5, 0x8189dbbc), new Word64(0x3956c25b, 0xf348b538), new Word64(0x59f111f1, 0xb605d019), new Word64(0x923f82a4, 0xaf194f9b), new Word64(0xab1c5ed5, 0xda6d8118), new Word64(0xd807aa98, 0xa3030242), new Word64(0x12835b01, 0x45706fbe), new Word64(0x243185be, 0x4ee4b28c), new Word64(0x550c7dc3, 0xd5ffb4e2), new Word64(0x72be5d74, 0xf27b896f), new Word64(0x80deb1fe, 0x3b1696b1), new Word64(0x9bdc06a7, 0x25c71235), new Word64(0xc19bf174, 0xcf692694), new Word64(0xe49b69c1, 0x9ef14ad2), new Word64(0xefbe4786, 0x384f25e3), new Word64(0x0fc19dc6, 0x8b8cd5b5), new Word64(0x240ca1cc, 0x77ac9c65), new Word64(0x2de92c6f, 0x592b0275), new Word64(0x4a7484aa, 0x6ea6e483), new Word64(0x5cb0a9dc, 0xbd41fbd4), new Word64(0x76f988da, 0x831153b5), new Word64(0x983e5152, 0xee66dfab), new Word64(0xa831c66d, 0x2db43210), new Word64(0xb00327c8, 0x98fb213f), new Word64(0xbf597fc7, 0xbeef0ee4), new Word64(0xc6e00bf3, 0x3da88fc2), new Word64(0xd5a79147, 0x930aa725), new Word64(0x06ca6351, 0xe003826f), new Word64(0x14292967, 0x0a0e6e70), new Word64(0x27b70a85, 0x46d22ffc), new Word64(0x2e1b2138, 0x5c26c926), new Word64(0x4d2c6dfc, 0x5ac42aed), new Word64(0x53380d13, 0x9d95b3df), new Word64(0x650a7354, 0x8baf63de), new Word64(0x766a0abb, 0x3c77b2a8), new Word64(0x81c2c92e, 0x47edaee6), new Word64(0x92722c85, 0x1482353b), new Word64(0xa2bfe8a1, 0x4cf10364), new Word64(0xa81a664b, 0xbc423001), new Word64(0xc24b8b70, 0xd0f89791), new Word64(0xc76c51a3, 0x0654be30), new Word64(0xd192e819, 0xd6ef5218), new Word64(0xd6990624, 0x5565a910), new Word64(0xf40e3585, 0x5771202a), new Word64(0x106aa070, 0x32bbd1b8), new Word64(0x19a4c116, 0xb8d2d0c8), new Word64(0x1e376c08, 0x5141ab53), new Word64(0x2748774c, 0xdf8eeb99), new Word64(0x34b0bcb5, 0xe19b48a8), new Word64(0x391c0cb3, 0xc5c95a63), new Word64(0x4ed8aa4a, 0xe3418acb), new Word64(0x5b9cca4f, 0x7763e373), new Word64(0x682e6ff3, 0xd6b2b8a3), new Word64(0x748f82ee, 0x5defb2fc), new Word64(0x78a5636f, 0x43172f60), new Word64(0x84c87814, 0xa1f0ab72), new Word64(0x8cc70208, 0x1a6439ec), new Word64(0x90befffa, 0x23631e28), new Word64(0xa4506ceb, 0xde82bde9), new Word64(0xbef9a3f7, 0xb2c67915), new Word64(0xc67178f2, 0xe372532b), new Word64(0xca273ece, 0xea26619c), new Word64(0xd186b8c7, 0x21c0c207), new Word64(0xeada7dd6, 0xcde0eb1e), new Word64(0xf57d4f7f, 0xee6ed178), new Word64(0x06f067aa, 0x72176fba), new Word64(0x0a637dc5, 0xa2c898a6), new Word64(0x113f9804, 0xbef90dae), new Word64(0x1b710b35, 0x131c471b), new Word64(0x28db77f5, 0x23047d84), new Word64(0x32caab7b, 0x40c72493), new Word64(0x3c9ebe0a, 0x15c9bebc), new Word64(0x431d67c4, 0x9c100d4c), new Word64(0x4cc5d4be, 0xcb3e42b6), new Word64(0x597f299c, 0xfc657e2a), new Word64(0x5fcb6fab, 0x3ad6faec), new Word64(0x6c44198c, 0x4a475817)];\n\n function hash(data, offset, length, mode384) {\n mode384 = !!mode384;\n var h0, h1, h2, h3, h4, h5, h6, h7;\n\n if (!mode384) {\n h0 = new Word64(0x6a09e667, 0xf3bcc908);\n h1 = new Word64(0xbb67ae85, 0x84caa73b);\n h2 = new Word64(0x3c6ef372, 0xfe94f82b);\n h3 = new Word64(0xa54ff53a, 0x5f1d36f1);\n h4 = new Word64(0x510e527f, 0xade682d1);\n h5 = new Word64(0x9b05688c, 0x2b3e6c1f);\n h6 = new Word64(0x1f83d9ab, 0xfb41bd6b);\n h7 = new Word64(0x5be0cd19, 0x137e2179);\n } else {\n h0 = new Word64(0xcbbb9d5d, 0xc1059ed8);\n h1 = new Word64(0x629a292a, 0x367cd507);\n h2 = new Word64(0x9159015a, 0x3070dd17);\n h3 = new Word64(0x152fecd8, 0xf70e5939);\n h4 = new Word64(0x67332667, 0xffc00b31);\n h5 = new Word64(0x8eb44a87, 0x68581511);\n h6 = new Word64(0xdb0c2e0d, 0x64f98fa7);\n h7 = new Word64(0x47b5481d, 0xbefa4fa4);\n }\n\n var paddedLength = Math.ceil((length + 17) / 128) * 128;\n var padded = new Uint8Array(paddedLength);\n var i, j, n;\n\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n\n padded[i++] = 0x80;\n n = paddedLength - 16;\n\n while (i < n) {\n padded[i++] = 0;\n }\n\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = length >>> 29 & 0xFF;\n padded[i++] = length >> 21 & 0xFF;\n padded[i++] = length >> 13 & 0xFF;\n padded[i++] = length >> 5 & 0xFF;\n padded[i++] = length << 3 & 0xFF;\n var w = new Array(80);\n\n for (i = 0; i < 80; i++) {\n w[i] = new Word64(0, 0);\n }\n\n var a = new Word64(0, 0),\n b = new Word64(0, 0),\n c = new Word64(0, 0);\n var d = new Word64(0, 0),\n e = new Word64(0, 0),\n f = new Word64(0, 0);\n var g = new Word64(0, 0),\n h = new Word64(0, 0);\n var t1 = new Word64(0, 0),\n t2 = new Word64(0, 0);\n var tmp1 = new Word64(0, 0),\n tmp2 = new Word64(0, 0),\n tmp3;\n\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j) {\n w[j].high = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];\n w[j].low = padded[i + 4] << 24 | padded[i + 5] << 16 | padded[i + 6] << 8 | padded[i + 7];\n i += 8;\n }\n\n for (j = 16; j < 80; ++j) {\n tmp3 = w[j];\n littleSigmaPrime(tmp3, w[j - 2], tmp2);\n tmp3.add(w[j - 7]);\n littleSigma(tmp1, w[j - 15], tmp2);\n tmp3.add(tmp1);\n tmp3.add(w[j - 16]);\n }\n\n a.assign(h0);\n b.assign(h1);\n c.assign(h2);\n d.assign(h3);\n e.assign(h4);\n f.assign(h5);\n g.assign(h6);\n h.assign(h7);\n\n for (j = 0; j < 80; ++j) {\n t1.assign(h);\n sigmaPrime(tmp1, e, tmp2);\n t1.add(tmp1);\n ch(tmp1, e, f, g, tmp2);\n t1.add(tmp1);\n t1.add(k[j]);\n t1.add(w[j]);\n sigma(t2, a, tmp2);\n maj(tmp1, a, b, c, tmp2);\n t2.add(tmp1);\n tmp3 = h;\n h = g;\n g = f;\n f = e;\n d.add(t1);\n e = d;\n d = c;\n c = b;\n b = a;\n tmp3.assign(t1);\n tmp3.add(t2);\n a = tmp3;\n }\n\n h0.add(a);\n h1.add(b);\n h2.add(c);\n h3.add(d);\n h4.add(e);\n h5.add(f);\n h6.add(g);\n h7.add(h);\n }\n\n var result;\n\n if (!mode384) {\n result = new Uint8Array(64);\n h0.copyTo(result, 0);\n h1.copyTo(result, 8);\n h2.copyTo(result, 16);\n h3.copyTo(result, 24);\n h4.copyTo(result, 32);\n h5.copyTo(result, 40);\n h6.copyTo(result, 48);\n h7.copyTo(result, 56);\n } else {\n result = new Uint8Array(48);\n h0.copyTo(result, 0);\n h1.copyTo(result, 8);\n h2.copyTo(result, 16);\n h3.copyTo(result, 24);\n h4.copyTo(result, 32);\n h5.copyTo(result, 40);\n }\n\n return result;\n }\n\n return hash;\n}();\n\nexports.calculateSHA512 = calculateSHA512;\n\nvar calculateSHA384 = function calculateSHA384Closure() {\n function hash(data, offset, length) {\n return calculateSHA512(data, offset, length, true);\n }\n\n return hash;\n}();\n\nexports.calculateSHA384 = calculateSHA384;\n\nvar NullCipher = function NullCipherClosure() {\n function NullCipher() {}\n\n NullCipher.prototype = {\n decryptBlock: function NullCipher_decryptBlock(data) {\n return data;\n }\n };\n return NullCipher;\n}();\n\nvar AESBaseCipher =\n/*#__PURE__*/\nfunction () {\n function AESBaseCipher() {\n _classCallCheck(this, AESBaseCipher);\n\n if (this.constructor === AESBaseCipher) {\n (0, _util.unreachable)('Cannot initialize AESBaseCipher.');\n }\n\n this._s = new Uint8Array([0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16]);\n this._inv_s = new Uint8Array([0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d]);\n this._mix = new Uint32Array([0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3]);\n this._mixCol = new Uint8Array(256);\n\n for (var i = 0; i < 256; i++) {\n if (i < 128) {\n this._mixCol[i] = i << 1;\n } else {\n this._mixCol[i] = i << 1 ^ 0x1b;\n }\n }\n\n this.buffer = new Uint8Array(16);\n this.bufferPosition = 0;\n }\n\n _createClass(AESBaseCipher, [{\n key: \"_expandKey\",\n value: function _expandKey(cipherKey) {\n (0, _util.unreachable)('Cannot call `_expandKey` on the base class');\n }\n }, {\n key: \"_decrypt\",\n value: function _decrypt(input, key) {\n var t, u, v;\n var state = new Uint8Array(16);\n state.set(input);\n\n for (var j = 0, k = this._keySize; j < 16; ++j, ++k) {\n state[j] ^= key[k];\n }\n\n for (var i = this._cyclesOfRepetition - 1; i >= 1; --i) {\n t = state[13];\n state[13] = state[9];\n state[9] = state[5];\n state[5] = state[1];\n state[1] = t;\n t = state[14];\n u = state[10];\n state[14] = state[6];\n state[10] = state[2];\n state[6] = t;\n state[2] = u;\n t = state[15];\n u = state[11];\n v = state[7];\n state[15] = state[3];\n state[11] = t;\n state[7] = u;\n state[3] = v;\n\n for (var _j = 0; _j < 16; ++_j) {\n state[_j] = this._inv_s[state[_j]];\n }\n\n for (var _j2 = 0, _k = i * 16; _j2 < 16; ++_j2, ++_k) {\n state[_j2] ^= key[_k];\n }\n\n for (var _j3 = 0; _j3 < 16; _j3 += 4) {\n var s0 = this._mix[state[_j3]];\n var s1 = this._mix[state[_j3 + 1]];\n var s2 = this._mix[state[_j3 + 2]];\n var s3 = this._mix[state[_j3 + 3]];\n t = s0 ^ s1 >>> 8 ^ s1 << 24 ^ s2 >>> 16 ^ s2 << 16 ^ s3 >>> 24 ^ s3 << 8;\n state[_j3] = t >>> 24 & 0xFF;\n state[_j3 + 1] = t >> 16 & 0xFF;\n state[_j3 + 2] = t >> 8 & 0xFF;\n state[_j3 + 3] = t & 0xFF;\n }\n }\n\n t = state[13];\n state[13] = state[9];\n state[9] = state[5];\n state[5] = state[1];\n state[1] = t;\n t = state[14];\n u = state[10];\n state[14] = state[6];\n state[10] = state[2];\n state[6] = t;\n state[2] = u;\n t = state[15];\n u = state[11];\n v = state[7];\n state[15] = state[3];\n state[11] = t;\n state[7] = u;\n state[3] = v;\n\n for (var _j4 = 0; _j4 < 16; ++_j4) {\n state[_j4] = this._inv_s[state[_j4]];\n state[_j4] ^= key[_j4];\n }\n\n return state;\n }\n }, {\n key: \"_encrypt\",\n value: function _encrypt(input, key) {\n var s = this._s;\n var t, u, v;\n var state = new Uint8Array(16);\n state.set(input);\n\n for (var j = 0; j < 16; ++j) {\n state[j] ^= key[j];\n }\n\n for (var i = 1; i < this._cyclesOfRepetition; i++) {\n for (var _j5 = 0; _j5 < 16; ++_j5) {\n state[_j5] = s[state[_j5]];\n }\n\n v = state[1];\n state[1] = state[5];\n state[5] = state[9];\n state[9] = state[13];\n state[13] = v;\n v = state[2];\n u = state[6];\n state[2] = state[10];\n state[6] = state[14];\n state[10] = v;\n state[14] = u;\n v = state[3];\n u = state[7];\n t = state[11];\n state[3] = state[15];\n state[7] = v;\n state[11] = u;\n state[15] = t;\n\n for (var _j6 = 0; _j6 < 16; _j6 += 4) {\n var s0 = state[_j6 + 0];\n var s1 = state[_j6 + 1];\n var s2 = state[_j6 + 2];\n var s3 = state[_j6 + 3];\n t = s0 ^ s1 ^ s2 ^ s3;\n state[_j6 + 0] ^= t ^ this._mixCol[s0 ^ s1];\n state[_j6 + 1] ^= t ^ this._mixCol[s1 ^ s2];\n state[_j6 + 2] ^= t ^ this._mixCol[s2 ^ s3];\n state[_j6 + 3] ^= t ^ this._mixCol[s3 ^ s0];\n }\n\n for (var _j7 = 0, k = i * 16; _j7 < 16; ++_j7, ++k) {\n state[_j7] ^= key[k];\n }\n }\n\n for (var _j8 = 0; _j8 < 16; ++_j8) {\n state[_j8] = s[state[_j8]];\n }\n\n v = state[1];\n state[1] = state[5];\n state[5] = state[9];\n state[9] = state[13];\n state[13] = v;\n v = state[2];\n u = state[6];\n state[2] = state[10];\n state[6] = state[14];\n state[10] = v;\n state[14] = u;\n v = state[3];\n u = state[7];\n t = state[11];\n state[3] = state[15];\n state[7] = v;\n state[11] = u;\n state[15] = t;\n\n for (var _j9 = 0, _k2 = this._keySize; _j9 < 16; ++_j9, ++_k2) {\n state[_j9] ^= key[_k2];\n }\n\n return state;\n }\n }, {\n key: \"_decryptBlock2\",\n value: function _decryptBlock2(data, finalize) {\n var sourceLength = data.length;\n var buffer = this.buffer,\n bufferLength = this.bufferPosition;\n var result = [],\n iv = this.iv;\n\n for (var i = 0; i < sourceLength; ++i) {\n buffer[bufferLength] = data[i];\n ++bufferLength;\n\n if (bufferLength < 16) {\n continue;\n }\n\n var plain = this._decrypt(buffer, this._key);\n\n for (var j = 0; j < 16; ++j) {\n plain[j] ^= iv[j];\n }\n\n iv = buffer;\n result.push(plain);\n buffer = new Uint8Array(16);\n bufferLength = 0;\n }\n\n this.buffer = buffer;\n this.bufferLength = bufferLength;\n this.iv = iv;\n\n if (result.length === 0) {\n return new Uint8Array(0);\n }\n\n var outputLength = 16 * result.length;\n\n if (finalize) {\n var lastBlock = result[result.length - 1];\n var psLen = lastBlock[15];\n\n if (psLen <= 16) {\n for (var _i = 15, ii = 16 - psLen; _i >= ii; --_i) {\n if (lastBlock[_i] !== psLen) {\n psLen = 0;\n break;\n }\n }\n\n outputLength -= psLen;\n result[result.length - 1] = lastBlock.subarray(0, 16 - psLen);\n }\n }\n\n var output = new Uint8Array(outputLength);\n\n for (var _i2 = 0, _j10 = 0, _ii = result.length; _i2 < _ii; ++_i2, _j10 += 16) {\n output.set(result[_i2], _j10);\n }\n\n return output;\n }\n }, {\n key: \"decryptBlock\",\n value: function decryptBlock(data, finalize) {\n var iv = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var sourceLength = data.length;\n var buffer = this.buffer,\n bufferLength = this.bufferPosition;\n\n if (iv) {\n this.iv = iv;\n } else {\n for (var i = 0; bufferLength < 16 && i < sourceLength; ++i, ++bufferLength) {\n buffer[bufferLength] = data[i];\n }\n\n if (bufferLength < 16) {\n this.bufferLength = bufferLength;\n return new Uint8Array(0);\n }\n\n this.iv = buffer;\n data = data.subarray(16);\n }\n\n this.buffer = new Uint8Array(16);\n this.bufferLength = 0;\n this.decryptBlock = this._decryptBlock2;\n return this.decryptBlock(data, finalize);\n }\n }, {\n key: \"encrypt\",\n value: function encrypt(data, iv) {\n var sourceLength = data.length;\n var buffer = this.buffer,\n bufferLength = this.bufferPosition;\n var result = [];\n\n if (!iv) {\n iv = new Uint8Array(16);\n }\n\n for (var i = 0; i < sourceLength; ++i) {\n buffer[bufferLength] = data[i];\n ++bufferLength;\n\n if (bufferLength < 16) {\n continue;\n }\n\n for (var j = 0; j < 16; ++j) {\n buffer[j] ^= iv[j];\n }\n\n var cipher = this._encrypt(buffer, this._key);\n\n iv = cipher;\n result.push(cipher);\n buffer = new Uint8Array(16);\n bufferLength = 0;\n }\n\n this.buffer = buffer;\n this.bufferLength = bufferLength;\n this.iv = iv;\n\n if (result.length === 0) {\n return new Uint8Array(0);\n }\n\n var outputLength = 16 * result.length;\n var output = new Uint8Array(outputLength);\n\n for (var _i3 = 0, _j11 = 0, ii = result.length; _i3 < ii; ++_i3, _j11 += 16) {\n output.set(result[_i3], _j11);\n }\n\n return output;\n }\n }]);\n\n return AESBaseCipher;\n}();\n\nvar AES128Cipher =\n/*#__PURE__*/\nfunction (_AESBaseCipher) {\n _inherits(AES128Cipher, _AESBaseCipher);\n\n function AES128Cipher(key) {\n var _this;\n\n _classCallCheck(this, AES128Cipher);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AES128Cipher).call(this));\n _this._cyclesOfRepetition = 10;\n _this._keySize = 160;\n _this._rcon = new Uint8Array([0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d]);\n _this._key = _this._expandKey(key);\n return _this;\n }\n\n _createClass(AES128Cipher, [{\n key: \"_expandKey\",\n value: function _expandKey(cipherKey) {\n var b = 176;\n var s = this._s;\n var rcon = this._rcon;\n var result = new Uint8Array(b);\n result.set(cipherKey);\n\n for (var j = 16, i = 1; j < b; ++i) {\n var t1 = result[j - 3];\n var t2 = result[j - 2];\n var t3 = result[j - 1];\n var t4 = result[j - 4];\n t1 = s[t1];\n t2 = s[t2];\n t3 = s[t3];\n t4 = s[t4];\n t1 = t1 ^ rcon[i];\n\n for (var n = 0; n < 4; ++n) {\n result[j] = t1 ^= result[j - 16];\n j++;\n result[j] = t2 ^= result[j - 16];\n j++;\n result[j] = t3 ^= result[j - 16];\n j++;\n result[j] = t4 ^= result[j - 16];\n j++;\n }\n }\n\n return result;\n }\n }]);\n\n return AES128Cipher;\n}(AESBaseCipher);\n\nexports.AES128Cipher = AES128Cipher;\n\nvar AES256Cipher =\n/*#__PURE__*/\nfunction (_AESBaseCipher2) {\n _inherits(AES256Cipher, _AESBaseCipher2);\n\n function AES256Cipher(key) {\n var _this2;\n\n _classCallCheck(this, AES256Cipher);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(AES256Cipher).call(this));\n _this2._cyclesOfRepetition = 14;\n _this2._keySize = 224;\n _this2._key = _this2._expandKey(key);\n return _this2;\n }\n\n _createClass(AES256Cipher, [{\n key: \"_expandKey\",\n value: function _expandKey(cipherKey) {\n var b = 240;\n var s = this._s;\n var result = new Uint8Array(b);\n result.set(cipherKey);\n var r = 1;\n var t1, t2, t3, t4;\n\n for (var j = 32, i = 1; j < b; ++i) {\n if (j % 32 === 16) {\n t1 = s[t1];\n t2 = s[t2];\n t3 = s[t3];\n t4 = s[t4];\n } else if (j % 32 === 0) {\n t1 = result[j - 3];\n t2 = result[j - 2];\n t3 = result[j - 1];\n t4 = result[j - 4];\n t1 = s[t1];\n t2 = s[t2];\n t3 = s[t3];\n t4 = s[t4];\n t1 = t1 ^ r;\n\n if ((r <<= 1) >= 256) {\n r = (r ^ 0x1b) & 0xFF;\n }\n }\n\n for (var n = 0; n < 4; ++n) {\n result[j] = t1 ^= result[j - 32];\n j++;\n result[j] = t2 ^= result[j - 32];\n j++;\n result[j] = t3 ^= result[j - 32];\n j++;\n result[j] = t4 ^= result[j - 32];\n j++;\n }\n }\n\n return result;\n }\n }]);\n\n return AES256Cipher;\n}(AESBaseCipher);\n\nexports.AES256Cipher = AES256Cipher;\n\nvar PDF17 = function PDF17Closure() {\n function compareByteArrays(array1, array2) {\n if (array1.length !== array2.length) {\n return false;\n }\n\n for (var i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n function PDF17() {}\n\n PDF17.prototype = {\n checkOwnerPassword: function PDF17_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerValidationSalt, password.length);\n hashData.set(userBytes, password.length + ownerValidationSalt.length);\n var result = calculateSHA256(hashData, 0, hashData.length);\n return compareByteArrays(result, ownerPassword);\n },\n checkUserPassword: function PDF17_checkUserPassword(password, userValidationSalt, userPassword) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userValidationSalt, password.length);\n var result = calculateSHA256(hashData, 0, hashData.length);\n return compareByteArrays(result, userPassword);\n },\n getOwnerKey: function PDF17_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerKeySalt, password.length);\n hashData.set(userBytes, password.length + ownerKeySalt.length);\n var key = calculateSHA256(hashData, 0, hashData.length);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n },\n getUserKey: function PDF17_getUserKey(password, userKeySalt, userEncryption) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userKeySalt, password.length);\n var key = calculateSHA256(hashData, 0, hashData.length);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n }\n };\n return PDF17;\n}();\n\nexports.PDF17 = PDF17;\n\nvar PDF20 = function PDF20Closure() {\n function concatArrays(array1, array2) {\n var t = new Uint8Array(array1.length + array2.length);\n t.set(array1, 0);\n t.set(array2, array1.length);\n return t;\n }\n\n function calculatePDF20Hash(password, input, userBytes) {\n var k = calculateSHA256(input, 0, input.length).subarray(0, 32);\n var e = [0];\n var i = 0;\n\n while (i < 64 || e[e.length - 1] > i - 32) {\n var arrayLength = password.length + k.length + userBytes.length;\n var k1 = new Uint8Array(arrayLength * 64);\n var array = concatArrays(password, k);\n array = concatArrays(array, userBytes);\n\n for (var j = 0, pos = 0; j < 64; j++, pos += arrayLength) {\n k1.set(array, pos);\n }\n\n var cipher = new AES128Cipher(k.subarray(0, 16));\n e = cipher.encrypt(k1, k.subarray(16, 32));\n var remainder = 0;\n\n for (var z = 0; z < 16; z++) {\n remainder *= 256 % 3;\n remainder %= 3;\n remainder += (e[z] >>> 0) % 3;\n remainder %= 3;\n }\n\n if (remainder === 0) {\n k = calculateSHA256(e, 0, e.length);\n } else if (remainder === 1) {\n k = calculateSHA384(e, 0, e.length);\n } else if (remainder === 2) {\n k = calculateSHA512(e, 0, e.length);\n }\n\n i++;\n }\n\n return k.subarray(0, 32);\n }\n\n function PDF20() {}\n\n function compareByteArrays(array1, array2) {\n if (array1.length !== array2.length) {\n return false;\n }\n\n for (var i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n PDF20.prototype = {\n hash: function PDF20_hash(password, concatBytes, userBytes) {\n return calculatePDF20Hash(password, concatBytes, userBytes);\n },\n checkOwnerPassword: function PDF20_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerValidationSalt, password.length);\n hashData.set(userBytes, password.length + ownerValidationSalt.length);\n var result = calculatePDF20Hash(password, hashData, userBytes);\n return compareByteArrays(result, ownerPassword);\n },\n checkUserPassword: function PDF20_checkUserPassword(password, userValidationSalt, userPassword) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userValidationSalt, password.length);\n var result = calculatePDF20Hash(password, hashData, []);\n return compareByteArrays(result, userPassword);\n },\n getOwnerKey: function PDF20_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerKeySalt, password.length);\n hashData.set(userBytes, password.length + ownerKeySalt.length);\n var key = calculatePDF20Hash(password, hashData, userBytes);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n },\n getUserKey: function PDF20_getUserKey(password, userKeySalt, userEncryption) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userKeySalt, password.length);\n var key = calculatePDF20Hash(password, hashData, []);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n }\n };\n return PDF20;\n}();\n\nexports.PDF20 = PDF20;\n\nvar CipherTransform = function CipherTransformClosure() {\n function CipherTransform(stringCipherConstructor, streamCipherConstructor) {\n this.StringCipherConstructor = stringCipherConstructor;\n this.StreamCipherConstructor = streamCipherConstructor;\n }\n\n CipherTransform.prototype = {\n createStream: function CipherTransform_createStream(stream, length) {\n var cipher = new this.StreamCipherConstructor();\n return new _stream.DecryptStream(stream, length, function cipherTransformDecryptStream(data, finalize) {\n return cipher.decryptBlock(data, finalize);\n });\n },\n decryptString: function CipherTransform_decryptString(s) {\n var cipher = new this.StringCipherConstructor();\n var data = (0, _util.stringToBytes)(s);\n data = cipher.decryptBlock(data, true);\n return (0, _util.bytesToString)(data);\n }\n };\n return CipherTransform;\n}();\n\nvar CipherTransformFactory = function CipherTransformFactoryClosure() {\n var defaultPasswordBytes = new Uint8Array([0x28, 0xBF, 0x4E, 0x5E, 0x4E, 0x75, 0x8A, 0x41, 0x64, 0x00, 0x4E, 0x56, 0xFF, 0xFA, 0x01, 0x08, 0x2E, 0x2E, 0x00, 0xB6, 0xD0, 0x68, 0x3E, 0x80, 0x2F, 0x0C, 0xA9, 0xFE, 0x64, 0x53, 0x69, 0x7A]);\n\n function createEncryptionKey20(revision, password, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms) {\n if (password) {\n var passwordLength = Math.min(127, password.length);\n password = password.subarray(0, passwordLength);\n } else {\n password = [];\n }\n\n var pdfAlgorithm;\n\n if (revision === 6) {\n pdfAlgorithm = new PDF20();\n } else {\n pdfAlgorithm = new PDF17();\n }\n\n if (pdfAlgorithm.checkUserPassword(password, userValidationSalt, userPassword)) {\n return pdfAlgorithm.getUserKey(password, userKeySalt, userEncryption);\n } else if (password.length && pdfAlgorithm.checkOwnerPassword(password, ownerValidationSalt, uBytes, ownerPassword)) {\n return pdfAlgorithm.getOwnerKey(password, ownerKeySalt, uBytes, ownerEncryption);\n }\n\n return null;\n }\n\n function prepareKeyData(fileId, password, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata) {\n var hashDataSize = 40 + ownerPassword.length + fileId.length;\n var hashData = new Uint8Array(hashDataSize),\n i = 0,\n j,\n n;\n\n if (password) {\n n = Math.min(32, password.length);\n\n for (; i < n; ++i) {\n hashData[i] = password[i];\n }\n }\n\n j = 0;\n\n while (i < 32) {\n hashData[i++] = defaultPasswordBytes[j++];\n }\n\n for (j = 0, n = ownerPassword.length; j < n; ++j) {\n hashData[i++] = ownerPassword[j];\n }\n\n hashData[i++] = flags & 0xFF;\n hashData[i++] = flags >> 8 & 0xFF;\n hashData[i++] = flags >> 16 & 0xFF;\n hashData[i++] = flags >>> 24 & 0xFF;\n\n for (j = 0, n = fileId.length; j < n; ++j) {\n hashData[i++] = fileId[j];\n }\n\n if (revision >= 4 && !encryptMetadata) {\n hashData[i++] = 0xFF;\n hashData[i++] = 0xFF;\n hashData[i++] = 0xFF;\n hashData[i++] = 0xFF;\n }\n\n var hash = calculateMD5(hashData, 0, i);\n var keyLengthInBytes = keyLength >> 3;\n\n if (revision >= 3) {\n for (j = 0; j < 50; ++j) {\n hash = calculateMD5(hash, 0, keyLengthInBytes);\n }\n }\n\n var encryptionKey = hash.subarray(0, keyLengthInBytes);\n var cipher, checkData;\n\n if (revision >= 3) {\n for (i = 0; i < 32; ++i) {\n hashData[i] = defaultPasswordBytes[i];\n }\n\n for (j = 0, n = fileId.length; j < n; ++j) {\n hashData[i++] = fileId[j];\n }\n\n cipher = new ARCFourCipher(encryptionKey);\n checkData = cipher.encryptBlock(calculateMD5(hashData, 0, i));\n n = encryptionKey.length;\n var derivedKey = new Uint8Array(n),\n k;\n\n for (j = 1; j <= 19; ++j) {\n for (k = 0; k < n; ++k) {\n derivedKey[k] = encryptionKey[k] ^ j;\n }\n\n cipher = new ARCFourCipher(derivedKey);\n checkData = cipher.encryptBlock(checkData);\n }\n\n for (j = 0, n = checkData.length; j < n; ++j) {\n if (userPassword[j] !== checkData[j]) {\n return null;\n }\n }\n } else {\n cipher = new ARCFourCipher(encryptionKey);\n checkData = cipher.encryptBlock(defaultPasswordBytes);\n\n for (j = 0, n = checkData.length; j < n; ++j) {\n if (userPassword[j] !== checkData[j]) {\n return null;\n }\n }\n }\n\n return encryptionKey;\n }\n\n function decodeUserPassword(password, ownerPassword, revision, keyLength) {\n var hashData = new Uint8Array(32),\n i = 0,\n j,\n n;\n n = Math.min(32, password.length);\n\n for (; i < n; ++i) {\n hashData[i] = password[i];\n }\n\n j = 0;\n\n while (i < 32) {\n hashData[i++] = defaultPasswordBytes[j++];\n }\n\n var hash = calculateMD5(hashData, 0, i);\n var keyLengthInBytes = keyLength >> 3;\n\n if (revision >= 3) {\n for (j = 0; j < 50; ++j) {\n hash = calculateMD5(hash, 0, hash.length);\n }\n }\n\n var cipher, userPassword;\n\n if (revision >= 3) {\n userPassword = ownerPassword;\n var derivedKey = new Uint8Array(keyLengthInBytes),\n k;\n\n for (j = 19; j >= 0; j--) {\n for (k = 0; k < keyLengthInBytes; ++k) {\n derivedKey[k] = hash[k] ^ j;\n }\n\n cipher = new ARCFourCipher(derivedKey);\n userPassword = cipher.encryptBlock(userPassword);\n }\n } else {\n cipher = new ARCFourCipher(hash.subarray(0, keyLengthInBytes));\n userPassword = cipher.encryptBlock(ownerPassword);\n }\n\n return userPassword;\n }\n\n var identityName = _primitives.Name.get('Identity');\n\n function CipherTransformFactory(dict, fileId, password) {\n var filter = dict.get('Filter');\n\n if (!(0, _primitives.isName)(filter, 'Standard')) {\n throw new _util.FormatError('unknown encryption method');\n }\n\n this.dict = dict;\n var algorithm = dict.get('V');\n\n if (!Number.isInteger(algorithm) || algorithm !== 1 && algorithm !== 2 && algorithm !== 4 && algorithm !== 5) {\n throw new _util.FormatError('unsupported encryption algorithm');\n }\n\n this.algorithm = algorithm;\n var keyLength = dict.get('Length');\n\n if (!keyLength) {\n if (algorithm <= 3) {\n keyLength = 40;\n } else {\n var cfDict = dict.get('CF');\n var streamCryptoName = dict.get('StmF');\n\n if ((0, _primitives.isDict)(cfDict) && (0, _primitives.isName)(streamCryptoName)) {\n cfDict.suppressEncryption = true;\n var handlerDict = cfDict.get(streamCryptoName.name);\n keyLength = handlerDict && handlerDict.get('Length') || 128;\n\n if (keyLength < 40) {\n keyLength <<= 3;\n }\n }\n }\n }\n\n if (!Number.isInteger(keyLength) || keyLength < 40 || keyLength % 8 !== 0) {\n throw new _util.FormatError('invalid key length');\n }\n\n var ownerPassword = (0, _util.stringToBytes)(dict.get('O')).subarray(0, 32);\n var userPassword = (0, _util.stringToBytes)(dict.get('U')).subarray(0, 32);\n var flags = dict.get('P');\n var revision = dict.get('R');\n var encryptMetadata = (algorithm === 4 || algorithm === 5) && dict.get('EncryptMetadata') !== false;\n this.encryptMetadata = encryptMetadata;\n var fileIdBytes = (0, _util.stringToBytes)(fileId);\n var passwordBytes;\n\n if (password) {\n if (revision === 6) {\n try {\n password = (0, _util.utf8StringToString)(password);\n } catch (ex) {\n (0, _util.warn)('CipherTransformFactory: ' + 'Unable to convert UTF8 encoded password.');\n }\n }\n\n passwordBytes = (0, _util.stringToBytes)(password);\n }\n\n var encryptionKey;\n\n if (algorithm !== 5) {\n encryptionKey = prepareKeyData(fileIdBytes, passwordBytes, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);\n } else {\n var ownerValidationSalt = (0, _util.stringToBytes)(dict.get('O')).subarray(32, 40);\n var ownerKeySalt = (0, _util.stringToBytes)(dict.get('O')).subarray(40, 48);\n var uBytes = (0, _util.stringToBytes)(dict.get('U')).subarray(0, 48);\n var userValidationSalt = (0, _util.stringToBytes)(dict.get('U')).subarray(32, 40);\n var userKeySalt = (0, _util.stringToBytes)(dict.get('U')).subarray(40, 48);\n var ownerEncryption = (0, _util.stringToBytes)(dict.get('OE'));\n var userEncryption = (0, _util.stringToBytes)(dict.get('UE'));\n var perms = (0, _util.stringToBytes)(dict.get('Perms'));\n encryptionKey = createEncryptionKey20(revision, passwordBytes, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms);\n }\n\n if (!encryptionKey && !password) {\n throw new _util.PasswordException('No password given', _util.PasswordResponses.NEED_PASSWORD);\n } else if (!encryptionKey && password) {\n var decodedPassword = decodeUserPassword(passwordBytes, ownerPassword, revision, keyLength);\n encryptionKey = prepareKeyData(fileIdBytes, decodedPassword, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);\n }\n\n if (!encryptionKey) {\n throw new _util.PasswordException('Incorrect Password', _util.PasswordResponses.INCORRECT_PASSWORD);\n }\n\n this.encryptionKey = encryptionKey;\n\n if (algorithm >= 4) {\n var cf = dict.get('CF');\n\n if ((0, _primitives.isDict)(cf)) {\n cf.suppressEncryption = true;\n }\n\n this.cf = cf;\n this.stmf = dict.get('StmF') || identityName;\n this.strf = dict.get('StrF') || identityName;\n this.eff = dict.get('EFF') || this.stmf;\n }\n }\n\n function buildObjectKey(num, gen, encryptionKey, isAes) {\n var key = new Uint8Array(encryptionKey.length + 9),\n i,\n n;\n\n for (i = 0, n = encryptionKey.length; i < n; ++i) {\n key[i] = encryptionKey[i];\n }\n\n key[i++] = num & 0xFF;\n key[i++] = num >> 8 & 0xFF;\n key[i++] = num >> 16 & 0xFF;\n key[i++] = gen & 0xFF;\n key[i++] = gen >> 8 & 0xFF;\n\n if (isAes) {\n key[i++] = 0x73;\n key[i++] = 0x41;\n key[i++] = 0x6C;\n key[i++] = 0x54;\n }\n\n var hash = calculateMD5(key, 0, i);\n return hash.subarray(0, Math.min(encryptionKey.length + 5, 16));\n }\n\n function buildCipherConstructor(cf, name, num, gen, key) {\n if (!(0, _primitives.isName)(name)) {\n throw new _util.FormatError('Invalid crypt filter name.');\n }\n\n var cryptFilter = cf.get(name.name);\n var cfm;\n\n if (cryptFilter !== null && cryptFilter !== undefined) {\n cfm = cryptFilter.get('CFM');\n }\n\n if (!cfm || cfm.name === 'None') {\n return function cipherTransformFactoryBuildCipherConstructorNone() {\n return new NullCipher();\n };\n }\n\n if (cfm.name === 'V2') {\n return function cipherTransformFactoryBuildCipherConstructorV2() {\n return new ARCFourCipher(buildObjectKey(num, gen, key, false));\n };\n }\n\n if (cfm.name === 'AESV2') {\n return function cipherTransformFactoryBuildCipherConstructorAESV2() {\n return new AES128Cipher(buildObjectKey(num, gen, key, true));\n };\n }\n\n if (cfm.name === 'AESV3') {\n return function cipherTransformFactoryBuildCipherConstructorAESV3() {\n return new AES256Cipher(key);\n };\n }\n\n throw new _util.FormatError('Unknown crypto method');\n }\n\n CipherTransformFactory.prototype = {\n createCipherTransform: function CipherTransformFactory_createCipherTransform(num, gen) {\n if (this.algorithm === 4 || this.algorithm === 5) {\n return new CipherTransform(buildCipherConstructor(this.cf, this.stmf, num, gen, this.encryptionKey), buildCipherConstructor(this.cf, this.strf, num, gen, this.encryptionKey));\n }\n\n var key = buildObjectKey(num, gen, this.encryptionKey, false);\n\n var cipherConstructor = function buildCipherCipherConstructor() {\n return new ARCFourCipher(key);\n };\n\n return new CipherTransform(cipherConstructor, cipherConstructor);\n }\n };\n return CipherTransformFactory;\n}();\n\nexports.CipherTransformFactory = CipherTransformFactory;\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ColorSpace = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction resizeRgbImage(src, dest, w1, h1, w2, h2, alpha01) {\n var COMPONENTS = 3;\n alpha01 = alpha01 !== 1 ? 0 : alpha01;\n var xRatio = w1 / w2;\n var yRatio = h1 / h2;\n var newIndex = 0,\n oldIndex;\n var xScaled = new Uint16Array(w2);\n var w1Scanline = w1 * COMPONENTS;\n\n for (var i = 0; i < w2; i++) {\n xScaled[i] = Math.floor(i * xRatio) * COMPONENTS;\n }\n\n for (var _i = 0; _i < h2; _i++) {\n var py = Math.floor(_i * yRatio) * w1Scanline;\n\n for (var j = 0; j < w2; j++) {\n oldIndex = py + xScaled[j];\n dest[newIndex++] = src[oldIndex++];\n dest[newIndex++] = src[oldIndex++];\n dest[newIndex++] = src[oldIndex++];\n newIndex += alpha01;\n }\n }\n}\n\nvar ColorSpace =\n/*#__PURE__*/\nfunction () {\n function ColorSpace(name, numComps) {\n _classCallCheck(this, ColorSpace);\n\n if (this.constructor === ColorSpace) {\n (0, _util.unreachable)('Cannot initialize ColorSpace.');\n }\n\n this.name = name;\n this.numComps = numComps;\n }\n\n _createClass(ColorSpace, [{\n key: \"getRgb\",\n value: function getRgb(src, srcOffset) {\n var rgb = new Uint8ClampedArray(3);\n this.getRgbItem(src, srcOffset, rgb, 0);\n return rgb;\n }\n }, {\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n (0, _util.unreachable)('Should not call ColorSpace.getRgbItem');\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n (0, _util.unreachable)('Should not call ColorSpace.getRgbBuffer');\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n (0, _util.unreachable)('Should not call ColorSpace.getOutputLength');\n }\n }, {\n key: \"isPassthrough\",\n value: function isPassthrough(bits) {\n return false;\n }\n }, {\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decodeMap, bpc) {\n return ColorSpace.isDefaultDecode(decodeMap, this.numComps);\n }\n }, {\n key: \"fillRgb\",\n value: function fillRgb(dest, originalWidth, originalHeight, width, height, actualHeight, bpc, comps, alpha01) {\n var count = originalWidth * originalHeight;\n var rgbBuf = null;\n var numComponentColors = 1 << bpc;\n var needsResizing = originalHeight !== height || originalWidth !== width;\n\n if (this.isPassthrough(bpc)) {\n rgbBuf = comps;\n } else if (this.numComps === 1 && count > numComponentColors && this.name !== 'DeviceGray' && this.name !== 'DeviceRGB') {\n var allColors = bpc <= 8 ? new Uint8Array(numComponentColors) : new Uint16Array(numComponentColors);\n\n for (var i = 0; i < numComponentColors; i++) {\n allColors[i] = i;\n }\n\n var colorMap = new Uint8ClampedArray(numComponentColors * 3);\n this.getRgbBuffer(allColors, 0, numComponentColors, colorMap, 0, bpc, 0);\n\n if (!needsResizing) {\n var destPos = 0;\n\n for (var _i2 = 0; _i2 < count; ++_i2) {\n var key = comps[_i2] * 3;\n dest[destPos++] = colorMap[key];\n dest[destPos++] = colorMap[key + 1];\n dest[destPos++] = colorMap[key + 2];\n destPos += alpha01;\n }\n } else {\n rgbBuf = new Uint8Array(count * 3);\n var rgbPos = 0;\n\n for (var _i3 = 0; _i3 < count; ++_i3) {\n var _key = comps[_i3] * 3;\n\n rgbBuf[rgbPos++] = colorMap[_key];\n rgbBuf[rgbPos++] = colorMap[_key + 1];\n rgbBuf[rgbPos++] = colorMap[_key + 2];\n }\n }\n } else {\n if (!needsResizing) {\n this.getRgbBuffer(comps, 0, width * actualHeight, dest, 0, bpc, alpha01);\n } else {\n rgbBuf = new Uint8ClampedArray(count * 3);\n this.getRgbBuffer(comps, 0, count, rgbBuf, 0, bpc, 0);\n }\n }\n\n if (rgbBuf) {\n if (needsResizing) {\n resizeRgbImage(rgbBuf, dest, originalWidth, originalHeight, width, height, alpha01);\n } else {\n var _destPos = 0,\n _rgbPos = 0;\n\n for (var _i4 = 0, ii = width * actualHeight; _i4 < ii; _i4++) {\n dest[_destPos++] = rgbBuf[_rgbPos++];\n dest[_destPos++] = rgbBuf[_rgbPos++];\n dest[_destPos++] = rgbBuf[_rgbPos++];\n _destPos += alpha01;\n }\n }\n }\n }\n }, {\n key: \"usesZeroToOneRange\",\n get: function get() {\n return (0, _util.shadow)(this, 'usesZeroToOneRange', true);\n }\n }], [{\n key: \"parse\",\n value: function parse(cs, xref, res, pdfFunctionFactory) {\n var IR = this.parseToIR(cs, xref, res, pdfFunctionFactory);\n return this.fromIR(IR);\n }\n }, {\n key: \"fromIR\",\n value: function fromIR(IR) {\n var name = Array.isArray(IR) ? IR[0] : IR;\n var whitePoint, blackPoint, gamma;\n\n switch (name) {\n case 'DeviceGrayCS':\n return this.singletons.gray;\n\n case 'DeviceRgbCS':\n return this.singletons.rgb;\n\n case 'DeviceCmykCS':\n return this.singletons.cmyk;\n\n case 'CalGrayCS':\n whitePoint = IR[1];\n blackPoint = IR[2];\n gamma = IR[3];\n return new CalGrayCS(whitePoint, blackPoint, gamma);\n\n case 'CalRGBCS':\n whitePoint = IR[1];\n blackPoint = IR[2];\n gamma = IR[3];\n var matrix = IR[4];\n return new CalRGBCS(whitePoint, blackPoint, gamma, matrix);\n\n case 'PatternCS':\n var basePatternCS = IR[1];\n\n if (basePatternCS) {\n basePatternCS = this.fromIR(basePatternCS);\n }\n\n return new PatternCS(basePatternCS);\n\n case 'IndexedCS':\n var baseIndexedCS = IR[1];\n var hiVal = IR[2];\n var lookup = IR[3];\n return new IndexedCS(this.fromIR(baseIndexedCS), hiVal, lookup);\n\n case 'AlternateCS':\n var numComps = IR[1];\n var alt = IR[2];\n var tintFn = IR[3];\n return new AlternateCS(numComps, this.fromIR(alt), tintFn);\n\n case 'LabCS':\n whitePoint = IR[1];\n blackPoint = IR[2];\n var range = IR[3];\n return new LabCS(whitePoint, blackPoint, range);\n\n default:\n throw new _util.FormatError(\"Unknown colorspace name: \".concat(name));\n }\n }\n }, {\n key: \"parseToIR\",\n value: function parseToIR(cs, xref) {\n var res = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var pdfFunctionFactory = arguments.length > 3 ? arguments[3] : undefined;\n cs = xref.fetchIfRef(cs);\n\n if ((0, _primitives.isName)(cs)) {\n switch (cs.name) {\n case 'DeviceGray':\n case 'G':\n return 'DeviceGrayCS';\n\n case 'DeviceRGB':\n case 'RGB':\n return 'DeviceRgbCS';\n\n case 'DeviceCMYK':\n case 'CMYK':\n return 'DeviceCmykCS';\n\n case 'Pattern':\n return ['PatternCS', null];\n\n default:\n if ((0, _primitives.isDict)(res)) {\n var colorSpaces = res.get('ColorSpace');\n\n if ((0, _primitives.isDict)(colorSpaces)) {\n var resCS = colorSpaces.get(cs.name);\n\n if (resCS) {\n if ((0, _primitives.isName)(resCS)) {\n return this.parseToIR(resCS, xref, res, pdfFunctionFactory);\n }\n\n cs = resCS;\n break;\n }\n }\n }\n\n throw new _util.FormatError(\"unrecognized colorspace \".concat(cs.name));\n }\n }\n\n if (Array.isArray(cs)) {\n var mode = xref.fetchIfRef(cs[0]).name;\n var numComps, params, alt, whitePoint, blackPoint, gamma;\n\n switch (mode) {\n case 'DeviceGray':\n case 'G':\n return 'DeviceGrayCS';\n\n case 'DeviceRGB':\n case 'RGB':\n return 'DeviceRgbCS';\n\n case 'DeviceCMYK':\n case 'CMYK':\n return 'DeviceCmykCS';\n\n case 'CalGray':\n params = xref.fetchIfRef(cs[1]);\n whitePoint = params.getArray('WhitePoint');\n blackPoint = params.getArray('BlackPoint');\n gamma = params.get('Gamma');\n return ['CalGrayCS', whitePoint, blackPoint, gamma];\n\n case 'CalRGB':\n params = xref.fetchIfRef(cs[1]);\n whitePoint = params.getArray('WhitePoint');\n blackPoint = params.getArray('BlackPoint');\n gamma = params.getArray('Gamma');\n var matrix = params.getArray('Matrix');\n return ['CalRGBCS', whitePoint, blackPoint, gamma, matrix];\n\n case 'ICCBased':\n var stream = xref.fetchIfRef(cs[1]);\n var dict = stream.dict;\n numComps = dict.get('N');\n alt = dict.get('Alternate');\n\n if (alt) {\n var altIR = this.parseToIR(alt, xref, res, pdfFunctionFactory);\n var altCS = this.fromIR(altIR, pdfFunctionFactory);\n\n if (altCS.numComps === numComps) {\n return altIR;\n }\n\n (0, _util.warn)('ICCBased color space: Ignoring incorrect /Alternate entry.');\n }\n\n if (numComps === 1) {\n return 'DeviceGrayCS';\n } else if (numComps === 3) {\n return 'DeviceRgbCS';\n } else if (numComps === 4) {\n return 'DeviceCmykCS';\n }\n\n break;\n\n case 'Pattern':\n var basePatternCS = cs[1] || null;\n\n if (basePatternCS) {\n basePatternCS = this.parseToIR(basePatternCS, xref, res, pdfFunctionFactory);\n }\n\n return ['PatternCS', basePatternCS];\n\n case 'Indexed':\n case 'I':\n var baseIndexedCS = this.parseToIR(cs[1], xref, res, pdfFunctionFactory);\n var hiVal = xref.fetchIfRef(cs[2]) + 1;\n var lookup = xref.fetchIfRef(cs[3]);\n\n if ((0, _primitives.isStream)(lookup)) {\n lookup = lookup.getBytes();\n }\n\n return ['IndexedCS', baseIndexedCS, hiVal, lookup];\n\n case 'Separation':\n case 'DeviceN':\n var name = xref.fetchIfRef(cs[1]);\n numComps = Array.isArray(name) ? name.length : 1;\n alt = this.parseToIR(cs[2], xref, res, pdfFunctionFactory);\n var tintFn = pdfFunctionFactory.create(xref.fetchIfRef(cs[3]));\n return ['AlternateCS', numComps, alt, tintFn];\n\n case 'Lab':\n params = xref.fetchIfRef(cs[1]);\n whitePoint = params.getArray('WhitePoint');\n blackPoint = params.getArray('BlackPoint');\n var range = params.getArray('Range');\n return ['LabCS', whitePoint, blackPoint, range];\n\n default:\n throw new _util.FormatError(\"unimplemented color space object \\\"\".concat(mode, \"\\\"\"));\n }\n }\n\n throw new _util.FormatError(\"unrecognized color space object: \\\"\".concat(cs, \"\\\"\"));\n }\n }, {\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decode, numComps) {\n if (!Array.isArray(decode)) {\n return true;\n }\n\n if (numComps * 2 !== decode.length) {\n (0, _util.warn)('The decode map is not the correct length');\n return true;\n }\n\n for (var i = 0, ii = decode.length; i < ii; i += 2) {\n if (decode[i] !== 0 || decode[i + 1] !== 1) {\n return false;\n }\n }\n\n return true;\n }\n }, {\n key: \"singletons\",\n get: function get() {\n return (0, _util.shadow)(this, 'singletons', {\n get gray() {\n return (0, _util.shadow)(this, 'gray', new DeviceGrayCS());\n },\n\n get rgb() {\n return (0, _util.shadow)(this, 'rgb', new DeviceRgbCS());\n },\n\n get cmyk() {\n return (0, _util.shadow)(this, 'cmyk', new DeviceCmykCS());\n }\n\n });\n }\n }]);\n\n return ColorSpace;\n}();\n\nexports.ColorSpace = ColorSpace;\n\nvar AlternateCS =\n/*#__PURE__*/\nfunction (_ColorSpace) {\n _inherits(AlternateCS, _ColorSpace);\n\n function AlternateCS(numComps, base, tintFn) {\n var _this;\n\n _classCallCheck(this, AlternateCS);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AlternateCS).call(this, 'Alternate', numComps));\n _this.base = base;\n _this.tintFn = tintFn;\n _this.tmpBuf = new Float32Array(base.numComps);\n return _this;\n }\n\n _createClass(AlternateCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n var tmpBuf = this.tmpBuf;\n this.tintFn(src, srcOffset, tmpBuf, 0);\n this.base.getRgbItem(tmpBuf, 0, dest, destOffset);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var tintFn = this.tintFn;\n var base = this.base;\n var scale = 1 / ((1 << bits) - 1);\n var baseNumComps = base.numComps;\n var usesZeroToOneRange = base.usesZeroToOneRange;\n var isPassthrough = (base.isPassthrough(8) || !usesZeroToOneRange) && alpha01 === 0;\n var pos = isPassthrough ? destOffset : 0;\n var baseBuf = isPassthrough ? dest : new Uint8ClampedArray(baseNumComps * count);\n var numComps = this.numComps;\n var scaled = new Float32Array(numComps);\n var tinted = new Float32Array(baseNumComps);\n var i, j;\n\n for (i = 0; i < count; i++) {\n for (j = 0; j < numComps; j++) {\n scaled[j] = src[srcOffset++] * scale;\n }\n\n tintFn(scaled, 0, tinted, 0);\n\n if (usesZeroToOneRange) {\n for (j = 0; j < baseNumComps; j++) {\n baseBuf[pos++] = tinted[j] * 255;\n }\n } else {\n base.getRgbItem(tinted, 0, baseBuf, pos);\n pos += baseNumComps;\n }\n }\n\n if (!isPassthrough) {\n base.getRgbBuffer(baseBuf, 0, count, dest, destOffset, 8, alpha01);\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return this.base.getOutputLength(inputLength * this.base.numComps / this.numComps, alpha01);\n }\n }]);\n\n return AlternateCS;\n}(ColorSpace);\n\nvar PatternCS =\n/*#__PURE__*/\nfunction (_ColorSpace2) {\n _inherits(PatternCS, _ColorSpace2);\n\n function PatternCS(baseCS) {\n var _this2;\n\n _classCallCheck(this, PatternCS);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(PatternCS).call(this, 'Pattern', null));\n _this2.base = baseCS;\n return _this2;\n }\n\n _createClass(PatternCS, [{\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decodeMap, bpc) {\n (0, _util.unreachable)('Should not call PatternCS.isDefaultDecode');\n }\n }]);\n\n return PatternCS;\n}(ColorSpace);\n\nvar IndexedCS =\n/*#__PURE__*/\nfunction (_ColorSpace3) {\n _inherits(IndexedCS, _ColorSpace3);\n\n function IndexedCS(base, highVal, lookup) {\n var _this3;\n\n _classCallCheck(this, IndexedCS);\n\n _this3 = _possibleConstructorReturn(this, _getPrototypeOf(IndexedCS).call(this, 'Indexed', 1));\n _this3.base = base;\n _this3.highVal = highVal;\n var baseNumComps = base.numComps;\n var length = baseNumComps * highVal;\n\n if ((0, _primitives.isStream)(lookup)) {\n _this3.lookup = new Uint8Array(length);\n var bytes = lookup.getBytes(length);\n\n _this3.lookup.set(bytes);\n } else if ((0, _util.isString)(lookup)) {\n _this3.lookup = new Uint8Array(length);\n\n for (var i = 0; i < length; ++i) {\n _this3.lookup[i] = lookup.charCodeAt(i);\n }\n } else if (lookup instanceof Uint8Array) {\n _this3.lookup = lookup;\n } else {\n throw new _util.FormatError(\"Unrecognized lookup table: \".concat(lookup));\n }\n\n return _this3;\n }\n\n _createClass(IndexedCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n var numComps = this.base.numComps;\n var start = src[srcOffset] * numComps;\n this.base.getRgbBuffer(this.lookup, start, 1, dest, destOffset, 8, 0);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var base = this.base;\n var numComps = base.numComps;\n var outputDelta = base.getOutputLength(numComps, alpha01);\n var lookup = this.lookup;\n\n for (var i = 0; i < count; ++i) {\n var lookupPos = src[srcOffset++] * numComps;\n base.getRgbBuffer(lookup, lookupPos, 1, dest, destOffset, 8, alpha01);\n destOffset += outputDelta;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return this.base.getOutputLength(inputLength * this.base.numComps, alpha01);\n }\n }, {\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decodeMap, bpc) {\n if (!Array.isArray(decodeMap)) {\n return true;\n }\n\n if (decodeMap.length !== 2) {\n (0, _util.warn)('Decode map length is not correct');\n return true;\n }\n\n if (!Number.isInteger(bpc) || bpc < 1) {\n (0, _util.warn)('Bits per component is not correct');\n return true;\n }\n\n return decodeMap[0] === 0 && decodeMap[1] === (1 << bpc) - 1;\n }\n }]);\n\n return IndexedCS;\n}(ColorSpace);\n\nvar DeviceGrayCS =\n/*#__PURE__*/\nfunction (_ColorSpace4) {\n _inherits(DeviceGrayCS, _ColorSpace4);\n\n function DeviceGrayCS() {\n _classCallCheck(this, DeviceGrayCS);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(DeviceGrayCS).call(this, 'DeviceGray', 1));\n }\n\n _createClass(DeviceGrayCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n var c = src[srcOffset] * 255;\n dest[destOffset] = dest[destOffset + 1] = dest[destOffset + 2] = c;\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var scale = 255 / ((1 << bits) - 1);\n var j = srcOffset,\n q = destOffset;\n\n for (var i = 0; i < count; ++i) {\n var c = scale * src[j++];\n dest[q++] = c;\n dest[q++] = c;\n dest[q++] = c;\n q += alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01);\n }\n }]);\n\n return DeviceGrayCS;\n}(ColorSpace);\n\nvar DeviceRgbCS =\n/*#__PURE__*/\nfunction (_ColorSpace5) {\n _inherits(DeviceRgbCS, _ColorSpace5);\n\n function DeviceRgbCS() {\n _classCallCheck(this, DeviceRgbCS);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(DeviceRgbCS).call(this, 'DeviceRGB', 3));\n }\n\n _createClass(DeviceRgbCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n dest[destOffset] = src[srcOffset] * 255;\n dest[destOffset + 1] = src[srcOffset + 1] * 255;\n dest[destOffset + 2] = src[srcOffset + 2] * 255;\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n if (bits === 8 && alpha01 === 0) {\n dest.set(src.subarray(srcOffset, srcOffset + count * 3), destOffset);\n return;\n }\n\n var scale = 255 / ((1 << bits) - 1);\n var j = srcOffset,\n q = destOffset;\n\n for (var i = 0; i < count; ++i) {\n dest[q++] = scale * src[j++];\n dest[q++] = scale * src[j++];\n dest[q++] = scale * src[j++];\n q += alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01) / 3 | 0;\n }\n }, {\n key: \"isPassthrough\",\n value: function isPassthrough(bits) {\n return bits === 8;\n }\n }]);\n\n return DeviceRgbCS;\n}(ColorSpace);\n\nvar DeviceCmykCS = function DeviceCmykCSClosure() {\n function convertToRgb(src, srcOffset, srcScale, dest, destOffset) {\n var c = src[srcOffset] * srcScale;\n var m = src[srcOffset + 1] * srcScale;\n var y = src[srcOffset + 2] * srcScale;\n var k = src[srcOffset + 3] * srcScale;\n dest[destOffset] = 255 + c * (-4.387332384609988 * c + 54.48615194189176 * m + 18.82290502165302 * y + 212.25662451639585 * k + -285.2331026137004) + m * (1.7149763477362134 * m - 5.6096736904047315 * y + -17.873870861415444 * k - 5.497006427196366) + y * (-2.5217340131683033 * y - 21.248923337353073 * k + 17.5119270841813) + k * (-21.86122147463605 * k - 189.48180835922747);\n dest[destOffset + 1] = 255 + c * (8.841041422036149 * c + 60.118027045597366 * m + 6.871425592049007 * y + 31.159100130055922 * k + -79.2970844816548) + m * (-15.310361306967817 * m + 17.575251261109482 * y + 131.35250912493976 * k - 190.9453302588951) + y * (4.444339102852739 * y + 9.8632861493405 * k - 24.86741582555878) + k * (-20.737325471181034 * k - 187.80453709719578);\n dest[destOffset + 2] = 255 + c * (0.8842522430003296 * c + 8.078677503112928 * m + 30.89978309703729 * y - 0.23883238689178934 * k + -14.183576799673286) + m * (10.49593273432072 * m + 63.02378494754052 * y + 50.606957656360734 * k - 112.23884253719248) + y * (0.03296041114873217 * y + 115.60384449646641 * k + -193.58209356861505) + k * (-22.33816807309886 * k - 180.12613974708367);\n }\n\n var DeviceCmykCS =\n /*#__PURE__*/\n function (_ColorSpace6) {\n _inherits(DeviceCmykCS, _ColorSpace6);\n\n function DeviceCmykCS() {\n _classCallCheck(this, DeviceCmykCS);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(DeviceCmykCS).call(this, 'DeviceCMYK', 4));\n }\n\n _createClass(DeviceCmykCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(src, srcOffset, 1, dest, destOffset);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var scale = 1 / ((1 << bits) - 1);\n\n for (var i = 0; i < count; i++) {\n convertToRgb(src, srcOffset, scale, dest, destOffset);\n srcOffset += 4;\n destOffset += 3 + alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength / 4 * (3 + alpha01) | 0;\n }\n }]);\n\n return DeviceCmykCS;\n }(ColorSpace);\n\n return DeviceCmykCS;\n}();\n\nvar CalGrayCS = function CalGrayCSClosure() {\n function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {\n var A = src[srcOffset] * scale;\n var AG = Math.pow(A, cs.G);\n var L = cs.YW * AG;\n var val = Math.max(295.8 * Math.pow(L, 0.333333333333333333) - 40.8, 0);\n dest[destOffset] = val;\n dest[destOffset + 1] = val;\n dest[destOffset + 2] = val;\n }\n\n var CalGrayCS =\n /*#__PURE__*/\n function (_ColorSpace7) {\n _inherits(CalGrayCS, _ColorSpace7);\n\n function CalGrayCS(whitePoint, blackPoint, gamma) {\n var _this4;\n\n _classCallCheck(this, CalGrayCS);\n\n _this4 = _possibleConstructorReturn(this, _getPrototypeOf(CalGrayCS).call(this, 'CalGray', 1));\n\n if (!whitePoint) {\n throw new _util.FormatError('WhitePoint missing - required for color space CalGray');\n }\n\n blackPoint = blackPoint || [0, 0, 0];\n gamma = gamma || 1;\n _this4.XW = whitePoint[0];\n _this4.YW = whitePoint[1];\n _this4.ZW = whitePoint[2];\n _this4.XB = blackPoint[0];\n _this4.YB = blackPoint[1];\n _this4.ZB = blackPoint[2];\n _this4.G = gamma;\n\n if (_this4.XW < 0 || _this4.ZW < 0 || _this4.YW !== 1) {\n throw new _util.FormatError(\"Invalid WhitePoint components for \".concat(_this4.name) + ', no fallback available');\n }\n\n if (_this4.XB < 0 || _this4.YB < 0 || _this4.ZB < 0) {\n (0, _util.info)(\"Invalid BlackPoint for \".concat(_this4.name, \", falling back to default.\"));\n _this4.XB = _this4.YB = _this4.ZB = 0;\n }\n\n if (_this4.XB !== 0 || _this4.YB !== 0 || _this4.ZB !== 0) {\n (0, _util.warn)(\"\".concat(_this4.name, \", BlackPoint: XB: \").concat(_this4.XB, \", YB: \").concat(_this4.YB, \", \") + \"ZB: \".concat(_this4.ZB, \", only default values are supported.\"));\n }\n\n if (_this4.G < 1) {\n (0, _util.info)(\"Invalid Gamma: \".concat(_this4.G, \" for \").concat(_this4.name, \", \") + 'falling back to default.');\n _this4.G = 1;\n }\n\n return _this4;\n }\n\n _createClass(CalGrayCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(this, src, srcOffset, dest, destOffset, 1);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var scale = 1 / ((1 << bits) - 1);\n\n for (var i = 0; i < count; ++i) {\n convertToRgb(this, src, srcOffset, dest, destOffset, scale);\n srcOffset += 1;\n destOffset += 3 + alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01);\n }\n }]);\n\n return CalGrayCS;\n }(ColorSpace);\n\n return CalGrayCS;\n}();\n\nvar CalRGBCS = function CalRGBCSClosure() {\n var BRADFORD_SCALE_MATRIX = new Float32Array([0.8951, 0.2664, -0.1614, -0.7502, 1.7135, 0.0367, 0.0389, -0.0685, 1.0296]);\n var BRADFORD_SCALE_INVERSE_MATRIX = new Float32Array([0.9869929, -0.1470543, 0.1599627, 0.4323053, 0.5183603, 0.0492912, -0.0085287, 0.0400428, 0.9684867]);\n var SRGB_D65_XYZ_TO_RGB_MATRIX = new Float32Array([3.2404542, -1.5371385, -0.4985314, -0.9692660, 1.8760108, 0.0415560, 0.0556434, -0.2040259, 1.0572252]);\n var FLAT_WHITEPOINT_MATRIX = new Float32Array([1, 1, 1]);\n var tempNormalizeMatrix = new Float32Array(3);\n var tempConvertMatrix1 = new Float32Array(3);\n var tempConvertMatrix2 = new Float32Array(3);\n var DECODE_L_CONSTANT = Math.pow((8 + 16) / 116, 3) / 8.0;\n\n function matrixProduct(a, b, result) {\n result[0] = a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n result[1] = a[3] * b[0] + a[4] * b[1] + a[5] * b[2];\n result[2] = a[6] * b[0] + a[7] * b[1] + a[8] * b[2];\n }\n\n function convertToFlat(sourceWhitePoint, LMS, result) {\n result[0] = LMS[0] * 1 / sourceWhitePoint[0];\n result[1] = LMS[1] * 1 / sourceWhitePoint[1];\n result[2] = LMS[2] * 1 / sourceWhitePoint[2];\n }\n\n function convertToD65(sourceWhitePoint, LMS, result) {\n var D65X = 0.95047;\n var D65Y = 1;\n var D65Z = 1.08883;\n result[0] = LMS[0] * D65X / sourceWhitePoint[0];\n result[1] = LMS[1] * D65Y / sourceWhitePoint[1];\n result[2] = LMS[2] * D65Z / sourceWhitePoint[2];\n }\n\n function sRGBTransferFunction(color) {\n if (color <= 0.0031308) {\n return adjustToRange(0, 1, 12.92 * color);\n }\n\n return adjustToRange(0, 1, (1 + 0.055) * Math.pow(color, 1 / 2.4) - 0.055);\n }\n\n function adjustToRange(min, max, value) {\n return Math.max(min, Math.min(max, value));\n }\n\n function decodeL(L) {\n if (L < 0) {\n return -decodeL(-L);\n }\n\n if (L > 8.0) {\n return Math.pow((L + 16) / 116, 3);\n }\n\n return L * DECODE_L_CONSTANT;\n }\n\n function compensateBlackPoint(sourceBlackPoint, XYZ_Flat, result) {\n if (sourceBlackPoint[0] === 0 && sourceBlackPoint[1] === 0 && sourceBlackPoint[2] === 0) {\n result[0] = XYZ_Flat[0];\n result[1] = XYZ_Flat[1];\n result[2] = XYZ_Flat[2];\n return;\n }\n\n var zeroDecodeL = decodeL(0);\n var X_DST = zeroDecodeL;\n var X_SRC = decodeL(sourceBlackPoint[0]);\n var Y_DST = zeroDecodeL;\n var Y_SRC = decodeL(sourceBlackPoint[1]);\n var Z_DST = zeroDecodeL;\n var Z_SRC = decodeL(sourceBlackPoint[2]);\n var X_Scale = (1 - X_DST) / (1 - X_SRC);\n var X_Offset = 1 - X_Scale;\n var Y_Scale = (1 - Y_DST) / (1 - Y_SRC);\n var Y_Offset = 1 - Y_Scale;\n var Z_Scale = (1 - Z_DST) / (1 - Z_SRC);\n var Z_Offset = 1 - Z_Scale;\n result[0] = XYZ_Flat[0] * X_Scale + X_Offset;\n result[1] = XYZ_Flat[1] * Y_Scale + Y_Offset;\n result[2] = XYZ_Flat[2] * Z_Scale + Z_Offset;\n }\n\n function normalizeWhitePointToFlat(sourceWhitePoint, XYZ_In, result) {\n if (sourceWhitePoint[0] === 1 && sourceWhitePoint[2] === 1) {\n result[0] = XYZ_In[0];\n result[1] = XYZ_In[1];\n result[2] = XYZ_In[2];\n return;\n }\n\n var LMS = result;\n matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);\n var LMS_Flat = tempNormalizeMatrix;\n convertToFlat(sourceWhitePoint, LMS, LMS_Flat);\n matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_Flat, result);\n }\n\n function normalizeWhitePointToD65(sourceWhitePoint, XYZ_In, result) {\n var LMS = result;\n matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);\n var LMS_D65 = tempNormalizeMatrix;\n convertToD65(sourceWhitePoint, LMS, LMS_D65);\n matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_D65, result);\n }\n\n function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {\n var A = adjustToRange(0, 1, src[srcOffset] * scale);\n var B = adjustToRange(0, 1, src[srcOffset + 1] * scale);\n var C = adjustToRange(0, 1, src[srcOffset + 2] * scale);\n var AGR = Math.pow(A, cs.GR);\n var BGG = Math.pow(B, cs.GG);\n var CGB = Math.pow(C, cs.GB);\n var X = cs.MXA * AGR + cs.MXB * BGG + cs.MXC * CGB;\n var Y = cs.MYA * AGR + cs.MYB * BGG + cs.MYC * CGB;\n var Z = cs.MZA * AGR + cs.MZB * BGG + cs.MZC * CGB;\n var XYZ = tempConvertMatrix1;\n XYZ[0] = X;\n XYZ[1] = Y;\n XYZ[2] = Z;\n var XYZ_Flat = tempConvertMatrix2;\n normalizeWhitePointToFlat(cs.whitePoint, XYZ, XYZ_Flat);\n var XYZ_Black = tempConvertMatrix1;\n compensateBlackPoint(cs.blackPoint, XYZ_Flat, XYZ_Black);\n var XYZ_D65 = tempConvertMatrix2;\n normalizeWhitePointToD65(FLAT_WHITEPOINT_MATRIX, XYZ_Black, XYZ_D65);\n var SRGB = tempConvertMatrix1;\n matrixProduct(SRGB_D65_XYZ_TO_RGB_MATRIX, XYZ_D65, SRGB);\n dest[destOffset] = sRGBTransferFunction(SRGB[0]) * 255;\n dest[destOffset + 1] = sRGBTransferFunction(SRGB[1]) * 255;\n dest[destOffset + 2] = sRGBTransferFunction(SRGB[2]) * 255;\n }\n\n var CalRGBCS =\n /*#__PURE__*/\n function (_ColorSpace8) {\n _inherits(CalRGBCS, _ColorSpace8);\n\n function CalRGBCS(whitePoint, blackPoint, gamma, matrix) {\n var _this5;\n\n _classCallCheck(this, CalRGBCS);\n\n _this5 = _possibleConstructorReturn(this, _getPrototypeOf(CalRGBCS).call(this, 'CalRGB', 3));\n\n if (!whitePoint) {\n throw new _util.FormatError('WhitePoint missing - required for color space CalRGB');\n }\n\n blackPoint = blackPoint || new Float32Array(3);\n gamma = gamma || new Float32Array([1, 1, 1]);\n matrix = matrix || new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]);\n var XW = whitePoint[0];\n var YW = whitePoint[1];\n var ZW = whitePoint[2];\n _this5.whitePoint = whitePoint;\n var XB = blackPoint[0];\n var YB = blackPoint[1];\n var ZB = blackPoint[2];\n _this5.blackPoint = blackPoint;\n _this5.GR = gamma[0];\n _this5.GG = gamma[1];\n _this5.GB = gamma[2];\n _this5.MXA = matrix[0];\n _this5.MYA = matrix[1];\n _this5.MZA = matrix[2];\n _this5.MXB = matrix[3];\n _this5.MYB = matrix[4];\n _this5.MZB = matrix[5];\n _this5.MXC = matrix[6];\n _this5.MYC = matrix[7];\n _this5.MZC = matrix[8];\n\n if (XW < 0 || ZW < 0 || YW !== 1) {\n throw new _util.FormatError(\"Invalid WhitePoint components for \".concat(_this5.name) + ', no fallback available');\n }\n\n if (XB < 0 || YB < 0 || ZB < 0) {\n (0, _util.info)(\"Invalid BlackPoint for \".concat(_this5.name, \" [\").concat(XB, \", \").concat(YB, \", \").concat(ZB, \"], \") + 'falling back to default.');\n _this5.blackPoint = new Float32Array(3);\n }\n\n if (_this5.GR < 0 || _this5.GG < 0 || _this5.GB < 0) {\n (0, _util.info)(\"Invalid Gamma [\".concat(_this5.GR, \", \").concat(_this5.GG, \", \").concat(_this5.GB, \"] for \") + \"\".concat(_this5.name, \", falling back to default.\"));\n _this5.GR = _this5.GG = _this5.GB = 1;\n }\n\n return _this5;\n }\n\n _createClass(CalRGBCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(this, src, srcOffset, dest, destOffset, 1);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var scale = 1 / ((1 << bits) - 1);\n\n for (var i = 0; i < count; ++i) {\n convertToRgb(this, src, srcOffset, dest, destOffset, scale);\n srcOffset += 3;\n destOffset += 3 + alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01) / 3 | 0;\n }\n }]);\n\n return CalRGBCS;\n }(ColorSpace);\n\n return CalRGBCS;\n}();\n\nvar LabCS = function LabCSClosure() {\n function fn_g(x) {\n var result;\n\n if (x >= 6 / 29) {\n result = x * x * x;\n } else {\n result = 108 / 841 * (x - 4 / 29);\n }\n\n return result;\n }\n\n function decode(value, high1, low2, high2) {\n return low2 + value * (high2 - low2) / high1;\n }\n\n function convertToRgb(cs, src, srcOffset, maxVal, dest, destOffset) {\n var Ls = src[srcOffset];\n var as = src[srcOffset + 1];\n var bs = src[srcOffset + 2];\n\n if (maxVal !== false) {\n Ls = decode(Ls, maxVal, 0, 100);\n as = decode(as, maxVal, cs.amin, cs.amax);\n bs = decode(bs, maxVal, cs.bmin, cs.bmax);\n }\n\n as = as > cs.amax ? cs.amax : as < cs.amin ? cs.amin : as;\n bs = bs > cs.bmax ? cs.bmax : bs < cs.bmin ? cs.bmin : bs;\n var M = (Ls + 16) / 116;\n var L = M + as / 500;\n var N = M - bs / 200;\n var X = cs.XW * fn_g(L);\n var Y = cs.YW * fn_g(M);\n var Z = cs.ZW * fn_g(N);\n var r, g, b;\n\n if (cs.ZW < 1) {\n r = X * 3.1339 + Y * -1.6170 + Z * -0.4906;\n g = X * -0.9785 + Y * 1.9160 + Z * 0.0333;\n b = X * 0.0720 + Y * -0.2290 + Z * 1.4057;\n } else {\n r = X * 3.2406 + Y * -1.5372 + Z * -0.4986;\n g = X * -0.9689 + Y * 1.8758 + Z * 0.0415;\n b = X * 0.0557 + Y * -0.2040 + Z * 1.0570;\n }\n\n dest[destOffset] = Math.sqrt(r) * 255;\n dest[destOffset + 1] = Math.sqrt(g) * 255;\n dest[destOffset + 2] = Math.sqrt(b) * 255;\n }\n\n var LabCS =\n /*#__PURE__*/\n function (_ColorSpace9) {\n _inherits(LabCS, _ColorSpace9);\n\n function LabCS(whitePoint, blackPoint, range) {\n var _this6;\n\n _classCallCheck(this, LabCS);\n\n _this6 = _possibleConstructorReturn(this, _getPrototypeOf(LabCS).call(this, 'Lab', 3));\n\n if (!whitePoint) {\n throw new _util.FormatError('WhitePoint missing - required for color space Lab');\n }\n\n blackPoint = blackPoint || [0, 0, 0];\n range = range || [-100, 100, -100, 100];\n _this6.XW = whitePoint[0];\n _this6.YW = whitePoint[1];\n _this6.ZW = whitePoint[2];\n _this6.amin = range[0];\n _this6.amax = range[1];\n _this6.bmin = range[2];\n _this6.bmax = range[3];\n _this6.XB = blackPoint[0];\n _this6.YB = blackPoint[1];\n _this6.ZB = blackPoint[2];\n\n if (_this6.XW < 0 || _this6.ZW < 0 || _this6.YW !== 1) {\n throw new _util.FormatError('Invalid WhitePoint components, no fallback available');\n }\n\n if (_this6.XB < 0 || _this6.YB < 0 || _this6.ZB < 0) {\n (0, _util.info)('Invalid BlackPoint, falling back to default');\n _this6.XB = _this6.YB = _this6.ZB = 0;\n }\n\n if (_this6.amin > _this6.amax || _this6.bmin > _this6.bmax) {\n (0, _util.info)('Invalid Range, falling back to defaults');\n _this6.amin = -100;\n _this6.amax = 100;\n _this6.bmin = -100;\n _this6.bmax = 100;\n }\n\n return _this6;\n }\n\n _createClass(LabCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(this, src, srcOffset, false, dest, destOffset);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var maxVal = (1 << bits) - 1;\n\n for (var i = 0; i < count; i++) {\n convertToRgb(this, src, srcOffset, maxVal, dest, destOffset);\n srcOffset += 3;\n destOffset += 3 + alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01) / 3 | 0;\n }\n }, {\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decodeMap, bpc) {\n return true;\n }\n }, {\n key: \"usesZeroToOneRange\",\n get: function get() {\n return (0, _util.shadow)(this, 'usesZeroToOneRange', false);\n }\n }]);\n\n return LabCS;\n }(ColorSpace);\n\n return LabCS;\n}();\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MarkupAnnotation = exports.AnnotationFactory = exports.AnnotationBorderStyle = exports.Annotation = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _obj = __w_pdfjs_require__(156);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _colorspace = __w_pdfjs_require__(169);\n\nvar _core_utils = __w_pdfjs_require__(154);\n\nvar _operator_list = __w_pdfjs_require__(171);\n\nvar _stream = __w_pdfjs_require__(158);\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationFactory =\n/*#__PURE__*/\nfunction () {\n function AnnotationFactory() {\n _classCallCheck(this, AnnotationFactory);\n }\n\n _createClass(AnnotationFactory, null, [{\n key: \"create\",\n value: function create(xref, ref, pdfManager, idFactory) {\n return pdfManager.ensure(this, '_create', [xref, ref, pdfManager, idFactory]);\n }\n }, {\n key: \"_create\",\n value: function _create(xref, ref, pdfManager, idFactory) {\n var dict = xref.fetchIfRef(ref);\n\n if (!(0, _primitives.isDict)(dict)) {\n return undefined;\n }\n\n var id = (0, _primitives.isRef)(ref) ? ref.toString() : \"annot_\".concat(idFactory.createObjId());\n var subtype = dict.get('Subtype');\n subtype = (0, _primitives.isName)(subtype) ? subtype.name : null;\n var parameters = {\n xref: xref,\n dict: dict,\n subtype: subtype,\n id: id,\n pdfManager: pdfManager\n };\n\n switch (subtype) {\n case 'Link':\n return new LinkAnnotation(parameters);\n\n case 'Text':\n return new TextAnnotation(parameters);\n\n case 'Widget':\n var fieldType = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: 'FT'\n });\n fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;\n\n switch (fieldType) {\n case 'Tx':\n return new TextWidgetAnnotation(parameters);\n\n case 'Btn':\n return new ButtonWidgetAnnotation(parameters);\n\n case 'Ch':\n return new ChoiceWidgetAnnotation(parameters);\n }\n\n (0, _util.warn)('Unimplemented widget field type \"' + fieldType + '\", ' + 'falling back to base field type.');\n return new WidgetAnnotation(parameters);\n\n case 'Popup':\n return new PopupAnnotation(parameters);\n\n case 'FreeText':\n return new FreeTextAnnotation(parameters);\n\n case 'Line':\n return new LineAnnotation(parameters);\n\n case 'Square':\n return new SquareAnnotation(parameters);\n\n case 'Circle':\n return new CircleAnnotation(parameters);\n\n case 'PolyLine':\n return new PolylineAnnotation(parameters);\n\n case 'Polygon':\n return new PolygonAnnotation(parameters);\n\n case 'Caret':\n return new CaretAnnotation(parameters);\n\n case 'Ink':\n return new InkAnnotation(parameters);\n\n case 'Highlight':\n return new HighlightAnnotation(parameters);\n\n case 'Underline':\n return new UnderlineAnnotation(parameters);\n\n case 'Squiggly':\n return new SquigglyAnnotation(parameters);\n\n case 'StrikeOut':\n return new StrikeOutAnnotation(parameters);\n\n case 'Stamp':\n return new StampAnnotation(parameters);\n\n case 'FileAttachment':\n return new FileAttachmentAnnotation(parameters);\n\n default:\n if (!subtype) {\n (0, _util.warn)('Annotation is missing the required /Subtype.');\n } else {\n (0, _util.warn)('Unimplemented annotation type \"' + subtype + '\", ' + 'falling back to base annotation.');\n }\n\n return new Annotation(parameters);\n }\n }\n }]);\n\n return AnnotationFactory;\n}();\n\nexports.AnnotationFactory = AnnotationFactory;\n\nfunction getTransformMatrix(rect, bbox, matrix) {\n var bounds = _util.Util.getAxialAlignedBoundingBox(bbox, matrix);\n\n var minX = bounds[0];\n var minY = bounds[1];\n var maxX = bounds[2];\n var maxY = bounds[3];\n\n if (minX === maxX || minY === maxY) {\n return [1, 0, 0, 1, rect[0], rect[1]];\n }\n\n var xRatio = (rect[2] - rect[0]) / (maxX - minX);\n var yRatio = (rect[3] - rect[1]) / (maxY - minY);\n return [xRatio, 0, 0, yRatio, rect[0] - minX * xRatio, rect[1] - minY * yRatio];\n}\n\nvar Annotation =\n/*#__PURE__*/\nfunction () {\n function Annotation(params) {\n _classCallCheck(this, Annotation);\n\n var dict = params.dict;\n this.setContents(dict.get('Contents'));\n this.setModificationDate(dict.get('M'));\n this.setFlags(dict.get('F'));\n this.setRectangle(dict.getArray('Rect'));\n this.setColor(dict.getArray('C'));\n this.setBorderStyle(dict);\n this.setAppearance(dict);\n this.data = {\n annotationFlags: this.flags,\n borderStyle: this.borderStyle,\n color: this.color,\n contents: this.contents,\n hasAppearance: !!this.appearance,\n id: params.id,\n modificationDate: this.modificationDate,\n rect: this.rectangle,\n subtype: params.subtype\n };\n }\n\n _createClass(Annotation, [{\n key: \"_hasFlag\",\n value: function _hasFlag(flags, flag) {\n return !!(flags & flag);\n }\n }, {\n key: \"_isViewable\",\n value: function _isViewable(flags) {\n return !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, _util.AnnotationFlag.HIDDEN) && !this._hasFlag(flags, _util.AnnotationFlag.NOVIEW);\n }\n }, {\n key: \"_isPrintable\",\n value: function _isPrintable(flags) {\n return this._hasFlag(flags, _util.AnnotationFlag.PRINT) && !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, _util.AnnotationFlag.HIDDEN);\n }\n }, {\n key: \"setContents\",\n value: function setContents(contents) {\n this.contents = (0, _util.stringToPDFString)(contents || '');\n }\n }, {\n key: \"setModificationDate\",\n value: function setModificationDate(modificationDate) {\n this.modificationDate = (0, _util.isString)(modificationDate) ? modificationDate : null;\n }\n }, {\n key: \"setFlags\",\n value: function setFlags(flags) {\n this.flags = Number.isInteger(flags) && flags > 0 ? flags : 0;\n }\n }, {\n key: \"hasFlag\",\n value: function hasFlag(flag) {\n return this._hasFlag(this.flags, flag);\n }\n }, {\n key: \"setRectangle\",\n value: function setRectangle(rectangle) {\n if (Array.isArray(rectangle) && rectangle.length === 4) {\n this.rectangle = _util.Util.normalizeRect(rectangle);\n } else {\n this.rectangle = [0, 0, 0, 0];\n }\n }\n }, {\n key: \"setColor\",\n value: function setColor(color) {\n var rgbColor = new Uint8ClampedArray(3);\n\n if (!Array.isArray(color)) {\n this.color = rgbColor;\n return;\n }\n\n switch (color.length) {\n case 0:\n this.color = null;\n break;\n\n case 1:\n _colorspace.ColorSpace.singletons.gray.getRgbItem(color, 0, rgbColor, 0);\n\n this.color = rgbColor;\n break;\n\n case 3:\n _colorspace.ColorSpace.singletons.rgb.getRgbItem(color, 0, rgbColor, 0);\n\n this.color = rgbColor;\n break;\n\n case 4:\n _colorspace.ColorSpace.singletons.cmyk.getRgbItem(color, 0, rgbColor, 0);\n\n this.color = rgbColor;\n break;\n\n default:\n this.color = rgbColor;\n break;\n }\n }\n }, {\n key: \"setBorderStyle\",\n value: function setBorderStyle(borderStyle) {\n this.borderStyle = new AnnotationBorderStyle();\n\n if (!(0, _primitives.isDict)(borderStyle)) {\n return;\n }\n\n if (borderStyle.has('BS')) {\n var dict = borderStyle.get('BS');\n var dictType = dict.get('Type');\n\n if (!dictType || (0, _primitives.isName)(dictType, 'Border')) {\n this.borderStyle.setWidth(dict.get('W'), this.rectangle);\n this.borderStyle.setStyle(dict.get('S'));\n this.borderStyle.setDashArray(dict.getArray('D'));\n }\n } else if (borderStyle.has('Border')) {\n var array = borderStyle.getArray('Border');\n\n if (Array.isArray(array) && array.length >= 3) {\n this.borderStyle.setHorizontalCornerRadius(array[0]);\n this.borderStyle.setVerticalCornerRadius(array[1]);\n this.borderStyle.setWidth(array[2], this.rectangle);\n\n if (array.length === 4) {\n this.borderStyle.setDashArray(array[3]);\n }\n }\n } else {\n this.borderStyle.setWidth(0);\n }\n }\n }, {\n key: \"setAppearance\",\n value: function setAppearance(dict) {\n this.appearance = null;\n var appearanceStates = dict.get('AP');\n\n if (!(0, _primitives.isDict)(appearanceStates)) {\n return;\n }\n\n var normalAppearanceState = appearanceStates.get('N');\n\n if ((0, _primitives.isStream)(normalAppearanceState)) {\n this.appearance = normalAppearanceState;\n return;\n }\n\n if (!(0, _primitives.isDict)(normalAppearanceState)) {\n return;\n }\n\n var as = dict.get('AS');\n\n if (!(0, _primitives.isName)(as) || !normalAppearanceState.has(as.name)) {\n return;\n }\n\n this.appearance = normalAppearanceState.get(as.name);\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(keys) {\n return this.appearance.dict.getAsync('Resources').then(function (resources) {\n if (!resources) {\n return undefined;\n }\n\n var objectLoader = new _obj.ObjectLoader(resources, keys, resources.xref);\n return objectLoader.load().then(function () {\n return resources;\n });\n });\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList(evaluator, task, renderForms) {\n var _this = this;\n\n if (!this.appearance) {\n return Promise.resolve(new _operator_list.OperatorList());\n }\n\n var data = this.data;\n var appearanceDict = this.appearance.dict;\n var resourcesPromise = this.loadResources(['ExtGState', 'ColorSpace', 'Pattern', 'Shading', 'XObject', 'Font']);\n var bbox = appearanceDict.getArray('BBox') || [0, 0, 1, 1];\n var matrix = appearanceDict.getArray('Matrix') || [1, 0, 0, 1, 0, 0];\n var transform = getTransformMatrix(data.rect, bbox, matrix);\n return resourcesPromise.then(function (resources) {\n var opList = new _operator_list.OperatorList();\n opList.addOp(_util.OPS.beginAnnotation, [data.rect, transform, matrix]);\n return evaluator.getOperatorList({\n stream: _this.appearance,\n task: task,\n resources: resources,\n operatorList: opList\n }).then(function () {\n opList.addOp(_util.OPS.endAnnotation, []);\n\n _this.appearance.reset();\n\n return opList;\n });\n });\n }\n }, {\n key: \"viewable\",\n get: function get() {\n if (this.flags === 0) {\n return true;\n }\n\n return this._isViewable(this.flags);\n }\n }, {\n key: \"printable\",\n get: function get() {\n if (this.flags === 0) {\n return false;\n }\n\n return this._isPrintable(this.flags);\n }\n }]);\n\n return Annotation;\n}();\n\nexports.Annotation = Annotation;\n\nvar AnnotationBorderStyle =\n/*#__PURE__*/\nfunction () {\n function AnnotationBorderStyle() {\n _classCallCheck(this, AnnotationBorderStyle);\n\n this.width = 1;\n this.style = _util.AnnotationBorderStyleType.SOLID;\n this.dashArray = [3];\n this.horizontalCornerRadius = 0;\n this.verticalCornerRadius = 0;\n }\n\n _createClass(AnnotationBorderStyle, [{\n key: \"setWidth\",\n value: function setWidth(width) {\n var rect = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [0, 0, 0, 0];\n\n if ((0, _primitives.isName)(width)) {\n this.width = 0;\n return;\n }\n\n if (Number.isInteger(width)) {\n if (width > 0) {\n var maxWidth = (rect[2] - rect[0]) / 2;\n var maxHeight = (rect[3] - rect[1]) / 2;\n\n if (maxWidth > 0 && maxHeight > 0 && (width > maxWidth || width > maxHeight)) {\n (0, _util.warn)(\"AnnotationBorderStyle.setWidth - ignoring width: \".concat(width));\n width = 1;\n }\n }\n\n this.width = width;\n }\n }\n }, {\n key: \"setStyle\",\n value: function setStyle(style) {\n if (!(0, _primitives.isName)(style)) {\n return;\n }\n\n switch (style.name) {\n case 'S':\n this.style = _util.AnnotationBorderStyleType.SOLID;\n break;\n\n case 'D':\n this.style = _util.AnnotationBorderStyleType.DASHED;\n break;\n\n case 'B':\n this.style = _util.AnnotationBorderStyleType.BEVELED;\n break;\n\n case 'I':\n this.style = _util.AnnotationBorderStyleType.INSET;\n break;\n\n case 'U':\n this.style = _util.AnnotationBorderStyleType.UNDERLINE;\n break;\n\n default:\n break;\n }\n }\n }, {\n key: \"setDashArray\",\n value: function setDashArray(dashArray) {\n if (Array.isArray(dashArray) && dashArray.length > 0) {\n var isValid = true;\n var allZeros = true;\n\n for (var i = 0, len = dashArray.length; i < len; i++) {\n var element = dashArray[i];\n var validNumber = +element >= 0;\n\n if (!validNumber) {\n isValid = false;\n break;\n } else if (element > 0) {\n allZeros = false;\n }\n }\n\n if (isValid && !allZeros) {\n this.dashArray = dashArray;\n } else {\n this.width = 0;\n }\n } else if (dashArray) {\n this.width = 0;\n }\n }\n }, {\n key: \"setHorizontalCornerRadius\",\n value: function setHorizontalCornerRadius(radius) {\n if (Number.isInteger(radius)) {\n this.horizontalCornerRadius = radius;\n }\n }\n }, {\n key: \"setVerticalCornerRadius\",\n value: function setVerticalCornerRadius(radius) {\n if (Number.isInteger(radius)) {\n this.verticalCornerRadius = radius;\n }\n }\n }]);\n\n return AnnotationBorderStyle;\n}();\n\nexports.AnnotationBorderStyle = AnnotationBorderStyle;\n\nvar MarkupAnnotation =\n/*#__PURE__*/\nfunction (_Annotation) {\n _inherits(MarkupAnnotation, _Annotation);\n\n function MarkupAnnotation(parameters) {\n var _this2;\n\n _classCallCheck(this, MarkupAnnotation);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(MarkupAnnotation).call(this, parameters));\n var dict = parameters.dict;\n\n if (!dict.has('C')) {\n _this2.data.color = null;\n }\n\n _this2.setCreationDate(dict.get('CreationDate'));\n\n _this2.data.creationDate = _this2.creationDate;\n _this2.data.hasPopup = dict.has('Popup');\n _this2.data.title = (0, _util.stringToPDFString)(dict.get('T') || '');\n return _this2;\n }\n\n _createClass(MarkupAnnotation, [{\n key: \"setCreationDate\",\n value: function setCreationDate(creationDate) {\n this.creationDate = (0, _util.isString)(creationDate) ? creationDate : null;\n }\n }]);\n\n return MarkupAnnotation;\n}(Annotation);\n\nexports.MarkupAnnotation = MarkupAnnotation;\n\nvar WidgetAnnotation =\n/*#__PURE__*/\nfunction (_Annotation2) {\n _inherits(WidgetAnnotation, _Annotation2);\n\n function WidgetAnnotation(params) {\n var _this3;\n\n _classCallCheck(this, WidgetAnnotation);\n\n _this3 = _possibleConstructorReturn(this, _getPrototypeOf(WidgetAnnotation).call(this, params));\n var dict = params.dict;\n var data = _this3.data;\n data.annotationType = _util.AnnotationType.WIDGET;\n data.fieldName = _this3._constructFieldName(dict);\n data.fieldValue = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: 'V',\n getArray: true\n });\n data.alternativeText = (0, _util.stringToPDFString)(dict.get('TU') || '');\n data.defaultAppearance = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: 'DA'\n }) || '';\n var fieldType = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: 'FT'\n });\n data.fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;\n _this3.fieldResources = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: 'DR'\n }) || _primitives.Dict.empty;\n data.fieldFlags = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: 'Ff'\n });\n\n if (!Number.isInteger(data.fieldFlags) || data.fieldFlags < 0) {\n data.fieldFlags = 0;\n }\n\n data.readOnly = _this3.hasFieldFlag(_util.AnnotationFieldFlag.READONLY);\n\n if (data.fieldType === 'Sig') {\n data.fieldValue = null;\n\n _this3.setFlags(_util.AnnotationFlag.HIDDEN);\n }\n\n return _this3;\n }\n\n _createClass(WidgetAnnotation, [{\n key: \"_constructFieldName\",\n value: function _constructFieldName(dict) {\n if (!dict.has('T') && !dict.has('Parent')) {\n (0, _util.warn)('Unknown field name, falling back to empty field name.');\n return '';\n }\n\n if (!dict.has('Parent')) {\n return (0, _util.stringToPDFString)(dict.get('T'));\n }\n\n var fieldName = [];\n\n if (dict.has('T')) {\n fieldName.unshift((0, _util.stringToPDFString)(dict.get('T')));\n }\n\n var loopDict = dict;\n\n while (loopDict.has('Parent')) {\n loopDict = loopDict.get('Parent');\n\n if (!(0, _primitives.isDict)(loopDict)) {\n break;\n }\n\n if (loopDict.has('T')) {\n fieldName.unshift((0, _util.stringToPDFString)(loopDict.get('T')));\n }\n }\n\n return fieldName.join('.');\n }\n }, {\n key: \"hasFieldFlag\",\n value: function hasFieldFlag(flag) {\n return !!(this.data.fieldFlags & flag);\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList(evaluator, task, renderForms) {\n if (renderForms) {\n return Promise.resolve(new _operator_list.OperatorList());\n }\n\n return _get(_getPrototypeOf(WidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, renderForms);\n }\n }]);\n\n return WidgetAnnotation;\n}(Annotation);\n\nvar TextWidgetAnnotation =\n/*#__PURE__*/\nfunction (_WidgetAnnotation) {\n _inherits(TextWidgetAnnotation, _WidgetAnnotation);\n\n function TextWidgetAnnotation(params) {\n var _this4;\n\n _classCallCheck(this, TextWidgetAnnotation);\n\n _this4 = _possibleConstructorReturn(this, _getPrototypeOf(TextWidgetAnnotation).call(this, params));\n var dict = params.dict;\n _this4.data.fieldValue = (0, _util.stringToPDFString)(_this4.data.fieldValue || '');\n var alignment = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: 'Q'\n });\n\n if (!Number.isInteger(alignment) || alignment < 0 || alignment > 2) {\n alignment = null;\n }\n\n _this4.data.textAlignment = alignment;\n var maximumLength = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: 'MaxLen'\n });\n\n if (!Number.isInteger(maximumLength) || maximumLength < 0) {\n maximumLength = null;\n }\n\n _this4.data.maxLen = maximumLength;\n _this4.data.multiLine = _this4.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE);\n _this4.data.comb = _this4.hasFieldFlag(_util.AnnotationFieldFlag.COMB) && !_this4.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE) && !_this4.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD) && !_this4.hasFieldFlag(_util.AnnotationFieldFlag.FILESELECT) && _this4.data.maxLen !== null;\n return _this4;\n }\n\n _createClass(TextWidgetAnnotation, [{\n key: \"getOperatorList\",\n value: function getOperatorList(evaluator, task, renderForms) {\n if (renderForms || this.appearance) {\n return _get(_getPrototypeOf(TextWidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, renderForms);\n }\n\n var operatorList = new _operator_list.OperatorList();\n\n if (!this.data.defaultAppearance) {\n return Promise.resolve(operatorList);\n }\n\n var stream = new _stream.Stream((0, _util.stringToBytes)(this.data.defaultAppearance));\n return evaluator.getOperatorList({\n stream: stream,\n task: task,\n resources: this.fieldResources,\n operatorList: operatorList\n }).then(function () {\n return operatorList;\n });\n }\n }]);\n\n return TextWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar ButtonWidgetAnnotation =\n/*#__PURE__*/\nfunction (_WidgetAnnotation2) {\n _inherits(ButtonWidgetAnnotation, _WidgetAnnotation2);\n\n function ButtonWidgetAnnotation(params) {\n var _this5;\n\n _classCallCheck(this, ButtonWidgetAnnotation);\n\n _this5 = _possibleConstructorReturn(this, _getPrototypeOf(ButtonWidgetAnnotation).call(this, params));\n _this5.data.checkBox = !_this5.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this5.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n _this5.data.radioButton = _this5.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this5.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n _this5.data.pushButton = _this5.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n\n if (_this5.data.checkBox) {\n _this5._processCheckBox(params);\n } else if (_this5.data.radioButton) {\n _this5._processRadioButton(params);\n } else if (_this5.data.pushButton) {\n _this5._processPushButton(params);\n } else {\n (0, _util.warn)('Invalid field flags for button widget annotation');\n }\n\n return _this5;\n }\n\n _createClass(ButtonWidgetAnnotation, [{\n key: \"_processCheckBox\",\n value: function _processCheckBox(params) {\n if ((0, _primitives.isName)(this.data.fieldValue)) {\n this.data.fieldValue = this.data.fieldValue.name;\n }\n\n var customAppearance = params.dict.get('AP');\n\n if (!(0, _primitives.isDict)(customAppearance)) {\n return;\n }\n\n var exportValueOptionsDict = customAppearance.get('D');\n\n if (!(0, _primitives.isDict)(exportValueOptionsDict)) {\n return;\n }\n\n var exportValues = exportValueOptionsDict.getKeys();\n var hasCorrectOptionCount = exportValues.length === 2;\n\n if (!hasCorrectOptionCount) {\n return;\n }\n\n this.data.exportValue = exportValues[0] === 'Off' ? exportValues[1] : exportValues[0];\n }\n }, {\n key: \"_processRadioButton\",\n value: function _processRadioButton(params) {\n this.data.fieldValue = this.data.buttonValue = null;\n var fieldParent = params.dict.get('Parent');\n\n if ((0, _primitives.isDict)(fieldParent) && fieldParent.has('V')) {\n var fieldParentValue = fieldParent.get('V');\n\n if ((0, _primitives.isName)(fieldParentValue)) {\n this.data.fieldValue = fieldParentValue.name;\n }\n }\n\n var appearanceStates = params.dict.get('AP');\n\n if (!(0, _primitives.isDict)(appearanceStates)) {\n return;\n }\n\n var normalAppearanceState = appearanceStates.get('N');\n\n if (!(0, _primitives.isDict)(normalAppearanceState)) {\n return;\n }\n\n var keys = normalAppearanceState.getKeys();\n\n for (var i = 0, ii = keys.length; i < ii; i++) {\n if (keys[i] !== 'Off') {\n this.data.buttonValue = keys[i];\n break;\n }\n }\n }\n }, {\n key: \"_processPushButton\",\n value: function _processPushButton(params) {\n if (!params.dict.has('A')) {\n (0, _util.warn)('Push buttons without action dictionaries are not supported');\n return;\n }\n\n _obj.Catalog.parseDestDictionary({\n destDict: params.dict,\n resultObj: this.data,\n docBaseUrl: params.pdfManager.docBaseUrl\n });\n }\n }]);\n\n return ButtonWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar ChoiceWidgetAnnotation =\n/*#__PURE__*/\nfunction (_WidgetAnnotation3) {\n _inherits(ChoiceWidgetAnnotation, _WidgetAnnotation3);\n\n function ChoiceWidgetAnnotation(params) {\n var _this6;\n\n _classCallCheck(this, ChoiceWidgetAnnotation);\n\n _this6 = _possibleConstructorReturn(this, _getPrototypeOf(ChoiceWidgetAnnotation).call(this, params));\n _this6.data.options = [];\n var options = (0, _core_utils.getInheritableProperty)({\n dict: params.dict,\n key: 'Opt'\n });\n\n if (Array.isArray(options)) {\n var xref = params.xref;\n\n for (var i = 0, ii = options.length; i < ii; i++) {\n var option = xref.fetchIfRef(options[i]);\n var isOptionArray = Array.isArray(option);\n _this6.data.options[i] = {\n exportValue: isOptionArray ? xref.fetchIfRef(option[0]) : option,\n displayValue: (0, _util.stringToPDFString)(isOptionArray ? xref.fetchIfRef(option[1]) : option)\n };\n }\n }\n\n if (!Array.isArray(_this6.data.fieldValue)) {\n _this6.data.fieldValue = [_this6.data.fieldValue];\n }\n\n _this6.data.combo = _this6.hasFieldFlag(_util.AnnotationFieldFlag.COMBO);\n _this6.data.multiSelect = _this6.hasFieldFlag(_util.AnnotationFieldFlag.MULTISELECT);\n return _this6;\n }\n\n return ChoiceWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar TextAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation) {\n _inherits(TextAnnotation, _MarkupAnnotation);\n\n function TextAnnotation(parameters) {\n var _this7;\n\n _classCallCheck(this, TextAnnotation);\n\n var DEFAULT_ICON_SIZE = 22;\n _this7 = _possibleConstructorReturn(this, _getPrototypeOf(TextAnnotation).call(this, parameters));\n _this7.data.annotationType = _util.AnnotationType.TEXT;\n\n if (_this7.data.hasAppearance) {\n _this7.data.name = 'NoIcon';\n } else {\n _this7.data.rect[1] = _this7.data.rect[3] - DEFAULT_ICON_SIZE;\n _this7.data.rect[2] = _this7.data.rect[0] + DEFAULT_ICON_SIZE;\n _this7.data.name = parameters.dict.has('Name') ? parameters.dict.get('Name').name : 'Note';\n }\n\n return _this7;\n }\n\n return TextAnnotation;\n}(MarkupAnnotation);\n\nvar LinkAnnotation =\n/*#__PURE__*/\nfunction (_Annotation3) {\n _inherits(LinkAnnotation, _Annotation3);\n\n function LinkAnnotation(params) {\n var _this8;\n\n _classCallCheck(this, LinkAnnotation);\n\n _this8 = _possibleConstructorReturn(this, _getPrototypeOf(LinkAnnotation).call(this, params));\n _this8.data.annotationType = _util.AnnotationType.LINK;\n\n _obj.Catalog.parseDestDictionary({\n destDict: params.dict,\n resultObj: _this8.data,\n docBaseUrl: params.pdfManager.docBaseUrl\n });\n\n return _this8;\n }\n\n return LinkAnnotation;\n}(Annotation);\n\nvar PopupAnnotation =\n/*#__PURE__*/\nfunction (_Annotation4) {\n _inherits(PopupAnnotation, _Annotation4);\n\n function PopupAnnotation(parameters) {\n var _this9;\n\n _classCallCheck(this, PopupAnnotation);\n\n _this9 = _possibleConstructorReturn(this, _getPrototypeOf(PopupAnnotation).call(this, parameters));\n _this9.data.annotationType = _util.AnnotationType.POPUP;\n var dict = parameters.dict;\n var parentItem = dict.get('Parent');\n\n if (!parentItem) {\n (0, _util.warn)('Popup annotation has a missing or invalid parent annotation.');\n return _possibleConstructorReturn(_this9);\n }\n\n var parentSubtype = parentItem.get('Subtype');\n _this9.data.parentType = (0, _primitives.isName)(parentSubtype) ? parentSubtype.name : null;\n _this9.data.parentId = dict.getRaw('Parent').toString();\n _this9.data.title = (0, _util.stringToPDFString)(parentItem.get('T') || '');\n _this9.data.contents = (0, _util.stringToPDFString)(parentItem.get('Contents') || '');\n\n if (!parentItem.has('M')) {\n _this9.data.modificationDate = null;\n } else {\n _this9.setModificationDate(parentItem.get('M'));\n\n _this9.data.modificationDate = _this9.modificationDate;\n }\n\n if (!parentItem.has('C')) {\n _this9.data.color = null;\n } else {\n _this9.setColor(parentItem.getArray('C'));\n\n _this9.data.color = _this9.color;\n }\n\n if (!_this9.viewable) {\n var parentFlags = parentItem.get('F');\n\n if (_this9._isViewable(parentFlags)) {\n _this9.setFlags(parentFlags);\n }\n }\n\n return _this9;\n }\n\n return PopupAnnotation;\n}(Annotation);\n\nvar FreeTextAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation2) {\n _inherits(FreeTextAnnotation, _MarkupAnnotation2);\n\n function FreeTextAnnotation(parameters) {\n var _this10;\n\n _classCallCheck(this, FreeTextAnnotation);\n\n _this10 = _possibleConstructorReturn(this, _getPrototypeOf(FreeTextAnnotation).call(this, parameters));\n _this10.data.annotationType = _util.AnnotationType.FREETEXT;\n return _this10;\n }\n\n return FreeTextAnnotation;\n}(MarkupAnnotation);\n\nvar LineAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation3) {\n _inherits(LineAnnotation, _MarkupAnnotation3);\n\n function LineAnnotation(parameters) {\n var _this11;\n\n _classCallCheck(this, LineAnnotation);\n\n _this11 = _possibleConstructorReturn(this, _getPrototypeOf(LineAnnotation).call(this, parameters));\n _this11.data.annotationType = _util.AnnotationType.LINE;\n var dict = parameters.dict;\n _this11.data.lineCoordinates = _util.Util.normalizeRect(dict.getArray('L'));\n return _this11;\n }\n\n return LineAnnotation;\n}(MarkupAnnotation);\n\nvar SquareAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation4) {\n _inherits(SquareAnnotation, _MarkupAnnotation4);\n\n function SquareAnnotation(parameters) {\n var _this12;\n\n _classCallCheck(this, SquareAnnotation);\n\n _this12 = _possibleConstructorReturn(this, _getPrototypeOf(SquareAnnotation).call(this, parameters));\n _this12.data.annotationType = _util.AnnotationType.SQUARE;\n return _this12;\n }\n\n return SquareAnnotation;\n}(MarkupAnnotation);\n\nvar CircleAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation5) {\n _inherits(CircleAnnotation, _MarkupAnnotation5);\n\n function CircleAnnotation(parameters) {\n var _this13;\n\n _classCallCheck(this, CircleAnnotation);\n\n _this13 = _possibleConstructorReturn(this, _getPrototypeOf(CircleAnnotation).call(this, parameters));\n _this13.data.annotationType = _util.AnnotationType.CIRCLE;\n return _this13;\n }\n\n return CircleAnnotation;\n}(MarkupAnnotation);\n\nvar PolylineAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation6) {\n _inherits(PolylineAnnotation, _MarkupAnnotation6);\n\n function PolylineAnnotation(parameters) {\n var _this14;\n\n _classCallCheck(this, PolylineAnnotation);\n\n _this14 = _possibleConstructorReturn(this, _getPrototypeOf(PolylineAnnotation).call(this, parameters));\n _this14.data.annotationType = _util.AnnotationType.POLYLINE;\n var dict = parameters.dict;\n var rawVertices = dict.getArray('Vertices');\n _this14.data.vertices = [];\n\n for (var i = 0, ii = rawVertices.length; i < ii; i += 2) {\n _this14.data.vertices.push({\n x: rawVertices[i],\n y: rawVertices[i + 1]\n });\n }\n\n return _this14;\n }\n\n return PolylineAnnotation;\n}(MarkupAnnotation);\n\nvar PolygonAnnotation =\n/*#__PURE__*/\nfunction (_PolylineAnnotation) {\n _inherits(PolygonAnnotation, _PolylineAnnotation);\n\n function PolygonAnnotation(parameters) {\n var _this15;\n\n _classCallCheck(this, PolygonAnnotation);\n\n _this15 = _possibleConstructorReturn(this, _getPrototypeOf(PolygonAnnotation).call(this, parameters));\n _this15.data.annotationType = _util.AnnotationType.POLYGON;\n return _this15;\n }\n\n return PolygonAnnotation;\n}(PolylineAnnotation);\n\nvar CaretAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation7) {\n _inherits(CaretAnnotation, _MarkupAnnotation7);\n\n function CaretAnnotation(parameters) {\n var _this16;\n\n _classCallCheck(this, CaretAnnotation);\n\n _this16 = _possibleConstructorReturn(this, _getPrototypeOf(CaretAnnotation).call(this, parameters));\n _this16.data.annotationType = _util.AnnotationType.CARET;\n return _this16;\n }\n\n return CaretAnnotation;\n}(MarkupAnnotation);\n\nvar InkAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation8) {\n _inherits(InkAnnotation, _MarkupAnnotation8);\n\n function InkAnnotation(parameters) {\n var _this17;\n\n _classCallCheck(this, InkAnnotation);\n\n _this17 = _possibleConstructorReturn(this, _getPrototypeOf(InkAnnotation).call(this, parameters));\n _this17.data.annotationType = _util.AnnotationType.INK;\n var dict = parameters.dict;\n var xref = parameters.xref;\n var originalInkLists = dict.getArray('InkList');\n _this17.data.inkLists = [];\n\n for (var i = 0, ii = originalInkLists.length; i < ii; ++i) {\n _this17.data.inkLists.push([]);\n\n for (var j = 0, jj = originalInkLists[i].length; j < jj; j += 2) {\n _this17.data.inkLists[i].push({\n x: xref.fetchIfRef(originalInkLists[i][j]),\n y: xref.fetchIfRef(originalInkLists[i][j + 1])\n });\n }\n }\n\n return _this17;\n }\n\n return InkAnnotation;\n}(MarkupAnnotation);\n\nvar HighlightAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation9) {\n _inherits(HighlightAnnotation, _MarkupAnnotation9);\n\n function HighlightAnnotation(parameters) {\n var _this18;\n\n _classCallCheck(this, HighlightAnnotation);\n\n _this18 = _possibleConstructorReturn(this, _getPrototypeOf(HighlightAnnotation).call(this, parameters));\n _this18.data.annotationType = _util.AnnotationType.HIGHLIGHT;\n return _this18;\n }\n\n return HighlightAnnotation;\n}(MarkupAnnotation);\n\nvar UnderlineAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation10) {\n _inherits(UnderlineAnnotation, _MarkupAnnotation10);\n\n function UnderlineAnnotation(parameters) {\n var _this19;\n\n _classCallCheck(this, UnderlineAnnotation);\n\n _this19 = _possibleConstructorReturn(this, _getPrototypeOf(UnderlineAnnotation).call(this, parameters));\n _this19.data.annotationType = _util.AnnotationType.UNDERLINE;\n return _this19;\n }\n\n return UnderlineAnnotation;\n}(MarkupAnnotation);\n\nvar SquigglyAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation11) {\n _inherits(SquigglyAnnotation, _MarkupAnnotation11);\n\n function SquigglyAnnotation(parameters) {\n var _this20;\n\n _classCallCheck(this, SquigglyAnnotation);\n\n _this20 = _possibleConstructorReturn(this, _getPrototypeOf(SquigglyAnnotation).call(this, parameters));\n _this20.data.annotationType = _util.AnnotationType.SQUIGGLY;\n return _this20;\n }\n\n return SquigglyAnnotation;\n}(MarkupAnnotation);\n\nvar StrikeOutAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation12) {\n _inherits(StrikeOutAnnotation, _MarkupAnnotation12);\n\n function StrikeOutAnnotation(parameters) {\n var _this21;\n\n _classCallCheck(this, StrikeOutAnnotation);\n\n _this21 = _possibleConstructorReturn(this, _getPrototypeOf(StrikeOutAnnotation).call(this, parameters));\n _this21.data.annotationType = _util.AnnotationType.STRIKEOUT;\n return _this21;\n }\n\n return StrikeOutAnnotation;\n}(MarkupAnnotation);\n\nvar StampAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation13) {\n _inherits(StampAnnotation, _MarkupAnnotation13);\n\n function StampAnnotation(parameters) {\n var _this22;\n\n _classCallCheck(this, StampAnnotation);\n\n _this22 = _possibleConstructorReturn(this, _getPrototypeOf(StampAnnotation).call(this, parameters));\n _this22.data.annotationType = _util.AnnotationType.STAMP;\n return _this22;\n }\n\n return StampAnnotation;\n}(MarkupAnnotation);\n\nvar FileAttachmentAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation14) {\n _inherits(FileAttachmentAnnotation, _MarkupAnnotation14);\n\n function FileAttachmentAnnotation(parameters) {\n var _this23;\n\n _classCallCheck(this, FileAttachmentAnnotation);\n\n _this23 = _possibleConstructorReturn(this, _getPrototypeOf(FileAttachmentAnnotation).call(this, parameters));\n var file = new _obj.FileSpec(parameters.dict.get('FS'), parameters.xref);\n _this23.data.annotationType = _util.AnnotationType.FILEATTACHMENT;\n _this23.data.file = file.serializable;\n return _this23;\n }\n\n return FileAttachmentAnnotation;\n}(MarkupAnnotation);\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OperatorList = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar QueueOptimizer = function QueueOptimizerClosure() {\n function addState(parentState, pattern, checkFn, iterateFn, processFn) {\n var state = parentState;\n\n for (var i = 0, ii = pattern.length - 1; i < ii; i++) {\n var item = pattern[i];\n state = state[item] || (state[item] = []);\n }\n\n state[pattern[pattern.length - 1]] = {\n checkFn: checkFn,\n iterateFn: iterateFn,\n processFn: processFn\n };\n }\n\n function handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray) {\n var iFirstPIMXO = iFirstSave + 2;\n\n for (var i = 0; i < count; i++) {\n var arg = argsArray[iFirstPIMXO + 4 * i];\n var imageMask = arg.length === 1 && arg[0];\n\n if (imageMask && imageMask.width === 1 && imageMask.height === 1 && (!imageMask.data.length || imageMask.data.length === 1 && imageMask.data[0] === 0)) {\n fnArray[iFirstPIMXO + 4 * i] = _util.OPS.paintSolidColorImageMask;\n continue;\n }\n\n break;\n }\n\n return count - i;\n }\n\n var InitialState = [];\n addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintInlineImageXObject, _util.OPS.restore], null, function iterateInlineImageGroup(context, i) {\n var fnArray = context.fnArray;\n var iFirstSave = context.iCurr - 3;\n var pos = (i - iFirstSave) % 4;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.save;\n\n case 1:\n return fnArray[i] === _util.OPS.transform;\n\n case 2:\n return fnArray[i] === _util.OPS.paintInlineImageXObject;\n\n case 3:\n return fnArray[i] === _util.OPS.restore;\n }\n\n throw new Error(\"iterateInlineImageGroup - invalid pos: \".concat(pos));\n }, function foundInlineImageGroup(context, i) {\n var MIN_IMAGES_IN_INLINE_IMAGES_BLOCK = 10;\n var MAX_IMAGES_IN_INLINE_IMAGES_BLOCK = 200;\n var MAX_WIDTH = 1000;\n var IMAGE_PADDING = 1;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstSave = curr - 3;\n var iFirstTransform = curr - 2;\n var iFirstPIIXO = curr - 1;\n var count = Math.min(Math.floor((i - iFirstSave) / 4), MAX_IMAGES_IN_INLINE_IMAGES_BLOCK);\n\n if (count < MIN_IMAGES_IN_INLINE_IMAGES_BLOCK) {\n return i - (i - iFirstSave) % 4;\n }\n\n var maxX = 0;\n var map = [],\n maxLineHeight = 0;\n var currentX = IMAGE_PADDING,\n currentY = IMAGE_PADDING;\n var q;\n\n for (q = 0; q < count; q++) {\n var transform = argsArray[iFirstTransform + (q << 2)];\n var img = argsArray[iFirstPIIXO + (q << 2)][0];\n\n if (currentX + img.width > MAX_WIDTH) {\n maxX = Math.max(maxX, currentX);\n currentY += maxLineHeight + 2 * IMAGE_PADDING;\n currentX = 0;\n maxLineHeight = 0;\n }\n\n map.push({\n transform: transform,\n x: currentX,\n y: currentY,\n w: img.width,\n h: img.height\n });\n currentX += img.width + 2 * IMAGE_PADDING;\n maxLineHeight = Math.max(maxLineHeight, img.height);\n }\n\n var imgWidth = Math.max(maxX, currentX) + IMAGE_PADDING;\n var imgHeight = currentY + maxLineHeight + IMAGE_PADDING;\n var imgData = new Uint8ClampedArray(imgWidth * imgHeight * 4);\n var imgRowSize = imgWidth << 2;\n\n for (q = 0; q < count; q++) {\n var data = argsArray[iFirstPIIXO + (q << 2)][0].data;\n var rowSize = map[q].w << 2;\n var dataOffset = 0;\n var offset = map[q].x + map[q].y * imgWidth << 2;\n imgData.set(data.subarray(0, rowSize), offset - imgRowSize);\n\n for (var k = 0, kk = map[q].h; k < kk; k++) {\n imgData.set(data.subarray(dataOffset, dataOffset + rowSize), offset);\n dataOffset += rowSize;\n offset += imgRowSize;\n }\n\n imgData.set(data.subarray(dataOffset - rowSize, dataOffset), offset);\n\n while (offset >= 0) {\n data[offset - 4] = data[offset];\n data[offset - 3] = data[offset + 1];\n data[offset - 2] = data[offset + 2];\n data[offset - 1] = data[offset + 3];\n data[offset + rowSize] = data[offset + rowSize - 4];\n data[offset + rowSize + 1] = data[offset + rowSize - 3];\n data[offset + rowSize + 2] = data[offset + rowSize - 2];\n data[offset + rowSize + 3] = data[offset + rowSize - 1];\n offset -= imgRowSize;\n }\n }\n\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintInlineImageXObjectGroup);\n argsArray.splice(iFirstSave, count * 4, [{\n width: imgWidth,\n height: imgHeight,\n kind: _util.ImageKind.RGBA_32BPP,\n data: imgData\n }, map]);\n return iFirstSave + 1;\n });\n addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintImageMaskXObject, _util.OPS.restore], null, function iterateImageMaskGroup(context, i) {\n var fnArray = context.fnArray;\n var iFirstSave = context.iCurr - 3;\n var pos = (i - iFirstSave) % 4;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.save;\n\n case 1:\n return fnArray[i] === _util.OPS.transform;\n\n case 2:\n return fnArray[i] === _util.OPS.paintImageMaskXObject;\n\n case 3:\n return fnArray[i] === _util.OPS.restore;\n }\n\n throw new Error(\"iterateImageMaskGroup - invalid pos: \".concat(pos));\n }, function foundImageMaskGroup(context, i) {\n var MIN_IMAGES_IN_MASKS_BLOCK = 10;\n var MAX_IMAGES_IN_MASKS_BLOCK = 100;\n var MAX_SAME_IMAGES_IN_MASKS_BLOCK = 1000;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstSave = curr - 3;\n var iFirstTransform = curr - 2;\n var iFirstPIMXO = curr - 1;\n var count = Math.floor((i - iFirstSave) / 4);\n count = handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray);\n\n if (count < MIN_IMAGES_IN_MASKS_BLOCK) {\n return i - (i - iFirstSave) % 4;\n }\n\n var q;\n var isSameImage = false;\n var iTransform, transformArgs;\n var firstPIMXOArg0 = argsArray[iFirstPIMXO][0];\n\n if (argsArray[iFirstTransform][1] === 0 && argsArray[iFirstTransform][2] === 0) {\n isSameImage = true;\n var firstTransformArg0 = argsArray[iFirstTransform][0];\n var firstTransformArg3 = argsArray[iFirstTransform][3];\n iTransform = iFirstTransform + 4;\n var iPIMXO = iFirstPIMXO + 4;\n\n for (q = 1; q < count; q++, iTransform += 4, iPIMXO += 4) {\n transformArgs = argsArray[iTransform];\n\n if (argsArray[iPIMXO][0] !== firstPIMXOArg0 || transformArgs[0] !== firstTransformArg0 || transformArgs[1] !== 0 || transformArgs[2] !== 0 || transformArgs[3] !== firstTransformArg3) {\n if (q < MIN_IMAGES_IN_MASKS_BLOCK) {\n isSameImage = false;\n } else {\n count = q;\n }\n\n break;\n }\n }\n }\n\n if (isSameImage) {\n count = Math.min(count, MAX_SAME_IMAGES_IN_MASKS_BLOCK);\n var positions = new Float32Array(count * 2);\n iTransform = iFirstTransform;\n\n for (q = 0; q < count; q++, iTransform += 4) {\n transformArgs = argsArray[iTransform];\n positions[q << 1] = transformArgs[4];\n positions[(q << 1) + 1] = transformArgs[5];\n }\n\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageMaskXObjectRepeat);\n argsArray.splice(iFirstSave, count * 4, [firstPIMXOArg0, firstTransformArg0, firstTransformArg3, positions]);\n } else {\n count = Math.min(count, MAX_IMAGES_IN_MASKS_BLOCK);\n var images = [];\n\n for (q = 0; q < count; q++) {\n transformArgs = argsArray[iFirstTransform + (q << 2)];\n var maskParams = argsArray[iFirstPIMXO + (q << 2)][0];\n images.push({\n data: maskParams.data,\n width: maskParams.width,\n height: maskParams.height,\n transform: transformArgs\n });\n }\n\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageMaskXObjectGroup);\n argsArray.splice(iFirstSave, count * 4, [images]);\n }\n\n return iFirstSave + 1;\n });\n addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintImageXObject, _util.OPS.restore], function (context) {\n var argsArray = context.argsArray;\n var iFirstTransform = context.iCurr - 2;\n return argsArray[iFirstTransform][1] === 0 && argsArray[iFirstTransform][2] === 0;\n }, function iterateImageGroup(context, i) {\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var iFirstSave = context.iCurr - 3;\n var pos = (i - iFirstSave) % 4;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.save;\n\n case 1:\n if (fnArray[i] !== _util.OPS.transform) {\n return false;\n }\n\n var iFirstTransform = context.iCurr - 2;\n var firstTransformArg0 = argsArray[iFirstTransform][0];\n var firstTransformArg3 = argsArray[iFirstTransform][3];\n\n if (argsArray[i][0] !== firstTransformArg0 || argsArray[i][1] !== 0 || argsArray[i][2] !== 0 || argsArray[i][3] !== firstTransformArg3) {\n return false;\n }\n\n return true;\n\n case 2:\n if (fnArray[i] !== _util.OPS.paintImageXObject) {\n return false;\n }\n\n var iFirstPIXO = context.iCurr - 1;\n var firstPIXOArg0 = argsArray[iFirstPIXO][0];\n\n if (argsArray[i][0] !== firstPIXOArg0) {\n return false;\n }\n\n return true;\n\n case 3:\n return fnArray[i] === _util.OPS.restore;\n }\n\n throw new Error(\"iterateImageGroup - invalid pos: \".concat(pos));\n }, function (context, i) {\n var MIN_IMAGES_IN_BLOCK = 3;\n var MAX_IMAGES_IN_BLOCK = 1000;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstSave = curr - 3;\n var iFirstTransform = curr - 2;\n var iFirstPIXO = curr - 1;\n var firstPIXOArg0 = argsArray[iFirstPIXO][0];\n var firstTransformArg0 = argsArray[iFirstTransform][0];\n var firstTransformArg3 = argsArray[iFirstTransform][3];\n var count = Math.min(Math.floor((i - iFirstSave) / 4), MAX_IMAGES_IN_BLOCK);\n\n if (count < MIN_IMAGES_IN_BLOCK) {\n return i - (i - iFirstSave) % 4;\n }\n\n var positions = new Float32Array(count * 2);\n var iTransform = iFirstTransform;\n\n for (var q = 0; q < count; q++, iTransform += 4) {\n var transformArgs = argsArray[iTransform];\n positions[q << 1] = transformArgs[4];\n positions[(q << 1) + 1] = transformArgs[5];\n }\n\n var args = [firstPIXOArg0, firstTransformArg0, firstTransformArg3, positions];\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageXObjectRepeat);\n argsArray.splice(iFirstSave, count * 4, args);\n return iFirstSave + 1;\n });\n addState(InitialState, [_util.OPS.beginText, _util.OPS.setFont, _util.OPS.setTextMatrix, _util.OPS.showText, _util.OPS.endText], null, function iterateShowTextGroup(context, i) {\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var iFirstSave = context.iCurr - 4;\n var pos = (i - iFirstSave) % 5;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.beginText;\n\n case 1:\n return fnArray[i] === _util.OPS.setFont;\n\n case 2:\n return fnArray[i] === _util.OPS.setTextMatrix;\n\n case 3:\n if (fnArray[i] !== _util.OPS.showText) {\n return false;\n }\n\n var iFirstSetFont = context.iCurr - 3;\n var firstSetFontArg0 = argsArray[iFirstSetFont][0];\n var firstSetFontArg1 = argsArray[iFirstSetFont][1];\n\n if (argsArray[i][0] !== firstSetFontArg0 || argsArray[i][1] !== firstSetFontArg1) {\n return false;\n }\n\n return true;\n\n case 4:\n return fnArray[i] === _util.OPS.endText;\n }\n\n throw new Error(\"iterateShowTextGroup - invalid pos: \".concat(pos));\n }, function (context, i) {\n var MIN_CHARS_IN_BLOCK = 3;\n var MAX_CHARS_IN_BLOCK = 1000;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstBeginText = curr - 4;\n var iFirstSetFont = curr - 3;\n var iFirstSetTextMatrix = curr - 2;\n var iFirstShowText = curr - 1;\n var iFirstEndText = curr;\n var firstSetFontArg0 = argsArray[iFirstSetFont][0];\n var firstSetFontArg1 = argsArray[iFirstSetFont][1];\n var count = Math.min(Math.floor((i - iFirstBeginText) / 5), MAX_CHARS_IN_BLOCK);\n\n if (count < MIN_CHARS_IN_BLOCK) {\n return i - (i - iFirstBeginText) % 5;\n }\n\n var iFirst = iFirstBeginText;\n\n if (iFirstBeginText >= 4 && fnArray[iFirstBeginText - 4] === fnArray[iFirstSetFont] && fnArray[iFirstBeginText - 3] === fnArray[iFirstSetTextMatrix] && fnArray[iFirstBeginText - 2] === fnArray[iFirstShowText] && fnArray[iFirstBeginText - 1] === fnArray[iFirstEndText] && argsArray[iFirstBeginText - 4][0] === firstSetFontArg0 && argsArray[iFirstBeginText - 4][1] === firstSetFontArg1) {\n count++;\n iFirst -= 5;\n }\n\n var iEndText = iFirst + 4;\n\n for (var q = 1; q < count; q++) {\n fnArray.splice(iEndText, 3);\n argsArray.splice(iEndText, 3);\n iEndText += 2;\n }\n\n return iEndText + 1;\n });\n\n function QueueOptimizer(queue) {\n this.queue = queue;\n this.state = null;\n this.context = {\n iCurr: 0,\n fnArray: queue.fnArray,\n argsArray: queue.argsArray\n };\n this.match = null;\n this.lastProcessed = 0;\n }\n\n QueueOptimizer.prototype = {\n _optimize: function _optimize() {\n var fnArray = this.queue.fnArray;\n var i = this.lastProcessed,\n ii = fnArray.length;\n var state = this.state;\n var match = this.match;\n\n if (!state && !match && i + 1 === ii && !InitialState[fnArray[i]]) {\n this.lastProcessed = ii;\n return;\n }\n\n var context = this.context;\n\n while (i < ii) {\n if (match) {\n var iterate = (0, match.iterateFn)(context, i);\n\n if (iterate) {\n i++;\n continue;\n }\n\n i = (0, match.processFn)(context, i + 1);\n ii = fnArray.length;\n match = null;\n state = null;\n\n if (i >= ii) {\n break;\n }\n }\n\n state = (state || InitialState)[fnArray[i]];\n\n if (!state || Array.isArray(state)) {\n i++;\n continue;\n }\n\n context.iCurr = i;\n i++;\n\n if (state.checkFn && !(0, state.checkFn)(context)) {\n state = null;\n continue;\n }\n\n match = state;\n state = null;\n }\n\n this.state = state;\n this.match = match;\n this.lastProcessed = i;\n },\n push: function push(fn, args) {\n this.queue.fnArray.push(fn);\n this.queue.argsArray.push(args);\n\n this._optimize();\n },\n flush: function flush() {\n while (this.match) {\n var length = this.queue.fnArray.length;\n this.lastProcessed = (0, this.match.processFn)(this.context, length);\n this.match = null;\n this.state = null;\n\n this._optimize();\n }\n },\n reset: function reset() {\n this.state = null;\n this.match = null;\n this.lastProcessed = 0;\n }\n };\n return QueueOptimizer;\n}();\n\nvar NullOptimizer = function NullOptimizerClosure() {\n function NullOptimizer(queue) {\n this.queue = queue;\n }\n\n NullOptimizer.prototype = {\n push: function push(fn, args) {\n this.queue.fnArray.push(fn);\n this.queue.argsArray.push(args);\n },\n flush: function flush() {},\n reset: function reset() {}\n };\n return NullOptimizer;\n}();\n\nvar OperatorList = function OperatorListClosure() {\n var CHUNK_SIZE = 1000;\n var CHUNK_SIZE_ABOUT = CHUNK_SIZE - 5;\n\n function OperatorList(intent, messageHandler, pageIndex) {\n this.messageHandler = messageHandler;\n this.fnArray = [];\n this.argsArray = [];\n\n if (messageHandler && intent !== 'oplist') {\n this.optimizer = new QueueOptimizer(this);\n } else {\n this.optimizer = new NullOptimizer(this);\n }\n\n this.dependencies = Object.create(null);\n this._totalLength = 0;\n this.pageIndex = pageIndex;\n this.intent = intent;\n this.weight = 0;\n }\n\n OperatorList.prototype = {\n get length() {\n return this.argsArray.length;\n },\n\n get totalLength() {\n return this._totalLength + this.length;\n },\n\n addOp: function addOp(fn, args) {\n this.optimizer.push(fn, args);\n this.weight++;\n\n if (this.messageHandler) {\n if (this.weight >= CHUNK_SIZE) {\n this.flush();\n } else if (this.weight >= CHUNK_SIZE_ABOUT && (fn === _util.OPS.restore || fn === _util.OPS.endText)) {\n this.flush();\n }\n }\n },\n addDependency: function addDependency(dependency) {\n if (dependency in this.dependencies) {\n return;\n }\n\n this.dependencies[dependency] = true;\n this.addOp(_util.OPS.dependency, [dependency]);\n },\n addDependencies: function addDependencies(dependencies) {\n for (var key in dependencies) {\n this.addDependency(key);\n }\n },\n addOpList: function addOpList(opList) {\n Object.assign(this.dependencies, opList.dependencies);\n\n for (var i = 0, ii = opList.length; i < ii; i++) {\n this.addOp(opList.fnArray[i], opList.argsArray[i]);\n }\n },\n getIR: function getIR() {\n return {\n fnArray: this.fnArray,\n argsArray: this.argsArray,\n length: this.length\n };\n },\n\n get _transfers() {\n var transfers = [];\n var fnArray = this.fnArray,\n argsArray = this.argsArray,\n length = this.length;\n\n for (var i = 0; i < length; i++) {\n switch (fnArray[i]) {\n case _util.OPS.paintInlineImageXObject:\n case _util.OPS.paintInlineImageXObjectGroup:\n case _util.OPS.paintImageMaskXObject:\n var arg = argsArray[i][0];\n ;\n\n if (!arg.cached) {\n transfers.push(arg.data.buffer);\n }\n\n break;\n }\n }\n\n return transfers;\n },\n\n flush: function flush() {\n var lastChunk = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.optimizer.flush();\n var length = this.length;\n this._totalLength += length;\n this.messageHandler.send('RenderPageChunk', {\n operatorList: {\n fnArray: this.fnArray,\n argsArray: this.argsArray,\n lastChunk: lastChunk,\n length: length\n },\n pageIndex: this.pageIndex,\n intent: this.intent\n }, this._transfers);\n this.dependencies = Object.create(null);\n this.fnArray.length = 0;\n this.argsArray.length = 0;\n this.weight = 0;\n this.optimizer.reset();\n }\n };\n return OperatorList;\n}();\n\nexports.OperatorList = OperatorList;\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PartialEvaluator = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _cmap = __w_pdfjs_require__(173);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _fonts = __w_pdfjs_require__(174);\n\nvar _encodings = __w_pdfjs_require__(177);\n\nvar _unicode = __w_pdfjs_require__(180);\n\nvar _standard_fonts = __w_pdfjs_require__(179);\n\nvar _pattern = __w_pdfjs_require__(183);\n\nvar _parser = __w_pdfjs_require__(157);\n\nvar _bidi = __w_pdfjs_require__(184);\n\nvar _colorspace = __w_pdfjs_require__(169);\n\nvar _stream = __w_pdfjs_require__(158);\n\nvar _glyphlist = __w_pdfjs_require__(178);\n\nvar _core_utils = __w_pdfjs_require__(154);\n\nvar _metrics = __w_pdfjs_require__(185);\n\nvar _function = __w_pdfjs_require__(186);\n\nvar _jpeg_stream = __w_pdfjs_require__(164);\n\nvar _murmurhash = __w_pdfjs_require__(188);\n\nvar _image_utils = __w_pdfjs_require__(189);\n\nvar _operator_list = __w_pdfjs_require__(171);\n\nvar _image = __w_pdfjs_require__(190);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nvar PartialEvaluator = function PartialEvaluatorClosure() {\n var DefaultPartialEvaluatorOptions = {\n forceDataSchema: false,\n maxImageSize: -1,\n disableFontFace: false,\n nativeImageDecoderSupport: _util.NativeImageDecoding.DECODE,\n ignoreErrors: false,\n isEvalSupported: true\n };\n\n function PartialEvaluator(_ref) {\n var _this = this;\n\n var xref = _ref.xref,\n handler = _ref.handler,\n pageIndex = _ref.pageIndex,\n idFactory = _ref.idFactory,\n fontCache = _ref.fontCache,\n builtInCMapCache = _ref.builtInCMapCache,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? null : _ref$options,\n pdfFunctionFactory = _ref.pdfFunctionFactory;\n this.xref = xref;\n this.handler = handler;\n this.pageIndex = pageIndex;\n this.idFactory = idFactory;\n this.fontCache = fontCache;\n this.builtInCMapCache = builtInCMapCache;\n this.options = options || DefaultPartialEvaluatorOptions;\n this.pdfFunctionFactory = pdfFunctionFactory;\n this.parsingType3Font = false;\n\n this.fetchBuiltInCMap =\n /*#__PURE__*/\n function () {\n var _ref2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(name) {\n var data;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!_this.builtInCMapCache.has(name)) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\", _this.builtInCMapCache.get(name));\n\n case 2:\n _context.next = 4;\n return _this.handler.sendWithPromise('FetchBuiltInCMap', {\n name: name\n });\n\n case 4:\n data = _context.sent;\n\n if (data.compressionType !== _util.CMapCompressionType.NONE) {\n _this.builtInCMapCache.set(name, data);\n }\n\n return _context.abrupt(\"return\", data);\n\n case 7:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }();\n }\n\n var TIME_SLOT_DURATION_MS = 20;\n var CHECK_TIME_EVERY = 100;\n\n function TimeSlotManager() {\n this.reset();\n }\n\n TimeSlotManager.prototype = {\n check: function TimeSlotManager_check() {\n if (++this.checked < CHECK_TIME_EVERY) {\n return false;\n }\n\n this.checked = 0;\n return this.endTime <= Date.now();\n },\n reset: function TimeSlotManager_reset() {\n this.endTime = Date.now() + TIME_SLOT_DURATION_MS;\n this.checked = 0;\n }\n };\n\n function normalizeBlendMode(value) {\n if (!(0, _primitives.isName)(value)) {\n return 'source-over';\n }\n\n switch (value.name) {\n case 'Normal':\n case 'Compatible':\n return 'source-over';\n\n case 'Multiply':\n return 'multiply';\n\n case 'Screen':\n return 'screen';\n\n case 'Overlay':\n return 'overlay';\n\n case 'Darken':\n return 'darken';\n\n case 'Lighten':\n return 'lighten';\n\n case 'ColorDodge':\n return 'color-dodge';\n\n case 'ColorBurn':\n return 'color-burn';\n\n case 'HardLight':\n return 'hard-light';\n\n case 'SoftLight':\n return 'soft-light';\n\n case 'Difference':\n return 'difference';\n\n case 'Exclusion':\n return 'exclusion';\n\n case 'Hue':\n return 'hue';\n\n case 'Saturation':\n return 'saturation';\n\n case 'Color':\n return 'color';\n\n case 'Luminosity':\n return 'luminosity';\n }\n\n (0, _util.warn)('Unsupported blend mode: ' + value.name);\n return 'source-over';\n }\n\n var deferred = Promise.resolve();\n var TILING_PATTERN = 1,\n SHADING_PATTERN = 2;\n PartialEvaluator.prototype = {\n clone: function clone() {\n var newOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DefaultPartialEvaluatorOptions;\n var newEvaluator = Object.create(this);\n newEvaluator.options = newOptions;\n return newEvaluator;\n },\n hasBlendModes: function PartialEvaluator_hasBlendModes(resources) {\n if (!(0, _primitives.isDict)(resources)) {\n return false;\n }\n\n var processed = Object.create(null);\n\n if (resources.objId) {\n processed[resources.objId] = true;\n }\n\n var nodes = [resources],\n xref = this.xref;\n\n while (nodes.length) {\n var key, i, ii;\n var node = nodes.shift();\n var graphicStates = node.get('ExtGState');\n\n if ((0, _primitives.isDict)(graphicStates)) {\n var graphicStatesKeys = graphicStates.getKeys();\n\n for (i = 0, ii = graphicStatesKeys.length; i < ii; i++) {\n key = graphicStatesKeys[i];\n var graphicState = graphicStates.get(key);\n var bm = graphicState.get('BM');\n\n if ((0, _primitives.isName)(bm) && bm.name !== 'Normal') {\n return true;\n }\n }\n }\n\n var xObjects = node.get('XObject');\n\n if (!(0, _primitives.isDict)(xObjects)) {\n continue;\n }\n\n var xObjectsKeys = xObjects.getKeys();\n\n for (i = 0, ii = xObjectsKeys.length; i < ii; i++) {\n key = xObjectsKeys[i];\n var xObject = xObjects.getRaw(key);\n\n if ((0, _primitives.isRef)(xObject)) {\n if (processed[xObject.toString()]) {\n continue;\n }\n\n xObject = xref.fetch(xObject);\n }\n\n if (!(0, _primitives.isStream)(xObject)) {\n continue;\n }\n\n if (xObject.dict.objId) {\n if (processed[xObject.dict.objId]) {\n continue;\n }\n\n processed[xObject.dict.objId] = true;\n }\n\n var xResources = xObject.dict.get('Resources');\n\n if ((0, _primitives.isDict)(xResources) && (!xResources.objId || !processed[xResources.objId])) {\n nodes.push(xResources);\n\n if (xResources.objId) {\n processed[xResources.objId] = true;\n }\n }\n }\n }\n\n return false;\n },\n buildFormXObject: function PartialEvaluator_buildFormXObject(resources, xobj, smask, operatorList, task, initialState) {\n var dict = xobj.dict;\n var matrix = dict.getArray('Matrix');\n var bbox = dict.getArray('BBox');\n\n if (Array.isArray(bbox) && bbox.length === 4) {\n bbox = _util.Util.normalizeRect(bbox);\n } else {\n bbox = null;\n }\n\n var group = dict.get('Group');\n\n if (group) {\n var groupOptions = {\n matrix: matrix,\n bbox: bbox,\n smask: smask,\n isolated: false,\n knockout: false\n };\n var groupSubtype = group.get('S');\n var colorSpace = null;\n\n if ((0, _primitives.isName)(groupSubtype, 'Transparency')) {\n groupOptions.isolated = group.get('I') || false;\n groupOptions.knockout = group.get('K') || false;\n\n if (group.has('CS')) {\n colorSpace = _colorspace.ColorSpace.parse(group.get('CS'), this.xref, resources, this.pdfFunctionFactory);\n }\n }\n\n if (smask && smask.backdrop) {\n colorSpace = colorSpace || _colorspace.ColorSpace.singletons.rgb;\n smask.backdrop = colorSpace.getRgb(smask.backdrop, 0);\n }\n\n operatorList.addOp(_util.OPS.beginGroup, [groupOptions]);\n }\n\n operatorList.addOp(_util.OPS.paintFormXObjectBegin, [matrix, bbox]);\n return this.getOperatorList({\n stream: xobj,\n task: task,\n resources: dict.get('Resources') || resources,\n operatorList: operatorList,\n initialState: initialState\n }).then(function () {\n operatorList.addOp(_util.OPS.paintFormXObjectEnd, []);\n\n if (group) {\n operatorList.addOp(_util.OPS.endGroup, [groupOptions]);\n }\n });\n },\n buildPaintImageXObject: function () {\n var _buildPaintImageXObject = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2(_ref3) {\n var _this2 = this;\n\n var resources, image, _ref3$isInline, isInline, operatorList, cacheKey, imageCache, _ref3$forceDisableNat, forceDisableNativeImageDecoder, dict, w, h, maxImageSize, imageMask, imgData, args, width, height, bitStrideLength, imgArray, decode, softMask, mask, SMALL_IMAGE_DIMENSIONS, imageObj, nativeImageDecoderSupport, objId, nativeImageDecoder, imgPromise;\n\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n resources = _ref3.resources, image = _ref3.image, _ref3$isInline = _ref3.isInline, isInline = _ref3$isInline === void 0 ? false : _ref3$isInline, operatorList = _ref3.operatorList, cacheKey = _ref3.cacheKey, imageCache = _ref3.imageCache, _ref3$forceDisableNat = _ref3.forceDisableNativeImageDecoder, forceDisableNativeImageDecoder = _ref3$forceDisableNat === void 0 ? false : _ref3$forceDisableNat;\n dict = image.dict;\n w = dict.get('Width', 'W');\n h = dict.get('Height', 'H');\n\n if (!(!(w && (0, _util.isNum)(w)) || !(h && (0, _util.isNum)(h)))) {\n _context2.next = 7;\n break;\n }\n\n (0, _util.warn)('Image dimensions are missing, or not numbers.');\n return _context2.abrupt(\"return\", undefined);\n\n case 7:\n maxImageSize = this.options.maxImageSize;\n\n if (!(maxImageSize !== -1 && w * h > maxImageSize)) {\n _context2.next = 11;\n break;\n }\n\n (0, _util.warn)('Image exceeded maximum allowed size and was removed.');\n return _context2.abrupt(\"return\", undefined);\n\n case 11:\n imageMask = dict.get('ImageMask', 'IM') || false;\n\n if (!imageMask) {\n _context2.next = 24;\n break;\n }\n\n width = dict.get('Width', 'W');\n height = dict.get('Height', 'H');\n bitStrideLength = width + 7 >> 3;\n imgArray = image.getBytes(bitStrideLength * height, true);\n decode = dict.getArray('Decode', 'D');\n imgData = _image.PDFImage.createMask({\n imgArray: imgArray,\n width: width,\n height: height,\n imageIsFromDecodeStream: image instanceof _stream.DecodeStream,\n inverseDecode: !!decode && decode[0] > 0\n });\n imgData.cached = !!cacheKey;\n args = [imgData];\n operatorList.addOp(_util.OPS.paintImageMaskXObject, args);\n\n if (cacheKey) {\n imageCache[cacheKey] = {\n fn: _util.OPS.paintImageMaskXObject,\n args: args\n };\n }\n\n return _context2.abrupt(\"return\", undefined);\n\n case 24:\n softMask = dict.get('SMask', 'SM') || false;\n mask = dict.get('Mask') || false;\n SMALL_IMAGE_DIMENSIONS = 200;\n\n if (!(isInline && !softMask && !mask && !(image instanceof _jpeg_stream.JpegStream) && w + h < SMALL_IMAGE_DIMENSIONS)) {\n _context2.next = 32;\n break;\n }\n\n imageObj = new _image.PDFImage({\n xref: this.xref,\n res: resources,\n image: image,\n isInline: isInline,\n pdfFunctionFactory: this.pdfFunctionFactory\n });\n imgData = imageObj.createImageData(true);\n operatorList.addOp(_util.OPS.paintInlineImageXObject, [imgData]);\n return _context2.abrupt(\"return\", undefined);\n\n case 32:\n nativeImageDecoderSupport = forceDisableNativeImageDecoder ? _util.NativeImageDecoding.NONE : this.options.nativeImageDecoderSupport;\n objId = \"img_\".concat(this.idFactory.createObjId());\n\n if (this.parsingType3Font) {\n (0, _util.assert)(nativeImageDecoderSupport === _util.NativeImageDecoding.NONE, 'Type3 image resources should be completely decoded in the worker.');\n objId = \"\".concat(this.idFactory.getDocId(), \"_type3res_\").concat(objId);\n }\n\n if (!(nativeImageDecoderSupport !== _util.NativeImageDecoding.NONE && !softMask && !mask && image instanceof _jpeg_stream.JpegStream && _image_utils.NativeImageDecoder.isSupported(image, this.xref, resources, this.pdfFunctionFactory))) {\n _context2.next = 37;\n break;\n }\n\n return _context2.abrupt(\"return\", this.handler.sendWithPromise('obj', [objId, this.pageIndex, 'JpegStream', image.getIR(this.options.forceDataSchema)]).then(function () {\n operatorList.addDependency(objId);\n args = [objId, w, h];\n operatorList.addOp(_util.OPS.paintJpegXObject, args);\n\n if (cacheKey) {\n imageCache[cacheKey] = {\n fn: _util.OPS.paintJpegXObject,\n args: args\n };\n }\n }, function (reason) {\n (0, _util.warn)('Native JPEG decoding failed -- trying to recover: ' + (reason && reason.message));\n return _this2.buildPaintImageXObject({\n resources: resources,\n image: image,\n isInline: isInline,\n operatorList: operatorList,\n cacheKey: cacheKey,\n imageCache: imageCache,\n forceDisableNativeImageDecoder: true\n });\n }));\n\n case 37:\n nativeImageDecoder = null;\n\n if (nativeImageDecoderSupport === _util.NativeImageDecoding.DECODE && (image instanceof _jpeg_stream.JpegStream || mask instanceof _jpeg_stream.JpegStream || softMask instanceof _jpeg_stream.JpegStream)) {\n nativeImageDecoder = new _image_utils.NativeImageDecoder({\n xref: this.xref,\n resources: resources,\n handler: this.handler,\n forceDataSchema: this.options.forceDataSchema,\n pdfFunctionFactory: this.pdfFunctionFactory\n });\n }\n\n operatorList.addDependency(objId);\n args = [objId, w, h];\n imgPromise = _image.PDFImage.buildImage({\n handler: this.handler,\n xref: this.xref,\n res: resources,\n image: image,\n isInline: isInline,\n nativeDecoder: nativeImageDecoder,\n pdfFunctionFactory: this.pdfFunctionFactory\n }).then(function (imageObj) {\n var imgData = imageObj.createImageData(false);\n\n if (_this2.parsingType3Font) {\n return _this2.handler.sendWithPromise('commonobj', [objId, 'FontType3Res', imgData], [imgData.data.buffer]);\n }\n\n _this2.handler.send('obj', [objId, _this2.pageIndex, 'Image', imgData], [imgData.data.buffer]);\n\n return undefined;\n })[\"catch\"](function (reason) {\n (0, _util.warn)('Unable to decode image: ' + reason);\n\n if (_this2.parsingType3Font) {\n return _this2.handler.sendWithPromise('commonobj', [objId, 'FontType3Res', null]);\n }\n\n _this2.handler.send('obj', [objId, _this2.pageIndex, 'Image', null]);\n\n return undefined;\n });\n\n if (!this.parsingType3Font) {\n _context2.next = 45;\n break;\n }\n\n _context2.next = 45;\n return imgPromise;\n\n case 45:\n operatorList.addOp(_util.OPS.paintImageXObject, args);\n\n if (cacheKey) {\n imageCache[cacheKey] = {\n fn: _util.OPS.paintImageXObject,\n args: args\n };\n }\n\n return _context2.abrupt(\"return\", undefined);\n\n case 48:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function buildPaintImageXObject(_x2) {\n return _buildPaintImageXObject.apply(this, arguments);\n }\n\n return buildPaintImageXObject;\n }(),\n handleSMask: function PartialEvaluator_handleSmask(smask, resources, operatorList, task, stateManager) {\n var smaskContent = smask.get('G');\n var smaskOptions = {\n subtype: smask.get('S').name,\n backdrop: smask.get('BC')\n };\n var transferObj = smask.get('TR');\n\n if ((0, _function.isPDFFunction)(transferObj)) {\n var transferFn = this.pdfFunctionFactory.create(transferObj);\n var transferMap = new Uint8Array(256);\n var tmp = new Float32Array(1);\n\n for (var i = 0; i < 256; i++) {\n tmp[0] = i / 255;\n transferFn(tmp, 0, tmp, 0);\n transferMap[i] = tmp[0] * 255 | 0;\n }\n\n smaskOptions.transferMap = transferMap;\n }\n\n return this.buildFormXObject(resources, smaskContent, smaskOptions, operatorList, task, stateManager.state.clone());\n },\n handleTilingType: function handleTilingType(fn, args, resources, pattern, patternDict, operatorList, task) {\n var _this3 = this;\n\n var tilingOpList = new _operator_list.OperatorList();\n var resourcesArray = [patternDict.get('Resources'), resources];\n\n var patternResources = _primitives.Dict.merge(this.xref, resourcesArray);\n\n return this.getOperatorList({\n stream: pattern,\n task: task,\n resources: patternResources,\n operatorList: tilingOpList\n }).then(function () {\n return (0, _pattern.getTilingPatternIR)({\n fnArray: tilingOpList.fnArray,\n argsArray: tilingOpList.argsArray\n }, patternDict, args);\n }).then(function (tilingPatternIR) {\n operatorList.addDependencies(tilingOpList.dependencies);\n operatorList.addOp(fn, tilingPatternIR);\n }, function (reason) {\n if (_this3.options.ignoreErrors) {\n _this3.handler.send('UnsupportedFeature', {\n featureId: _util.UNSUPPORTED_FEATURES.unknown\n });\n\n (0, _util.warn)(\"handleTilingType - ignoring pattern: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n });\n },\n handleSetFont: function PartialEvaluator_handleSetFont(resources, fontArgs, fontRef, operatorList, task, state) {\n var _this4 = this;\n\n var fontName;\n\n if (fontArgs) {\n fontArgs = fontArgs.slice();\n fontName = fontArgs[0].name;\n }\n\n return this.loadFont(fontName, fontRef, resources).then(function (translated) {\n if (!translated.font.isType3Font) {\n return translated;\n }\n\n return translated.loadType3Data(_this4, resources, operatorList, task).then(function () {\n return translated;\n })[\"catch\"](function (reason) {\n _this4.handler.send('UnsupportedFeature', {\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n\n return new TranslatedFont('g_font_error', new _fonts.ErrorFont('Type3 font load error: ' + reason), translated.font);\n });\n }).then(function (translated) {\n state.font = translated.font;\n translated.send(_this4.handler);\n return translated.loadedName;\n });\n },\n handleText: function handleText(chars, state) {\n var font = state.font;\n var glyphs = font.charsToGlyphs(chars);\n\n if (font.data) {\n var isAddToPathSet = !!(state.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n\n if (isAddToPathSet || state.fillColorSpace.name === 'Pattern' || font.disableFontFace || this.options.disableFontFace) {\n PartialEvaluator.buildFontPaths(font, glyphs, this.handler);\n }\n }\n\n return glyphs;\n },\n setGState: function PartialEvaluator_setGState(resources, gState, operatorList, task, stateManager) {\n var _this5 = this;\n\n var gStateObj = [];\n var gStateKeys = gState.getKeys();\n var promise = Promise.resolve();\n\n var _loop = function _loop() {\n var key = gStateKeys[i];\n var value = gState.get(key);\n\n switch (key) {\n case 'Type':\n break;\n\n case 'LW':\n case 'LC':\n case 'LJ':\n case 'ML':\n case 'D':\n case 'RI':\n case 'FL':\n case 'CA':\n case 'ca':\n gStateObj.push([key, value]);\n break;\n\n case 'Font':\n promise = promise.then(function () {\n return _this5.handleSetFont(resources, null, value[0], operatorList, task, stateManager.state).then(function (loadedName) {\n operatorList.addDependency(loadedName);\n gStateObj.push([key, [loadedName, value[1]]]);\n });\n });\n break;\n\n case 'BM':\n gStateObj.push([key, normalizeBlendMode(value)]);\n break;\n\n case 'SMask':\n if ((0, _primitives.isName)(value, 'None')) {\n gStateObj.push([key, false]);\n break;\n }\n\n if ((0, _primitives.isDict)(value)) {\n promise = promise.then(function () {\n return _this5.handleSMask(value, resources, operatorList, task, stateManager);\n });\n gStateObj.push([key, true]);\n } else {\n (0, _util.warn)('Unsupported SMask type');\n }\n\n break;\n\n case 'OP':\n case 'op':\n case 'OPM':\n case 'BG':\n case 'BG2':\n case 'UCR':\n case 'UCR2':\n case 'TR':\n case 'TR2':\n case 'HT':\n case 'SM':\n case 'SA':\n case 'AIS':\n case 'TK':\n (0, _util.info)('graphic state operator ' + key);\n break;\n\n default:\n (0, _util.info)('Unknown graphic state operator ' + key);\n break;\n }\n };\n\n for (var i = 0, ii = gStateKeys.length; i < ii; i++) {\n _loop();\n }\n\n return promise.then(function () {\n if (gStateObj.length > 0) {\n operatorList.addOp(_util.OPS.setGState, [gStateObj]);\n }\n });\n },\n loadFont: function PartialEvaluator_loadFont(fontName, font, resources) {\n var _this6 = this;\n\n function errorFont() {\n return Promise.resolve(new TranslatedFont('g_font_error', new _fonts.ErrorFont('Font ' + fontName + ' is not available'), font));\n }\n\n var fontRef,\n xref = this.xref;\n\n if (font) {\n if (!(0, _primitives.isRef)(font)) {\n throw new Error('The \"font\" object should be a reference.');\n }\n\n fontRef = font;\n } else {\n var fontRes = resources.get('Font');\n\n if (fontRes) {\n fontRef = fontRes.getRaw(fontName);\n } else {\n (0, _util.warn)('fontRes not available');\n return errorFont();\n }\n }\n\n if (!fontRef) {\n (0, _util.warn)('fontRef not available');\n return errorFont();\n }\n\n if (this.fontCache.has(fontRef)) {\n return this.fontCache.get(fontRef);\n }\n\n font = xref.fetchIfRef(fontRef);\n\n if (!(0, _primitives.isDict)(font)) {\n return errorFont();\n }\n\n if (font.translated) {\n return font.translated;\n }\n\n var fontCapability = (0, _util.createPromiseCapability)();\n var preEvaluatedFont = this.preEvaluateFont(font);\n var descriptor = preEvaluatedFont.descriptor,\n hash = preEvaluatedFont.hash;\n var fontRefIsRef = (0, _primitives.isRef)(fontRef),\n fontID;\n\n if (fontRefIsRef) {\n fontID = fontRef.toString();\n }\n\n if (hash && (0, _primitives.isDict)(descriptor)) {\n if (!descriptor.fontAliases) {\n descriptor.fontAliases = Object.create(null);\n }\n\n var fontAliases = descriptor.fontAliases;\n\n if (fontAliases[hash]) {\n var aliasFontRef = fontAliases[hash].aliasRef;\n\n if (fontRefIsRef && aliasFontRef && this.fontCache.has(aliasFontRef)) {\n this.fontCache.putAlias(fontRef, aliasFontRef);\n return this.fontCache.get(fontRef);\n }\n } else {\n fontAliases[hash] = {\n fontID: _fonts.Font.getFontID()\n };\n }\n\n if (fontRefIsRef) {\n fontAliases[hash].aliasRef = fontRef;\n }\n\n fontID = fontAliases[hash].fontID;\n }\n\n if (fontRefIsRef) {\n this.fontCache.put(fontRef, fontCapability.promise);\n } else {\n if (!fontID) {\n fontID = this.idFactory.createObjId();\n }\n\n this.fontCache.put(\"id_\".concat(fontID), fontCapability.promise);\n }\n\n (0, _util.assert)(fontID, 'The \"fontID\" must be defined.');\n font.loadedName = \"\".concat(this.idFactory.getDocId(), \"_f\").concat(fontID);\n font.translated = fontCapability.promise;\n var translatedPromise;\n\n try {\n translatedPromise = this.translateFont(preEvaluatedFont);\n } catch (e) {\n translatedPromise = Promise.reject(e);\n }\n\n translatedPromise.then(function (translatedFont) {\n if (translatedFont.fontType !== undefined) {\n var xrefFontStats = xref.stats.fontTypes;\n xrefFontStats[translatedFont.fontType] = true;\n }\n\n fontCapability.resolve(new TranslatedFont(font.loadedName, translatedFont, font));\n })[\"catch\"](function (reason) {\n _this6.handler.send('UnsupportedFeature', {\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n\n try {\n var fontFile3 = descriptor && descriptor.get('FontFile3');\n var subtype = fontFile3 && fontFile3.get('Subtype');\n var fontType = (0, _fonts.getFontType)(preEvaluatedFont.type, subtype && subtype.name);\n var xrefFontStats = xref.stats.fontTypes;\n xrefFontStats[fontType] = true;\n } catch (ex) {}\n\n fontCapability.resolve(new TranslatedFont(font.loadedName, new _fonts.ErrorFont(reason instanceof Error ? reason.message : reason), font));\n });\n return fontCapability.promise;\n },\n buildPath: function buildPath(operatorList, fn, args) {\n var parsingText = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var lastIndex = operatorList.length - 1;\n\n if (!args) {\n args = [];\n }\n\n if (lastIndex < 0 || operatorList.fnArray[lastIndex] !== _util.OPS.constructPath) {\n if (parsingText) {\n (0, _util.warn)(\"Encountered path operator \\\"\".concat(fn, \"\\\" inside of a text object.\"));\n operatorList.addOp(_util.OPS.save, null);\n }\n\n operatorList.addOp(_util.OPS.constructPath, [[fn], args]);\n\n if (parsingText) {\n operatorList.addOp(_util.OPS.restore, null);\n }\n } else {\n var opArgs = operatorList.argsArray[lastIndex];\n opArgs[0].push(fn);\n Array.prototype.push.apply(opArgs[1], args);\n }\n },\n handleColorN: function () {\n var _handleColorN = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee3(operatorList, fn, args, cs, patterns, resources, task) {\n var patternName, pattern, dict, typeNum, color, shading, matrix;\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n patternName = args[args.length - 1];\n\n if (!((0, _primitives.isName)(patternName) && (pattern = patterns.get(patternName.name)))) {\n _context3.next = 16;\n break;\n }\n\n dict = (0, _primitives.isStream)(pattern) ? pattern.dict : pattern;\n typeNum = dict.get('PatternType');\n\n if (!(typeNum === TILING_PATTERN)) {\n _context3.next = 9;\n break;\n }\n\n color = cs.base ? cs.base.getRgb(args, 0) : null;\n return _context3.abrupt(\"return\", this.handleTilingType(fn, color, resources, pattern, dict, operatorList, task));\n\n case 9:\n if (!(typeNum === SHADING_PATTERN)) {\n _context3.next = 15;\n break;\n }\n\n shading = dict.get('Shading');\n matrix = dict.getArray('Matrix');\n pattern = _pattern.Pattern.parseShading(shading, matrix, this.xref, resources, this.handler, this.pdfFunctionFactory);\n operatorList.addOp(fn, pattern.getIR());\n return _context3.abrupt(\"return\", undefined);\n\n case 15:\n throw new _util.FormatError(\"Unknown PatternType: \".concat(typeNum));\n\n case 16:\n throw new _util.FormatError(\"Unknown PatternName: \".concat(patternName));\n\n case 17:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function handleColorN(_x3, _x4, _x5, _x6, _x7, _x8, _x9) {\n return _handleColorN.apply(this, arguments);\n }\n\n return handleColorN;\n }(),\n getOperatorList: function getOperatorList(_ref4) {\n var _this7 = this;\n\n var stream = _ref4.stream,\n task = _ref4.task,\n resources = _ref4.resources,\n operatorList = _ref4.operatorList,\n _ref4$initialState = _ref4.initialState,\n initialState = _ref4$initialState === void 0 ? null : _ref4$initialState;\n resources = resources || _primitives.Dict.empty;\n initialState = initialState || new EvalState();\n\n if (!operatorList) {\n throw new Error('getOperatorList: missing \"operatorList\" parameter');\n }\n\n var self = this;\n var xref = this.xref;\n var parsingText = false;\n var imageCache = Object.create(null);\n\n var xobjs = resources.get('XObject') || _primitives.Dict.empty;\n\n var patterns = resources.get('Pattern') || _primitives.Dict.empty;\n\n var stateManager = new StateManager(initialState);\n var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);\n var timeSlotManager = new TimeSlotManager();\n\n function closePendingRestoreOPS(argument) {\n for (var i = 0, ii = preprocessor.savedStatesDepth; i < ii; i++) {\n operatorList.addOp(_util.OPS.restore, []);\n }\n }\n\n return new Promise(function promiseBody(resolve, reject) {\n var next = function next(promise) {\n promise.then(function () {\n try {\n promiseBody(resolve, reject);\n } catch (ex) {\n reject(ex);\n }\n }, reject);\n };\n\n task.ensureNotTerminated();\n timeSlotManager.reset();\n var stop,\n operation = {},\n i,\n ii,\n cs;\n\n while (!(stop = timeSlotManager.check())) {\n operation.args = null;\n\n if (!preprocessor.read(operation)) {\n break;\n }\n\n var args = operation.args;\n var fn = operation.fn;\n\n switch (fn | 0) {\n case _util.OPS.paintXObject:\n var name = args[0].name;\n\n if (name && imageCache[name] !== undefined) {\n operatorList.addOp(imageCache[name].fn, imageCache[name].args);\n args = null;\n continue;\n }\n\n next(new Promise(function (resolveXObject, rejectXObject) {\n if (!name) {\n throw new _util.FormatError('XObject must be referred to by name.');\n }\n\n var xobj = xobjs.get(name);\n\n if (!xobj) {\n operatorList.addOp(fn, args);\n resolveXObject();\n return;\n }\n\n if (!(0, _primitives.isStream)(xobj)) {\n throw new _util.FormatError('XObject should be a stream');\n }\n\n var type = xobj.dict.get('Subtype');\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError('XObject should have a Name subtype');\n }\n\n if (type.name === 'Form') {\n stateManager.save();\n self.buildFormXObject(resources, xobj, null, operatorList, task, stateManager.state.clone()).then(function () {\n stateManager.restore();\n resolveXObject();\n }, rejectXObject);\n return;\n } else if (type.name === 'Image') {\n self.buildPaintImageXObject({\n resources: resources,\n image: xobj,\n operatorList: operatorList,\n cacheKey: name,\n imageCache: imageCache\n }).then(resolveXObject, rejectXObject);\n return;\n } else if (type.name === 'PS') {\n (0, _util.info)('Ignored XObject subtype PS');\n } else {\n throw new _util.FormatError(\"Unhandled XObject subtype \".concat(type.name));\n }\n\n resolveXObject();\n })[\"catch\"](function (reason) {\n if (self.options.ignoreErrors) {\n self.handler.send('UnsupportedFeature', {\n featureId: _util.UNSUPPORTED_FEATURES.unknown\n });\n (0, _util.warn)(\"getOperatorList - ignoring XObject: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n }));\n return;\n\n case _util.OPS.setFont:\n var fontSize = args[1];\n next(self.handleSetFont(resources, args, null, operatorList, task, stateManager.state).then(function (loadedName) {\n operatorList.addDependency(loadedName);\n operatorList.addOp(_util.OPS.setFont, [loadedName, fontSize]);\n }));\n return;\n\n case _util.OPS.beginText:\n parsingText = true;\n break;\n\n case _util.OPS.endText:\n parsingText = false;\n break;\n\n case _util.OPS.endInlineImage:\n var cacheKey = args[0].cacheKey;\n\n if (cacheKey) {\n var cacheEntry = imageCache[cacheKey];\n\n if (cacheEntry !== undefined) {\n operatorList.addOp(cacheEntry.fn, cacheEntry.args);\n args = null;\n continue;\n }\n }\n\n next(self.buildPaintImageXObject({\n resources: resources,\n image: args[0],\n isInline: true,\n operatorList: operatorList,\n cacheKey: cacheKey,\n imageCache: imageCache\n }));\n return;\n\n case _util.OPS.showText:\n args[0] = self.handleText(args[0], stateManager.state);\n break;\n\n case _util.OPS.showSpacedText:\n var arr = args[0];\n var combinedGlyphs = [];\n var arrLength = arr.length;\n var state = stateManager.state;\n\n for (i = 0; i < arrLength; ++i) {\n var arrItem = arr[i];\n\n if ((0, _util.isString)(arrItem)) {\n Array.prototype.push.apply(combinedGlyphs, self.handleText(arrItem, state));\n } else if ((0, _util.isNum)(arrItem)) {\n combinedGlyphs.push(arrItem);\n }\n }\n\n args[0] = combinedGlyphs;\n fn = _util.OPS.showText;\n break;\n\n case _util.OPS.nextLineShowText:\n operatorList.addOp(_util.OPS.nextLine);\n args[0] = self.handleText(args[0], stateManager.state);\n fn = _util.OPS.showText;\n break;\n\n case _util.OPS.nextLineSetSpacingShowText:\n operatorList.addOp(_util.OPS.nextLine);\n operatorList.addOp(_util.OPS.setWordSpacing, [args.shift()]);\n operatorList.addOp(_util.OPS.setCharSpacing, [args.shift()]);\n args[0] = self.handleText(args[0], stateManager.state);\n fn = _util.OPS.showText;\n break;\n\n case _util.OPS.setTextRenderingMode:\n stateManager.state.textRenderingMode = args[0];\n break;\n\n case _util.OPS.setFillColorSpace:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.parse(args[0], xref, resources, self.pdfFunctionFactory);\n continue;\n\n case _util.OPS.setStrokeColorSpace:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.parse(args[0], xref, resources, self.pdfFunctionFactory);\n continue;\n\n case _util.OPS.setFillColor:\n cs = stateManager.state.fillColorSpace;\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeColor:\n cs = stateManager.state.strokeColorSpace;\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.setFillGray:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.gray;\n args = _colorspace.ColorSpace.singletons.gray.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeGray:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.gray;\n args = _colorspace.ColorSpace.singletons.gray.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.setFillCMYKColor:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.cmyk;\n args = _colorspace.ColorSpace.singletons.cmyk.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeCMYKColor:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.cmyk;\n args = _colorspace.ColorSpace.singletons.cmyk.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.setFillRGBColor:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.rgb;\n args = _colorspace.ColorSpace.singletons.rgb.getRgb(args, 0);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.rgb;\n args = _colorspace.ColorSpace.singletons.rgb.getRgb(args, 0);\n break;\n\n case _util.OPS.setFillColorN:\n cs = stateManager.state.fillColorSpace;\n\n if (cs.name === 'Pattern') {\n next(self.handleColorN(operatorList, _util.OPS.setFillColorN, args, cs, patterns, resources, task));\n return;\n }\n\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeColorN:\n cs = stateManager.state.strokeColorSpace;\n\n if (cs.name === 'Pattern') {\n next(self.handleColorN(operatorList, _util.OPS.setStrokeColorN, args, cs, patterns, resources, task));\n return;\n }\n\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.shadingFill:\n var shadingRes = resources.get('Shading');\n\n if (!shadingRes) {\n throw new _util.FormatError('No shading resource found');\n }\n\n var shading = shadingRes.get(args[0].name);\n\n if (!shading) {\n throw new _util.FormatError('No shading object found');\n }\n\n var shadingFill = _pattern.Pattern.parseShading(shading, null, xref, resources, self.handler, self.pdfFunctionFactory);\n\n var patternIR = shadingFill.getIR();\n args = [patternIR];\n fn = _util.OPS.shadingFill;\n break;\n\n case _util.OPS.setGState:\n var dictName = args[0];\n var extGState = resources.get('ExtGState');\n\n if (!(0, _primitives.isDict)(extGState) || !extGState.has(dictName.name)) {\n break;\n }\n\n var gState = extGState.get(dictName.name);\n next(self.setGState(resources, gState, operatorList, task, stateManager));\n return;\n\n case _util.OPS.moveTo:\n case _util.OPS.lineTo:\n case _util.OPS.curveTo:\n case _util.OPS.curveTo2:\n case _util.OPS.curveTo3:\n case _util.OPS.closePath:\n case _util.OPS.rectangle:\n self.buildPath(operatorList, fn, args, parsingText);\n continue;\n\n case _util.OPS.markPoint:\n case _util.OPS.markPointProps:\n case _util.OPS.beginMarkedContent:\n case _util.OPS.beginMarkedContentProps:\n case _util.OPS.endMarkedContent:\n case _util.OPS.beginCompat:\n case _util.OPS.endCompat:\n continue;\n\n default:\n if (args !== null) {\n for (i = 0, ii = args.length; i < ii; i++) {\n if (args[i] instanceof _primitives.Dict) {\n break;\n }\n }\n\n if (i < ii) {\n (0, _util.warn)('getOperatorList - ignoring operator: ' + fn);\n continue;\n }\n }\n\n }\n\n operatorList.addOp(fn, args);\n }\n\n if (stop) {\n next(deferred);\n return;\n }\n\n closePendingRestoreOPS();\n resolve();\n })[\"catch\"](function (reason) {\n if (_this7.options.ignoreErrors) {\n _this7.handler.send('UnsupportedFeature', {\n featureId: _util.UNSUPPORTED_FEATURES.unknown\n });\n\n (0, _util.warn)(\"getOperatorList - ignoring errors during \\\"\".concat(task.name, \"\\\" \") + \"task: \\\"\".concat(reason, \"\\\".\"));\n closePendingRestoreOPS();\n return;\n }\n\n throw reason;\n });\n },\n getTextContent: function getTextContent(_ref5) {\n var _this8 = this;\n\n var stream = _ref5.stream,\n task = _ref5.task,\n resources = _ref5.resources,\n _ref5$stateManager = _ref5.stateManager,\n stateManager = _ref5$stateManager === void 0 ? null : _ref5$stateManager,\n _ref5$normalizeWhites = _ref5.normalizeWhitespace,\n normalizeWhitespace = _ref5$normalizeWhites === void 0 ? false : _ref5$normalizeWhites,\n _ref5$combineTextItem = _ref5.combineTextItems,\n combineTextItems = _ref5$combineTextItem === void 0 ? false : _ref5$combineTextItem,\n sink = _ref5.sink,\n _ref5$seenStyles = _ref5.seenStyles,\n seenStyles = _ref5$seenStyles === void 0 ? Object.create(null) : _ref5$seenStyles;\n resources = resources || _primitives.Dict.empty;\n stateManager = stateManager || new StateManager(new TextState());\n var WhitespaceRegexp = /\\s/g;\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n var textContentItem = {\n initialized: false,\n str: [],\n width: 0,\n height: 0,\n vertical: false,\n lastAdvanceWidth: 0,\n lastAdvanceHeight: 0,\n textAdvanceScale: 0,\n spaceWidth: 0,\n fakeSpaceMin: Infinity,\n fakeMultiSpaceMin: Infinity,\n fakeMultiSpaceMax: -0,\n textRunBreakAllowed: false,\n transform: null,\n fontName: null\n };\n var SPACE_FACTOR = 0.3;\n var MULTI_SPACE_FACTOR = 1.5;\n var MULTI_SPACE_FACTOR_MAX = 4;\n var self = this;\n var xref = this.xref;\n var xobjs = null;\n var skipEmptyXObjs = Object.create(null);\n var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);\n var textState;\n\n function ensureTextContentItem() {\n if (textContentItem.initialized) {\n return textContentItem;\n }\n\n var font = textState.font;\n\n if (!(font.loadedName in seenStyles)) {\n seenStyles[font.loadedName] = true;\n textContent.styles[font.loadedName] = {\n fontFamily: font.fallbackName,\n ascent: font.ascent,\n descent: font.descent,\n vertical: !!font.vertical\n };\n }\n\n textContentItem.fontName = font.loadedName;\n var tsm = [textState.fontSize * textState.textHScale, 0, 0, textState.fontSize, 0, textState.textRise];\n\n if (font.isType3Font && textState.fontSize <= 1 && !(0, _util.isArrayEqual)(textState.fontMatrix, _util.FONT_IDENTITY_MATRIX)) {\n var glyphHeight = font.bbox[3] - font.bbox[1];\n\n if (glyphHeight > 0) {\n tsm[3] *= glyphHeight * textState.fontMatrix[3];\n }\n }\n\n var trm = _util.Util.transform(textState.ctm, _util.Util.transform(textState.textMatrix, tsm));\n\n textContentItem.transform = trm;\n\n if (!font.vertical) {\n textContentItem.width = 0;\n textContentItem.height = Math.sqrt(trm[2] * trm[2] + trm[3] * trm[3]);\n textContentItem.vertical = false;\n } else {\n textContentItem.width = Math.sqrt(trm[0] * trm[0] + trm[1] * trm[1]);\n textContentItem.height = 0;\n textContentItem.vertical = true;\n }\n\n var a = textState.textLineMatrix[0];\n var b = textState.textLineMatrix[1];\n var scaleLineX = Math.sqrt(a * a + b * b);\n a = textState.ctm[0];\n b = textState.ctm[1];\n var scaleCtmX = Math.sqrt(a * a + b * b);\n textContentItem.textAdvanceScale = scaleCtmX * scaleLineX;\n textContentItem.lastAdvanceWidth = 0;\n textContentItem.lastAdvanceHeight = 0;\n var spaceWidth = font.spaceWidth / 1000 * textState.fontSize;\n\n if (spaceWidth) {\n textContentItem.spaceWidth = spaceWidth;\n textContentItem.fakeSpaceMin = spaceWidth * SPACE_FACTOR;\n textContentItem.fakeMultiSpaceMin = spaceWidth * MULTI_SPACE_FACTOR;\n textContentItem.fakeMultiSpaceMax = spaceWidth * MULTI_SPACE_FACTOR_MAX;\n textContentItem.textRunBreakAllowed = !font.isMonospace;\n } else {\n textContentItem.spaceWidth = 0;\n textContentItem.fakeSpaceMin = Infinity;\n textContentItem.fakeMultiSpaceMin = Infinity;\n textContentItem.fakeMultiSpaceMax = 0;\n textContentItem.textRunBreakAllowed = false;\n }\n\n textContentItem.initialized = true;\n return textContentItem;\n }\n\n function replaceWhitespace(str) {\n var i = 0,\n ii = str.length,\n code;\n\n while (i < ii && (code = str.charCodeAt(i)) >= 0x20 && code <= 0x7F) {\n i++;\n }\n\n return i < ii ? str.replace(WhitespaceRegexp, ' ') : str;\n }\n\n function runBidiTransform(textChunk) {\n var str = textChunk.str.join('');\n var bidiResult = (0, _bidi.bidi)(str, -1, textChunk.vertical);\n return {\n str: normalizeWhitespace ? replaceWhitespace(bidiResult.str) : bidiResult.str,\n dir: bidiResult.dir,\n width: textChunk.width,\n height: textChunk.height,\n transform: textChunk.transform,\n fontName: textChunk.fontName\n };\n }\n\n function handleSetFont(fontName, fontRef) {\n return self.loadFont(fontName, fontRef, resources).then(function (translated) {\n textState.font = translated.font;\n textState.fontMatrix = translated.font.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n });\n }\n\n function buildTextContentItem(chars) {\n var font = textState.font;\n var textChunk = ensureTextContentItem();\n var width = 0;\n var height = 0;\n var glyphs = font.charsToGlyphs(chars);\n\n for (var i = 0; i < glyphs.length; i++) {\n var glyph = glyphs[i];\n var glyphWidth = null;\n\n if (font.vertical && glyph.vmetric) {\n glyphWidth = glyph.vmetric[0];\n } else {\n glyphWidth = glyph.width;\n }\n\n var glyphUnicode = glyph.unicode;\n var NormalizedUnicodes = (0, _unicode.getNormalizedUnicodes)();\n\n if (NormalizedUnicodes[glyphUnicode] !== undefined) {\n glyphUnicode = NormalizedUnicodes[glyphUnicode];\n }\n\n glyphUnicode = (0, _unicode.reverseIfRtl)(glyphUnicode);\n var charSpacing = textState.charSpacing;\n\n if (glyph.isSpace) {\n var wordSpacing = textState.wordSpacing;\n charSpacing += wordSpacing;\n\n if (wordSpacing > 0) {\n addFakeSpaces(wordSpacing, textChunk.str);\n }\n }\n\n var tx = 0;\n var ty = 0;\n\n if (!font.vertical) {\n var w0 = glyphWidth * textState.fontMatrix[0];\n tx = (w0 * textState.fontSize + charSpacing) * textState.textHScale;\n width += tx;\n } else {\n var w1 = glyphWidth * textState.fontMatrix[0];\n ty = w1 * textState.fontSize + charSpacing;\n height += ty;\n }\n\n textState.translateTextMatrix(tx, ty);\n textChunk.str.push(glyphUnicode);\n }\n\n if (!font.vertical) {\n textChunk.lastAdvanceWidth = width;\n textChunk.width += width;\n } else {\n textChunk.lastAdvanceHeight = height;\n textChunk.height += Math.abs(height);\n }\n\n return textChunk;\n }\n\n function addFakeSpaces(width, strBuf) {\n if (width < textContentItem.fakeSpaceMin) {\n return;\n }\n\n if (width < textContentItem.fakeMultiSpaceMin) {\n strBuf.push(' ');\n return;\n }\n\n var fakeSpaces = Math.round(width / textContentItem.spaceWidth);\n\n while (fakeSpaces-- > 0) {\n strBuf.push(' ');\n }\n }\n\n function flushTextContentItem() {\n if (!textContentItem.initialized) {\n return;\n }\n\n if (!textContentItem.vertical) {\n textContentItem.width *= textContentItem.textAdvanceScale;\n } else {\n textContentItem.height *= textContentItem.textAdvanceScale;\n }\n\n textContent.items.push(runBidiTransform(textContentItem));\n textContentItem.initialized = false;\n textContentItem.str.length = 0;\n }\n\n function enqueueChunk() {\n var length = textContent.items.length;\n\n if (length > 0) {\n sink.enqueue(textContent, length);\n textContent.items = [];\n textContent.styles = Object.create(null);\n }\n }\n\n var timeSlotManager = new TimeSlotManager();\n return new Promise(function promiseBody(resolve, reject) {\n var next = function next(promise) {\n enqueueChunk();\n Promise.all([promise, sink.ready]).then(function () {\n try {\n promiseBody(resolve, reject);\n } catch (ex) {\n reject(ex);\n }\n }, reject);\n };\n\n task.ensureNotTerminated();\n timeSlotManager.reset();\n var stop,\n operation = {},\n args = [];\n\n while (!(stop = timeSlotManager.check())) {\n args.length = 0;\n operation.args = args;\n\n if (!preprocessor.read(operation)) {\n break;\n }\n\n textState = stateManager.state;\n var fn = operation.fn;\n args = operation.args;\n var advance, diff;\n\n switch (fn | 0) {\n case _util.OPS.setFont:\n var fontNameArg = args[0].name,\n fontSizeArg = args[1];\n\n if (textState.font && fontNameArg === textState.fontName && fontSizeArg === textState.fontSize) {\n break;\n }\n\n flushTextContentItem();\n textState.fontName = fontNameArg;\n textState.fontSize = fontSizeArg;\n next(handleSetFont(fontNameArg, null));\n return;\n\n case _util.OPS.setTextRise:\n flushTextContentItem();\n textState.textRise = args[0];\n break;\n\n case _util.OPS.setHScale:\n flushTextContentItem();\n textState.textHScale = args[0] / 100;\n break;\n\n case _util.OPS.setLeading:\n flushTextContentItem();\n textState.leading = args[0];\n break;\n\n case _util.OPS.moveText:\n var isSameTextLine = !textState.font ? false : (textState.font.vertical ? args[0] : args[1]) === 0;\n advance = args[0] - args[1];\n\n if (combineTextItems && isSameTextLine && textContentItem.initialized && advance > 0 && advance <= textContentItem.fakeMultiSpaceMax) {\n textState.translateTextLineMatrix(args[0], args[1]);\n textContentItem.width += args[0] - textContentItem.lastAdvanceWidth;\n textContentItem.height += args[1] - textContentItem.lastAdvanceHeight;\n diff = args[0] - textContentItem.lastAdvanceWidth - (args[1] - textContentItem.lastAdvanceHeight);\n addFakeSpaces(diff, textContentItem.str);\n break;\n }\n\n flushTextContentItem();\n textState.translateTextLineMatrix(args[0], args[1]);\n textState.textMatrix = textState.textLineMatrix.slice();\n break;\n\n case _util.OPS.setLeadingMoveText:\n flushTextContentItem();\n textState.leading = -args[1];\n textState.translateTextLineMatrix(args[0], args[1]);\n textState.textMatrix = textState.textLineMatrix.slice();\n break;\n\n case _util.OPS.nextLine:\n flushTextContentItem();\n textState.carriageReturn();\n break;\n\n case _util.OPS.setTextMatrix:\n advance = textState.calcTextLineMatrixAdvance(args[0], args[1], args[2], args[3], args[4], args[5]);\n\n if (combineTextItems && advance !== null && textContentItem.initialized && advance.value > 0 && advance.value <= textContentItem.fakeMultiSpaceMax) {\n textState.translateTextLineMatrix(advance.width, advance.height);\n textContentItem.width += advance.width - textContentItem.lastAdvanceWidth;\n textContentItem.height += advance.height - textContentItem.lastAdvanceHeight;\n diff = advance.width - textContentItem.lastAdvanceWidth - (advance.height - textContentItem.lastAdvanceHeight);\n addFakeSpaces(diff, textContentItem.str);\n break;\n }\n\n flushTextContentItem();\n textState.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n textState.setTextLineMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setCharSpacing:\n textState.charSpacing = args[0];\n break;\n\n case _util.OPS.setWordSpacing:\n textState.wordSpacing = args[0];\n break;\n\n case _util.OPS.beginText:\n flushTextContentItem();\n textState.textMatrix = _util.IDENTITY_MATRIX.slice();\n textState.textLineMatrix = _util.IDENTITY_MATRIX.slice();\n break;\n\n case _util.OPS.showSpacedText:\n var items = args[0];\n var offset;\n\n for (var j = 0, jj = items.length; j < jj; j++) {\n if (typeof items[j] === 'string') {\n buildTextContentItem(items[j]);\n } else if ((0, _util.isNum)(items[j])) {\n ensureTextContentItem();\n advance = items[j] * textState.fontSize / 1000;\n var breakTextRun = false;\n\n if (textState.font.vertical) {\n offset = advance;\n textState.translateTextMatrix(0, offset);\n breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;\n\n if (!breakTextRun) {\n textContentItem.height += offset;\n }\n } else {\n advance = -advance;\n offset = advance * textState.textHScale;\n textState.translateTextMatrix(offset, 0);\n breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;\n\n if (!breakTextRun) {\n textContentItem.width += offset;\n }\n }\n\n if (breakTextRun) {\n flushTextContentItem();\n } else if (advance > 0) {\n addFakeSpaces(advance, textContentItem.str);\n }\n }\n }\n\n break;\n\n case _util.OPS.showText:\n buildTextContentItem(args[0]);\n break;\n\n case _util.OPS.nextLineShowText:\n flushTextContentItem();\n textState.carriageReturn();\n buildTextContentItem(args[0]);\n break;\n\n case _util.OPS.nextLineSetSpacingShowText:\n flushTextContentItem();\n textState.wordSpacing = args[0];\n textState.charSpacing = args[1];\n textState.carriageReturn();\n buildTextContentItem(args[2]);\n break;\n\n case _util.OPS.paintXObject:\n flushTextContentItem();\n\n if (!xobjs) {\n xobjs = resources.get('XObject') || _primitives.Dict.empty;\n }\n\n var name = args[0].name;\n\n if (name && skipEmptyXObjs[name] !== undefined) {\n break;\n }\n\n next(new Promise(function (resolveXObject, rejectXObject) {\n if (!name) {\n throw new _util.FormatError('XObject must be referred to by name.');\n }\n\n var xobj = xobjs.get(name);\n\n if (!xobj) {\n resolveXObject();\n return;\n }\n\n if (!(0, _primitives.isStream)(xobj)) {\n throw new _util.FormatError('XObject should be a stream');\n }\n\n var type = xobj.dict.get('Subtype');\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError('XObject should have a Name subtype');\n }\n\n if (type.name !== 'Form') {\n skipEmptyXObjs[name] = true;\n resolveXObject();\n return;\n }\n\n var currentState = stateManager.state.clone();\n var xObjStateManager = new StateManager(currentState);\n var matrix = xobj.dict.getArray('Matrix');\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n xObjStateManager.transform(matrix);\n }\n\n enqueueChunk();\n var sinkWrapper = {\n enqueueInvoked: false,\n enqueue: function enqueue(chunk, size) {\n this.enqueueInvoked = true;\n sink.enqueue(chunk, size);\n },\n\n get desiredSize() {\n return sink.desiredSize;\n },\n\n get ready() {\n return sink.ready;\n }\n\n };\n self.getTextContent({\n stream: xobj,\n task: task,\n resources: xobj.dict.get('Resources') || resources,\n stateManager: xObjStateManager,\n normalizeWhitespace: normalizeWhitespace,\n combineTextItems: combineTextItems,\n sink: sinkWrapper,\n seenStyles: seenStyles\n }).then(function () {\n if (!sinkWrapper.enqueueInvoked) {\n skipEmptyXObjs[name] = true;\n }\n\n resolveXObject();\n }, rejectXObject);\n })[\"catch\"](function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (self.options.ignoreErrors) {\n (0, _util.warn)(\"getTextContent - ignoring XObject: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n }));\n return;\n\n case _util.OPS.setGState:\n flushTextContentItem();\n var dictName = args[0];\n var extGState = resources.get('ExtGState');\n\n if (!(0, _primitives.isDict)(extGState) || !(0, _primitives.isName)(dictName)) {\n break;\n }\n\n var gState = extGState.get(dictName.name);\n\n if (!(0, _primitives.isDict)(gState)) {\n break;\n }\n\n var gStateFont = gState.get('Font');\n\n if (gStateFont) {\n textState.fontName = null;\n textState.fontSize = gStateFont[1];\n next(handleSetFont(null, gStateFont[0]));\n return;\n }\n\n break;\n }\n\n if (textContent.items.length >= sink.desiredSize) {\n stop = true;\n break;\n }\n }\n\n if (stop) {\n next(deferred);\n return;\n }\n\n flushTextContentItem();\n enqueueChunk();\n resolve();\n })[\"catch\"](function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (_this8.options.ignoreErrors) {\n (0, _util.warn)(\"getTextContent - ignoring errors during \\\"\".concat(task.name, \"\\\" \") + \"task: \\\"\".concat(reason, \"\\\".\"));\n flushTextContentItem();\n enqueueChunk();\n return;\n }\n\n throw reason;\n });\n },\n extractDataStructures: function PartialEvaluator_extractDataStructures(dict, baseDict, properties) {\n var _this9 = this;\n\n var xref = this.xref,\n cidToGidBytes;\n var toUnicode = dict.get('ToUnicode') || baseDict.get('ToUnicode');\n var toUnicodePromise = toUnicode ? this.readToUnicode(toUnicode) : Promise.resolve(undefined);\n\n if (properties.composite) {\n var cidSystemInfo = dict.get('CIDSystemInfo');\n\n if ((0, _primitives.isDict)(cidSystemInfo)) {\n properties.cidSystemInfo = {\n registry: (0, _util.stringToPDFString)(cidSystemInfo.get('Registry')),\n ordering: (0, _util.stringToPDFString)(cidSystemInfo.get('Ordering')),\n supplement: cidSystemInfo.get('Supplement')\n };\n }\n\n var cidToGidMap = dict.get('CIDToGIDMap');\n\n if ((0, _primitives.isStream)(cidToGidMap)) {\n cidToGidBytes = cidToGidMap.getBytes();\n }\n }\n\n var differences = [];\n var baseEncodingName = null;\n var encoding;\n\n if (dict.has('Encoding')) {\n encoding = dict.get('Encoding');\n\n if ((0, _primitives.isDict)(encoding)) {\n baseEncodingName = encoding.get('BaseEncoding');\n baseEncodingName = (0, _primitives.isName)(baseEncodingName) ? baseEncodingName.name : null;\n\n if (encoding.has('Differences')) {\n var diffEncoding = encoding.get('Differences');\n var index = 0;\n\n for (var j = 0, jj = diffEncoding.length; j < jj; j++) {\n var data = xref.fetchIfRef(diffEncoding[j]);\n\n if ((0, _util.isNum)(data)) {\n index = data;\n } else if ((0, _primitives.isName)(data)) {\n differences[index++] = data.name;\n } else {\n throw new _util.FormatError(\"Invalid entry in 'Differences' array: \".concat(data));\n }\n }\n }\n } else if ((0, _primitives.isName)(encoding)) {\n baseEncodingName = encoding.name;\n } else {\n throw new _util.FormatError('Encoding is not a Name nor a Dict');\n }\n\n if (baseEncodingName !== 'MacRomanEncoding' && baseEncodingName !== 'MacExpertEncoding' && baseEncodingName !== 'WinAnsiEncoding') {\n baseEncodingName = null;\n }\n }\n\n if (baseEncodingName) {\n properties.defaultEncoding = (0, _encodings.getEncoding)(baseEncodingName).slice();\n } else {\n var isSymbolicFont = !!(properties.flags & _fonts.FontFlags.Symbolic);\n var isNonsymbolicFont = !!(properties.flags & _fonts.FontFlags.Nonsymbolic);\n encoding = _encodings.StandardEncoding;\n\n if (properties.type === 'TrueType' && !isNonsymbolicFont) {\n encoding = _encodings.WinAnsiEncoding;\n }\n\n if (isSymbolicFont) {\n encoding = _encodings.MacRomanEncoding;\n\n if (!properties.file) {\n if (/Symbol/i.test(properties.name)) {\n encoding = _encodings.SymbolSetEncoding;\n } else if (/Dingbats/i.test(properties.name)) {\n encoding = _encodings.ZapfDingbatsEncoding;\n }\n }\n }\n\n properties.defaultEncoding = encoding;\n }\n\n properties.differences = differences;\n properties.baseEncodingName = baseEncodingName;\n properties.hasEncoding = !!baseEncodingName || differences.length > 0;\n properties.dict = dict;\n return toUnicodePromise.then(function (toUnicode) {\n properties.toUnicode = toUnicode;\n return _this9.buildToUnicode(properties);\n }).then(function (toUnicode) {\n properties.toUnicode = toUnicode;\n\n if (cidToGidBytes) {\n properties.cidToGidMap = _this9.readCidToGidMap(cidToGidBytes, toUnicode);\n }\n\n return properties;\n });\n },\n _buildSimpleFontToUnicode: function _buildSimpleFontToUnicode(properties) {\n (0, _util.assert)(!properties.composite, 'Must be a simple font.');\n var toUnicode = [],\n charcode,\n glyphName;\n var encoding = properties.defaultEncoding.slice();\n var baseEncodingName = properties.baseEncodingName;\n var differences = properties.differences;\n\n for (charcode in differences) {\n glyphName = differences[charcode];\n\n if (glyphName === '.notdef') {\n continue;\n }\n\n encoding[charcode] = glyphName;\n }\n\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n for (charcode in encoding) {\n glyphName = encoding[charcode];\n\n if (glyphName === '') {\n continue;\n } else if (glyphsUnicodeMap[glyphName] === undefined) {\n var code = 0;\n\n switch (glyphName[0]) {\n case 'G':\n if (glyphName.length === 3) {\n code = parseInt(glyphName.substring(1), 16);\n }\n\n break;\n\n case 'g':\n if (glyphName.length === 5) {\n code = parseInt(glyphName.substring(1), 16);\n }\n\n break;\n\n case 'C':\n case 'c':\n if (glyphName.length >= 3) {\n code = +glyphName.substring(1);\n }\n\n break;\n\n default:\n var unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n code = unicode;\n }\n\n }\n\n if (code) {\n if (baseEncodingName && code === +charcode) {\n var baseEncoding = (0, _encodings.getEncoding)(baseEncodingName);\n\n if (baseEncoding && (glyphName = baseEncoding[charcode])) {\n toUnicode[charcode] = String.fromCharCode(glyphsUnicodeMap[glyphName]);\n continue;\n }\n }\n\n toUnicode[charcode] = String.fromCodePoint(code);\n }\n\n continue;\n }\n\n toUnicode[charcode] = String.fromCharCode(glyphsUnicodeMap[glyphName]);\n }\n\n return new _fonts.ToUnicodeMap(toUnicode);\n },\n buildToUnicode: function buildToUnicode(properties) {\n properties.hasIncludedToUnicodeMap = !!properties.toUnicode && properties.toUnicode.length > 0;\n\n if (properties.hasIncludedToUnicodeMap) {\n if (!properties.composite && properties.hasEncoding) {\n properties.fallbackToUnicode = this._buildSimpleFontToUnicode(properties);\n }\n\n return Promise.resolve(properties.toUnicode);\n }\n\n if (!properties.composite) {\n return Promise.resolve(this._buildSimpleFontToUnicode(properties));\n }\n\n if (properties.composite && (properties.cMap.builtInCMap && !(properties.cMap instanceof _cmap.IdentityCMap) || properties.cidSystemInfo.registry === 'Adobe' && (properties.cidSystemInfo.ordering === 'GB1' || properties.cidSystemInfo.ordering === 'CNS1' || properties.cidSystemInfo.ordering === 'Japan1' || properties.cidSystemInfo.ordering === 'Korea1'))) {\n var registry = properties.cidSystemInfo.registry;\n var ordering = properties.cidSystemInfo.ordering;\n\n var ucs2CMapName = _primitives.Name.get(registry + '-' + ordering + '-UCS2');\n\n return _cmap.CMapFactory.create({\n encoding: ucs2CMapName,\n fetchBuiltInCMap: this.fetchBuiltInCMap,\n useCMap: null\n }).then(function (ucs2CMap) {\n var cMap = properties.cMap;\n var toUnicode = [];\n cMap.forEach(function (charcode, cid) {\n if (cid > 0xffff) {\n throw new _util.FormatError('Max size of CID is 65,535');\n }\n\n var ucs2 = ucs2CMap.lookup(cid);\n\n if (ucs2) {\n toUnicode[charcode] = String.fromCharCode((ucs2.charCodeAt(0) << 8) + ucs2.charCodeAt(1));\n }\n });\n return new _fonts.ToUnicodeMap(toUnicode);\n });\n }\n\n return Promise.resolve(new _fonts.IdentityToUnicodeMap(properties.firstChar, properties.lastChar));\n },\n readToUnicode: function PartialEvaluator_readToUnicode(toUnicode) {\n var cmapObj = toUnicode;\n\n if ((0, _primitives.isName)(cmapObj)) {\n return _cmap.CMapFactory.create({\n encoding: cmapObj,\n fetchBuiltInCMap: this.fetchBuiltInCMap,\n useCMap: null\n }).then(function (cmap) {\n if (cmap instanceof _cmap.IdentityCMap) {\n return new _fonts.IdentityToUnicodeMap(0, 0xFFFF);\n }\n\n return new _fonts.ToUnicodeMap(cmap.getMap());\n });\n } else if ((0, _primitives.isStream)(cmapObj)) {\n return _cmap.CMapFactory.create({\n encoding: cmapObj,\n fetchBuiltInCMap: this.fetchBuiltInCMap,\n useCMap: null\n }).then(function (cmap) {\n if (cmap instanceof _cmap.IdentityCMap) {\n return new _fonts.IdentityToUnicodeMap(0, 0xFFFF);\n }\n\n var map = new Array(cmap.length);\n cmap.forEach(function (charCode, token) {\n var str = [];\n\n for (var k = 0; k < token.length; k += 2) {\n var w1 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1);\n\n if ((w1 & 0xF800) !== 0xD800) {\n str.push(w1);\n continue;\n }\n\n k += 2;\n var w2 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1);\n str.push(((w1 & 0x3ff) << 10) + (w2 & 0x3ff) + 0x10000);\n }\n\n map[charCode] = String.fromCodePoint.apply(String, str);\n });\n return new _fonts.ToUnicodeMap(map);\n });\n }\n\n return Promise.resolve(null);\n },\n readCidToGidMap: function readCidToGidMap(glyphsData, toUnicode) {\n var result = [];\n\n for (var j = 0, jj = glyphsData.length; j < jj; j++) {\n var glyphID = glyphsData[j++] << 8 | glyphsData[j];\n var code = j >> 1;\n\n if (glyphID === 0 && !toUnicode.has(code)) {\n continue;\n }\n\n result[code] = glyphID;\n }\n\n return result;\n },\n extractWidths: function PartialEvaluator_extractWidths(dict, descriptor, properties) {\n var xref = this.xref;\n var glyphsWidths = [];\n var defaultWidth = 0;\n var glyphsVMetrics = [];\n var defaultVMetrics;\n var i, ii, j, jj, start, code, widths;\n\n if (properties.composite) {\n defaultWidth = dict.has('DW') ? dict.get('DW') : 1000;\n widths = dict.get('W');\n\n if (widths) {\n for (i = 0, ii = widths.length; i < ii; i++) {\n start = xref.fetchIfRef(widths[i++]);\n code = xref.fetchIfRef(widths[i]);\n\n if (Array.isArray(code)) {\n for (j = 0, jj = code.length; j < jj; j++) {\n glyphsWidths[start++] = xref.fetchIfRef(code[j]);\n }\n } else {\n var width = xref.fetchIfRef(widths[++i]);\n\n for (j = start; j <= code; j++) {\n glyphsWidths[j] = width;\n }\n }\n }\n }\n\n if (properties.vertical) {\n var vmetrics = dict.getArray('DW2') || [880, -1000];\n defaultVMetrics = [vmetrics[1], defaultWidth * 0.5, vmetrics[0]];\n vmetrics = dict.get('W2');\n\n if (vmetrics) {\n for (i = 0, ii = vmetrics.length; i < ii; i++) {\n start = xref.fetchIfRef(vmetrics[i++]);\n code = xref.fetchIfRef(vmetrics[i]);\n\n if (Array.isArray(code)) {\n for (j = 0, jj = code.length; j < jj; j++) {\n glyphsVMetrics[start++] = [xref.fetchIfRef(code[j++]), xref.fetchIfRef(code[j++]), xref.fetchIfRef(code[j])];\n }\n } else {\n var vmetric = [xref.fetchIfRef(vmetrics[++i]), xref.fetchIfRef(vmetrics[++i]), xref.fetchIfRef(vmetrics[++i])];\n\n for (j = start; j <= code; j++) {\n glyphsVMetrics[j] = vmetric;\n }\n }\n }\n }\n }\n } else {\n var firstChar = properties.firstChar;\n widths = dict.get('Widths');\n\n if (widths) {\n j = firstChar;\n\n for (i = 0, ii = widths.length; i < ii; i++) {\n glyphsWidths[j++] = xref.fetchIfRef(widths[i]);\n }\n\n defaultWidth = parseFloat(descriptor.get('MissingWidth')) || 0;\n } else {\n var baseFontName = dict.get('BaseFont');\n\n if ((0, _primitives.isName)(baseFontName)) {\n var metrics = this.getBaseFontMetrics(baseFontName.name);\n glyphsWidths = this.buildCharCodeToWidth(metrics.widths, properties);\n defaultWidth = metrics.defaultWidth;\n }\n }\n }\n\n var isMonospace = true;\n var firstWidth = defaultWidth;\n\n for (var glyph in glyphsWidths) {\n var glyphWidth = glyphsWidths[glyph];\n\n if (!glyphWidth) {\n continue;\n }\n\n if (!firstWidth) {\n firstWidth = glyphWidth;\n continue;\n }\n\n if (firstWidth !== glyphWidth) {\n isMonospace = false;\n break;\n }\n }\n\n if (isMonospace) {\n properties.flags |= _fonts.FontFlags.FixedPitch;\n }\n\n properties.defaultWidth = defaultWidth;\n properties.widths = glyphsWidths;\n properties.defaultVMetrics = defaultVMetrics;\n properties.vmetrics = glyphsVMetrics;\n },\n isSerifFont: function PartialEvaluator_isSerifFont(baseFontName) {\n var fontNameWoStyle = baseFontName.split('-')[0];\n return fontNameWoStyle in (0, _standard_fonts.getSerifFonts)() || fontNameWoStyle.search(/serif/gi) !== -1;\n },\n getBaseFontMetrics: function PartialEvaluator_getBaseFontMetrics(name) {\n var defaultWidth = 0;\n var widths = [];\n var monospace = false;\n var stdFontMap = (0, _standard_fonts.getStdFontMap)();\n var lookupName = stdFontMap[name] || name;\n var Metrics = (0, _metrics.getMetrics)();\n\n if (!(lookupName in Metrics)) {\n if (this.isSerifFont(name)) {\n lookupName = 'Times-Roman';\n } else {\n lookupName = 'Helvetica';\n }\n }\n\n var glyphWidths = Metrics[lookupName];\n\n if ((0, _util.isNum)(glyphWidths)) {\n defaultWidth = glyphWidths;\n monospace = true;\n } else {\n widths = glyphWidths();\n }\n\n return {\n defaultWidth: defaultWidth,\n monospace: monospace,\n widths: widths\n };\n },\n buildCharCodeToWidth: function PartialEvaluator_bulildCharCodeToWidth(widthsByGlyphName, properties) {\n var widths = Object.create(null);\n var differences = properties.differences;\n var encoding = properties.defaultEncoding;\n\n for (var charCode = 0; charCode < 256; charCode++) {\n if (charCode in differences && widthsByGlyphName[differences[charCode]]) {\n widths[charCode] = widthsByGlyphName[differences[charCode]];\n continue;\n }\n\n if (charCode in encoding && widthsByGlyphName[encoding[charCode]]) {\n widths[charCode] = widthsByGlyphName[encoding[charCode]];\n continue;\n }\n }\n\n return widths;\n },\n preEvaluateFont: function PartialEvaluator_preEvaluateFont(dict) {\n var baseDict = dict;\n var type = dict.get('Subtype');\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError('invalid font Subtype');\n }\n\n var composite = false;\n var uint8array;\n\n if (type.name === 'Type0') {\n var df = dict.get('DescendantFonts');\n\n if (!df) {\n throw new _util.FormatError('Descendant fonts are not specified');\n }\n\n dict = Array.isArray(df) ? this.xref.fetchIfRef(df[0]) : df;\n type = dict.get('Subtype');\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError('invalid font Subtype');\n }\n\n composite = true;\n }\n\n var descriptor = dict.get('FontDescriptor');\n\n if (descriptor) {\n var hash = new _murmurhash.MurmurHash3_64();\n var encoding = baseDict.getRaw('Encoding');\n\n if ((0, _primitives.isName)(encoding)) {\n hash.update(encoding.name);\n } else if ((0, _primitives.isRef)(encoding)) {\n hash.update(encoding.toString());\n } else if ((0, _primitives.isDict)(encoding)) {\n var keys = encoding.getKeys();\n\n for (var i = 0, ii = keys.length; i < ii; i++) {\n var entry = encoding.getRaw(keys[i]);\n\n if ((0, _primitives.isName)(entry)) {\n hash.update(entry.name);\n } else if ((0, _primitives.isRef)(entry)) {\n hash.update(entry.toString());\n } else if (Array.isArray(entry)) {\n var diffLength = entry.length,\n diffBuf = new Array(diffLength);\n\n for (var j = 0; j < diffLength; j++) {\n var diffEntry = entry[j];\n\n if ((0, _primitives.isName)(diffEntry)) {\n diffBuf[j] = diffEntry.name;\n } else if ((0, _util.isNum)(diffEntry) || (0, _primitives.isRef)(diffEntry)) {\n diffBuf[j] = diffEntry.toString();\n }\n }\n\n hash.update(diffBuf.join());\n }\n }\n }\n\n var firstChar = dict.get('FirstChar') || 0;\n var lastChar = dict.get('LastChar') || (composite ? 0xFFFF : 0xFF);\n hash.update(\"\".concat(firstChar, \"-\").concat(lastChar));\n var toUnicode = dict.get('ToUnicode') || baseDict.get('ToUnicode');\n\n if ((0, _primitives.isStream)(toUnicode)) {\n var stream = toUnicode.str || toUnicode;\n uint8array = stream.buffer ? new Uint8Array(stream.buffer.buffer, 0, stream.bufferLength) : new Uint8Array(stream.bytes.buffer, stream.start, stream.end - stream.start);\n hash.update(uint8array);\n } else if ((0, _primitives.isName)(toUnicode)) {\n hash.update(toUnicode.name);\n }\n\n var widths = dict.get('Widths') || baseDict.get('Widths');\n\n if (widths) {\n uint8array = new Uint8Array(new Uint32Array(widths).buffer);\n hash.update(uint8array);\n }\n }\n\n return {\n descriptor: descriptor,\n dict: dict,\n baseDict: baseDict,\n composite: composite,\n type: type.name,\n hash: hash ? hash.hexdigest() : ''\n };\n },\n translateFont: function PartialEvaluator_translateFont(preEvaluatedFont) {\n var _this10 = this;\n\n var baseDict = preEvaluatedFont.baseDict;\n var dict = preEvaluatedFont.dict;\n var composite = preEvaluatedFont.composite;\n var descriptor = preEvaluatedFont.descriptor;\n var type = preEvaluatedFont.type;\n var maxCharIndex = composite ? 0xFFFF : 0xFF;\n var properties;\n\n if (!descriptor) {\n if (type === 'Type3') {\n descriptor = new _primitives.Dict(null);\n descriptor.set('FontName', _primitives.Name.get(type));\n descriptor.set('FontBBox', dict.getArray('FontBBox'));\n } else {\n var baseFontName = dict.get('BaseFont');\n\n if (!(0, _primitives.isName)(baseFontName)) {\n throw new _util.FormatError('Base font is not specified');\n }\n\n baseFontName = baseFontName.name.replace(/[,_]/g, '-');\n var metrics = this.getBaseFontMetrics(baseFontName);\n var fontNameWoStyle = baseFontName.split('-')[0];\n var flags = (this.isSerifFont(fontNameWoStyle) ? _fonts.FontFlags.Serif : 0) | (metrics.monospace ? _fonts.FontFlags.FixedPitch : 0) | ((0, _standard_fonts.getSymbolsFonts)()[fontNameWoStyle] ? _fonts.FontFlags.Symbolic : _fonts.FontFlags.Nonsymbolic);\n properties = {\n type: type,\n name: baseFontName,\n widths: metrics.widths,\n defaultWidth: metrics.defaultWidth,\n flags: flags,\n firstChar: 0,\n lastChar: maxCharIndex\n };\n return this.extractDataStructures(dict, dict, properties).then(function (properties) {\n properties.widths = _this10.buildCharCodeToWidth(metrics.widths, properties);\n return new _fonts.Font(baseFontName, null, properties);\n });\n }\n }\n\n var firstChar = dict.get('FirstChar') || 0;\n var lastChar = dict.get('LastChar') || maxCharIndex;\n var fontName = descriptor.get('FontName');\n var baseFont = dict.get('BaseFont');\n\n if ((0, _util.isString)(fontName)) {\n fontName = _primitives.Name.get(fontName);\n }\n\n if ((0, _util.isString)(baseFont)) {\n baseFont = _primitives.Name.get(baseFont);\n }\n\n if (type !== 'Type3') {\n var fontNameStr = fontName && fontName.name;\n var baseFontStr = baseFont && baseFont.name;\n\n if (fontNameStr !== baseFontStr) {\n (0, _util.info)(\"The FontDescriptor's FontName is \\\"\".concat(fontNameStr, \"\\\" but \") + \"should be the same as the Font's BaseFont \\\"\".concat(baseFontStr, \"\\\".\"));\n\n if (fontNameStr && baseFontStr && baseFontStr.startsWith(fontNameStr)) {\n fontName = baseFont;\n }\n }\n }\n\n fontName = fontName || baseFont;\n\n if (!(0, _primitives.isName)(fontName)) {\n throw new _util.FormatError('invalid font name');\n }\n\n var fontFile = descriptor.get('FontFile', 'FontFile2', 'FontFile3');\n\n if (fontFile) {\n if (fontFile.dict) {\n var subtype = fontFile.dict.get('Subtype');\n\n if (subtype) {\n subtype = subtype.name;\n }\n\n var length1 = fontFile.dict.get('Length1');\n var length2 = fontFile.dict.get('Length2');\n var length3 = fontFile.dict.get('Length3');\n }\n }\n\n properties = {\n type: type,\n name: fontName.name,\n subtype: subtype,\n file: fontFile,\n length1: length1,\n length2: length2,\n length3: length3,\n loadedName: baseDict.loadedName,\n composite: composite,\n wideChars: composite,\n fixedPitch: false,\n fontMatrix: dict.getArray('FontMatrix') || _util.FONT_IDENTITY_MATRIX,\n firstChar: firstChar || 0,\n lastChar: lastChar || maxCharIndex,\n bbox: descriptor.getArray('FontBBox'),\n ascent: descriptor.get('Ascent'),\n descent: descriptor.get('Descent'),\n xHeight: descriptor.get('XHeight'),\n capHeight: descriptor.get('CapHeight'),\n flags: descriptor.get('Flags'),\n italicAngle: descriptor.get('ItalicAngle'),\n isType3Font: false\n };\n var cMapPromise;\n\n if (composite) {\n var cidEncoding = baseDict.get('Encoding');\n\n if ((0, _primitives.isName)(cidEncoding)) {\n properties.cidEncoding = cidEncoding.name;\n }\n\n cMapPromise = _cmap.CMapFactory.create({\n encoding: cidEncoding,\n fetchBuiltInCMap: this.fetchBuiltInCMap,\n useCMap: null\n }).then(function (cMap) {\n properties.cMap = cMap;\n properties.vertical = properties.cMap.vertical;\n });\n } else {\n cMapPromise = Promise.resolve(undefined);\n }\n\n return cMapPromise.then(function () {\n return _this10.extractDataStructures(dict, baseDict, properties);\n }).then(function (properties) {\n _this10.extractWidths(dict, descriptor, properties);\n\n if (type === 'Type3') {\n properties.isType3Font = true;\n }\n\n return new _fonts.Font(fontName.name, fontFile, properties);\n });\n }\n };\n\n PartialEvaluator.buildFontPaths = function (font, glyphs, handler) {\n function buildPath(fontChar) {\n if (font.renderer.hasBuiltPath(fontChar)) {\n return;\n }\n\n handler.send('commonobj', [\"\".concat(font.loadedName, \"_path_\").concat(fontChar), 'FontPath', font.renderer.getPathJs(fontChar)]);\n }\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = glyphs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var glyph = _step.value;\n buildPath(glyph.fontChar);\n var accent = glyph.accent;\n\n if (accent && accent.fontChar) {\n buildPath(accent.fontChar);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n };\n\n return PartialEvaluator;\n}();\n\nexports.PartialEvaluator = PartialEvaluator;\n\nvar TranslatedFont = function TranslatedFontClosure() {\n function TranslatedFont(loadedName, font, dict) {\n this.loadedName = loadedName;\n this.font = font;\n this.dict = dict;\n this.type3Loaded = null;\n this.sent = false;\n }\n\n TranslatedFont.prototype = {\n send: function send(handler) {\n if (this.sent) {\n return;\n }\n\n this.sent = true;\n handler.send('commonobj', [this.loadedName, 'Font', this.font.exportData()]);\n },\n fallback: function fallback(handler) {\n if (!this.font.data) {\n return;\n }\n\n this.font.disableFontFace = true;\n var glyphs = this.font.glyphCacheValues;\n PartialEvaluator.buildFontPaths(this.font, glyphs, handler);\n },\n loadType3Data: function loadType3Data(evaluator, resources, parentOperatorList, task) {\n if (!this.font.isType3Font) {\n throw new Error('Must be a Type3 font.');\n }\n\n if (this.type3Loaded) {\n return this.type3Loaded;\n }\n\n var type3Options = Object.create(evaluator.options);\n type3Options.ignoreErrors = false;\n type3Options.nativeImageDecoderSupport = _util.NativeImageDecoding.NONE;\n var type3Evaluator = evaluator.clone(type3Options);\n type3Evaluator.parsingType3Font = true;\n var translatedFont = this.font;\n var loadCharProcsPromise = Promise.resolve();\n var charProcs = this.dict.get('CharProcs');\n var fontResources = this.dict.get('Resources') || resources;\n var charProcKeys = charProcs.getKeys();\n var charProcOperatorList = Object.create(null);\n\n var _loop2 = function _loop2() {\n var key = charProcKeys[i];\n loadCharProcsPromise = loadCharProcsPromise.then(function () {\n var glyphStream = charProcs.get(key);\n var operatorList = new _operator_list.OperatorList();\n return type3Evaluator.getOperatorList({\n stream: glyphStream,\n task: task,\n resources: fontResources,\n operatorList: operatorList\n }).then(function () {\n charProcOperatorList[key] = operatorList.getIR();\n parentOperatorList.addDependencies(operatorList.dependencies);\n })[\"catch\"](function (reason) {\n (0, _util.warn)(\"Type3 font resource \\\"\".concat(key, \"\\\" is not available.\"));\n var operatorList = new _operator_list.OperatorList();\n charProcOperatorList[key] = operatorList.getIR();\n });\n });\n };\n\n for (var i = 0, n = charProcKeys.length; i < n; ++i) {\n _loop2();\n }\n\n this.type3Loaded = loadCharProcsPromise.then(function () {\n translatedFont.charProcOperatorList = charProcOperatorList;\n });\n return this.type3Loaded;\n }\n };\n return TranslatedFont;\n}();\n\nvar StateManager = function StateManagerClosure() {\n function StateManager(initialState) {\n this.state = initialState;\n this.stateStack = [];\n }\n\n StateManager.prototype = {\n save: function save() {\n var old = this.state;\n this.stateStack.push(this.state);\n this.state = old.clone();\n },\n restore: function restore() {\n var prev = this.stateStack.pop();\n\n if (prev) {\n this.state = prev;\n }\n },\n transform: function transform(args) {\n this.state.ctm = _util.Util.transform(this.state.ctm, args);\n }\n };\n return StateManager;\n}();\n\nvar TextState = function TextStateClosure() {\n function TextState() {\n this.ctm = new Float32Array(_util.IDENTITY_MATRIX);\n this.fontName = null;\n this.fontSize = 0;\n this.font = null;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.textMatrix = _util.IDENTITY_MATRIX.slice();\n this.textLineMatrix = _util.IDENTITY_MATRIX.slice();\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.leading = 0;\n this.textHScale = 1;\n this.textRise = 0;\n }\n\n TextState.prototype = {\n setTextMatrix: function TextState_setTextMatrix(a, b, c, d, e, f) {\n var m = this.textMatrix;\n m[0] = a;\n m[1] = b;\n m[2] = c;\n m[3] = d;\n m[4] = e;\n m[5] = f;\n },\n setTextLineMatrix: function TextState_setTextMatrix(a, b, c, d, e, f) {\n var m = this.textLineMatrix;\n m[0] = a;\n m[1] = b;\n m[2] = c;\n m[3] = d;\n m[4] = e;\n m[5] = f;\n },\n translateTextMatrix: function TextState_translateTextMatrix(x, y) {\n var m = this.textMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n },\n translateTextLineMatrix: function TextState_translateTextMatrix(x, y) {\n var m = this.textLineMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n },\n calcTextLineMatrixAdvance: function TextState_calcTextLineMatrixAdvance(a, b, c, d, e, f) {\n var font = this.font;\n\n if (!font) {\n return null;\n }\n\n var m = this.textLineMatrix;\n\n if (!(a === m[0] && b === m[1] && c === m[2] && d === m[3])) {\n return null;\n }\n\n var txDiff = e - m[4],\n tyDiff = f - m[5];\n\n if (font.vertical && txDiff !== 0 || !font.vertical && tyDiff !== 0) {\n return null;\n }\n\n var tx,\n ty,\n denominator = a * d - b * c;\n\n if (font.vertical) {\n tx = -tyDiff * c / denominator;\n ty = tyDiff * a / denominator;\n } else {\n tx = txDiff * d / denominator;\n ty = -txDiff * b / denominator;\n }\n\n return {\n width: tx,\n height: ty,\n value: font.vertical ? ty : tx\n };\n },\n calcRenderMatrix: function TextState_calcRendeMatrix(ctm) {\n var tsm = [this.fontSize * this.textHScale, 0, 0, this.fontSize, 0, this.textRise];\n return _util.Util.transform(ctm, _util.Util.transform(this.textMatrix, tsm));\n },\n carriageReturn: function TextState_carriageReturn() {\n this.translateTextLineMatrix(0, -this.leading);\n this.textMatrix = this.textLineMatrix.slice();\n },\n clone: function TextState_clone() {\n var clone = Object.create(this);\n clone.textMatrix = this.textMatrix.slice();\n clone.textLineMatrix = this.textLineMatrix.slice();\n clone.fontMatrix = this.fontMatrix.slice();\n return clone;\n }\n };\n return TextState;\n}();\n\nvar EvalState = function EvalStateClosure() {\n function EvalState() {\n this.ctm = new Float32Array(_util.IDENTITY_MATRIX);\n this.font = null;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.fillColorSpace = _colorspace.ColorSpace.singletons.gray;\n this.strokeColorSpace = _colorspace.ColorSpace.singletons.gray;\n }\n\n EvalState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n }\n };\n return EvalState;\n}();\n\nvar EvaluatorPreprocessor = function EvaluatorPreprocessorClosure() {\n var getOPMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['w'] = {\n id: _util.OPS.setLineWidth,\n numArgs: 1,\n variableArgs: false\n };\n t['J'] = {\n id: _util.OPS.setLineCap,\n numArgs: 1,\n variableArgs: false\n };\n t['j'] = {\n id: _util.OPS.setLineJoin,\n numArgs: 1,\n variableArgs: false\n };\n t['M'] = {\n id: _util.OPS.setMiterLimit,\n numArgs: 1,\n variableArgs: false\n };\n t['d'] = {\n id: _util.OPS.setDash,\n numArgs: 2,\n variableArgs: false\n };\n t['ri'] = {\n id: _util.OPS.setRenderingIntent,\n numArgs: 1,\n variableArgs: false\n };\n t['i'] = {\n id: _util.OPS.setFlatness,\n numArgs: 1,\n variableArgs: false\n };\n t['gs'] = {\n id: _util.OPS.setGState,\n numArgs: 1,\n variableArgs: false\n };\n t['q'] = {\n id: _util.OPS.save,\n numArgs: 0,\n variableArgs: false\n };\n t['Q'] = {\n id: _util.OPS.restore,\n numArgs: 0,\n variableArgs: false\n };\n t['cm'] = {\n id: _util.OPS.transform,\n numArgs: 6,\n variableArgs: false\n };\n t['m'] = {\n id: _util.OPS.moveTo,\n numArgs: 2,\n variableArgs: false\n };\n t['l'] = {\n id: _util.OPS.lineTo,\n numArgs: 2,\n variableArgs: false\n };\n t['c'] = {\n id: _util.OPS.curveTo,\n numArgs: 6,\n variableArgs: false\n };\n t['v'] = {\n id: _util.OPS.curveTo2,\n numArgs: 4,\n variableArgs: false\n };\n t['y'] = {\n id: _util.OPS.curveTo3,\n numArgs: 4,\n variableArgs: false\n };\n t['h'] = {\n id: _util.OPS.closePath,\n numArgs: 0,\n variableArgs: false\n };\n t['re'] = {\n id: _util.OPS.rectangle,\n numArgs: 4,\n variableArgs: false\n };\n t['S'] = {\n id: _util.OPS.stroke,\n numArgs: 0,\n variableArgs: false\n };\n t['s'] = {\n id: _util.OPS.closeStroke,\n numArgs: 0,\n variableArgs: false\n };\n t['f'] = {\n id: _util.OPS.fill,\n numArgs: 0,\n variableArgs: false\n };\n t['F'] = {\n id: _util.OPS.fill,\n numArgs: 0,\n variableArgs: false\n };\n t['f*'] = {\n id: _util.OPS.eoFill,\n numArgs: 0,\n variableArgs: false\n };\n t['B'] = {\n id: _util.OPS.fillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t['B*'] = {\n id: _util.OPS.eoFillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t['b'] = {\n id: _util.OPS.closeFillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t['b*'] = {\n id: _util.OPS.closeEOFillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t['n'] = {\n id: _util.OPS.endPath,\n numArgs: 0,\n variableArgs: false\n };\n t['W'] = {\n id: _util.OPS.clip,\n numArgs: 0,\n variableArgs: false\n };\n t['W*'] = {\n id: _util.OPS.eoClip,\n numArgs: 0,\n variableArgs: false\n };\n t['BT'] = {\n id: _util.OPS.beginText,\n numArgs: 0,\n variableArgs: false\n };\n t['ET'] = {\n id: _util.OPS.endText,\n numArgs: 0,\n variableArgs: false\n };\n t['Tc'] = {\n id: _util.OPS.setCharSpacing,\n numArgs: 1,\n variableArgs: false\n };\n t['Tw'] = {\n id: _util.OPS.setWordSpacing,\n numArgs: 1,\n variableArgs: false\n };\n t['Tz'] = {\n id: _util.OPS.setHScale,\n numArgs: 1,\n variableArgs: false\n };\n t['TL'] = {\n id: _util.OPS.setLeading,\n numArgs: 1,\n variableArgs: false\n };\n t['Tf'] = {\n id: _util.OPS.setFont,\n numArgs: 2,\n variableArgs: false\n };\n t['Tr'] = {\n id: _util.OPS.setTextRenderingMode,\n numArgs: 1,\n variableArgs: false\n };\n t['Ts'] = {\n id: _util.OPS.setTextRise,\n numArgs: 1,\n variableArgs: false\n };\n t['Td'] = {\n id: _util.OPS.moveText,\n numArgs: 2,\n variableArgs: false\n };\n t['TD'] = {\n id: _util.OPS.setLeadingMoveText,\n numArgs: 2,\n variableArgs: false\n };\n t['Tm'] = {\n id: _util.OPS.setTextMatrix,\n numArgs: 6,\n variableArgs: false\n };\n t['T*'] = {\n id: _util.OPS.nextLine,\n numArgs: 0,\n variableArgs: false\n };\n t['Tj'] = {\n id: _util.OPS.showText,\n numArgs: 1,\n variableArgs: false\n };\n t['TJ'] = {\n id: _util.OPS.showSpacedText,\n numArgs: 1,\n variableArgs: false\n };\n t['\\''] = {\n id: _util.OPS.nextLineShowText,\n numArgs: 1,\n variableArgs: false\n };\n t['\"'] = {\n id: _util.OPS.nextLineSetSpacingShowText,\n numArgs: 3,\n variableArgs: false\n };\n t['d0'] = {\n id: _util.OPS.setCharWidth,\n numArgs: 2,\n variableArgs: false\n };\n t['d1'] = {\n id: _util.OPS.setCharWidthAndBounds,\n numArgs: 6,\n variableArgs: false\n };\n t['CS'] = {\n id: _util.OPS.setStrokeColorSpace,\n numArgs: 1,\n variableArgs: false\n };\n t['cs'] = {\n id: _util.OPS.setFillColorSpace,\n numArgs: 1,\n variableArgs: false\n };\n t['SC'] = {\n id: _util.OPS.setStrokeColor,\n numArgs: 4,\n variableArgs: true\n };\n t['SCN'] = {\n id: _util.OPS.setStrokeColorN,\n numArgs: 33,\n variableArgs: true\n };\n t['sc'] = {\n id: _util.OPS.setFillColor,\n numArgs: 4,\n variableArgs: true\n };\n t['scn'] = {\n id: _util.OPS.setFillColorN,\n numArgs: 33,\n variableArgs: true\n };\n t['G'] = {\n id: _util.OPS.setStrokeGray,\n numArgs: 1,\n variableArgs: false\n };\n t['g'] = {\n id: _util.OPS.setFillGray,\n numArgs: 1,\n variableArgs: false\n };\n t['RG'] = {\n id: _util.OPS.setStrokeRGBColor,\n numArgs: 3,\n variableArgs: false\n };\n t['rg'] = {\n id: _util.OPS.setFillRGBColor,\n numArgs: 3,\n variableArgs: false\n };\n t['K'] = {\n id: _util.OPS.setStrokeCMYKColor,\n numArgs: 4,\n variableArgs: false\n };\n t['k'] = {\n id: _util.OPS.setFillCMYKColor,\n numArgs: 4,\n variableArgs: false\n };\n t['sh'] = {\n id: _util.OPS.shadingFill,\n numArgs: 1,\n variableArgs: false\n };\n t['BI'] = {\n id: _util.OPS.beginInlineImage,\n numArgs: 0,\n variableArgs: false\n };\n t['ID'] = {\n id: _util.OPS.beginImageData,\n numArgs: 0,\n variableArgs: false\n };\n t['EI'] = {\n id: _util.OPS.endInlineImage,\n numArgs: 1,\n variableArgs: false\n };\n t['Do'] = {\n id: _util.OPS.paintXObject,\n numArgs: 1,\n variableArgs: false\n };\n t['MP'] = {\n id: _util.OPS.markPoint,\n numArgs: 1,\n variableArgs: false\n };\n t['DP'] = {\n id: _util.OPS.markPointProps,\n numArgs: 2,\n variableArgs: false\n };\n t['BMC'] = {\n id: _util.OPS.beginMarkedContent,\n numArgs: 1,\n variableArgs: false\n };\n t['BDC'] = {\n id: _util.OPS.beginMarkedContentProps,\n numArgs: 2,\n variableArgs: false\n };\n t['EMC'] = {\n id: _util.OPS.endMarkedContent,\n numArgs: 0,\n variableArgs: false\n };\n t['BX'] = {\n id: _util.OPS.beginCompat,\n numArgs: 0,\n variableArgs: false\n };\n t['EX'] = {\n id: _util.OPS.endCompat,\n numArgs: 0,\n variableArgs: false\n };\n t['BM'] = null;\n t['BD'] = null;\n t['true'] = null;\n t['fa'] = null;\n t['fal'] = null;\n t['fals'] = null;\n t['false'] = null;\n t['nu'] = null;\n t['nul'] = null;\n t['null'] = null;\n });\n var MAX_INVALID_PATH_OPS = 20;\n\n function EvaluatorPreprocessor(stream, xref, stateManager) {\n this.opMap = getOPMap();\n this.parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream, this.opMap),\n xref: xref\n });\n this.stateManager = stateManager;\n this.nonProcessedArgs = [];\n this._numInvalidPathOPS = 0;\n }\n\n EvaluatorPreprocessor.prototype = {\n get savedStatesDepth() {\n return this.stateManager.stateStack.length;\n },\n\n read: function EvaluatorPreprocessor_read(operation) {\n var args = operation.args;\n\n while (true) {\n var obj = this.parser.getObj();\n\n if ((0, _primitives.isCmd)(obj)) {\n var cmd = obj.cmd;\n var opSpec = this.opMap[cmd];\n\n if (!opSpec) {\n (0, _util.warn)(\"Unknown command \\\"\".concat(cmd, \"\\\".\"));\n continue;\n }\n\n var fn = opSpec.id;\n var numArgs = opSpec.numArgs;\n var argsLength = args !== null ? args.length : 0;\n\n if (!opSpec.variableArgs) {\n if (argsLength !== numArgs) {\n var nonProcessedArgs = this.nonProcessedArgs;\n\n while (argsLength > numArgs) {\n nonProcessedArgs.push(args.shift());\n argsLength--;\n }\n\n while (argsLength < numArgs && nonProcessedArgs.length !== 0) {\n if (args === null) {\n args = [];\n }\n\n args.unshift(nonProcessedArgs.pop());\n argsLength++;\n }\n }\n\n if (argsLength < numArgs) {\n var partialMsg = \"command \".concat(cmd, \": expected \").concat(numArgs, \" args, \") + \"but received \".concat(argsLength, \" args.\");\n\n if (fn >= _util.OPS.moveTo && fn <= _util.OPS.endPath && ++this._numInvalidPathOPS > MAX_INVALID_PATH_OPS) {\n throw new _util.FormatError(\"Invalid \".concat(partialMsg));\n }\n\n (0, _util.warn)(\"Skipping \".concat(partialMsg));\n\n if (args !== null) {\n args.length = 0;\n }\n\n continue;\n }\n } else if (argsLength > numArgs) {\n (0, _util.info)(\"Command \".concat(cmd, \": expected [0, \").concat(numArgs, \"] args, \") + \"but received \".concat(argsLength, \" args.\"));\n }\n\n this.preprocessCommand(fn, args);\n operation.fn = fn;\n operation.args = args;\n return true;\n }\n\n if ((0, _primitives.isEOF)(obj)) {\n return false;\n }\n\n if (obj !== null) {\n if (args === null) {\n args = [];\n }\n\n args.push(obj);\n\n if (args.length > 33) {\n throw new _util.FormatError('Too many arguments');\n }\n }\n }\n },\n preprocessCommand: function EvaluatorPreprocessor_preprocessCommand(fn, args) {\n switch (fn | 0) {\n case _util.OPS.save:\n this.stateManager.save();\n break;\n\n case _util.OPS.restore:\n this.stateManager.restore();\n break;\n\n case _util.OPS.transform:\n this.stateManager.transform(args);\n break;\n }\n }\n };\n return EvaluatorPreprocessor;\n}();\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CMapFactory = exports.IdentityCMap = exports.CMap = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _parser = __w_pdfjs_require__(157);\n\nvar _core_utils = __w_pdfjs_require__(154);\n\nvar _stream = __w_pdfjs_require__(158);\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BUILT_IN_CMAPS = ['Adobe-GB1-UCS2', 'Adobe-CNS1-UCS2', 'Adobe-Japan1-UCS2', 'Adobe-Korea1-UCS2', '78-EUC-H', '78-EUC-V', '78-H', '78-RKSJ-H', '78-RKSJ-V', '78-V', '78ms-RKSJ-H', '78ms-RKSJ-V', '83pv-RKSJ-H', '90ms-RKSJ-H', '90ms-RKSJ-V', '90msp-RKSJ-H', '90msp-RKSJ-V', '90pv-RKSJ-H', '90pv-RKSJ-V', 'Add-H', 'Add-RKSJ-H', 'Add-RKSJ-V', 'Add-V', 'Adobe-CNS1-0', 'Adobe-CNS1-1', 'Adobe-CNS1-2', 'Adobe-CNS1-3', 'Adobe-CNS1-4', 'Adobe-CNS1-5', 'Adobe-CNS1-6', 'Adobe-GB1-0', 'Adobe-GB1-1', 'Adobe-GB1-2', 'Adobe-GB1-3', 'Adobe-GB1-4', 'Adobe-GB1-5', 'Adobe-Japan1-0', 'Adobe-Japan1-1', 'Adobe-Japan1-2', 'Adobe-Japan1-3', 'Adobe-Japan1-4', 'Adobe-Japan1-5', 'Adobe-Japan1-6', 'Adobe-Korea1-0', 'Adobe-Korea1-1', 'Adobe-Korea1-2', 'B5-H', 'B5-V', 'B5pc-H', 'B5pc-V', 'CNS-EUC-H', 'CNS-EUC-V', 'CNS1-H', 'CNS1-V', 'CNS2-H', 'CNS2-V', 'ETHK-B5-H', 'ETHK-B5-V', 'ETen-B5-H', 'ETen-B5-V', 'ETenms-B5-H', 'ETenms-B5-V', 'EUC-H', 'EUC-V', 'Ext-H', 'Ext-RKSJ-H', 'Ext-RKSJ-V', 'Ext-V', 'GB-EUC-H', 'GB-EUC-V', 'GB-H', 'GB-V', 'GBK-EUC-H', 'GBK-EUC-V', 'GBK2K-H', 'GBK2K-V', 'GBKp-EUC-H', 'GBKp-EUC-V', 'GBT-EUC-H', 'GBT-EUC-V', 'GBT-H', 'GBT-V', 'GBTpc-EUC-H', 'GBTpc-EUC-V', 'GBpc-EUC-H', 'GBpc-EUC-V', 'H', 'HKdla-B5-H', 'HKdla-B5-V', 'HKdlb-B5-H', 'HKdlb-B5-V', 'HKgccs-B5-H', 'HKgccs-B5-V', 'HKm314-B5-H', 'HKm314-B5-V', 'HKm471-B5-H', 'HKm471-B5-V', 'HKscs-B5-H', 'HKscs-B5-V', 'Hankaku', 'Hiragana', 'KSC-EUC-H', 'KSC-EUC-V', 'KSC-H', 'KSC-Johab-H', 'KSC-Johab-V', 'KSC-V', 'KSCms-UHC-H', 'KSCms-UHC-HW-H', 'KSCms-UHC-HW-V', 'KSCms-UHC-V', 'KSCpc-EUC-H', 'KSCpc-EUC-V', 'Katakana', 'NWP-H', 'NWP-V', 'RKSJ-H', 'RKSJ-V', 'Roman', 'UniCNS-UCS2-H', 'UniCNS-UCS2-V', 'UniCNS-UTF16-H', 'UniCNS-UTF16-V', 'UniCNS-UTF32-H', 'UniCNS-UTF32-V', 'UniCNS-UTF8-H', 'UniCNS-UTF8-V', 'UniGB-UCS2-H', 'UniGB-UCS2-V', 'UniGB-UTF16-H', 'UniGB-UTF16-V', 'UniGB-UTF32-H', 'UniGB-UTF32-V', 'UniGB-UTF8-H', 'UniGB-UTF8-V', 'UniJIS-UCS2-H', 'UniJIS-UCS2-HW-H', 'UniJIS-UCS2-HW-V', 'UniJIS-UCS2-V', 'UniJIS-UTF16-H', 'UniJIS-UTF16-V', 'UniJIS-UTF32-H', 'UniJIS-UTF32-V', 'UniJIS-UTF8-H', 'UniJIS-UTF8-V', 'UniJIS2004-UTF16-H', 'UniJIS2004-UTF16-V', 'UniJIS2004-UTF32-H', 'UniJIS2004-UTF32-V', 'UniJIS2004-UTF8-H', 'UniJIS2004-UTF8-V', 'UniJISPro-UCS2-HW-V', 'UniJISPro-UCS2-V', 'UniJISPro-UTF8-V', 'UniJISX0213-UTF32-H', 'UniJISX0213-UTF32-V', 'UniJISX02132004-UTF32-H', 'UniJISX02132004-UTF32-V', 'UniKS-UCS2-H', 'UniKS-UCS2-V', 'UniKS-UTF16-H', 'UniKS-UTF16-V', 'UniKS-UTF32-H', 'UniKS-UTF32-V', 'UniKS-UTF8-H', 'UniKS-UTF8-V', 'V', 'WP-Symbol'];\n\nvar CMap =\n/*#__PURE__*/\nfunction () {\n function CMap() {\n var builtInCMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n _classCallCheck(this, CMap);\n\n this.codespaceRanges = [[], [], [], []];\n this.numCodespaceRanges = 0;\n this._map = [];\n this.name = '';\n this.vertical = false;\n this.useCMap = null;\n this.builtInCMap = builtInCMap;\n }\n\n _createClass(CMap, [{\n key: \"addCodespaceRange\",\n value: function addCodespaceRange(n, low, high) {\n this.codespaceRanges[n - 1].push(low, high);\n this.numCodespaceRanges++;\n }\n }, {\n key: \"mapCidRange\",\n value: function mapCidRange(low, high, dstLow) {\n while (low <= high) {\n this._map[low++] = dstLow++;\n }\n }\n }, {\n key: \"mapBfRange\",\n value: function mapBfRange(low, high, dstLow) {\n var lastByte = dstLow.length - 1;\n\n while (low <= high) {\n this._map[low++] = dstLow;\n dstLow = dstLow.substring(0, lastByte) + String.fromCharCode(dstLow.charCodeAt(lastByte) + 1);\n }\n }\n }, {\n key: \"mapBfRangeToArray\",\n value: function mapBfRangeToArray(low, high, array) {\n var i = 0,\n ii = array.length;\n\n while (low <= high && i < ii) {\n this._map[low] = array[i++];\n ++low;\n }\n }\n }, {\n key: \"mapOne\",\n value: function mapOne(src, dst) {\n this._map[src] = dst;\n }\n }, {\n key: \"lookup\",\n value: function lookup(code) {\n return this._map[code];\n }\n }, {\n key: \"contains\",\n value: function contains(code) {\n return this._map[code] !== undefined;\n }\n }, {\n key: \"forEach\",\n value: function forEach(callback) {\n var map = this._map;\n var length = map.length;\n\n if (length <= 0x10000) {\n for (var i = 0; i < length; i++) {\n if (map[i] !== undefined) {\n callback(i, map[i]);\n }\n }\n } else {\n for (var _i in map) {\n callback(_i, map[_i]);\n }\n }\n }\n }, {\n key: \"charCodeOf\",\n value: function charCodeOf(value) {\n var map = this._map;\n\n if (map.length <= 0x10000) {\n return map.indexOf(value);\n }\n\n for (var charCode in map) {\n if (map[charCode] === value) {\n return charCode | 0;\n }\n }\n\n return -1;\n }\n }, {\n key: \"getMap\",\n value: function getMap() {\n return this._map;\n }\n }, {\n key: \"readCharCode\",\n value: function readCharCode(str, offset, out) {\n var c = 0;\n var codespaceRanges = this.codespaceRanges;\n\n for (var n = 0, nn = codespaceRanges.length; n < nn; n++) {\n c = (c << 8 | str.charCodeAt(offset + n)) >>> 0;\n var codespaceRange = codespaceRanges[n];\n\n for (var k = 0, kk = codespaceRange.length; k < kk;) {\n var low = codespaceRange[k++];\n var high = codespaceRange[k++];\n\n if (c >= low && c <= high) {\n out.charcode = c;\n out.length = n + 1;\n return;\n }\n }\n }\n\n out.charcode = 0;\n out.length = 1;\n }\n }, {\n key: \"length\",\n get: function get() {\n return this._map.length;\n }\n }, {\n key: \"isIdentityCMap\",\n get: function get() {\n if (!(this.name === 'Identity-H' || this.name === 'Identity-V')) {\n return false;\n }\n\n if (this._map.length !== 0x10000) {\n return false;\n }\n\n for (var i = 0; i < 0x10000; i++) {\n if (this._map[i] !== i) {\n return false;\n }\n }\n\n return true;\n }\n }]);\n\n return CMap;\n}();\n\nexports.CMap = CMap;\n\nvar IdentityCMap =\n/*#__PURE__*/\nfunction (_CMap) {\n _inherits(IdentityCMap, _CMap);\n\n function IdentityCMap(vertical, n) {\n var _this;\n\n _classCallCheck(this, IdentityCMap);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(IdentityCMap).call(this));\n _this.vertical = vertical;\n\n _this.addCodespaceRange(n, 0, 0xffff);\n\n return _this;\n }\n\n _createClass(IdentityCMap, [{\n key: \"mapCidRange\",\n value: function mapCidRange(low, high, dstLow) {\n (0, _util.unreachable)('should not call mapCidRange');\n }\n }, {\n key: \"mapBfRange\",\n value: function mapBfRange(low, high, dstLow) {\n (0, _util.unreachable)('should not call mapBfRange');\n }\n }, {\n key: \"mapBfRangeToArray\",\n value: function mapBfRangeToArray(low, high, array) {\n (0, _util.unreachable)('should not call mapBfRangeToArray');\n }\n }, {\n key: \"mapOne\",\n value: function mapOne(src, dst) {\n (0, _util.unreachable)('should not call mapCidOne');\n }\n }, {\n key: \"lookup\",\n value: function lookup(code) {\n return Number.isInteger(code) && code <= 0xffff ? code : undefined;\n }\n }, {\n key: \"contains\",\n value: function contains(code) {\n return Number.isInteger(code) && code <= 0xffff;\n }\n }, {\n key: \"forEach\",\n value: function forEach(callback) {\n for (var i = 0; i <= 0xffff; i++) {\n callback(i, i);\n }\n }\n }, {\n key: \"charCodeOf\",\n value: function charCodeOf(value) {\n return Number.isInteger(value) && value <= 0xffff ? value : -1;\n }\n }, {\n key: \"getMap\",\n value: function getMap() {\n var map = new Array(0x10000);\n\n for (var i = 0; i <= 0xffff; i++) {\n map[i] = i;\n }\n\n return map;\n }\n }, {\n key: \"length\",\n get: function get() {\n return 0x10000;\n }\n }, {\n key: \"isIdentityCMap\",\n get: function get() {\n (0, _util.unreachable)('should not access .isIdentityCMap');\n }\n }]);\n\n return IdentityCMap;\n}(CMap);\n\nexports.IdentityCMap = IdentityCMap;\n\nvar BinaryCMapReader = function BinaryCMapReaderClosure() {\n function hexToInt(a, size) {\n var n = 0;\n\n for (var i = 0; i <= size; i++) {\n n = n << 8 | a[i];\n }\n\n return n >>> 0;\n }\n\n function hexToStr(a, size) {\n if (size === 1) {\n return String.fromCharCode(a[0], a[1]);\n }\n\n if (size === 3) {\n return String.fromCharCode(a[0], a[1], a[2], a[3]);\n }\n\n return String.fromCharCode.apply(null, a.subarray(0, size + 1));\n }\n\n function addHex(a, b, size) {\n var c = 0;\n\n for (var i = size; i >= 0; i--) {\n c += a[i] + b[i];\n a[i] = c & 255;\n c >>= 8;\n }\n }\n\n function incHex(a, size) {\n var c = 1;\n\n for (var i = size; i >= 0 && c > 0; i--) {\n c += a[i];\n a[i] = c & 255;\n c >>= 8;\n }\n }\n\n var MAX_NUM_SIZE = 16;\n var MAX_ENCODED_NUM_SIZE = 19;\n\n function BinaryCMapStream(data) {\n this.buffer = data;\n this.pos = 0;\n this.end = data.length;\n this.tmpBuf = new Uint8Array(MAX_ENCODED_NUM_SIZE);\n }\n\n BinaryCMapStream.prototype = {\n readByte: function readByte() {\n if (this.pos >= this.end) {\n return -1;\n }\n\n return this.buffer[this.pos++];\n },\n readNumber: function readNumber() {\n var n = 0;\n var last;\n\n do {\n var b = this.readByte();\n\n if (b < 0) {\n throw new _util.FormatError('unexpected EOF in bcmap');\n }\n\n last = !(b & 0x80);\n n = n << 7 | b & 0x7F;\n } while (!last);\n\n return n;\n },\n readSigned: function readSigned() {\n var n = this.readNumber();\n return n & 1 ? ~(n >>> 1) : n >>> 1;\n },\n readHex: function readHex(num, size) {\n num.set(this.buffer.subarray(this.pos, this.pos + size + 1));\n this.pos += size + 1;\n },\n readHexNumber: function readHexNumber(num, size) {\n var last;\n var stack = this.tmpBuf,\n sp = 0;\n\n do {\n var b = this.readByte();\n\n if (b < 0) {\n throw new _util.FormatError('unexpected EOF in bcmap');\n }\n\n last = !(b & 0x80);\n stack[sp++] = b & 0x7F;\n } while (!last);\n\n var i = size,\n buffer = 0,\n bufferSize = 0;\n\n while (i >= 0) {\n while (bufferSize < 8 && stack.length > 0) {\n buffer = stack[--sp] << bufferSize | buffer;\n bufferSize += 7;\n }\n\n num[i] = buffer & 255;\n i--;\n buffer >>= 8;\n bufferSize -= 8;\n }\n },\n readHexSigned: function readHexSigned(num, size) {\n this.readHexNumber(num, size);\n var sign = num[size] & 1 ? 255 : 0;\n var c = 0;\n\n for (var i = 0; i <= size; i++) {\n c = (c & 1) << 8 | num[i];\n num[i] = c >> 1 ^ sign;\n }\n },\n readString: function readString() {\n var len = this.readNumber();\n var s = '';\n\n for (var i = 0; i < len; i++) {\n s += String.fromCharCode(this.readNumber());\n }\n\n return s;\n }\n };\n\n function processBinaryCMap(data, cMap, extend) {\n return new Promise(function (resolve, reject) {\n var stream = new BinaryCMapStream(data);\n var header = stream.readByte();\n cMap.vertical = !!(header & 1);\n var useCMap = null;\n var start = new Uint8Array(MAX_NUM_SIZE);\n var end = new Uint8Array(MAX_NUM_SIZE);\n\n var _char = new Uint8Array(MAX_NUM_SIZE);\n\n var charCode = new Uint8Array(MAX_NUM_SIZE);\n var tmp = new Uint8Array(MAX_NUM_SIZE);\n var code;\n var b;\n\n while ((b = stream.readByte()) >= 0) {\n var type = b >> 5;\n\n if (type === 7) {\n switch (b & 0x1F) {\n case 0:\n stream.readString();\n break;\n\n case 1:\n useCMap = stream.readString();\n break;\n }\n\n continue;\n }\n\n var sequence = !!(b & 0x10);\n var dataSize = b & 15;\n\n if (dataSize + 1 > MAX_NUM_SIZE) {\n throw new Error('processBinaryCMap: Invalid dataSize.');\n }\n\n var ucs2DataSize = 1;\n var subitemsCount = stream.readNumber();\n var i;\n\n switch (type) {\n case 0:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));\n }\n\n break;\n\n case 1:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n stream.readNumber();\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n stream.readNumber();\n }\n\n break;\n\n case 2:\n stream.readHex(_char, dataSize);\n code = stream.readNumber();\n cMap.mapOne(hexToInt(_char, dataSize), code);\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(_char, dataSize);\n\n if (!sequence) {\n stream.readHexNumber(tmp, dataSize);\n addHex(_char, tmp, dataSize);\n }\n\n code = stream.readSigned() + (code + 1);\n cMap.mapOne(hexToInt(_char, dataSize), code);\n }\n\n break;\n\n case 3:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n code = stream.readNumber();\n cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n\n if (!sequence) {\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n } else {\n start.set(end);\n }\n\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n code = stream.readNumber();\n cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);\n }\n\n break;\n\n case 4:\n stream.readHex(_char, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapOne(hexToInt(_char, ucs2DataSize), hexToStr(charCode, dataSize));\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(_char, ucs2DataSize);\n\n if (!sequence) {\n stream.readHexNumber(tmp, ucs2DataSize);\n addHex(_char, tmp, ucs2DataSize);\n }\n\n incHex(charCode, dataSize);\n stream.readHexSigned(tmp, dataSize);\n addHex(charCode, tmp, dataSize);\n cMap.mapOne(hexToInt(_char, ucs2DataSize), hexToStr(charCode, dataSize));\n }\n\n break;\n\n case 5:\n stream.readHex(start, ucs2DataSize);\n stream.readHexNumber(end, ucs2DataSize);\n addHex(end, start, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, ucs2DataSize);\n\n if (!sequence) {\n stream.readHexNumber(start, ucs2DataSize);\n addHex(start, end, ucs2DataSize);\n } else {\n start.set(end);\n }\n\n stream.readHexNumber(end, ucs2DataSize);\n addHex(end, start, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));\n }\n\n break;\n\n default:\n reject(new Error('processBinaryCMap: Unknown type: ' + type));\n return;\n }\n }\n\n if (useCMap) {\n resolve(extend(useCMap));\n return;\n }\n\n resolve(cMap);\n });\n }\n\n function BinaryCMapReader() {}\n\n BinaryCMapReader.prototype = {\n process: processBinaryCMap\n };\n return BinaryCMapReader;\n}();\n\nvar CMapFactory = function CMapFactoryClosure() {\n function strToInt(str) {\n var a = 0;\n\n for (var i = 0; i < str.length; i++) {\n a = a << 8 | str.charCodeAt(i);\n }\n\n return a >>> 0;\n }\n\n function expectString(obj) {\n if (!(0, _util.isString)(obj)) {\n throw new _util.FormatError('Malformed CMap: expected string.');\n }\n }\n\n function expectInt(obj) {\n if (!Number.isInteger(obj)) {\n throw new _util.FormatError('Malformed CMap: expected int.');\n }\n }\n\n function parseBfChar(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, 'endbfchar')) {\n return;\n }\n\n expectString(obj);\n var src = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n var dst = obj;\n cMap.mapOne(src, dst);\n }\n }\n\n function parseBfRange(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, 'endbfrange')) {\n return;\n }\n\n expectString(obj);\n var low = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n var high = strToInt(obj);\n obj = lexer.getObj();\n\n if (Number.isInteger(obj) || (0, _util.isString)(obj)) {\n var dstLow = Number.isInteger(obj) ? String.fromCharCode(obj) : obj;\n cMap.mapBfRange(low, high, dstLow);\n } else if ((0, _primitives.isCmd)(obj, '[')) {\n obj = lexer.getObj();\n var array = [];\n\n while (!(0, _primitives.isCmd)(obj, ']') && !(0, _primitives.isEOF)(obj)) {\n array.push(obj);\n obj = lexer.getObj();\n }\n\n cMap.mapBfRangeToArray(low, high, array);\n } else {\n break;\n }\n }\n\n throw new _util.FormatError('Invalid bf range.');\n }\n\n function parseCidChar(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, 'endcidchar')) {\n return;\n }\n\n expectString(obj);\n var src = strToInt(obj);\n obj = lexer.getObj();\n expectInt(obj);\n var dst = obj;\n cMap.mapOne(src, dst);\n }\n }\n\n function parseCidRange(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, 'endcidrange')) {\n return;\n }\n\n expectString(obj);\n var low = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n var high = strToInt(obj);\n obj = lexer.getObj();\n expectInt(obj);\n var dstLow = obj;\n cMap.mapCidRange(low, high, dstLow);\n }\n }\n\n function parseCodespaceRange(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, 'endcodespacerange')) {\n return;\n }\n\n if (!(0, _util.isString)(obj)) {\n break;\n }\n\n var low = strToInt(obj);\n obj = lexer.getObj();\n\n if (!(0, _util.isString)(obj)) {\n break;\n }\n\n var high = strToInt(obj);\n cMap.addCodespaceRange(obj.length, low, high);\n }\n\n throw new _util.FormatError('Invalid codespace range.');\n }\n\n function parseWMode(cMap, lexer) {\n var obj = lexer.getObj();\n\n if (Number.isInteger(obj)) {\n cMap.vertical = !!obj;\n }\n }\n\n function parseCMapName(cMap, lexer) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isName)(obj) && (0, _util.isString)(obj.name)) {\n cMap.name = obj.name;\n }\n }\n\n function parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap) {\n var previous;\n var embeddedUseCMap;\n\n objLoop: while (true) {\n try {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n } else if ((0, _primitives.isName)(obj)) {\n if (obj.name === 'WMode') {\n parseWMode(cMap, lexer);\n } else if (obj.name === 'CMapName') {\n parseCMapName(cMap, lexer);\n }\n\n previous = obj;\n } else if ((0, _primitives.isCmd)(obj)) {\n switch (obj.cmd) {\n case 'endcmap':\n break objLoop;\n\n case 'usecmap':\n if ((0, _primitives.isName)(previous)) {\n embeddedUseCMap = previous.name;\n }\n\n break;\n\n case 'begincodespacerange':\n parseCodespaceRange(cMap, lexer);\n break;\n\n case 'beginbfchar':\n parseBfChar(cMap, lexer);\n break;\n\n case 'begincidchar':\n parseCidChar(cMap, lexer);\n break;\n\n case 'beginbfrange':\n parseBfRange(cMap, lexer);\n break;\n\n case 'begincidrange':\n parseCidRange(cMap, lexer);\n break;\n }\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)('Invalid cMap data: ' + ex);\n continue;\n }\n }\n\n if (!useCMap && embeddedUseCMap) {\n useCMap = embeddedUseCMap;\n }\n\n if (useCMap) {\n return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n }\n\n return Promise.resolve(cMap);\n }\n\n function extendCMap(cMap, fetchBuiltInCMap, useCMap) {\n return createBuiltInCMap(useCMap, fetchBuiltInCMap).then(function (newCMap) {\n cMap.useCMap = newCMap;\n\n if (cMap.numCodespaceRanges === 0) {\n var useCodespaceRanges = cMap.useCMap.codespaceRanges;\n\n for (var i = 0; i < useCodespaceRanges.length; i++) {\n cMap.codespaceRanges[i] = useCodespaceRanges[i].slice();\n }\n\n cMap.numCodespaceRanges = cMap.useCMap.numCodespaceRanges;\n }\n\n cMap.useCMap.forEach(function (key, value) {\n if (!cMap.contains(key)) {\n cMap.mapOne(key, cMap.useCMap.lookup(key));\n }\n });\n return cMap;\n });\n }\n\n function createBuiltInCMap(name, fetchBuiltInCMap) {\n if (name === 'Identity-H') {\n return Promise.resolve(new IdentityCMap(false, 2));\n } else if (name === 'Identity-V') {\n return Promise.resolve(new IdentityCMap(true, 2));\n }\n\n if (!BUILT_IN_CMAPS.includes(name)) {\n return Promise.reject(new Error('Unknown CMap name: ' + name));\n }\n\n if (!fetchBuiltInCMap) {\n return Promise.reject(new Error('Built-in CMap parameters are not provided.'));\n }\n\n return fetchBuiltInCMap(name).then(function (data) {\n var cMapData = data.cMapData,\n compressionType = data.compressionType;\n var cMap = new CMap(true);\n\n if (compressionType === _util.CMapCompressionType.BINARY) {\n return new BinaryCMapReader().process(cMapData, cMap, function (useCMap) {\n return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n });\n }\n\n if (compressionType === _util.CMapCompressionType.NONE) {\n var lexer = new _parser.Lexer(new _stream.Stream(cMapData));\n return parseCMap(cMap, lexer, fetchBuiltInCMap, null);\n }\n\n return Promise.reject(new Error('TODO: Only BINARY/NONE CMap compression is currently supported.'));\n });\n }\n\n return {\n create: function create(params) {\n var encoding = params.encoding;\n var fetchBuiltInCMap = params.fetchBuiltInCMap;\n var useCMap = params.useCMap;\n\n if ((0, _primitives.isName)(encoding)) {\n return createBuiltInCMap(encoding.name, fetchBuiltInCMap);\n } else if ((0, _primitives.isStream)(encoding)) {\n var cMap = new CMap();\n var lexer = new _parser.Lexer(encoding);\n return parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap).then(function (parsedCMap) {\n if (parsedCMap.isIdentityCMap) {\n return createBuiltInCMap(parsedCMap.name, fetchBuiltInCMap);\n }\n\n return parsedCMap;\n });\n }\n\n return Promise.reject(new Error('Encoding required.'));\n }\n };\n}();\n\nexports.CMapFactory = CMapFactory;\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFontType = getFontType;\nexports.IdentityToUnicodeMap = exports.ToUnicodeMap = exports.FontFlags = exports.Font = exports.ErrorFont = exports.SEAC_ANALYSIS_ENABLED = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _cff_parser = __w_pdfjs_require__(175);\n\nvar _glyphlist = __w_pdfjs_require__(178);\n\nvar _encodings = __w_pdfjs_require__(177);\n\nvar _standard_fonts = __w_pdfjs_require__(179);\n\nvar _unicode = __w_pdfjs_require__(180);\n\nvar _font_renderer = __w_pdfjs_require__(181);\n\nvar _cmap = __w_pdfjs_require__(173);\n\nvar _core_utils = __w_pdfjs_require__(154);\n\nvar _stream = __w_pdfjs_require__(158);\n\nvar _type1_parser = __w_pdfjs_require__(182);\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar PRIVATE_USE_AREAS = [[0xE000, 0xF8FF], [0x100000, 0x10FFFD]];\nvar PDF_GLYPH_SPACE_UNITS = 1000;\nvar SEAC_ANALYSIS_ENABLED = true;\nexports.SEAC_ANALYSIS_ENABLED = SEAC_ANALYSIS_ENABLED;\nvar FontFlags = {\n FixedPitch: 1,\n Serif: 2,\n Symbolic: 4,\n Script: 8,\n Nonsymbolic: 32,\n Italic: 64,\n AllCap: 65536,\n SmallCap: 131072,\n ForceBold: 262144\n};\nexports.FontFlags = FontFlags;\nvar MacStandardGlyphOrdering = ['.notdef', '.null', 'nonmarkingreturn', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quotesingle', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'grave', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', 'Adieresis', 'Aring', 'Ccedilla', 'Eacute', 'Ntilde', 'Odieresis', 'Udieresis', 'aacute', 'agrave', 'acircumflex', 'adieresis', 'atilde', 'aring', 'ccedilla', 'eacute', 'egrave', 'ecircumflex', 'edieresis', 'iacute', 'igrave', 'icircumflex', 'idieresis', 'ntilde', 'oacute', 'ograve', 'ocircumflex', 'odieresis', 'otilde', 'uacute', 'ugrave', 'ucircumflex', 'udieresis', 'dagger', 'degree', 'cent', 'sterling', 'section', 'bullet', 'paragraph', 'germandbls', 'registered', 'copyright', 'trademark', 'acute', 'dieresis', 'notequal', 'AE', 'Oslash', 'infinity', 'plusminus', 'lessequal', 'greaterequal', 'yen', 'mu', 'partialdiff', 'summation', 'product', 'pi', 'integral', 'ordfeminine', 'ordmasculine', 'Omega', 'ae', 'oslash', 'questiondown', 'exclamdown', 'logicalnot', 'radical', 'florin', 'approxequal', 'Delta', 'guillemotleft', 'guillemotright', 'ellipsis', 'nonbreakingspace', 'Agrave', 'Atilde', 'Otilde', 'OE', 'oe', 'endash', 'emdash', 'quotedblleft', 'quotedblright', 'quoteleft', 'quoteright', 'divide', 'lozenge', 'ydieresis', 'Ydieresis', 'fraction', 'currency', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 'daggerdbl', 'periodcentered', 'quotesinglbase', 'quotedblbase', 'perthousand', 'Acircumflex', 'Ecircumflex', 'Aacute', 'Edieresis', 'Egrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Igrave', 'Oacute', 'Ocircumflex', 'apple', 'Ograve', 'Uacute', 'Ucircumflex', 'Ugrave', 'dotlessi', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'ring', 'cedilla', 'hungarumlaut', 'ogonek', 'caron', 'Lslash', 'lslash', 'Scaron', 'scaron', 'Zcaron', 'zcaron', 'brokenbar', 'Eth', 'eth', 'Yacute', 'yacute', 'Thorn', 'thorn', 'minus', 'multiply', 'onesuperior', 'twosuperior', 'threesuperior', 'onehalf', 'onequarter', 'threequarters', 'franc', 'Gbreve', 'gbreve', 'Idotaccent', 'Scedilla', 'scedilla', 'Cacute', 'cacute', 'Ccaron', 'ccaron', 'dcroat'];\n\nfunction adjustWidths(properties) {\n if (!properties.fontMatrix) {\n return;\n }\n\n if (properties.fontMatrix[0] === _util.FONT_IDENTITY_MATRIX[0]) {\n return;\n }\n\n var scale = 0.001 / properties.fontMatrix[0];\n var glyphsWidths = properties.widths;\n\n for (var glyph in glyphsWidths) {\n glyphsWidths[glyph] *= scale;\n }\n\n properties.defaultWidth *= scale;\n}\n\nfunction adjustToUnicode(properties, builtInEncoding) {\n if (properties.hasIncludedToUnicodeMap) {\n return;\n }\n\n if (properties.hasEncoding) {\n return;\n }\n\n if (builtInEncoding === properties.defaultEncoding) {\n return;\n }\n\n if (properties.toUnicode instanceof IdentityToUnicodeMap) {\n return;\n }\n\n var toUnicode = [],\n glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n for (var charCode in builtInEncoding) {\n var glyphName = builtInEncoding[charCode];\n var unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n toUnicode[charCode] = String.fromCharCode(unicode);\n }\n }\n\n properties.toUnicode.amend(toUnicode);\n}\n\nfunction getFontType(type, subtype) {\n switch (type) {\n case 'Type1':\n return subtype === 'Type1C' ? _util.FontType.TYPE1C : _util.FontType.TYPE1;\n\n case 'CIDFontType0':\n return subtype === 'CIDFontType0C' ? _util.FontType.CIDFONTTYPE0C : _util.FontType.CIDFONTTYPE0;\n\n case 'OpenType':\n return _util.FontType.OPENTYPE;\n\n case 'TrueType':\n return _util.FontType.TRUETYPE;\n\n case 'CIDFontType2':\n return _util.FontType.CIDFONTTYPE2;\n\n case 'MMType1':\n return _util.FontType.MMTYPE1;\n\n case 'Type0':\n return _util.FontType.TYPE0;\n\n default:\n return _util.FontType.UNKNOWN;\n }\n}\n\nfunction recoverGlyphName(name, glyphsUnicodeMap) {\n if (glyphsUnicodeMap[name] !== undefined) {\n return name;\n }\n\n var unicode = (0, _unicode.getUnicodeForGlyph)(name, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n for (var key in glyphsUnicodeMap) {\n if (glyphsUnicodeMap[key] === unicode) {\n return key;\n }\n }\n }\n\n (0, _util.info)('Unable to recover a standard glyph name for: ' + name);\n return name;\n}\n\nvar Glyph = function GlyphClosure() {\n function Glyph(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) {\n this.fontChar = fontChar;\n this.unicode = unicode;\n this.accent = accent;\n this.width = width;\n this.vmetric = vmetric;\n this.operatorListId = operatorListId;\n this.isSpace = isSpace;\n this.isInFont = isInFont;\n }\n\n Glyph.prototype.matchesForCache = function (fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) {\n return this.fontChar === fontChar && this.unicode === unicode && this.accent === accent && this.width === width && this.vmetric === vmetric && this.operatorListId === operatorListId && this.isSpace === isSpace && this.isInFont === isInFont;\n };\n\n return Glyph;\n}();\n\nvar ToUnicodeMap = function ToUnicodeMapClosure() {\n function ToUnicodeMap() {\n var cmap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n this._map = cmap;\n }\n\n ToUnicodeMap.prototype = {\n get length() {\n return this._map.length;\n },\n\n forEach: function forEach(callback) {\n for (var charCode in this._map) {\n callback(charCode, this._map[charCode].charCodeAt(0));\n }\n },\n has: function has(i) {\n return this._map[i] !== undefined;\n },\n get: function get(i) {\n return this._map[i];\n },\n charCodeOf: function charCodeOf(value) {\n var map = this._map;\n\n if (map.length <= 0x10000) {\n return map.indexOf(value);\n }\n\n for (var charCode in map) {\n if (map[charCode] === value) {\n return charCode | 0;\n }\n }\n\n return -1;\n },\n amend: function amend(map) {\n for (var charCode in map) {\n this._map[charCode] = map[charCode];\n }\n }\n };\n return ToUnicodeMap;\n}();\n\nexports.ToUnicodeMap = ToUnicodeMap;\n\nvar IdentityToUnicodeMap = function IdentityToUnicodeMapClosure() {\n function IdentityToUnicodeMap(firstChar, lastChar) {\n this.firstChar = firstChar;\n this.lastChar = lastChar;\n }\n\n IdentityToUnicodeMap.prototype = {\n get length() {\n return this.lastChar + 1 - this.firstChar;\n },\n\n forEach: function forEach(callback) {\n for (var i = this.firstChar, ii = this.lastChar; i <= ii; i++) {\n callback(i, i);\n }\n },\n has: function has(i) {\n return this.firstChar <= i && i <= this.lastChar;\n },\n get: function get(i) {\n if (this.firstChar <= i && i <= this.lastChar) {\n return String.fromCharCode(i);\n }\n\n return undefined;\n },\n charCodeOf: function charCodeOf(v) {\n return Number.isInteger(v) && v >= this.firstChar && v <= this.lastChar ? v : -1;\n },\n amend: function amend(map) {\n (0, _util.unreachable)('Should not call amend()');\n }\n };\n return IdentityToUnicodeMap;\n}();\n\nexports.IdentityToUnicodeMap = IdentityToUnicodeMap;\n\nvar OpenTypeFileBuilder = function OpenTypeFileBuilderClosure() {\n function writeInt16(dest, offset, num) {\n dest[offset] = num >> 8 & 0xFF;\n dest[offset + 1] = num & 0xFF;\n }\n\n function writeInt32(dest, offset, num) {\n dest[offset] = num >> 24 & 0xFF;\n dest[offset + 1] = num >> 16 & 0xFF;\n dest[offset + 2] = num >> 8 & 0xFF;\n dest[offset + 3] = num & 0xFF;\n }\n\n function writeData(dest, offset, data) {\n var i, ii;\n\n if (data instanceof Uint8Array) {\n dest.set(data, offset);\n } else if (typeof data === 'string') {\n for (i = 0, ii = data.length; i < ii; i++) {\n dest[offset++] = data.charCodeAt(i) & 0xFF;\n }\n } else {\n for (i = 0, ii = data.length; i < ii; i++) {\n dest[offset++] = data[i] & 0xFF;\n }\n }\n }\n\n function OpenTypeFileBuilder(sfnt) {\n this.sfnt = sfnt;\n this.tables = Object.create(null);\n }\n\n OpenTypeFileBuilder.getSearchParams = function OpenTypeFileBuilder_getSearchParams(entriesCount, entrySize) {\n var maxPower2 = 1,\n log2 = 0;\n\n while ((maxPower2 ^ entriesCount) > maxPower2) {\n maxPower2 <<= 1;\n log2++;\n }\n\n var searchRange = maxPower2 * entrySize;\n return {\n range: searchRange,\n entry: log2,\n rangeShift: entrySize * entriesCount - searchRange\n };\n };\n\n var OTF_HEADER_SIZE = 12;\n var OTF_TABLE_ENTRY_SIZE = 16;\n OpenTypeFileBuilder.prototype = {\n toArray: function OpenTypeFileBuilder_toArray() {\n var sfnt = this.sfnt;\n var tables = this.tables;\n var tablesNames = Object.keys(tables);\n tablesNames.sort();\n var numTables = tablesNames.length;\n var i, j, jj, table, tableName;\n var offset = OTF_HEADER_SIZE + numTables * OTF_TABLE_ENTRY_SIZE;\n var tableOffsets = [offset];\n\n for (i = 0; i < numTables; i++) {\n table = tables[tablesNames[i]];\n var paddedLength = (table.length + 3 & ~3) >>> 0;\n offset += paddedLength;\n tableOffsets.push(offset);\n }\n\n var file = new Uint8Array(offset);\n\n for (i = 0; i < numTables; i++) {\n table = tables[tablesNames[i]];\n writeData(file, tableOffsets[i], table);\n }\n\n if (sfnt === 'true') {\n sfnt = (0, _util.string32)(0x00010000);\n }\n\n file[0] = sfnt.charCodeAt(0) & 0xFF;\n file[1] = sfnt.charCodeAt(1) & 0xFF;\n file[2] = sfnt.charCodeAt(2) & 0xFF;\n file[3] = sfnt.charCodeAt(3) & 0xFF;\n writeInt16(file, 4, numTables);\n var searchParams = OpenTypeFileBuilder.getSearchParams(numTables, 16);\n writeInt16(file, 6, searchParams.range);\n writeInt16(file, 8, searchParams.entry);\n writeInt16(file, 10, searchParams.rangeShift);\n offset = OTF_HEADER_SIZE;\n\n for (i = 0; i < numTables; i++) {\n tableName = tablesNames[i];\n file[offset] = tableName.charCodeAt(0) & 0xFF;\n file[offset + 1] = tableName.charCodeAt(1) & 0xFF;\n file[offset + 2] = tableName.charCodeAt(2) & 0xFF;\n file[offset + 3] = tableName.charCodeAt(3) & 0xFF;\n var checksum = 0;\n\n for (j = tableOffsets[i], jj = tableOffsets[i + 1]; j < jj; j += 4) {\n var quad = (0, _util.readUint32)(file, j);\n checksum = checksum + quad >>> 0;\n }\n\n writeInt32(file, offset + 4, checksum);\n writeInt32(file, offset + 8, tableOffsets[i]);\n writeInt32(file, offset + 12, tables[tableName].length);\n offset += OTF_TABLE_ENTRY_SIZE;\n }\n\n return file;\n },\n addTable: function OpenTypeFileBuilder_addTable(tag, data) {\n if (tag in this.tables) {\n throw new Error('Table ' + tag + ' already exists');\n }\n\n this.tables[tag] = data;\n }\n };\n return OpenTypeFileBuilder;\n}();\n\nvar Font = function FontClosure() {\n function Font(name, file, properties) {\n var charCode;\n this.name = name;\n this.loadedName = properties.loadedName;\n this.isType3Font = properties.isType3Font;\n this.sizes = [];\n this.missingFile = false;\n this.glyphCache = Object.create(null);\n this.isSerifFont = !!(properties.flags & FontFlags.Serif);\n this.isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);\n this.isMonospace = !!(properties.flags & FontFlags.FixedPitch);\n var type = properties.type;\n var subtype = properties.subtype;\n this.type = type;\n this.subtype = subtype;\n this.fallbackName = this.isMonospace ? 'monospace' : this.isSerifFont ? 'serif' : 'sans-serif';\n this.differences = properties.differences;\n this.widths = properties.widths;\n this.defaultWidth = properties.defaultWidth;\n this.composite = properties.composite;\n this.wideChars = properties.wideChars;\n this.cMap = properties.cMap;\n this.ascent = properties.ascent / PDF_GLYPH_SPACE_UNITS;\n this.descent = properties.descent / PDF_GLYPH_SPACE_UNITS;\n this.fontMatrix = properties.fontMatrix;\n this.bbox = properties.bbox;\n this.defaultEncoding = properties.defaultEncoding;\n this.toUnicode = properties.toUnicode;\n this.fallbackToUnicode = properties.fallbackToUnicode || new ToUnicodeMap();\n this.toFontChar = [];\n\n if (properties.type === 'Type3') {\n for (charCode = 0; charCode < 256; charCode++) {\n this.toFontChar[charCode] = this.differences[charCode] || properties.defaultEncoding[charCode];\n }\n\n this.fontType = _util.FontType.TYPE3;\n return;\n }\n\n this.cidEncoding = properties.cidEncoding;\n this.vertical = properties.vertical;\n\n if (this.vertical) {\n this.vmetrics = properties.vmetrics;\n this.defaultVMetrics = properties.defaultVMetrics;\n }\n\n if (!file || file.isEmpty) {\n if (file) {\n (0, _util.warn)('Font file is empty in \"' + name + '\" (' + this.loadedName + ')');\n }\n\n this.fallbackToSystemFont();\n return;\n }\n\n var _getFontFileType = getFontFileType(file, properties);\n\n var _getFontFileType2 = _slicedToArray(_getFontFileType, 2);\n\n type = _getFontFileType2[0];\n subtype = _getFontFileType2[1];\n\n if (type !== this.type || subtype !== this.subtype) {\n (0, _util.info)('Inconsistent font file Type/SubType, expected: ' + \"\".concat(this.type, \"/\").concat(this.subtype, \" but found: \").concat(type, \"/\").concat(subtype, \".\"));\n }\n\n try {\n var data;\n\n switch (type) {\n case 'MMType1':\n (0, _util.info)('MMType1 font (' + name + '), falling back to Type1.');\n\n case 'Type1':\n case 'CIDFontType0':\n this.mimetype = 'font/opentype';\n var cff = subtype === 'Type1C' || subtype === 'CIDFontType0C' ? new CFFFont(file, properties) : new Type1Font(name, file, properties);\n adjustWidths(properties);\n data = this.convert(name, cff, properties);\n break;\n\n case 'OpenType':\n case 'TrueType':\n case 'CIDFontType2':\n this.mimetype = 'font/opentype';\n data = this.checkAndRepair(name, file, properties);\n\n if (this.isOpenType) {\n adjustWidths(properties);\n type = 'OpenType';\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Font \".concat(type, \" is not supported\"));\n }\n } catch (e) {\n (0, _util.warn)(e);\n this.fallbackToSystemFont();\n return;\n }\n\n this.data = data;\n this.fontType = getFontType(type, subtype);\n this.fontMatrix = properties.fontMatrix;\n this.widths = properties.widths;\n this.defaultWidth = properties.defaultWidth;\n this.toUnicode = properties.toUnicode;\n this.encoding = properties.baseEncoding;\n this.seacMap = properties.seacMap;\n }\n\n Font.getFontID = function () {\n var ID = 1;\n return function Font_getFontID() {\n return String(ID++);\n };\n }();\n\n function int16(b0, b1) {\n return (b0 << 8) + b1;\n }\n\n function writeSignedInt16(bytes, index, value) {\n bytes[index + 1] = value;\n bytes[index] = value >>> 8;\n }\n\n function signedInt16(b0, b1) {\n var value = (b0 << 8) + b1;\n return value & 1 << 15 ? value - 0x10000 : value;\n }\n\n function int32(b0, b1, b2, b3) {\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n }\n\n function string16(value) {\n return String.fromCharCode(value >> 8 & 0xff, value & 0xff);\n }\n\n function safeString16(value) {\n value = value > 0x7FFF ? 0x7FFF : value < -0x8000 ? -0x8000 : value;\n return String.fromCharCode(value >> 8 & 0xff, value & 0xff);\n }\n\n function isTrueTypeFile(file) {\n var header = file.peekBytes(4);\n return (0, _util.readUint32)(header, 0) === 0x00010000 || (0, _util.bytesToString)(header) === 'true';\n }\n\n function isTrueTypeCollectionFile(file) {\n var header = file.peekBytes(4);\n return (0, _util.bytesToString)(header) === 'ttcf';\n }\n\n function isOpenTypeFile(file) {\n var header = file.peekBytes(4);\n return (0, _util.bytesToString)(header) === 'OTTO';\n }\n\n function isType1File(file) {\n var header = file.peekBytes(2);\n\n if (header[0] === 0x25 && header[1] === 0x21) {\n return true;\n }\n\n if (header[0] === 0x80 && header[1] === 0x01) {\n return true;\n }\n\n return false;\n }\n\n function isCFFFile(file) {\n var header = file.peekBytes(4);\n\n if (header[0] >= 1 && header[3] >= 1 && header[3] <= 4) {\n return true;\n }\n\n return false;\n }\n\n function getFontFileType(file, _ref) {\n var type = _ref.type,\n subtype = _ref.subtype,\n composite = _ref.composite;\n var fileType, fileSubtype;\n\n if (isTrueTypeFile(file) || isTrueTypeCollectionFile(file)) {\n if (composite) {\n fileType = 'CIDFontType2';\n } else {\n fileType = 'TrueType';\n }\n } else if (isOpenTypeFile(file)) {\n if (composite) {\n fileType = 'CIDFontType2';\n } else {\n fileType = 'OpenType';\n }\n } else if (isType1File(file)) {\n if (composite) {\n fileType = 'CIDFontType0';\n } else {\n fileType = type === 'MMType1' ? 'MMType1' : 'Type1';\n }\n } else if (isCFFFile(file)) {\n if (composite) {\n fileType = 'CIDFontType0';\n fileSubtype = 'CIDFontType0C';\n } else {\n fileType = type === 'MMType1' ? 'MMType1' : 'Type1';\n fileSubtype = 'Type1C';\n }\n } else {\n (0, _util.warn)('getFontFileType: Unable to detect correct font file Type/Subtype.');\n fileType = type;\n fileSubtype = subtype;\n }\n\n return [fileType, fileSubtype];\n }\n\n function buildToFontChar(encoding, glyphsUnicodeMap, differences) {\n var toFontChar = [],\n unicode;\n\n for (var i = 0, ii = encoding.length; i < ii; i++) {\n unicode = (0, _unicode.getUnicodeForGlyph)(encoding[i], glyphsUnicodeMap);\n\n if (unicode !== -1) {\n toFontChar[i] = unicode;\n }\n }\n\n for (var charCode in differences) {\n unicode = (0, _unicode.getUnicodeForGlyph)(differences[charCode], glyphsUnicodeMap);\n\n if (unicode !== -1) {\n toFontChar[+charCode] = unicode;\n }\n }\n\n return toFontChar;\n }\n\n function adjustMapping(charCodeToGlyphId, hasGlyph, newGlyphZeroId) {\n var newMap = Object.create(null);\n var toFontChar = [];\n var privateUseAreaIndex = 0;\n var nextAvailableFontCharCode = PRIVATE_USE_AREAS[privateUseAreaIndex][0];\n var privateUseOffetEnd = PRIVATE_USE_AREAS[privateUseAreaIndex][1];\n\n for (var originalCharCode in charCodeToGlyphId) {\n originalCharCode |= 0;\n var glyphId = charCodeToGlyphId[originalCharCode];\n\n if (!hasGlyph(glyphId)) {\n continue;\n }\n\n if (nextAvailableFontCharCode > privateUseOffetEnd) {\n privateUseAreaIndex++;\n\n if (privateUseAreaIndex >= PRIVATE_USE_AREAS.length) {\n (0, _util.warn)('Ran out of space in font private use area.');\n break;\n }\n\n nextAvailableFontCharCode = PRIVATE_USE_AREAS[privateUseAreaIndex][0];\n privateUseOffetEnd = PRIVATE_USE_AREAS[privateUseAreaIndex][1];\n }\n\n var fontCharCode = nextAvailableFontCharCode++;\n\n if (glyphId === 0) {\n glyphId = newGlyphZeroId;\n }\n\n newMap[fontCharCode] = glyphId;\n toFontChar[originalCharCode] = fontCharCode;\n }\n\n return {\n toFontChar: toFontChar,\n charCodeToGlyphId: newMap,\n nextAvailableFontCharCode: nextAvailableFontCharCode\n };\n }\n\n function getRanges(glyphs, numGlyphs) {\n var codes = [];\n\n for (var charCode in glyphs) {\n if (glyphs[charCode] >= numGlyphs) {\n continue;\n }\n\n codes.push({\n fontCharCode: charCode | 0,\n glyphId: glyphs[charCode]\n });\n }\n\n if (codes.length === 0) {\n codes.push({\n fontCharCode: 0,\n glyphId: 0\n });\n }\n\n codes.sort(function fontGetRangesSort(a, b) {\n return a.fontCharCode - b.fontCharCode;\n });\n var ranges = [];\n var length = codes.length;\n\n for (var n = 0; n < length;) {\n var start = codes[n].fontCharCode;\n var codeIndices = [codes[n].glyphId];\n ++n;\n var end = start;\n\n while (n < length && end + 1 === codes[n].fontCharCode) {\n codeIndices.push(codes[n].glyphId);\n ++end;\n ++n;\n\n if (end === 0xFFFF) {\n break;\n }\n }\n\n ranges.push([start, end, codeIndices]);\n }\n\n return ranges;\n }\n\n function createCmapTable(glyphs, numGlyphs) {\n var ranges = getRanges(glyphs, numGlyphs);\n var numTables = ranges[ranges.length - 1][1] > 0xFFFF ? 2 : 1;\n var cmap = '\\x00\\x00' + string16(numTables) + '\\x00\\x03' + '\\x00\\x01' + (0, _util.string32)(4 + numTables * 8);\n var i, ii, j, jj;\n\n for (i = ranges.length - 1; i >= 0; --i) {\n if (ranges[i][0] <= 0xFFFF) {\n break;\n }\n }\n\n var bmpLength = i + 1;\n\n if (ranges[i][0] < 0xFFFF && ranges[i][1] === 0xFFFF) {\n ranges[i][1] = 0xFFFE;\n }\n\n var trailingRangesCount = ranges[i][1] < 0xFFFF ? 1 : 0;\n var segCount = bmpLength + trailingRangesCount;\n var searchParams = OpenTypeFileBuilder.getSearchParams(segCount, 2);\n var startCount = '';\n var endCount = '';\n var idDeltas = '';\n var idRangeOffsets = '';\n var glyphsIds = '';\n var bias = 0;\n var range, start, end, codes;\n\n for (i = 0, ii = bmpLength; i < ii; i++) {\n range = ranges[i];\n start = range[0];\n end = range[1];\n startCount += string16(start);\n endCount += string16(end);\n codes = range[2];\n var contiguous = true;\n\n for (j = 1, jj = codes.length; j < jj; ++j) {\n if (codes[j] !== codes[j - 1] + 1) {\n contiguous = false;\n break;\n }\n }\n\n if (!contiguous) {\n var offset = (segCount - i) * 2 + bias * 2;\n bias += end - start + 1;\n idDeltas += string16(0);\n idRangeOffsets += string16(offset);\n\n for (j = 0, jj = codes.length; j < jj; ++j) {\n glyphsIds += string16(codes[j]);\n }\n } else {\n var startCode = codes[0];\n idDeltas += string16(startCode - start & 0xFFFF);\n idRangeOffsets += string16(0);\n }\n }\n\n if (trailingRangesCount > 0) {\n endCount += '\\xFF\\xFF';\n startCount += '\\xFF\\xFF';\n idDeltas += '\\x00\\x01';\n idRangeOffsets += '\\x00\\x00';\n }\n\n var format314 = '\\x00\\x00' + string16(2 * segCount) + string16(searchParams.range) + string16(searchParams.entry) + string16(searchParams.rangeShift) + endCount + '\\x00\\x00' + startCount + idDeltas + idRangeOffsets + glyphsIds;\n var format31012 = '';\n var header31012 = '';\n\n if (numTables > 1) {\n cmap += '\\x00\\x03' + '\\x00\\x0A' + (0, _util.string32)(4 + numTables * 8 + 4 + format314.length);\n format31012 = '';\n\n for (i = 0, ii = ranges.length; i < ii; i++) {\n range = ranges[i];\n start = range[0];\n codes = range[2];\n var code = codes[0];\n\n for (j = 1, jj = codes.length; j < jj; ++j) {\n if (codes[j] !== codes[j - 1] + 1) {\n end = range[0] + j - 1;\n format31012 += (0, _util.string32)(start) + (0, _util.string32)(end) + (0, _util.string32)(code);\n start = end + 1;\n code = codes[j];\n }\n }\n\n format31012 += (0, _util.string32)(start) + (0, _util.string32)(range[1]) + (0, _util.string32)(code);\n }\n\n header31012 = '\\x00\\x0C' + '\\x00\\x00' + (0, _util.string32)(format31012.length + 16) + '\\x00\\x00\\x00\\x00' + (0, _util.string32)(format31012.length / 12);\n }\n\n return cmap + '\\x00\\x04' + string16(format314.length + 4) + format314 + header31012 + format31012;\n }\n\n function validateOS2Table(os2) {\n var stream = new _stream.Stream(os2.data);\n var version = stream.getUint16();\n stream.getBytes(60);\n var selection = stream.getUint16();\n\n if (version < 4 && selection & 0x0300) {\n return false;\n }\n\n var firstChar = stream.getUint16();\n var lastChar = stream.getUint16();\n\n if (firstChar > lastChar) {\n return false;\n }\n\n stream.getBytes(6);\n var usWinAscent = stream.getUint16();\n\n if (usWinAscent === 0) {\n return false;\n }\n\n os2.data[8] = os2.data[9] = 0;\n return true;\n }\n\n function createOS2Table(properties, charstrings, override) {\n override = override || {\n unitsPerEm: 0,\n yMax: 0,\n yMin: 0,\n ascent: 0,\n descent: 0\n };\n var ulUnicodeRange1 = 0;\n var ulUnicodeRange2 = 0;\n var ulUnicodeRange3 = 0;\n var ulUnicodeRange4 = 0;\n var firstCharIndex = null;\n var lastCharIndex = 0;\n\n if (charstrings) {\n for (var code in charstrings) {\n code |= 0;\n\n if (firstCharIndex > code || !firstCharIndex) {\n firstCharIndex = code;\n }\n\n if (lastCharIndex < code) {\n lastCharIndex = code;\n }\n\n var position = (0, _unicode.getUnicodeRangeFor)(code);\n\n if (position < 32) {\n ulUnicodeRange1 |= 1 << position;\n } else if (position < 64) {\n ulUnicodeRange2 |= 1 << position - 32;\n } else if (position < 96) {\n ulUnicodeRange3 |= 1 << position - 64;\n } else if (position < 123) {\n ulUnicodeRange4 |= 1 << position - 96;\n } else {\n throw new _util.FormatError('Unicode ranges Bits > 123 are reserved for internal usage');\n }\n }\n\n if (lastCharIndex > 0xFFFF) {\n lastCharIndex = 0xFFFF;\n }\n } else {\n firstCharIndex = 0;\n lastCharIndex = 255;\n }\n\n var bbox = properties.bbox || [0, 0, 0, 0];\n var unitsPerEm = override.unitsPerEm || 1 / (properties.fontMatrix || _util.FONT_IDENTITY_MATRIX)[0];\n var scale = properties.ascentScaled ? 1.0 : unitsPerEm / PDF_GLYPH_SPACE_UNITS;\n var typoAscent = override.ascent || Math.round(scale * (properties.ascent || bbox[3]));\n var typoDescent = override.descent || Math.round(scale * (properties.descent || bbox[1]));\n\n if (typoDescent > 0 && properties.descent > 0 && bbox[1] < 0) {\n typoDescent = -typoDescent;\n }\n\n var winAscent = override.yMax || typoAscent;\n var winDescent = -override.yMin || -typoDescent;\n return '\\x00\\x03' + '\\x02\\x24' + '\\x01\\xF4' + '\\x00\\x05' + '\\x00\\x00' + '\\x02\\x8A' + '\\x02\\xBB' + '\\x00\\x00' + '\\x00\\x8C' + '\\x02\\x8A' + '\\x02\\xBB' + '\\x00\\x00' + '\\x01\\xDF' + '\\x00\\x31' + '\\x01\\x02' + '\\x00\\x00' + '\\x00\\x00\\x06' + String.fromCharCode(properties.fixedPitch ? 0x09 : 0x00) + '\\x00\\x00\\x00\\x00\\x00\\x00' + (0, _util.string32)(ulUnicodeRange1) + (0, _util.string32)(ulUnicodeRange2) + (0, _util.string32)(ulUnicodeRange3) + (0, _util.string32)(ulUnicodeRange4) + '\\x2A\\x32\\x31\\x2A' + string16(properties.italicAngle ? 1 : 0) + string16(firstCharIndex || properties.firstChar) + string16(lastCharIndex || properties.lastChar) + string16(typoAscent) + string16(typoDescent) + '\\x00\\x64' + string16(winAscent) + string16(winDescent) + '\\x00\\x00\\x00\\x00' + '\\x00\\x00\\x00\\x00' + string16(properties.xHeight) + string16(properties.capHeight) + string16(0) + string16(firstCharIndex || properties.firstChar) + '\\x00\\x03';\n }\n\n function createPostTable(properties) {\n var angle = Math.floor(properties.italicAngle * Math.pow(2, 16));\n return '\\x00\\x03\\x00\\x00' + (0, _util.string32)(angle) + '\\x00\\x00' + '\\x00\\x00' + (0, _util.string32)(properties.fixedPitch) + '\\x00\\x00\\x00\\x00' + '\\x00\\x00\\x00\\x00' + '\\x00\\x00\\x00\\x00' + '\\x00\\x00\\x00\\x00';\n }\n\n function createNameTable(name, proto) {\n if (!proto) {\n proto = [[], []];\n }\n\n var strings = [proto[0][0] || 'Original licence', proto[0][1] || name, proto[0][2] || 'Unknown', proto[0][3] || 'uniqueID', proto[0][4] || name, proto[0][5] || 'Version 0.11', proto[0][6] || '', proto[0][7] || 'Unknown', proto[0][8] || 'Unknown', proto[0][9] || 'Unknown'];\n var stringsUnicode = [];\n var i, ii, j, jj, str;\n\n for (i = 0, ii = strings.length; i < ii; i++) {\n str = proto[1][i] || strings[i];\n var strBufUnicode = [];\n\n for (j = 0, jj = str.length; j < jj; j++) {\n strBufUnicode.push(string16(str.charCodeAt(j)));\n }\n\n stringsUnicode.push(strBufUnicode.join(''));\n }\n\n var names = [strings, stringsUnicode];\n var platforms = ['\\x00\\x01', '\\x00\\x03'];\n var encodings = ['\\x00\\x00', '\\x00\\x01'];\n var languages = ['\\x00\\x00', '\\x04\\x09'];\n var namesRecordCount = strings.length * platforms.length;\n var nameTable = '\\x00\\x00' + string16(namesRecordCount) + string16(namesRecordCount * 12 + 6);\n var strOffset = 0;\n\n for (i = 0, ii = platforms.length; i < ii; i++) {\n var strs = names[i];\n\n for (j = 0, jj = strs.length; j < jj; j++) {\n str = strs[j];\n var nameRecord = platforms[i] + encodings[i] + languages[i] + string16(j) + string16(str.length) + string16(strOffset);\n nameTable += nameRecord;\n strOffset += str.length;\n }\n }\n\n nameTable += strings.join('') + stringsUnicode.join('');\n return nameTable;\n }\n\n Font.prototype = {\n name: null,\n font: null,\n mimetype: null,\n encoding: null,\n disableFontFace: false,\n\n get renderer() {\n var renderer = _font_renderer.FontRendererFactory.create(this, SEAC_ANALYSIS_ENABLED);\n\n return (0, _util.shadow)(this, 'renderer', renderer);\n },\n\n exportData: function Font_exportData() {\n var data = {};\n\n for (var i in this) {\n if (this.hasOwnProperty(i)) {\n data[i] = this[i];\n }\n }\n\n return data;\n },\n fallbackToSystemFont: function Font_fallbackToSystemFont() {\n var _this = this;\n\n this.missingFile = true;\n var charCode, unicode;\n var name = this.name;\n var type = this.type;\n var subtype = this.subtype;\n var fontName = name.replace(/[,_]/g, '-');\n var stdFontMap = (0, _standard_fonts.getStdFontMap)(),\n nonStdFontMap = (0, _standard_fonts.getNonStdFontMap)();\n var isStandardFont = !!stdFontMap[fontName] || !!(nonStdFontMap[fontName] && stdFontMap[nonStdFontMap[fontName]]);\n fontName = stdFontMap[fontName] || nonStdFontMap[fontName] || fontName;\n this.bold = fontName.search(/bold/gi) !== -1;\n this.italic = fontName.search(/oblique/gi) !== -1 || fontName.search(/italic/gi) !== -1;\n this.black = name.search(/Black/g) !== -1;\n this.remeasure = Object.keys(this.widths).length > 0;\n\n if (isStandardFont && type === 'CIDFontType2' && this.cidEncoding.startsWith('Identity-')) {\n var GlyphMapForStandardFonts = (0, _standard_fonts.getGlyphMapForStandardFonts)();\n var map = [];\n\n for (charCode in GlyphMapForStandardFonts) {\n map[+charCode] = GlyphMapForStandardFonts[charCode];\n }\n\n if (/Arial-?Black/i.test(name)) {\n var SupplementalGlyphMapForArialBlack = (0, _standard_fonts.getSupplementalGlyphMapForArialBlack)();\n\n for (charCode in SupplementalGlyphMapForArialBlack) {\n map[+charCode] = SupplementalGlyphMapForArialBlack[charCode];\n }\n } else if (/Calibri/i.test(name)) {\n var SupplementalGlyphMapForCalibri = (0, _standard_fonts.getSupplementalGlyphMapForCalibri)();\n\n for (charCode in SupplementalGlyphMapForCalibri) {\n map[+charCode] = SupplementalGlyphMapForCalibri[charCode];\n }\n }\n\n var isIdentityUnicode = this.toUnicode instanceof IdentityToUnicodeMap;\n\n if (!isIdentityUnicode) {\n this.toUnicode.forEach(function (charCode, unicodeCharCode) {\n map[+charCode] = unicodeCharCode;\n });\n }\n\n this.toFontChar = map;\n this.toUnicode = new ToUnicodeMap(map);\n } else if (/Symbol/i.test(fontName)) {\n this.toFontChar = buildToFontChar(_encodings.SymbolSetEncoding, (0, _glyphlist.getGlyphsUnicode)(), this.differences);\n } else if (/Dingbats/i.test(fontName)) {\n if (/Wingdings/i.test(name)) {\n (0, _util.warn)('Non-embedded Wingdings font, falling back to ZapfDingbats.');\n }\n\n this.toFontChar = buildToFontChar(_encodings.ZapfDingbatsEncoding, (0, _glyphlist.getDingbatsGlyphsUnicode)(), this.differences);\n } else if (isStandardFont) {\n this.toFontChar = buildToFontChar(this.defaultEncoding, (0, _glyphlist.getGlyphsUnicode)(), this.differences);\n } else {\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n this.toUnicode.forEach(function (charCode, unicodeCharCode) {\n if (!_this.composite) {\n var glyphName = _this.differences[charCode] || _this.defaultEncoding[charCode];\n unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n unicodeCharCode = unicode;\n }\n }\n\n _this.toFontChar[charCode] = unicodeCharCode;\n });\n }\n\n this.loadedName = fontName.split('-')[0];\n this.fontType = getFontType(type, subtype);\n },\n checkAndRepair: function Font_checkAndRepair(name, font, properties) {\n var VALID_TABLES = ['OS/2', 'cmap', 'head', 'hhea', 'hmtx', 'maxp', 'name', 'post', 'loca', 'glyf', 'fpgm', 'prep', 'cvt ', 'CFF '];\n\n function readTables(file, numTables) {\n var tables = Object.create(null);\n tables['OS/2'] = null;\n tables['cmap'] = null;\n tables['head'] = null;\n tables['hhea'] = null;\n tables['hmtx'] = null;\n tables['maxp'] = null;\n tables['name'] = null;\n tables['post'] = null;\n\n for (var i = 0; i < numTables; i++) {\n var table = readTableEntry(font);\n\n if (!VALID_TABLES.includes(table.tag)) {\n continue;\n }\n\n if (table.length === 0) {\n continue;\n }\n\n tables[table.tag] = table;\n }\n\n return tables;\n }\n\n function readTableEntry(file) {\n var tag = (0, _util.bytesToString)(file.getBytes(4));\n var checksum = file.getInt32() >>> 0;\n var offset = file.getInt32() >>> 0;\n var length = file.getInt32() >>> 0;\n var previousPosition = file.pos;\n file.pos = file.start ? file.start : 0;\n file.skip(offset);\n var data = file.getBytes(length);\n file.pos = previousPosition;\n\n if (tag === 'head') {\n data[8] = data[9] = data[10] = data[11] = 0;\n data[17] |= 0x20;\n }\n\n return {\n tag: tag,\n checksum: checksum,\n length: length,\n offset: offset,\n data: data\n };\n }\n\n function readOpenTypeHeader(ttf) {\n return {\n version: (0, _util.bytesToString)(ttf.getBytes(4)),\n numTables: ttf.getUint16(),\n searchRange: ttf.getUint16(),\n entrySelector: ttf.getUint16(),\n rangeShift: ttf.getUint16()\n };\n }\n\n function readTrueTypeCollectionHeader(ttc) {\n var ttcTag = (0, _util.bytesToString)(ttc.getBytes(4));\n (0, _util.assert)(ttcTag === 'ttcf', 'Must be a TrueType Collection font.');\n var majorVersion = ttc.getUint16();\n var minorVersion = ttc.getUint16();\n var numFonts = ttc.getInt32() >>> 0;\n var offsetTable = [];\n\n for (var i = 0; i < numFonts; i++) {\n offsetTable.push(ttc.getInt32() >>> 0);\n }\n\n var header = {\n ttcTag: ttcTag,\n majorVersion: majorVersion,\n minorVersion: minorVersion,\n numFonts: numFonts,\n offsetTable: offsetTable\n };\n\n switch (majorVersion) {\n case 1:\n return header;\n\n case 2:\n header.dsigTag = ttc.getInt32() >>> 0;\n header.dsigLength = ttc.getInt32() >>> 0;\n header.dsigOffset = ttc.getInt32() >>> 0;\n return header;\n }\n\n throw new _util.FormatError(\"Invalid TrueType Collection majorVersion: \".concat(majorVersion, \".\"));\n }\n\n function readTrueTypeCollectionData(ttc, fontName) {\n var _readTrueTypeCollecti = readTrueTypeCollectionHeader(ttc),\n numFonts = _readTrueTypeCollecti.numFonts,\n offsetTable = _readTrueTypeCollecti.offsetTable;\n\n for (var i = 0; i < numFonts; i++) {\n ttc.pos = (ttc.start || 0) + offsetTable[i];\n var potentialHeader = readOpenTypeHeader(ttc);\n var potentialTables = readTables(ttc, potentialHeader.numTables);\n\n if (!potentialTables['name']) {\n throw new _util.FormatError('TrueType Collection font must contain a \"name\" table.');\n }\n\n var nameTable = readNameTable(potentialTables['name']);\n\n for (var j = 0, jj = nameTable.length; j < jj; j++) {\n for (var k = 0, kk = nameTable[j].length; k < kk; k++) {\n var nameEntry = nameTable[j][k];\n\n if (nameEntry && nameEntry.replace(/\\s/g, '') === fontName) {\n return {\n header: potentialHeader,\n tables: potentialTables\n };\n }\n }\n }\n }\n\n throw new _util.FormatError(\"TrueType Collection does not contain \\\"\".concat(fontName, \"\\\" font.\"));\n }\n\n function readCmapTable(cmap, font, isSymbolicFont, hasEncoding) {\n if (!cmap) {\n (0, _util.warn)('No cmap table available.');\n return {\n platformId: -1,\n encodingId: -1,\n mappings: [],\n hasShortCmap: false\n };\n }\n\n var segment;\n var start = (font.start ? font.start : 0) + cmap.offset;\n font.pos = start;\n font.getUint16();\n var numTables = font.getUint16();\n var potentialTable;\n var canBreak = false;\n\n for (var i = 0; i < numTables; i++) {\n var platformId = font.getUint16();\n var encodingId = font.getUint16();\n var offset = font.getInt32() >>> 0;\n var useTable = false;\n\n if (potentialTable && potentialTable.platformId === platformId && potentialTable.encodingId === encodingId) {\n continue;\n }\n\n if (platformId === 0 && encodingId === 0) {\n useTable = true;\n } else if (platformId === 1 && encodingId === 0) {\n useTable = true;\n } else if (platformId === 3 && encodingId === 1 && (hasEncoding || !potentialTable)) {\n useTable = true;\n\n if (!isSymbolicFont) {\n canBreak = true;\n }\n } else if (isSymbolicFont && platformId === 3 && encodingId === 0) {\n useTable = true;\n canBreak = true;\n }\n\n if (useTable) {\n potentialTable = {\n platformId: platformId,\n encodingId: encodingId,\n offset: offset\n };\n }\n\n if (canBreak) {\n break;\n }\n }\n\n if (potentialTable) {\n font.pos = start + potentialTable.offset;\n }\n\n if (!potentialTable || font.peekByte() === -1) {\n (0, _util.warn)('Could not find a preferred cmap table.');\n return {\n platformId: -1,\n encodingId: -1,\n mappings: [],\n hasShortCmap: false\n };\n }\n\n var format = font.getUint16();\n font.getUint16();\n font.getUint16();\n var hasShortCmap = false;\n var mappings = [];\n var j, glyphId;\n\n if (format === 0) {\n for (j = 0; j < 256; j++) {\n var index = font.getByte();\n\n if (!index) {\n continue;\n }\n\n mappings.push({\n charCode: j,\n glyphId: index\n });\n }\n\n hasShortCmap = true;\n } else if (format === 4) {\n var segCount = font.getUint16() >> 1;\n font.getBytes(6);\n var segIndex,\n segments = [];\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments.push({\n end: font.getUint16()\n });\n }\n\n font.getUint16();\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments[segIndex].start = font.getUint16();\n }\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments[segIndex].delta = font.getUint16();\n }\n\n var offsetsCount = 0;\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segment = segments[segIndex];\n var rangeOffset = font.getUint16();\n\n if (!rangeOffset) {\n segment.offsetIndex = -1;\n continue;\n }\n\n var offsetIndex = (rangeOffset >> 1) - (segCount - segIndex);\n segment.offsetIndex = offsetIndex;\n offsetsCount = Math.max(offsetsCount, offsetIndex + segment.end - segment.start + 1);\n }\n\n var offsets = [];\n\n for (j = 0; j < offsetsCount; j++) {\n offsets.push(font.getUint16());\n }\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segment = segments[segIndex];\n start = segment.start;\n var end = segment.end;\n var delta = segment.delta;\n offsetIndex = segment.offsetIndex;\n\n for (j = start; j <= end; j++) {\n if (j === 0xFFFF) {\n continue;\n }\n\n glyphId = offsetIndex < 0 ? j : offsets[offsetIndex + j - start];\n glyphId = glyphId + delta & 0xFFFF;\n mappings.push({\n charCode: j,\n glyphId: glyphId\n });\n }\n }\n } else if (format === 6) {\n var firstCode = font.getUint16();\n var entryCount = font.getUint16();\n\n for (j = 0; j < entryCount; j++) {\n glyphId = font.getUint16();\n var charCode = firstCode + j;\n mappings.push({\n charCode: charCode,\n glyphId: glyphId\n });\n }\n } else {\n (0, _util.warn)('cmap table has unsupported format: ' + format);\n return {\n platformId: -1,\n encodingId: -1,\n mappings: [],\n hasShortCmap: false\n };\n }\n\n mappings.sort(function (a, b) {\n return a.charCode - b.charCode;\n });\n\n for (i = 1; i < mappings.length; i++) {\n if (mappings[i - 1].charCode === mappings[i].charCode) {\n mappings.splice(i, 1);\n i--;\n }\n }\n\n return {\n platformId: potentialTable.platformId,\n encodingId: potentialTable.encodingId,\n mappings: mappings,\n hasShortCmap: hasShortCmap\n };\n }\n\n function sanitizeMetrics(font, header, metrics, numGlyphs, dupFirstEntry) {\n if (!header) {\n if (metrics) {\n metrics.data = null;\n }\n\n return;\n }\n\n font.pos = (font.start ? font.start : 0) + header.offset;\n font.pos += 4;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 8;\n font.pos += 2;\n var numOfMetrics = font.getUint16();\n\n if (numOfMetrics > numGlyphs) {\n (0, _util.info)('The numOfMetrics (' + numOfMetrics + ') should not be ' + 'greater than the numGlyphs (' + numGlyphs + ')');\n numOfMetrics = numGlyphs;\n header.data[34] = (numOfMetrics & 0xff00) >> 8;\n header.data[35] = numOfMetrics & 0x00ff;\n }\n\n var numOfSidebearings = numGlyphs - numOfMetrics;\n var numMissing = numOfSidebearings - (metrics.length - numOfMetrics * 4 >> 1);\n\n if (numMissing > 0) {\n var entries = new Uint8Array(metrics.length + numMissing * 2);\n entries.set(metrics.data);\n\n if (dupFirstEntry) {\n entries[metrics.length] = metrics.data[2];\n entries[metrics.length + 1] = metrics.data[3];\n }\n\n metrics.data = entries;\n }\n }\n\n function sanitizeGlyph(source, sourceStart, sourceEnd, dest, destStart, hintsValid) {\n var glyphProfile = {\n length: 0,\n sizeOfInstructions: 0\n };\n\n if (sourceEnd - sourceStart <= 12) {\n return glyphProfile;\n }\n\n var glyf = source.subarray(sourceStart, sourceEnd);\n var contoursCount = signedInt16(glyf[0], glyf[1]);\n\n if (contoursCount < 0) {\n contoursCount = -1;\n writeSignedInt16(glyf, 0, contoursCount);\n dest.set(glyf, destStart);\n glyphProfile.length = glyf.length;\n return glyphProfile;\n }\n\n var i,\n j = 10,\n flagsCount = 0;\n\n for (i = 0; i < contoursCount; i++) {\n var endPoint = glyf[j] << 8 | glyf[j + 1];\n flagsCount = endPoint + 1;\n j += 2;\n }\n\n var instructionsStart = j;\n var instructionsLength = glyf[j] << 8 | glyf[j + 1];\n glyphProfile.sizeOfInstructions = instructionsLength;\n j += 2 + instructionsLength;\n var instructionsEnd = j;\n var coordinatesLength = 0;\n\n for (i = 0; i < flagsCount; i++) {\n var flag = glyf[j++];\n\n if (flag & 0xC0) {\n glyf[j - 1] = flag & 0x3F;\n }\n\n var xyLength = (flag & 2 ? 1 : flag & 16 ? 0 : 2) + (flag & 4 ? 1 : flag & 32 ? 0 : 2);\n coordinatesLength += xyLength;\n\n if (flag & 8) {\n var repeat = glyf[j++];\n i += repeat;\n coordinatesLength += repeat * xyLength;\n }\n }\n\n if (coordinatesLength === 0) {\n return glyphProfile;\n }\n\n var glyphDataLength = j + coordinatesLength;\n\n if (glyphDataLength > glyf.length) {\n return glyphProfile;\n }\n\n if (!hintsValid && instructionsLength > 0) {\n dest.set(glyf.subarray(0, instructionsStart), destStart);\n dest.set([0, 0], destStart + instructionsStart);\n dest.set(glyf.subarray(instructionsEnd, glyphDataLength), destStart + instructionsStart + 2);\n glyphDataLength -= instructionsLength;\n\n if (glyf.length - glyphDataLength > 3) {\n glyphDataLength = glyphDataLength + 3 & ~3;\n }\n\n glyphProfile.length = glyphDataLength;\n return glyphProfile;\n }\n\n if (glyf.length - glyphDataLength > 3) {\n glyphDataLength = glyphDataLength + 3 & ~3;\n dest.set(glyf.subarray(0, glyphDataLength), destStart);\n glyphProfile.length = glyphDataLength;\n return glyphProfile;\n }\n\n dest.set(glyf, destStart);\n glyphProfile.length = glyf.length;\n return glyphProfile;\n }\n\n function sanitizeHead(head, numGlyphs, locaLength) {\n var data = head.data;\n var version = int32(data[0], data[1], data[2], data[3]);\n\n if (version >> 16 !== 1) {\n (0, _util.info)('Attempting to fix invalid version in head table: ' + version);\n data[0] = 0;\n data[1] = 1;\n data[2] = 0;\n data[3] = 0;\n }\n\n var indexToLocFormat = int16(data[50], data[51]);\n\n if (indexToLocFormat < 0 || indexToLocFormat > 1) {\n (0, _util.info)('Attempting to fix invalid indexToLocFormat in head table: ' + indexToLocFormat);\n var numGlyphsPlusOne = numGlyphs + 1;\n\n if (locaLength === numGlyphsPlusOne << 1) {\n data[50] = 0;\n data[51] = 0;\n } else if (locaLength === numGlyphsPlusOne << 2) {\n data[50] = 0;\n data[51] = 1;\n } else {\n throw new _util.FormatError('Could not fix indexToLocFormat: ' + indexToLocFormat);\n }\n }\n }\n\n function sanitizeGlyphLocations(loca, glyf, numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions) {\n var itemSize, itemDecode, itemEncode;\n\n if (isGlyphLocationsLong) {\n itemSize = 4;\n\n itemDecode = function fontItemDecodeLong(data, offset) {\n return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n };\n\n itemEncode = function fontItemEncodeLong(data, offset, value) {\n data[offset] = value >>> 24 & 0xFF;\n data[offset + 1] = value >> 16 & 0xFF;\n data[offset + 2] = value >> 8 & 0xFF;\n data[offset + 3] = value & 0xFF;\n };\n } else {\n itemSize = 2;\n\n itemDecode = function fontItemDecode(data, offset) {\n return data[offset] << 9 | data[offset + 1] << 1;\n };\n\n itemEncode = function fontItemEncode(data, offset, value) {\n data[offset] = value >> 9 & 0xFF;\n data[offset + 1] = value >> 1 & 0xFF;\n };\n }\n\n var numGlyphsOut = dupFirstEntry ? numGlyphs + 1 : numGlyphs;\n var locaData = loca.data;\n var locaDataSize = itemSize * (1 + numGlyphsOut);\n locaData = new Uint8Array(locaDataSize);\n locaData.set(loca.data.subarray(0, locaDataSize));\n loca.data = locaData;\n var oldGlyfData = glyf.data;\n var oldGlyfDataLength = oldGlyfData.length;\n var newGlyfData = new Uint8Array(oldGlyfDataLength);\n var startOffset = itemDecode(locaData, 0);\n var writeOffset = 0;\n var missingGlyphs = Object.create(null);\n itemEncode(locaData, 0, writeOffset);\n var i, j;\n\n for (i = 0, j = itemSize; i < numGlyphs; i++, j += itemSize) {\n var endOffset = itemDecode(locaData, j);\n\n if (endOffset === 0) {\n endOffset = startOffset;\n }\n\n if (endOffset > oldGlyfDataLength && (oldGlyfDataLength + 3 & ~3) === endOffset) {\n endOffset = oldGlyfDataLength;\n }\n\n if (endOffset > oldGlyfDataLength) {\n startOffset = endOffset;\n }\n\n var glyphProfile = sanitizeGlyph(oldGlyfData, startOffset, endOffset, newGlyfData, writeOffset, hintsValid);\n var newLength = glyphProfile.length;\n\n if (newLength === 0) {\n missingGlyphs[i] = true;\n }\n\n if (glyphProfile.sizeOfInstructions > maxSizeOfInstructions) {\n maxSizeOfInstructions = glyphProfile.sizeOfInstructions;\n }\n\n writeOffset += newLength;\n itemEncode(locaData, j, writeOffset);\n startOffset = endOffset;\n }\n\n if (writeOffset === 0) {\n var simpleGlyph = new Uint8Array([0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0]);\n\n for (i = 0, j = itemSize; i < numGlyphsOut; i++, j += itemSize) {\n itemEncode(locaData, j, simpleGlyph.length);\n }\n\n glyf.data = simpleGlyph;\n } else if (dupFirstEntry) {\n var firstEntryLength = itemDecode(locaData, itemSize);\n\n if (newGlyfData.length > firstEntryLength + writeOffset) {\n glyf.data = newGlyfData.subarray(0, firstEntryLength + writeOffset);\n } else {\n glyf.data = new Uint8Array(firstEntryLength + writeOffset);\n glyf.data.set(newGlyfData.subarray(0, writeOffset));\n }\n\n glyf.data.set(newGlyfData.subarray(0, firstEntryLength), writeOffset);\n itemEncode(loca.data, locaData.length - itemSize, writeOffset + firstEntryLength);\n } else {\n glyf.data = newGlyfData.subarray(0, writeOffset);\n }\n\n return {\n missingGlyphs: missingGlyphs,\n maxSizeOfInstructions: maxSizeOfInstructions\n };\n }\n\n function readPostScriptTable(post, properties, maxpNumGlyphs) {\n var start = (font.start ? font.start : 0) + post.offset;\n font.pos = start;\n var length = post.length,\n end = start + length;\n var version = font.getInt32();\n font.getBytes(28);\n var glyphNames;\n var valid = true;\n var i;\n\n switch (version) {\n case 0x00010000:\n glyphNames = MacStandardGlyphOrdering;\n break;\n\n case 0x00020000:\n var numGlyphs = font.getUint16();\n\n if (numGlyphs !== maxpNumGlyphs) {\n valid = false;\n break;\n }\n\n var glyphNameIndexes = [];\n\n for (i = 0; i < numGlyphs; ++i) {\n var index = font.getUint16();\n\n if (index >= 32768) {\n valid = false;\n break;\n }\n\n glyphNameIndexes.push(index);\n }\n\n if (!valid) {\n break;\n }\n\n var customNames = [];\n var strBuf = [];\n\n while (font.pos < end) {\n var stringLength = font.getByte();\n strBuf.length = stringLength;\n\n for (i = 0; i < stringLength; ++i) {\n strBuf[i] = String.fromCharCode(font.getByte());\n }\n\n customNames.push(strBuf.join(''));\n }\n\n glyphNames = [];\n\n for (i = 0; i < numGlyphs; ++i) {\n var j = glyphNameIndexes[i];\n\n if (j < 258) {\n glyphNames.push(MacStandardGlyphOrdering[j]);\n continue;\n }\n\n glyphNames.push(customNames[j - 258]);\n }\n\n break;\n\n case 0x00030000:\n break;\n\n default:\n (0, _util.warn)('Unknown/unsupported post table version ' + version);\n valid = false;\n\n if (properties.defaultEncoding) {\n glyphNames = properties.defaultEncoding;\n }\n\n break;\n }\n\n properties.glyphNames = glyphNames;\n return valid;\n }\n\n function readNameTable(nameTable) {\n var start = (font.start ? font.start : 0) + nameTable.offset;\n font.pos = start;\n var names = [[], []];\n var length = nameTable.length,\n end = start + length;\n var format = font.getUint16();\n var FORMAT_0_HEADER_LENGTH = 6;\n\n if (format !== 0 || length < FORMAT_0_HEADER_LENGTH) {\n return names;\n }\n\n var numRecords = font.getUint16();\n var stringsStart = font.getUint16();\n var records = [];\n var NAME_RECORD_LENGTH = 12;\n var i, ii;\n\n for (i = 0; i < numRecords && font.pos + NAME_RECORD_LENGTH <= end; i++) {\n var r = {\n platform: font.getUint16(),\n encoding: font.getUint16(),\n language: font.getUint16(),\n name: font.getUint16(),\n length: font.getUint16(),\n offset: font.getUint16()\n };\n\n if (r.platform === 1 && r.encoding === 0 && r.language === 0 || r.platform === 3 && r.encoding === 1 && r.language === 0x409) {\n records.push(r);\n }\n }\n\n for (i = 0, ii = records.length; i < ii; i++) {\n var record = records[i];\n\n if (record.length <= 0) {\n continue;\n }\n\n var pos = start + stringsStart + record.offset;\n\n if (pos + record.length > end) {\n continue;\n }\n\n font.pos = pos;\n var nameIndex = record.name;\n\n if (record.encoding) {\n var str = '';\n\n for (var j = 0, jj = record.length; j < jj; j += 2) {\n str += String.fromCharCode(font.getUint16());\n }\n\n names[1][nameIndex] = str;\n } else {\n names[0][nameIndex] = (0, _util.bytesToString)(font.getBytes(record.length));\n }\n }\n\n return names;\n }\n\n var TTOpsStackDeltas = [0, 0, 0, 0, 0, 0, 0, 0, -2, -2, -2, -2, 0, 0, -2, -5, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, -1, -1, 1, -1, -999, 0, 1, 0, -1, -2, 0, -1, -2, -1, -1, 0, -1, -1, 0, 0, -999, -999, -1, -1, -1, -1, -2, -999, -2, -2, -999, 0, -2, -2, 0, 0, -2, 0, -2, 0, 0, 0, -2, -1, -1, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, 0, -999, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, -999, -999, -999, -999, -999, -1, -1, -2, -2, 0, 0, 0, 0, -1, -1, -999, -2, -2, 0, 0, -1, -2, -2, 0, 0, 0, -1, -1, -1, -2];\n\n function sanitizeTTProgram(table, ttContext) {\n var data = table.data;\n var i = 0,\n j,\n n,\n b,\n funcId,\n pc,\n lastEndf = 0,\n lastDeff = 0;\n var stack = [];\n var callstack = [];\n var functionsCalled = [];\n var tooComplexToFollowFunctions = ttContext.tooComplexToFollowFunctions;\n var inFDEF = false,\n ifLevel = 0,\n inELSE = 0;\n\n for (var ii = data.length; i < ii;) {\n var op = data[i++];\n\n if (op === 0x40) {\n n = data[i++];\n\n if (inFDEF || inELSE) {\n i += n;\n } else {\n for (j = 0; j < n; j++) {\n stack.push(data[i++]);\n }\n }\n } else if (op === 0x41) {\n n = data[i++];\n\n if (inFDEF || inELSE) {\n i += n * 2;\n } else {\n for (j = 0; j < n; j++) {\n b = data[i++];\n stack.push(b << 8 | data[i++]);\n }\n }\n } else if ((op & 0xF8) === 0xB0) {\n n = op - 0xB0 + 1;\n\n if (inFDEF || inELSE) {\n i += n;\n } else {\n for (j = 0; j < n; j++) {\n stack.push(data[i++]);\n }\n }\n } else if ((op & 0xF8) === 0xB8) {\n n = op - 0xB8 + 1;\n\n if (inFDEF || inELSE) {\n i += n * 2;\n } else {\n for (j = 0; j < n; j++) {\n b = data[i++];\n stack.push(b << 8 | data[i++]);\n }\n }\n } else if (op === 0x2B && !tooComplexToFollowFunctions) {\n if (!inFDEF && !inELSE) {\n funcId = stack[stack.length - 1];\n\n if (isNaN(funcId)) {\n (0, _util.info)('TT: CALL empty stack (or invalid entry).');\n } else {\n ttContext.functionsUsed[funcId] = true;\n\n if (funcId in ttContext.functionsStackDeltas) {\n var newStackLength = stack.length + ttContext.functionsStackDeltas[funcId];\n\n if (newStackLength < 0) {\n (0, _util.warn)('TT: CALL invalid functions stack delta.');\n ttContext.hintsValid = false;\n return;\n }\n\n stack.length = newStackLength;\n } else if (funcId in ttContext.functionsDefined && !functionsCalled.includes(funcId)) {\n callstack.push({\n data: data,\n i: i,\n stackTop: stack.length - 1\n });\n functionsCalled.push(funcId);\n pc = ttContext.functionsDefined[funcId];\n\n if (!pc) {\n (0, _util.warn)('TT: CALL non-existent function');\n ttContext.hintsValid = false;\n return;\n }\n\n data = pc.data;\n i = pc.i;\n }\n }\n }\n } else if (op === 0x2C && !tooComplexToFollowFunctions) {\n if (inFDEF || inELSE) {\n (0, _util.warn)('TT: nested FDEFs not allowed');\n tooComplexToFollowFunctions = true;\n }\n\n inFDEF = true;\n lastDeff = i;\n funcId = stack.pop();\n ttContext.functionsDefined[funcId] = {\n data: data,\n i: i\n };\n } else if (op === 0x2D) {\n if (inFDEF) {\n inFDEF = false;\n lastEndf = i;\n } else {\n pc = callstack.pop();\n\n if (!pc) {\n (0, _util.warn)('TT: ENDF bad stack');\n ttContext.hintsValid = false;\n return;\n }\n\n funcId = functionsCalled.pop();\n data = pc.data;\n i = pc.i;\n ttContext.functionsStackDeltas[funcId] = stack.length - pc.stackTop;\n }\n } else if (op === 0x89) {\n if (inFDEF || inELSE) {\n (0, _util.warn)('TT: nested IDEFs not allowed');\n tooComplexToFollowFunctions = true;\n }\n\n inFDEF = true;\n lastDeff = i;\n } else if (op === 0x58) {\n ++ifLevel;\n } else if (op === 0x1B) {\n inELSE = ifLevel;\n } else if (op === 0x59) {\n if (inELSE === ifLevel) {\n inELSE = 0;\n }\n\n --ifLevel;\n } else if (op === 0x1C) {\n if (!inFDEF && !inELSE) {\n var offset = stack[stack.length - 1];\n\n if (offset > 0) {\n i += offset - 1;\n }\n }\n }\n\n if (!inFDEF && !inELSE) {\n var stackDelta = op <= 0x8E ? TTOpsStackDeltas[op] : op >= 0xC0 && op <= 0xDF ? -1 : op >= 0xE0 ? -2 : 0;\n\n if (op >= 0x71 && op <= 0x75) {\n n = stack.pop();\n\n if (!isNaN(n)) {\n stackDelta = -n * 2;\n }\n }\n\n while (stackDelta < 0 && stack.length > 0) {\n stack.pop();\n stackDelta++;\n }\n\n while (stackDelta > 0) {\n stack.push(NaN);\n stackDelta--;\n }\n }\n }\n\n ttContext.tooComplexToFollowFunctions = tooComplexToFollowFunctions;\n var content = [data];\n\n if (i > data.length) {\n content.push(new Uint8Array(i - data.length));\n }\n\n if (lastDeff > lastEndf) {\n (0, _util.warn)('TT: complementing a missing function tail');\n content.push(new Uint8Array([0x22, 0x2D]));\n }\n\n foldTTTable(table, content);\n }\n\n function checkInvalidFunctions(ttContext, maxFunctionDefs) {\n if (ttContext.tooComplexToFollowFunctions) {\n return;\n }\n\n if (ttContext.functionsDefined.length > maxFunctionDefs) {\n (0, _util.warn)('TT: more functions defined than expected');\n ttContext.hintsValid = false;\n return;\n }\n\n for (var j = 0, jj = ttContext.functionsUsed.length; j < jj; j++) {\n if (j > maxFunctionDefs) {\n (0, _util.warn)('TT: invalid function id: ' + j);\n ttContext.hintsValid = false;\n return;\n }\n\n if (ttContext.functionsUsed[j] && !ttContext.functionsDefined[j]) {\n (0, _util.warn)('TT: undefined function: ' + j);\n ttContext.hintsValid = false;\n return;\n }\n }\n }\n\n function foldTTTable(table, content) {\n if (content.length > 1) {\n var newLength = 0;\n var j, jj;\n\n for (j = 0, jj = content.length; j < jj; j++) {\n newLength += content[j].length;\n }\n\n newLength = newLength + 3 & ~3;\n var result = new Uint8Array(newLength);\n var pos = 0;\n\n for (j = 0, jj = content.length; j < jj; j++) {\n result.set(content[j], pos);\n pos += content[j].length;\n }\n\n table.data = result;\n table.length = newLength;\n }\n }\n\n function sanitizeTTPrograms(fpgm, prep, cvt, maxFunctionDefs) {\n var ttContext = {\n functionsDefined: [],\n functionsUsed: [],\n functionsStackDeltas: [],\n tooComplexToFollowFunctions: false,\n hintsValid: true\n };\n\n if (fpgm) {\n sanitizeTTProgram(fpgm, ttContext);\n }\n\n if (prep) {\n sanitizeTTProgram(prep, ttContext);\n }\n\n if (fpgm) {\n checkInvalidFunctions(ttContext, maxFunctionDefs);\n }\n\n if (cvt && cvt.length & 1) {\n var cvtData = new Uint8Array(cvt.length + 1);\n cvtData.set(cvt.data);\n cvt.data = cvtData;\n }\n\n return ttContext.hintsValid;\n }\n\n font = new _stream.Stream(new Uint8Array(font.getBytes()));\n var header, tables;\n\n if (isTrueTypeCollectionFile(font)) {\n var ttcData = readTrueTypeCollectionData(font, this.name);\n header = ttcData.header;\n tables = ttcData.tables;\n } else {\n header = readOpenTypeHeader(font);\n tables = readTables(font, header.numTables);\n }\n\n var cff, cffFile;\n var isTrueType = !tables['CFF '];\n\n if (!isTrueType) {\n var isComposite = properties.composite && ((properties.cidToGidMap || []).length > 0 || !(properties.cMap instanceof _cmap.IdentityCMap));\n\n if (header.version === 'OTTO' && !isComposite || !tables['head'] || !tables['hhea'] || !tables['maxp'] || !tables['post']) {\n cffFile = new _stream.Stream(tables['CFF '].data);\n cff = new CFFFont(cffFile, properties);\n adjustWidths(properties);\n return this.convert(name, cff, properties);\n }\n\n delete tables['glyf'];\n delete tables['loca'];\n delete tables['fpgm'];\n delete tables['prep'];\n delete tables['cvt '];\n this.isOpenType = true;\n } else {\n if (!tables['loca']) {\n throw new _util.FormatError('Required \"loca\" table is not found');\n }\n\n if (!tables['glyf']) {\n (0, _util.warn)('Required \"glyf\" table is not found -- trying to recover.');\n tables['glyf'] = {\n tag: 'glyf',\n data: new Uint8Array(0)\n };\n }\n\n this.isOpenType = false;\n }\n\n if (!tables['maxp']) {\n throw new _util.FormatError('Required \"maxp\" table is not found');\n }\n\n font.pos = (font.start || 0) + tables['maxp'].offset;\n var version = font.getInt32();\n var numGlyphs = font.getUint16();\n var numGlyphsOut = numGlyphs + 1;\n var dupFirstEntry = true;\n\n if (numGlyphsOut > 0xFFFF) {\n dupFirstEntry = false;\n numGlyphsOut = numGlyphs;\n (0, _util.warn)('Not enough space in glyfs to duplicate first glyph.');\n }\n\n var maxFunctionDefs = 0;\n var maxSizeOfInstructions = 0;\n\n if (version >= 0x00010000 && tables['maxp'].length >= 22) {\n font.pos += 8;\n var maxZones = font.getUint16();\n\n if (maxZones > 2) {\n tables['maxp'].data[14] = 0;\n tables['maxp'].data[15] = 2;\n }\n\n font.pos += 4;\n maxFunctionDefs = font.getUint16();\n font.pos += 4;\n maxSizeOfInstructions = font.getUint16();\n }\n\n tables['maxp'].data[4] = numGlyphsOut >> 8;\n tables['maxp'].data[5] = numGlyphsOut & 255;\n var hintsValid = sanitizeTTPrograms(tables['fpgm'], tables['prep'], tables['cvt '], maxFunctionDefs);\n\n if (!hintsValid) {\n delete tables['fpgm'];\n delete tables['prep'];\n delete tables['cvt '];\n }\n\n sanitizeMetrics(font, tables['hhea'], tables['hmtx'], numGlyphsOut, dupFirstEntry);\n\n if (!tables['head']) {\n throw new _util.FormatError('Required \"head\" table is not found');\n }\n\n sanitizeHead(tables['head'], numGlyphs, isTrueType ? tables['loca'].length : 0);\n var missingGlyphs = Object.create(null);\n\n if (isTrueType) {\n var isGlyphLocationsLong = int16(tables['head'].data[50], tables['head'].data[51]);\n var glyphsInfo = sanitizeGlyphLocations(tables['loca'], tables['glyf'], numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions);\n missingGlyphs = glyphsInfo.missingGlyphs;\n\n if (version >= 0x00010000 && tables['maxp'].length >= 22) {\n tables['maxp'].data[26] = glyphsInfo.maxSizeOfInstructions >> 8;\n tables['maxp'].data[27] = glyphsInfo.maxSizeOfInstructions & 255;\n }\n }\n\n if (!tables['hhea']) {\n throw new _util.FormatError('Required \"hhea\" table is not found');\n }\n\n if (tables['hhea'].data[10] === 0 && tables['hhea'].data[11] === 0) {\n tables['hhea'].data[10] = 0xFF;\n tables['hhea'].data[11] = 0xFF;\n }\n\n var metricsOverride = {\n unitsPerEm: int16(tables['head'].data[18], tables['head'].data[19]),\n yMax: int16(tables['head'].data[42], tables['head'].data[43]),\n yMin: signedInt16(tables['head'].data[38], tables['head'].data[39]),\n ascent: int16(tables['hhea'].data[4], tables['hhea'].data[5]),\n descent: signedInt16(tables['hhea'].data[6], tables['hhea'].data[7])\n };\n this.ascent = metricsOverride.ascent / metricsOverride.unitsPerEm;\n this.descent = metricsOverride.descent / metricsOverride.unitsPerEm;\n\n if (tables['post']) {\n readPostScriptTable(tables['post'], properties, numGlyphs);\n }\n\n tables['post'] = {\n tag: 'post',\n data: createPostTable(properties)\n };\n var charCodeToGlyphId = [],\n charCode;\n\n function hasGlyph(glyphId) {\n return !missingGlyphs[glyphId];\n }\n\n if (properties.composite) {\n var cidToGidMap = properties.cidToGidMap || [];\n var isCidToGidMapEmpty = cidToGidMap.length === 0;\n properties.cMap.forEach(function (charCode, cid) {\n if (cid > 0xffff) {\n throw new _util.FormatError('Max size of CID is 65,535');\n }\n\n var glyphId = -1;\n\n if (isCidToGidMapEmpty) {\n glyphId = cid;\n } else if (cidToGidMap[cid] !== undefined) {\n glyphId = cidToGidMap[cid];\n }\n\n if (glyphId >= 0 && glyphId < numGlyphs && hasGlyph(glyphId)) {\n charCodeToGlyphId[charCode] = glyphId;\n }\n });\n } else {\n var cmapTable = readCmapTable(tables['cmap'], font, this.isSymbolicFont, properties.hasEncoding);\n var cmapPlatformId = cmapTable.platformId;\n var cmapEncodingId = cmapTable.encodingId;\n var cmapMappings = cmapTable.mappings;\n var cmapMappingsLength = cmapMappings.length;\n\n if (properties.hasEncoding && (cmapPlatformId === 3 && cmapEncodingId === 1 || cmapPlatformId === 1 && cmapEncodingId === 0) || cmapPlatformId === -1 && cmapEncodingId === -1 && !!(0, _encodings.getEncoding)(properties.baseEncodingName)) {\n var baseEncoding = [];\n\n if (properties.baseEncodingName === 'MacRomanEncoding' || properties.baseEncodingName === 'WinAnsiEncoding') {\n baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);\n }\n\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n for (charCode = 0; charCode < 256; charCode++) {\n var glyphName, standardGlyphName;\n\n if (this.differences && charCode in this.differences) {\n glyphName = this.differences[charCode];\n } else if (charCode in baseEncoding && baseEncoding[charCode] !== '') {\n glyphName = baseEncoding[charCode];\n } else {\n glyphName = _encodings.StandardEncoding[charCode];\n }\n\n if (!glyphName) {\n continue;\n }\n\n standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);\n var unicodeOrCharCode;\n\n if (cmapPlatformId === 3 && cmapEncodingId === 1) {\n unicodeOrCharCode = glyphsUnicodeMap[standardGlyphName];\n } else if (cmapPlatformId === 1 && cmapEncodingId === 0) {\n unicodeOrCharCode = _encodings.MacRomanEncoding.indexOf(standardGlyphName);\n }\n\n var found = false;\n\n for (var i = 0; i < cmapMappingsLength; ++i) {\n if (cmapMappings[i].charCode !== unicodeOrCharCode) {\n continue;\n }\n\n charCodeToGlyphId[charCode] = cmapMappings[i].glyphId;\n found = true;\n break;\n }\n\n if (!found && properties.glyphNames) {\n var glyphId = properties.glyphNames.indexOf(glyphName);\n\n if (glyphId === -1 && standardGlyphName !== glyphName) {\n glyphId = properties.glyphNames.indexOf(standardGlyphName);\n }\n\n if (glyphId > 0 && hasGlyph(glyphId)) {\n charCodeToGlyphId[charCode] = glyphId;\n }\n }\n }\n } else if (cmapPlatformId === 0 && cmapEncodingId === 0) {\n for (var _i2 = 0; _i2 < cmapMappingsLength; ++_i2) {\n charCodeToGlyphId[cmapMappings[_i2].charCode] = cmapMappings[_i2].glyphId;\n }\n } else {\n for (var _i3 = 0; _i3 < cmapMappingsLength; ++_i3) {\n charCode = cmapMappings[_i3].charCode;\n\n if (cmapPlatformId === 3 && charCode >= 0xF000 && charCode <= 0xF0FF) {\n charCode &= 0xFF;\n }\n\n charCodeToGlyphId[charCode] = cmapMappings[_i3].glyphId;\n }\n }\n }\n\n if (charCodeToGlyphId.length === 0) {\n charCodeToGlyphId[0] = 0;\n }\n\n var glyphZeroId = numGlyphsOut - 1;\n\n if (!dupFirstEntry) {\n glyphZeroId = 0;\n }\n\n var newMapping = adjustMapping(charCodeToGlyphId, hasGlyph, glyphZeroId);\n this.toFontChar = newMapping.toFontChar;\n tables['cmap'] = {\n tag: 'cmap',\n data: createCmapTable(newMapping.charCodeToGlyphId, numGlyphsOut)\n };\n\n if (!tables['OS/2'] || !validateOS2Table(tables['OS/2'])) {\n tables['OS/2'] = {\n tag: 'OS/2',\n data: createOS2Table(properties, newMapping.charCodeToGlyphId, metricsOverride)\n };\n }\n\n if (!isTrueType) {\n try {\n cffFile = new _stream.Stream(tables['CFF '].data);\n var parser = new _cff_parser.CFFParser(cffFile, properties, SEAC_ANALYSIS_ENABLED);\n cff = parser.parse();\n cff.duplicateFirstGlyph();\n var compiler = new _cff_parser.CFFCompiler(cff);\n tables['CFF '].data = compiler.compile();\n } catch (e) {\n (0, _util.warn)('Failed to compile font ' + properties.loadedName);\n }\n }\n\n if (!tables['name']) {\n tables['name'] = {\n tag: 'name',\n data: createNameTable(this.name)\n };\n } else {\n var namePrototype = readNameTable(tables['name']);\n tables['name'].data = createNameTable(name, namePrototype);\n }\n\n var builder = new OpenTypeFileBuilder(header.version);\n\n for (var tableTag in tables) {\n builder.addTable(tableTag, tables[tableTag].data);\n }\n\n return builder.toArray();\n },\n convert: function Font_convert(fontName, font, properties) {\n properties.fixedPitch = false;\n\n if (properties.builtInEncoding) {\n adjustToUnicode(properties, properties.builtInEncoding);\n }\n\n var glyphZeroId = 1;\n\n if (font instanceof CFFFont) {\n glyphZeroId = font.numGlyphs - 1;\n }\n\n var mapping = font.getGlyphMapping(properties);\n var newMapping = adjustMapping(mapping, font.hasGlyphId.bind(font), glyphZeroId);\n this.toFontChar = newMapping.toFontChar;\n var numGlyphs = font.numGlyphs;\n\n function getCharCodes(charCodeToGlyphId, glyphId) {\n var charCodes = null;\n\n for (var charCode in charCodeToGlyphId) {\n if (glyphId === charCodeToGlyphId[charCode]) {\n if (!charCodes) {\n charCodes = [];\n }\n\n charCodes.push(charCode | 0);\n }\n }\n\n return charCodes;\n }\n\n function createCharCode(charCodeToGlyphId, glyphId) {\n for (var charCode in charCodeToGlyphId) {\n if (glyphId === charCodeToGlyphId[charCode]) {\n return charCode | 0;\n }\n }\n\n newMapping.charCodeToGlyphId[newMapping.nextAvailableFontCharCode] = glyphId;\n return newMapping.nextAvailableFontCharCode++;\n }\n\n var seacs = font.seacs;\n\n if (SEAC_ANALYSIS_ENABLED && seacs && seacs.length) {\n var matrix = properties.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var charset = font.getCharset();\n var seacMap = Object.create(null);\n\n for (var glyphId in seacs) {\n glyphId |= 0;\n var seac = seacs[glyphId];\n var baseGlyphName = _encodings.StandardEncoding[seac[2]];\n var accentGlyphName = _encodings.StandardEncoding[seac[3]];\n var baseGlyphId = charset.indexOf(baseGlyphName);\n var accentGlyphId = charset.indexOf(accentGlyphName);\n\n if (baseGlyphId < 0 || accentGlyphId < 0) {\n continue;\n }\n\n var accentOffset = {\n x: seac[0] * matrix[0] + seac[1] * matrix[2] + matrix[4],\n y: seac[0] * matrix[1] + seac[1] * matrix[3] + matrix[5]\n };\n var charCodes = getCharCodes(mapping, glyphId);\n\n if (!charCodes) {\n continue;\n }\n\n for (var i = 0, ii = charCodes.length; i < ii; i++) {\n var charCode = charCodes[i];\n var charCodeToGlyphId = newMapping.charCodeToGlyphId;\n var baseFontCharCode = createCharCode(charCodeToGlyphId, baseGlyphId);\n var accentFontCharCode = createCharCode(charCodeToGlyphId, accentGlyphId);\n seacMap[charCode] = {\n baseFontCharCode: baseFontCharCode,\n accentFontCharCode: accentFontCharCode,\n accentOffset: accentOffset\n };\n }\n }\n\n properties.seacMap = seacMap;\n }\n\n var unitsPerEm = 1 / (properties.fontMatrix || _util.FONT_IDENTITY_MATRIX)[0];\n var builder = new OpenTypeFileBuilder('\\x4F\\x54\\x54\\x4F');\n builder.addTable('CFF ', font.data);\n builder.addTable('OS/2', createOS2Table(properties, newMapping.charCodeToGlyphId));\n builder.addTable('cmap', createCmapTable(newMapping.charCodeToGlyphId, numGlyphs));\n builder.addTable('head', '\\x00\\x01\\x00\\x00' + '\\x00\\x00\\x10\\x00' + '\\x00\\x00\\x00\\x00' + '\\x5F\\x0F\\x3C\\xF5' + '\\x00\\x00' + safeString16(unitsPerEm) + '\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27' + '\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27' + '\\x00\\x00' + safeString16(properties.descent) + '\\x0F\\xFF' + safeString16(properties.ascent) + string16(properties.italicAngle ? 2 : 0) + '\\x00\\x11' + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00');\n builder.addTable('hhea', '\\x00\\x01\\x00\\x00' + safeString16(properties.ascent) + safeString16(properties.descent) + '\\x00\\x00' + '\\xFF\\xFF' + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00' + safeString16(properties.capHeight) + safeString16(Math.tan(properties.italicAngle) * properties.xHeight) + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00' + string16(numGlyphs));\n builder.addTable('hmtx', function fontFieldsHmtx() {\n var charstrings = font.charstrings;\n var cffWidths = font.cff ? font.cff.widths : null;\n var hmtx = '\\x00\\x00\\x00\\x00';\n\n for (var i = 1, ii = numGlyphs; i < ii; i++) {\n var width = 0;\n\n if (charstrings) {\n var charstring = charstrings[i - 1];\n width = 'width' in charstring ? charstring.width : 0;\n } else if (cffWidths) {\n width = Math.ceil(cffWidths[i] || 0);\n }\n\n hmtx += string16(width) + string16(0);\n }\n\n return hmtx;\n }());\n builder.addTable('maxp', '\\x00\\x00\\x50\\x00' + string16(numGlyphs));\n builder.addTable('name', createNameTable(fontName));\n builder.addTable('post', createPostTable(properties));\n return builder.toArray();\n },\n\n get spaceWidth() {\n if ('_shadowWidth' in this) {\n return this._shadowWidth;\n }\n\n var possibleSpaceReplacements = ['space', 'minus', 'one', 'i', 'I'];\n var width;\n\n for (var i = 0, ii = possibleSpaceReplacements.length; i < ii; i++) {\n var glyphName = possibleSpaceReplacements[i];\n\n if (glyphName in this.widths) {\n width = this.widths[glyphName];\n break;\n }\n\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n var glyphUnicode = glyphsUnicodeMap[glyphName];\n var charcode = 0;\n\n if (this.composite) {\n if (this.cMap.contains(glyphUnicode)) {\n charcode = this.cMap.lookup(glyphUnicode);\n }\n }\n\n if (!charcode && this.toUnicode) {\n charcode = this.toUnicode.charCodeOf(glyphUnicode);\n }\n\n if (charcode <= 0) {\n charcode = glyphUnicode;\n }\n\n width = this.widths[charcode];\n\n if (width) {\n break;\n }\n }\n\n width = width || this.defaultWidth;\n this._shadowWidth = width;\n return width;\n },\n\n charToGlyph: function Font_charToGlyph(charcode, isSpace) {\n var fontCharCode, width, operatorListId;\n var widthCode = charcode;\n\n if (this.cMap && this.cMap.contains(charcode)) {\n widthCode = this.cMap.lookup(charcode);\n }\n\n width = this.widths[widthCode];\n width = (0, _util.isNum)(width) ? width : this.defaultWidth;\n var vmetric = this.vmetrics && this.vmetrics[widthCode];\n var unicode = this.toUnicode.get(charcode) || this.fallbackToUnicode.get(charcode) || charcode;\n\n if (typeof unicode === 'number') {\n unicode = String.fromCharCode(unicode);\n }\n\n var isInFont = charcode in this.toFontChar;\n fontCharCode = this.toFontChar[charcode] || charcode;\n\n if (this.missingFile) {\n fontCharCode = (0, _unicode.mapSpecialUnicodeValues)(fontCharCode);\n }\n\n if (this.isType3Font) {\n operatorListId = fontCharCode;\n }\n\n var accent = null;\n\n if (this.seacMap && this.seacMap[charcode]) {\n isInFont = true;\n var seac = this.seacMap[charcode];\n fontCharCode = seac.baseFontCharCode;\n accent = {\n fontChar: String.fromCodePoint(seac.accentFontCharCode),\n offset: seac.accentOffset\n };\n }\n\n var fontChar = typeof fontCharCode === 'number' ? String.fromCodePoint(fontCharCode) : '';\n var glyph = this.glyphCache[charcode];\n\n if (!glyph || !glyph.matchesForCache(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont)) {\n glyph = new Glyph(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont);\n this.glyphCache[charcode] = glyph;\n }\n\n return glyph;\n },\n charsToGlyphs: function Font_charsToGlyphs(chars) {\n var charsCache = this.charsCache;\n var glyphs, glyph, charcode;\n\n if (charsCache) {\n glyphs = charsCache[chars];\n\n if (glyphs) {\n return glyphs;\n }\n }\n\n if (!charsCache) {\n charsCache = this.charsCache = Object.create(null);\n }\n\n glyphs = [];\n var charsCacheKey = chars;\n var i = 0,\n ii;\n\n if (this.cMap) {\n var c = Object.create(null);\n\n while (i < chars.length) {\n this.cMap.readCharCode(chars, i, c);\n charcode = c.charcode;\n var length = c.length;\n i += length;\n var isSpace = length === 1 && chars.charCodeAt(i - 1) === 0x20;\n glyph = this.charToGlyph(charcode, isSpace);\n glyphs.push(glyph);\n }\n } else {\n for (i = 0, ii = chars.length; i < ii; ++i) {\n charcode = chars.charCodeAt(i);\n glyph = this.charToGlyph(charcode, charcode === 0x20);\n glyphs.push(glyph);\n }\n }\n\n return charsCache[charsCacheKey] = glyphs;\n },\n\n get glyphCacheValues() {\n return Object.values(this.glyphCache);\n }\n\n };\n return Font;\n}();\n\nexports.Font = Font;\n\nvar ErrorFont = function ErrorFontClosure() {\n function ErrorFont(error) {\n this.error = error;\n this.loadedName = 'g_font_error';\n this.missingFile = true;\n }\n\n ErrorFont.prototype = {\n charsToGlyphs: function ErrorFont_charsToGlyphs() {\n return [];\n },\n exportData: function ErrorFont_exportData() {\n return {\n error: this.error\n };\n }\n };\n return ErrorFont;\n}();\n\nexports.ErrorFont = ErrorFont;\n\nfunction type1FontGlyphMapping(properties, builtInEncoding, glyphNames) {\n var charCodeToGlyphId = Object.create(null);\n var glyphId, charCode, baseEncoding;\n var isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);\n\n if (properties.baseEncodingName) {\n baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);\n\n for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n\n if (glyphId >= 0) {\n charCodeToGlyphId[charCode] = glyphId;\n } else {\n charCodeToGlyphId[charCode] = 0;\n }\n }\n } else if (isSymbolicFont) {\n for (charCode in builtInEncoding) {\n charCodeToGlyphId[charCode] = builtInEncoding[charCode];\n }\n } else {\n baseEncoding = _encodings.StandardEncoding;\n\n for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n\n if (glyphId >= 0) {\n charCodeToGlyphId[charCode] = glyphId;\n } else {\n charCodeToGlyphId[charCode] = 0;\n }\n }\n }\n\n var differences = properties.differences,\n glyphsUnicodeMap;\n\n if (differences) {\n for (charCode in differences) {\n var glyphName = differences[charCode];\n glyphId = glyphNames.indexOf(glyphName);\n\n if (glyphId === -1) {\n if (!glyphsUnicodeMap) {\n glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n }\n\n var standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);\n\n if (standardGlyphName !== glyphName) {\n glyphId = glyphNames.indexOf(standardGlyphName);\n }\n }\n\n if (glyphId >= 0) {\n charCodeToGlyphId[charCode] = glyphId;\n } else {\n charCodeToGlyphId[charCode] = 0;\n }\n }\n }\n\n return charCodeToGlyphId;\n}\n\nvar Type1Font = function Type1FontClosure() {\n function findBlock(streamBytes, signature, startIndex) {\n var streamBytesLength = streamBytes.length;\n var signatureLength = signature.length;\n var scanLength = streamBytesLength - signatureLength;\n var i = startIndex,\n j,\n found = false;\n\n while (i < scanLength) {\n j = 0;\n\n while (j < signatureLength && streamBytes[i + j] === signature[j]) {\n j++;\n }\n\n if (j >= signatureLength) {\n i += j;\n\n while (i < streamBytesLength && (0, _util.isSpace)(streamBytes[i])) {\n i++;\n }\n\n found = true;\n break;\n }\n\n i++;\n }\n\n return {\n found: found,\n length: i\n };\n }\n\n function getHeaderBlock(stream, suggestedLength) {\n var EEXEC_SIGNATURE = [0x65, 0x65, 0x78, 0x65, 0x63];\n var streamStartPos = stream.pos;\n var headerBytes, headerBytesLength, block;\n\n try {\n headerBytes = stream.getBytes(suggestedLength);\n headerBytesLength = headerBytes.length;\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n }\n\n if (headerBytesLength === suggestedLength) {\n block = findBlock(headerBytes, EEXEC_SIGNATURE, suggestedLength - 2 * EEXEC_SIGNATURE.length);\n\n if (block.found && block.length === suggestedLength) {\n return {\n stream: new _stream.Stream(headerBytes),\n length: suggestedLength\n };\n }\n }\n\n (0, _util.warn)('Invalid \"Length1\" property in Type1 font -- trying to recover.');\n stream.pos = streamStartPos;\n var SCAN_BLOCK_LENGTH = 2048;\n var actualLength;\n\n while (true) {\n var scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);\n block = findBlock(scanBytes, EEXEC_SIGNATURE, 0);\n\n if (block.length === 0) {\n break;\n }\n\n stream.pos += block.length;\n\n if (block.found) {\n actualLength = stream.pos - streamStartPos;\n break;\n }\n }\n\n stream.pos = streamStartPos;\n\n if (actualLength) {\n return {\n stream: new _stream.Stream(stream.getBytes(actualLength)),\n length: actualLength\n };\n }\n\n (0, _util.warn)('Unable to recover \"Length1\" property in Type1 font -- using as is.');\n return {\n stream: new _stream.Stream(stream.getBytes(suggestedLength)),\n length: suggestedLength\n };\n }\n\n function getEexecBlock(stream, suggestedLength) {\n var eexecBytes = stream.getBytes();\n return {\n stream: new _stream.Stream(eexecBytes),\n length: eexecBytes.length\n };\n }\n\n function Type1Font(name, file, properties) {\n var PFB_HEADER_SIZE = 6;\n var headerBlockLength = properties.length1;\n var eexecBlockLength = properties.length2;\n var pfbHeader = file.peekBytes(PFB_HEADER_SIZE);\n var pfbHeaderPresent = pfbHeader[0] === 0x80 && pfbHeader[1] === 0x01;\n\n if (pfbHeaderPresent) {\n file.skip(PFB_HEADER_SIZE);\n headerBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];\n }\n\n var headerBlock = getHeaderBlock(file, headerBlockLength);\n var headerBlockParser = new _type1_parser.Type1Parser(headerBlock.stream, false, SEAC_ANALYSIS_ENABLED);\n headerBlockParser.extractFontHeader(properties);\n\n if (pfbHeaderPresent) {\n pfbHeader = file.getBytes(PFB_HEADER_SIZE);\n eexecBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];\n }\n\n var eexecBlock = getEexecBlock(file, eexecBlockLength);\n var eexecBlockParser = new _type1_parser.Type1Parser(eexecBlock.stream, true, SEAC_ANALYSIS_ENABLED);\n var data = eexecBlockParser.extractFontProgram();\n\n for (var info in data.properties) {\n properties[info] = data.properties[info];\n }\n\n var charstrings = data.charstrings;\n var type2Charstrings = this.getType2Charstrings(charstrings);\n var subrs = this.getType2Subrs(data.subrs);\n this.charstrings = charstrings;\n this.data = this.wrap(name, type2Charstrings, this.charstrings, subrs, properties);\n this.seacs = this.getSeacs(data.charstrings);\n }\n\n Type1Font.prototype = {\n get numGlyphs() {\n return this.charstrings.length + 1;\n },\n\n getCharset: function Type1Font_getCharset() {\n var charset = ['.notdef'];\n var charstrings = this.charstrings;\n\n for (var glyphId = 0; glyphId < charstrings.length; glyphId++) {\n charset.push(charstrings[glyphId].glyphName);\n }\n\n return charset;\n },\n getGlyphMapping: function Type1Font_getGlyphMapping(properties) {\n var charstrings = this.charstrings;\n var glyphNames = ['.notdef'],\n glyphId;\n\n for (glyphId = 0; glyphId < charstrings.length; glyphId++) {\n glyphNames.push(charstrings[glyphId].glyphName);\n }\n\n var encoding = properties.builtInEncoding;\n\n if (encoding) {\n var builtInEncoding = Object.create(null);\n\n for (var charCode in encoding) {\n glyphId = glyphNames.indexOf(encoding[charCode]);\n\n if (glyphId >= 0) {\n builtInEncoding[charCode] = glyphId;\n }\n }\n }\n\n return type1FontGlyphMapping(properties, builtInEncoding, glyphNames);\n },\n hasGlyphId: function Type1Font_hasGlyphID(id) {\n if (id < 0 || id >= this.numGlyphs) {\n return false;\n }\n\n if (id === 0) {\n return true;\n }\n\n var glyph = this.charstrings[id - 1];\n return glyph.charstring.length > 0;\n },\n getSeacs: function Type1Font_getSeacs(charstrings) {\n var i, ii;\n var seacMap = [];\n\n for (i = 0, ii = charstrings.length; i < ii; i++) {\n var charstring = charstrings[i];\n\n if (charstring.seac) {\n seacMap[i + 1] = charstring.seac;\n }\n }\n\n return seacMap;\n },\n getType2Charstrings: function Type1Font_getType2Charstrings(type1Charstrings) {\n var type2Charstrings = [];\n\n for (var i = 0, ii = type1Charstrings.length; i < ii; i++) {\n type2Charstrings.push(type1Charstrings[i].charstring);\n }\n\n return type2Charstrings;\n },\n getType2Subrs: function Type1Font_getType2Subrs(type1Subrs) {\n var bias = 0;\n var count = type1Subrs.length;\n\n if (count < 1133) {\n bias = 107;\n } else if (count < 33769) {\n bias = 1131;\n } else {\n bias = 32768;\n }\n\n var type2Subrs = [];\n var i;\n\n for (i = 0; i < bias; i++) {\n type2Subrs.push([0x0B]);\n }\n\n for (i = 0; i < count; i++) {\n type2Subrs.push(type1Subrs[i]);\n }\n\n return type2Subrs;\n },\n wrap: function Type1Font_wrap(name, glyphs, charstrings, subrs, properties) {\n var cff = new _cff_parser.CFF();\n cff.header = new _cff_parser.CFFHeader(1, 0, 4, 4);\n cff.names = [name];\n var topDict = new _cff_parser.CFFTopDict();\n topDict.setByName('version', 391);\n topDict.setByName('Notice', 392);\n topDict.setByName('FullName', 393);\n topDict.setByName('FamilyName', 394);\n topDict.setByName('Weight', 395);\n topDict.setByName('Encoding', null);\n topDict.setByName('FontMatrix', properties.fontMatrix);\n topDict.setByName('FontBBox', properties.bbox);\n topDict.setByName('charset', null);\n topDict.setByName('CharStrings', null);\n topDict.setByName('Private', null);\n cff.topDict = topDict;\n var strings = new _cff_parser.CFFStrings();\n strings.add('Version 0.11');\n strings.add('See original notice');\n strings.add(name);\n strings.add(name);\n strings.add('Medium');\n cff.strings = strings;\n cff.globalSubrIndex = new _cff_parser.CFFIndex();\n var count = glyphs.length;\n var charsetArray = ['.notdef'];\n var i, ii;\n\n for (i = 0; i < count; i++) {\n var glyphName = charstrings[i].glyphName;\n\n var index = _cff_parser.CFFStandardStrings.indexOf(glyphName);\n\n if (index === -1) {\n strings.add(glyphName);\n }\n\n charsetArray.push(glyphName);\n }\n\n cff.charset = new _cff_parser.CFFCharset(false, 0, charsetArray);\n var charStringsIndex = new _cff_parser.CFFIndex();\n charStringsIndex.add([0x8B, 0x0E]);\n\n for (i = 0; i < count; i++) {\n charStringsIndex.add(glyphs[i]);\n }\n\n cff.charStrings = charStringsIndex;\n var privateDict = new _cff_parser.CFFPrivateDict();\n privateDict.setByName('Subrs', null);\n var fields = ['BlueValues', 'OtherBlues', 'FamilyBlues', 'FamilyOtherBlues', 'StemSnapH', 'StemSnapV', 'BlueShift', 'BlueFuzz', 'BlueScale', 'LanguageGroup', 'ExpansionFactor', 'ForceBold', 'StdHW', 'StdVW'];\n\n for (i = 0, ii = fields.length; i < ii; i++) {\n var field = fields[i];\n\n if (!(field in properties.privateData)) {\n continue;\n }\n\n var value = properties.privateData[field];\n\n if (Array.isArray(value)) {\n for (var j = value.length - 1; j > 0; j--) {\n value[j] -= value[j - 1];\n }\n }\n\n privateDict.setByName(field, value);\n }\n\n cff.topDict.privateDict = privateDict;\n var subrIndex = new _cff_parser.CFFIndex();\n\n for (i = 0, ii = subrs.length; i < ii; i++) {\n subrIndex.add(subrs[i]);\n }\n\n privateDict.subrsIndex = subrIndex;\n var compiler = new _cff_parser.CFFCompiler(cff);\n return compiler.compile();\n }\n };\n return Type1Font;\n}();\n\nvar CFFFont = function CFFFontClosure() {\n function CFFFont(file, properties) {\n this.properties = properties;\n var parser = new _cff_parser.CFFParser(file, properties, SEAC_ANALYSIS_ENABLED);\n this.cff = parser.parse();\n this.cff.duplicateFirstGlyph();\n var compiler = new _cff_parser.CFFCompiler(this.cff);\n this.seacs = this.cff.seacs;\n\n try {\n this.data = compiler.compile();\n } catch (e) {\n (0, _util.warn)('Failed to compile font ' + properties.loadedName);\n this.data = file;\n }\n }\n\n CFFFont.prototype = {\n get numGlyphs() {\n return this.cff.charStrings.count;\n },\n\n getCharset: function CFFFont_getCharset() {\n return this.cff.charset.charset;\n },\n getGlyphMapping: function CFFFont_getGlyphMapping() {\n var cff = this.cff;\n var properties = this.properties;\n var charsets = cff.charset.charset;\n var charCodeToGlyphId;\n var glyphId;\n\n if (properties.composite) {\n charCodeToGlyphId = Object.create(null);\n var charCode;\n\n if (cff.isCIDFont) {\n for (glyphId = 0; glyphId < charsets.length; glyphId++) {\n var cid = charsets[glyphId];\n charCode = properties.cMap.charCodeOf(cid);\n charCodeToGlyphId[charCode] = glyphId;\n }\n } else {\n for (glyphId = 0; glyphId < cff.charStrings.count; glyphId++) {\n charCode = properties.cMap.charCodeOf(glyphId);\n charCodeToGlyphId[charCode] = glyphId;\n }\n }\n\n return charCodeToGlyphId;\n }\n\n var encoding = cff.encoding ? cff.encoding.encoding : null;\n charCodeToGlyphId = type1FontGlyphMapping(properties, encoding, charsets);\n return charCodeToGlyphId;\n },\n hasGlyphId: function CFFFont_hasGlyphID(id) {\n return this.cff.hasGlyphId(id);\n }\n };\n return CFFFont;\n}();\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CFFFDSelect = exports.CFFCompiler = exports.CFFPrivateDict = exports.CFFTopDict = exports.CFFCharset = exports.CFFIndex = exports.CFFStrings = exports.CFFHeader = exports.CFF = exports.CFFParser = exports.CFFStandardStrings = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _charsets = __w_pdfjs_require__(176);\n\nvar _encodings = __w_pdfjs_require__(177);\n\nvar MAX_SUBR_NESTING = 10;\nvar CFFStandardStrings = ['.notdef', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quoteright', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', 'exclamdown', 'cent', 'sterling', 'fraction', 'yen', 'florin', 'section', 'currency', 'quotesingle', 'quotedblleft', 'guillemotleft', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 'endash', 'dagger', 'daggerdbl', 'periodcentered', 'paragraph', 'bullet', 'quotesinglbase', 'quotedblbase', 'quotedblright', 'guillemotright', 'ellipsis', 'perthousand', 'questiondown', 'grave', 'acute', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'dieresis', 'ring', 'cedilla', 'hungarumlaut', 'ogonek', 'caron', 'emdash', 'AE', 'ordfeminine', 'Lslash', 'Oslash', 'OE', 'ordmasculine', 'ae', 'dotlessi', 'lslash', 'oslash', 'oe', 'germandbls', 'onesuperior', 'logicalnot', 'mu', 'trademark', 'Eth', 'onehalf', 'plusminus', 'Thorn', 'onequarter', 'divide', 'brokenbar', 'degree', 'thorn', 'threequarters', 'twosuperior', 'registered', 'minus', 'eth', 'multiply', 'threesuperior', 'copyright', 'Aacute', 'Acircumflex', 'Adieresis', 'Agrave', 'Aring', 'Atilde', 'Ccedilla', 'Eacute', 'Ecircumflex', 'Edieresis', 'Egrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Igrave', 'Ntilde', 'Oacute', 'Ocircumflex', 'Odieresis', 'Ograve', 'Otilde', 'Scaron', 'Uacute', 'Ucircumflex', 'Udieresis', 'Ugrave', 'Yacute', 'Ydieresis', 'Zcaron', 'aacute', 'acircumflex', 'adieresis', 'agrave', 'aring', 'atilde', 'ccedilla', 'eacute', 'ecircumflex', 'edieresis', 'egrave', 'iacute', 'icircumflex', 'idieresis', 'igrave', 'ntilde', 'oacute', 'ocircumflex', 'odieresis', 'ograve', 'otilde', 'scaron', 'uacute', 'ucircumflex', 'udieresis', 'ugrave', 'yacute', 'ydieresis', 'zcaron', 'exclamsmall', 'Hungarumlautsmall', 'dollaroldstyle', 'dollarsuperior', 'ampersandsmall', 'Acutesmall', 'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'commasuperior', 'threequartersemdash', 'periodsuperior', 'questionsmall', 'asuperior', 'bsuperior', 'centsuperior', 'dsuperior', 'esuperior', 'isuperior', 'lsuperior', 'msuperior', 'nsuperior', 'osuperior', 'rsuperior', 'ssuperior', 'tsuperior', 'ff', 'ffi', 'ffl', 'parenleftinferior', 'parenrightinferior', 'Circumflexsmall', 'hyphensuperior', 'Gravesmall', 'Asmall', 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall', 'Osmall', 'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall', 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', 'Tildesmall', 'exclamdownsmall', 'centoldstyle', 'Lslashsmall', 'Scaronsmall', 'Zcaronsmall', 'Dieresissmall', 'Brevesmall', 'Caronsmall', 'Dotaccentsmall', 'Macronsmall', 'figuredash', 'hypheninferior', 'Ogoneksmall', 'Ringsmall', 'Cedillasmall', 'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds', 'zerosuperior', 'foursuperior', 'fivesuperior', 'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', 'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior', 'periodinferior', 'commainferior', 'Agravesmall', 'Aacutesmall', 'Acircumflexsmall', 'Atildesmall', 'Adieresissmall', 'Aringsmall', 'AEsmall', 'Ccedillasmall', 'Egravesmall', 'Eacutesmall', 'Ecircumflexsmall', 'Edieresissmall', 'Igravesmall', 'Iacutesmall', 'Icircumflexsmall', 'Idieresissmall', 'Ethsmall', 'Ntildesmall', 'Ogravesmall', 'Oacutesmall', 'Ocircumflexsmall', 'Otildesmall', 'Odieresissmall', 'OEsmall', 'Oslashsmall', 'Ugravesmall', 'Uacutesmall', 'Ucircumflexsmall', 'Udieresissmall', 'Yacutesmall', 'Thornsmall', 'Ydieresissmall', '001.000', '001.001', '001.002', '001.003', 'Black', 'Bold', 'Book', 'Light', 'Medium', 'Regular', 'Roman', 'Semibold'];\nexports.CFFStandardStrings = CFFStandardStrings;\nvar NUM_STANDARD_CFF_STRINGS = 391;\n\nvar CFFParser = function CFFParserClosure() {\n var CharstringValidationData = [null, {\n id: 'hstem',\n min: 2,\n stackClearing: true,\n stem: true\n }, null, {\n id: 'vstem',\n min: 2,\n stackClearing: true,\n stem: true\n }, {\n id: 'vmoveto',\n min: 1,\n stackClearing: true\n }, {\n id: 'rlineto',\n min: 2,\n resetStack: true\n }, {\n id: 'hlineto',\n min: 1,\n resetStack: true\n }, {\n id: 'vlineto',\n min: 1,\n resetStack: true\n }, {\n id: 'rrcurveto',\n min: 6,\n resetStack: true\n }, null, {\n id: 'callsubr',\n min: 1,\n undefStack: true\n }, {\n id: 'return',\n min: 0,\n undefStack: true\n }, null, null, {\n id: 'endchar',\n min: 0,\n stackClearing: true\n }, null, null, null, {\n id: 'hstemhm',\n min: 2,\n stackClearing: true,\n stem: true\n }, {\n id: 'hintmask',\n min: 0,\n stackClearing: true\n }, {\n id: 'cntrmask',\n min: 0,\n stackClearing: true\n }, {\n id: 'rmoveto',\n min: 2,\n stackClearing: true\n }, {\n id: 'hmoveto',\n min: 1,\n stackClearing: true\n }, {\n id: 'vstemhm',\n min: 2,\n stackClearing: true,\n stem: true\n }, {\n id: 'rcurveline',\n min: 8,\n resetStack: true\n }, {\n id: 'rlinecurve',\n min: 8,\n resetStack: true\n }, {\n id: 'vvcurveto',\n min: 4,\n resetStack: true\n }, {\n id: 'hhcurveto',\n min: 4,\n resetStack: true\n }, null, {\n id: 'callgsubr',\n min: 1,\n undefStack: true\n }, {\n id: 'vhcurveto',\n min: 4,\n resetStack: true\n }, {\n id: 'hvcurveto',\n min: 4,\n resetStack: true\n }];\n var CharstringValidationData12 = [null, null, null, {\n id: 'and',\n min: 2,\n stackDelta: -1\n }, {\n id: 'or',\n min: 2,\n stackDelta: -1\n }, {\n id: 'not',\n min: 1,\n stackDelta: 0\n }, null, null, null, {\n id: 'abs',\n min: 1,\n stackDelta: 0\n }, {\n id: 'add',\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] + stack[index - 1];\n }\n }, {\n id: 'sub',\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] - stack[index - 1];\n }\n }, {\n id: 'div',\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] / stack[index - 1];\n }\n }, null, {\n id: 'neg',\n min: 1,\n stackDelta: 0,\n stackFn: function stack_div(stack, index) {\n stack[index - 1] = -stack[index - 1];\n }\n }, {\n id: 'eq',\n min: 2,\n stackDelta: -1\n }, null, null, {\n id: 'drop',\n min: 1,\n stackDelta: -1\n }, null, {\n id: 'put',\n min: 2,\n stackDelta: -2\n }, {\n id: 'get',\n min: 1,\n stackDelta: 0\n }, {\n id: 'ifelse',\n min: 4,\n stackDelta: -3\n }, {\n id: 'random',\n min: 0,\n stackDelta: 1\n }, {\n id: 'mul',\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] * stack[index - 1];\n }\n }, null, {\n id: 'sqrt',\n min: 1,\n stackDelta: 0\n }, {\n id: 'dup',\n min: 1,\n stackDelta: 1\n }, {\n id: 'exch',\n min: 2,\n stackDelta: 0\n }, {\n id: 'index',\n min: 2,\n stackDelta: 0\n }, {\n id: 'roll',\n min: 3,\n stackDelta: -2\n }, null, null, null, {\n id: 'hflex',\n min: 7,\n resetStack: true\n }, {\n id: 'flex',\n min: 13,\n resetStack: true\n }, {\n id: 'hflex1',\n min: 9,\n resetStack: true\n }, {\n id: 'flex1',\n min: 11,\n resetStack: true\n }];\n\n function CFFParser(file, properties, seacAnalysisEnabled) {\n this.bytes = file.getBytes();\n this.properties = properties;\n this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n }\n\n CFFParser.prototype = {\n parse: function CFFParser_parse() {\n var properties = this.properties;\n var cff = new CFF();\n this.cff = cff;\n var header = this.parseHeader();\n var nameIndex = this.parseIndex(header.endPos);\n var topDictIndex = this.parseIndex(nameIndex.endPos);\n var stringIndex = this.parseIndex(topDictIndex.endPos);\n var globalSubrIndex = this.parseIndex(stringIndex.endPos);\n var topDictParsed = this.parseDict(topDictIndex.obj.get(0));\n var topDict = this.createDict(CFFTopDict, topDictParsed, cff.strings);\n cff.header = header.obj;\n cff.names = this.parseNameIndex(nameIndex.obj);\n cff.strings = this.parseStringIndex(stringIndex.obj);\n cff.topDict = topDict;\n cff.globalSubrIndex = globalSubrIndex.obj;\n this.parsePrivateDict(cff.topDict);\n cff.isCIDFont = topDict.hasName('ROS');\n var charStringOffset = topDict.getByName('CharStrings');\n var charStringIndex = this.parseIndex(charStringOffset).obj;\n var fontMatrix = topDict.getByName('FontMatrix');\n\n if (fontMatrix) {\n properties.fontMatrix = fontMatrix;\n }\n\n var fontBBox = topDict.getByName('FontBBox');\n\n if (fontBBox) {\n properties.ascent = Math.max(fontBBox[3], fontBBox[1]);\n properties.descent = Math.min(fontBBox[1], fontBBox[3]);\n properties.ascentScaled = true;\n }\n\n var charset, encoding;\n\n if (cff.isCIDFont) {\n var fdArrayIndex = this.parseIndex(topDict.getByName('FDArray')).obj;\n\n for (var i = 0, ii = fdArrayIndex.count; i < ii; ++i) {\n var dictRaw = fdArrayIndex.get(i);\n var fontDict = this.createDict(CFFTopDict, this.parseDict(dictRaw), cff.strings);\n this.parsePrivateDict(fontDict);\n cff.fdArray.push(fontDict);\n }\n\n encoding = null;\n charset = this.parseCharsets(topDict.getByName('charset'), charStringIndex.count, cff.strings, true);\n cff.fdSelect = this.parseFDSelect(topDict.getByName('FDSelect'), charStringIndex.count);\n } else {\n charset = this.parseCharsets(topDict.getByName('charset'), charStringIndex.count, cff.strings, false);\n encoding = this.parseEncoding(topDict.getByName('Encoding'), properties, cff.strings, charset.charset);\n }\n\n cff.charset = charset;\n cff.encoding = encoding;\n var charStringsAndSeacs = this.parseCharStrings({\n charStrings: charStringIndex,\n localSubrIndex: topDict.privateDict.subrsIndex,\n globalSubrIndex: globalSubrIndex.obj,\n fdSelect: cff.fdSelect,\n fdArray: cff.fdArray,\n privateDict: topDict.privateDict\n });\n cff.charStrings = charStringsAndSeacs.charStrings;\n cff.seacs = charStringsAndSeacs.seacs;\n cff.widths = charStringsAndSeacs.widths;\n return cff;\n },\n parseHeader: function CFFParser_parseHeader() {\n var bytes = this.bytes;\n var bytesLength = bytes.length;\n var offset = 0;\n\n while (offset < bytesLength && bytes[offset] !== 1) {\n ++offset;\n }\n\n if (offset >= bytesLength) {\n throw new _util.FormatError('Invalid CFF header');\n }\n\n if (offset !== 0) {\n (0, _util.info)('cff data is shifted');\n bytes = bytes.subarray(offset);\n this.bytes = bytes;\n }\n\n var major = bytes[0];\n var minor = bytes[1];\n var hdrSize = bytes[2];\n var offSize = bytes[3];\n var header = new CFFHeader(major, minor, hdrSize, offSize);\n return {\n obj: header,\n endPos: hdrSize\n };\n },\n parseDict: function CFFParser_parseDict(dict) {\n var pos = 0;\n\n function parseOperand() {\n var value = dict[pos++];\n\n if (value === 30) {\n return parseFloatOperand();\n } else if (value === 28) {\n value = dict[pos++];\n value = (value << 24 | dict[pos++] << 16) >> 16;\n return value;\n } else if (value === 29) {\n value = dict[pos++];\n value = value << 8 | dict[pos++];\n value = value << 8 | dict[pos++];\n value = value << 8 | dict[pos++];\n return value;\n } else if (value >= 32 && value <= 246) {\n return value - 139;\n } else if (value >= 247 && value <= 250) {\n return (value - 247) * 256 + dict[pos++] + 108;\n } else if (value >= 251 && value <= 254) {\n return -((value - 251) * 256) - dict[pos++] - 108;\n }\n\n (0, _util.warn)('CFFParser_parseDict: \"' + value + '\" is a reserved command.');\n return NaN;\n }\n\n function parseFloatOperand() {\n var str = '';\n var eof = 15;\n var lookup = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', 'E', 'E-', null, '-'];\n var length = dict.length;\n\n while (pos < length) {\n var b = dict[pos++];\n var b1 = b >> 4;\n var b2 = b & 15;\n\n if (b1 === eof) {\n break;\n }\n\n str += lookup[b1];\n\n if (b2 === eof) {\n break;\n }\n\n str += lookup[b2];\n }\n\n return parseFloat(str);\n }\n\n var operands = [];\n var entries = [];\n pos = 0;\n var end = dict.length;\n\n while (pos < end) {\n var b = dict[pos];\n\n if (b <= 21) {\n if (b === 12) {\n b = b << 8 | dict[++pos];\n }\n\n entries.push([b, operands]);\n operands = [];\n ++pos;\n } else {\n operands.push(parseOperand());\n }\n }\n\n return entries;\n },\n parseIndex: function CFFParser_parseIndex(pos) {\n var cffIndex = new CFFIndex();\n var bytes = this.bytes;\n var count = bytes[pos++] << 8 | bytes[pos++];\n var offsets = [];\n var end = pos;\n var i, ii;\n\n if (count !== 0) {\n var offsetSize = bytes[pos++];\n var startPos = pos + (count + 1) * offsetSize - 1;\n\n for (i = 0, ii = count + 1; i < ii; ++i) {\n var offset = 0;\n\n for (var j = 0; j < offsetSize; ++j) {\n offset <<= 8;\n offset += bytes[pos++];\n }\n\n offsets.push(startPos + offset);\n }\n\n end = offsets[count];\n }\n\n for (i = 0, ii = offsets.length - 1; i < ii; ++i) {\n var offsetStart = offsets[i];\n var offsetEnd = offsets[i + 1];\n cffIndex.add(bytes.subarray(offsetStart, offsetEnd));\n }\n\n return {\n obj: cffIndex,\n endPos: end\n };\n },\n parseNameIndex: function CFFParser_parseNameIndex(index) {\n var names = [];\n\n for (var i = 0, ii = index.count; i < ii; ++i) {\n var name = index.get(i);\n names.push((0, _util.bytesToString)(name));\n }\n\n return names;\n },\n parseStringIndex: function CFFParser_parseStringIndex(index) {\n var strings = new CFFStrings();\n\n for (var i = 0, ii = index.count; i < ii; ++i) {\n var data = index.get(i);\n strings.add((0, _util.bytesToString)(data));\n }\n\n return strings;\n },\n createDict: function CFFParser_createDict(Type, dict, strings) {\n var cffDict = new Type(strings);\n\n for (var i = 0, ii = dict.length; i < ii; ++i) {\n var pair = dict[i];\n var key = pair[0];\n var value = pair[1];\n cffDict.setByKey(key, value);\n }\n\n return cffDict;\n },\n parseCharString: function CFFParser_parseCharString(state, data, localSubrIndex, globalSubrIndex) {\n if (!data || state.callDepth > MAX_SUBR_NESTING) {\n return false;\n }\n\n var stackSize = state.stackSize;\n var stack = state.stack;\n var length = data.length;\n\n for (var j = 0; j < length;) {\n var value = data[j++];\n var validationCommand = null;\n\n if (value === 12) {\n var q = data[j++];\n\n if (q === 0) {\n data[j - 2] = 139;\n data[j - 1] = 22;\n stackSize = 0;\n } else {\n validationCommand = CharstringValidationData12[q];\n }\n } else if (value === 28) {\n stack[stackSize] = (data[j] << 24 | data[j + 1] << 16) >> 16;\n j += 2;\n stackSize++;\n } else if (value === 14) {\n if (stackSize >= 4) {\n stackSize -= 4;\n\n if (this.seacAnalysisEnabled) {\n state.seac = stack.slice(stackSize, stackSize + 4);\n return false;\n }\n }\n\n validationCommand = CharstringValidationData[value];\n } else if (value >= 32 && value <= 246) {\n stack[stackSize] = value - 139;\n stackSize++;\n } else if (value >= 247 && value <= 254) {\n stack[stackSize] = value < 251 ? (value - 247 << 8) + data[j] + 108 : -(value - 251 << 8) - data[j] - 108;\n j++;\n stackSize++;\n } else if (value === 255) {\n stack[stackSize] = (data[j] << 24 | data[j + 1] << 16 | data[j + 2] << 8 | data[j + 3]) / 65536;\n j += 4;\n stackSize++;\n } else if (value === 19 || value === 20) {\n state.hints += stackSize >> 1;\n j += state.hints + 7 >> 3;\n stackSize %= 2;\n validationCommand = CharstringValidationData[value];\n } else if (value === 10 || value === 29) {\n var subrsIndex;\n\n if (value === 10) {\n subrsIndex = localSubrIndex;\n } else {\n subrsIndex = globalSubrIndex;\n }\n\n if (!subrsIndex) {\n validationCommand = CharstringValidationData[value];\n (0, _util.warn)('Missing subrsIndex for ' + validationCommand.id);\n return false;\n }\n\n var bias = 32768;\n\n if (subrsIndex.count < 1240) {\n bias = 107;\n } else if (subrsIndex.count < 33900) {\n bias = 1131;\n }\n\n var subrNumber = stack[--stackSize] + bias;\n\n if (subrNumber < 0 || subrNumber >= subrsIndex.count || isNaN(subrNumber)) {\n validationCommand = CharstringValidationData[value];\n (0, _util.warn)('Out of bounds subrIndex for ' + validationCommand.id);\n return false;\n }\n\n state.stackSize = stackSize;\n state.callDepth++;\n var valid = this.parseCharString(state, subrsIndex.get(subrNumber), localSubrIndex, globalSubrIndex);\n\n if (!valid) {\n return false;\n }\n\n state.callDepth--;\n stackSize = state.stackSize;\n continue;\n } else if (value === 11) {\n state.stackSize = stackSize;\n return true;\n } else {\n validationCommand = CharstringValidationData[value];\n }\n\n if (validationCommand) {\n if (validationCommand.stem) {\n state.hints += stackSize >> 1;\n\n if (value === 3 || value === 23) {\n state.hasVStems = true;\n } else if (state.hasVStems && (value === 1 || value === 18)) {\n (0, _util.warn)('CFF stem hints are in wrong order');\n data[j - 1] = value === 1 ? 3 : 23;\n }\n }\n\n if ('min' in validationCommand) {\n if (!state.undefStack && stackSize < validationCommand.min) {\n (0, _util.warn)('Not enough parameters for ' + validationCommand.id + '; actual: ' + stackSize + ', expected: ' + validationCommand.min);\n return false;\n }\n }\n\n if (state.firstStackClearing && validationCommand.stackClearing) {\n state.firstStackClearing = false;\n stackSize -= validationCommand.min;\n\n if (stackSize >= 2 && validationCommand.stem) {\n stackSize %= 2;\n } else if (stackSize > 1) {\n (0, _util.warn)('Found too many parameters for stack-clearing command');\n }\n\n if (stackSize > 0 && stack[stackSize - 1] >= 0) {\n state.width = stack[stackSize - 1];\n }\n }\n\n if ('stackDelta' in validationCommand) {\n if ('stackFn' in validationCommand) {\n validationCommand.stackFn(stack, stackSize);\n }\n\n stackSize += validationCommand.stackDelta;\n } else if (validationCommand.stackClearing) {\n stackSize = 0;\n } else if (validationCommand.resetStack) {\n stackSize = 0;\n state.undefStack = false;\n } else if (validationCommand.undefStack) {\n stackSize = 0;\n state.undefStack = true;\n state.firstStackClearing = false;\n }\n }\n }\n\n state.stackSize = stackSize;\n return true;\n },\n parseCharStrings: function parseCharStrings(_ref) {\n var charStrings = _ref.charStrings,\n localSubrIndex = _ref.localSubrIndex,\n globalSubrIndex = _ref.globalSubrIndex,\n fdSelect = _ref.fdSelect,\n fdArray = _ref.fdArray,\n privateDict = _ref.privateDict;\n var seacs = [];\n var widths = [];\n var count = charStrings.count;\n\n for (var i = 0; i < count; i++) {\n var charstring = charStrings.get(i);\n var state = {\n callDepth: 0,\n stackSize: 0,\n stack: [],\n undefStack: true,\n hints: 0,\n firstStackClearing: true,\n seac: null,\n width: null,\n hasVStems: false\n };\n var valid = true;\n var localSubrToUse = null;\n var privateDictToUse = privateDict;\n\n if (fdSelect && fdArray.length) {\n var fdIndex = fdSelect.getFDIndex(i);\n\n if (fdIndex === -1) {\n (0, _util.warn)('Glyph index is not in fd select.');\n valid = false;\n }\n\n if (fdIndex >= fdArray.length) {\n (0, _util.warn)('Invalid fd index for glyph index.');\n valid = false;\n }\n\n if (valid) {\n privateDictToUse = fdArray[fdIndex].privateDict;\n localSubrToUse = privateDictToUse.subrsIndex;\n }\n } else if (localSubrIndex) {\n localSubrToUse = localSubrIndex;\n }\n\n if (valid) {\n valid = this.parseCharString(state, charstring, localSubrToUse, globalSubrIndex);\n }\n\n if (state.width !== null) {\n var nominalWidth = privateDictToUse.getByName('nominalWidthX');\n widths[i] = nominalWidth + state.width;\n } else {\n var defaultWidth = privateDictToUse.getByName('defaultWidthX');\n widths[i] = defaultWidth;\n }\n\n if (state.seac !== null) {\n seacs[i] = state.seac;\n }\n\n if (!valid) {\n charStrings.set(i, new Uint8Array([14]));\n }\n }\n\n return {\n charStrings: charStrings,\n seacs: seacs,\n widths: widths\n };\n },\n emptyPrivateDictionary: function CFFParser_emptyPrivateDictionary(parentDict) {\n var privateDict = this.createDict(CFFPrivateDict, [], parentDict.strings);\n parentDict.setByKey(18, [0, 0]);\n parentDict.privateDict = privateDict;\n },\n parsePrivateDict: function CFFParser_parsePrivateDict(parentDict) {\n if (!parentDict.hasName('Private')) {\n this.emptyPrivateDictionary(parentDict);\n return;\n }\n\n var privateOffset = parentDict.getByName('Private');\n\n if (!Array.isArray(privateOffset) || privateOffset.length !== 2) {\n parentDict.removeByName('Private');\n return;\n }\n\n var size = privateOffset[0];\n var offset = privateOffset[1];\n\n if (size === 0 || offset >= this.bytes.length) {\n this.emptyPrivateDictionary(parentDict);\n return;\n }\n\n var privateDictEnd = offset + size;\n var dictData = this.bytes.subarray(offset, privateDictEnd);\n var dict = this.parseDict(dictData);\n var privateDict = this.createDict(CFFPrivateDict, dict, parentDict.strings);\n parentDict.privateDict = privateDict;\n\n if (!privateDict.getByName('Subrs')) {\n return;\n }\n\n var subrsOffset = privateDict.getByName('Subrs');\n var relativeOffset = offset + subrsOffset;\n\n if (subrsOffset === 0 || relativeOffset >= this.bytes.length) {\n this.emptyPrivateDictionary(parentDict);\n return;\n }\n\n var subrsIndex = this.parseIndex(relativeOffset);\n privateDict.subrsIndex = subrsIndex.obj;\n },\n parseCharsets: function CFFParser_parseCharsets(pos, length, strings, cid) {\n if (pos === 0) {\n return new CFFCharset(true, CFFCharsetPredefinedTypes.ISO_ADOBE, _charsets.ISOAdobeCharset);\n } else if (pos === 1) {\n return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT, _charsets.ExpertCharset);\n } else if (pos === 2) {\n return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT_SUBSET, _charsets.ExpertSubsetCharset);\n }\n\n var bytes = this.bytes;\n var start = pos;\n var format = bytes[pos++];\n var charset = ['.notdef'];\n var id, count, i;\n length -= 1;\n\n switch (format) {\n case 0:\n for (i = 0; i < length; i++) {\n id = bytes[pos++] << 8 | bytes[pos++];\n charset.push(cid ? id : strings.get(id));\n }\n\n break;\n\n case 1:\n while (charset.length <= length) {\n id = bytes[pos++] << 8 | bytes[pos++];\n count = bytes[pos++];\n\n for (i = 0; i <= count; i++) {\n charset.push(cid ? id++ : strings.get(id++));\n }\n }\n\n break;\n\n case 2:\n while (charset.length <= length) {\n id = bytes[pos++] << 8 | bytes[pos++];\n count = bytes[pos++] << 8 | bytes[pos++];\n\n for (i = 0; i <= count; i++) {\n charset.push(cid ? id++ : strings.get(id++));\n }\n }\n\n break;\n\n default:\n throw new _util.FormatError('Unknown charset format');\n }\n\n var end = pos;\n var raw = bytes.subarray(start, end);\n return new CFFCharset(false, format, charset, raw);\n },\n parseEncoding: function CFFParser_parseEncoding(pos, properties, strings, charset) {\n var encoding = Object.create(null);\n var bytes = this.bytes;\n var predefined = false;\n var format, i, ii;\n var raw = null;\n\n function readSupplement() {\n var supplementsCount = bytes[pos++];\n\n for (i = 0; i < supplementsCount; i++) {\n var code = bytes[pos++];\n var sid = (bytes[pos++] << 8) + (bytes[pos++] & 0xff);\n encoding[code] = charset.indexOf(strings.get(sid));\n }\n }\n\n if (pos === 0 || pos === 1) {\n predefined = true;\n format = pos;\n var baseEncoding = pos ? _encodings.ExpertEncoding : _encodings.StandardEncoding;\n\n for (i = 0, ii = charset.length; i < ii; i++) {\n var index = baseEncoding.indexOf(charset[i]);\n\n if (index !== -1) {\n encoding[index] = i;\n }\n }\n } else {\n var dataStart = pos;\n format = bytes[pos++];\n\n switch (format & 0x7f) {\n case 0:\n var glyphsCount = bytes[pos++];\n\n for (i = 1; i <= glyphsCount; i++) {\n encoding[bytes[pos++]] = i;\n }\n\n break;\n\n case 1:\n var rangesCount = bytes[pos++];\n var gid = 1;\n\n for (i = 0; i < rangesCount; i++) {\n var start = bytes[pos++];\n var left = bytes[pos++];\n\n for (var j = start; j <= start + left; j++) {\n encoding[j] = gid++;\n }\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unknown encoding format: \".concat(format, \" in CFF\"));\n }\n\n var dataEnd = pos;\n\n if (format & 0x80) {\n bytes[dataStart] &= 0x7f;\n readSupplement();\n }\n\n raw = bytes.subarray(dataStart, dataEnd);\n }\n\n format = format & 0x7f;\n return new CFFEncoding(predefined, format, encoding, raw);\n },\n parseFDSelect: function CFFParser_parseFDSelect(pos, length) {\n var bytes = this.bytes;\n var format = bytes[pos++];\n var fdSelect = [];\n var i;\n\n switch (format) {\n case 0:\n for (i = 0; i < length; ++i) {\n var id = bytes[pos++];\n fdSelect.push(id);\n }\n\n break;\n\n case 3:\n var rangesCount = bytes[pos++] << 8 | bytes[pos++];\n\n for (i = 0; i < rangesCount; ++i) {\n var first = bytes[pos++] << 8 | bytes[pos++];\n\n if (i === 0 && first !== 0) {\n (0, _util.warn)('parseFDSelect: The first range must have a first GID of 0' + ' -- trying to recover.');\n first = 0;\n }\n\n var fdIndex = bytes[pos++];\n var next = bytes[pos] << 8 | bytes[pos + 1];\n\n for (var j = first; j < next; ++j) {\n fdSelect.push(fdIndex);\n }\n }\n\n pos += 2;\n break;\n\n default:\n throw new _util.FormatError(\"parseFDSelect: Unknown format \\\"\".concat(format, \"\\\".\"));\n }\n\n if (fdSelect.length !== length) {\n throw new _util.FormatError('parseFDSelect: Invalid font data.');\n }\n\n return new CFFFDSelect(format, fdSelect);\n }\n };\n return CFFParser;\n}();\n\nexports.CFFParser = CFFParser;\n\nvar CFF = function CFFClosure() {\n function CFF() {\n this.header = null;\n this.names = [];\n this.topDict = null;\n this.strings = new CFFStrings();\n this.globalSubrIndex = null;\n this.encoding = null;\n this.charset = null;\n this.charStrings = null;\n this.fdArray = [];\n this.fdSelect = null;\n this.isCIDFont = false;\n }\n\n CFF.prototype = {\n duplicateFirstGlyph: function CFF_duplicateFirstGlyph() {\n if (this.charStrings.count >= 65535) {\n (0, _util.warn)('Not enough space in charstrings to duplicate first glyph.');\n return;\n }\n\n var glyphZero = this.charStrings.get(0);\n this.charStrings.add(glyphZero);\n\n if (this.isCIDFont) {\n this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0]);\n }\n },\n hasGlyphId: function CFF_hasGlyphID(id) {\n if (id < 0 || id >= this.charStrings.count) {\n return false;\n }\n\n var glyph = this.charStrings.get(id);\n return glyph.length > 0;\n }\n };\n return CFF;\n}();\n\nexports.CFF = CFF;\n\nvar CFFHeader = function CFFHeaderClosure() {\n function CFFHeader(major, minor, hdrSize, offSize) {\n this.major = major;\n this.minor = minor;\n this.hdrSize = hdrSize;\n this.offSize = offSize;\n }\n\n return CFFHeader;\n}();\n\nexports.CFFHeader = CFFHeader;\n\nvar CFFStrings = function CFFStringsClosure() {\n function CFFStrings() {\n this.strings = [];\n }\n\n CFFStrings.prototype = {\n get: function CFFStrings_get(index) {\n if (index >= 0 && index <= NUM_STANDARD_CFF_STRINGS - 1) {\n return CFFStandardStrings[index];\n }\n\n if (index - NUM_STANDARD_CFF_STRINGS <= this.strings.length) {\n return this.strings[index - NUM_STANDARD_CFF_STRINGS];\n }\n\n return CFFStandardStrings[0];\n },\n getSID: function CFFStrings_getSID(str) {\n var index = CFFStandardStrings.indexOf(str);\n\n if (index !== -1) {\n return index;\n }\n\n index = this.strings.indexOf(str);\n\n if (index !== -1) {\n return index + NUM_STANDARD_CFF_STRINGS;\n }\n\n return -1;\n },\n add: function CFFStrings_add(value) {\n this.strings.push(value);\n },\n\n get count() {\n return this.strings.length;\n }\n\n };\n return CFFStrings;\n}();\n\nexports.CFFStrings = CFFStrings;\n\nvar CFFIndex = function CFFIndexClosure() {\n function CFFIndex() {\n this.objects = [];\n this.length = 0;\n }\n\n CFFIndex.prototype = {\n add: function CFFIndex_add(data) {\n this.length += data.length;\n this.objects.push(data);\n },\n set: function CFFIndex_set(index, data) {\n this.length += data.length - this.objects[index].length;\n this.objects[index] = data;\n },\n get: function CFFIndex_get(index) {\n return this.objects[index];\n },\n\n get count() {\n return this.objects.length;\n }\n\n };\n return CFFIndex;\n}();\n\nexports.CFFIndex = CFFIndex;\n\nvar CFFDict = function CFFDictClosure() {\n function CFFDict(tables, strings) {\n this.keyToNameMap = tables.keyToNameMap;\n this.nameToKeyMap = tables.nameToKeyMap;\n this.defaults = tables.defaults;\n this.types = tables.types;\n this.opcodes = tables.opcodes;\n this.order = tables.order;\n this.strings = strings;\n this.values = Object.create(null);\n }\n\n CFFDict.prototype = {\n setByKey: function CFFDict_setByKey(key, value) {\n if (!(key in this.keyToNameMap)) {\n return false;\n }\n\n var valueLength = value.length;\n\n if (valueLength === 0) {\n return true;\n }\n\n for (var i = 0; i < valueLength; i++) {\n if (isNaN(value[i])) {\n (0, _util.warn)('Invalid CFFDict value: \"' + value + '\" for key \"' + key + '\".');\n return true;\n }\n }\n\n var type = this.types[key];\n\n if (type === 'num' || type === 'sid' || type === 'offset') {\n value = value[0];\n }\n\n this.values[key] = value;\n return true;\n },\n setByName: function CFFDict_setByName(name, value) {\n if (!(name in this.nameToKeyMap)) {\n throw new _util.FormatError(\"Invalid dictionary name \\\"\".concat(name, \"\\\"\"));\n }\n\n this.values[this.nameToKeyMap[name]] = value;\n },\n hasName: function CFFDict_hasName(name) {\n return this.nameToKeyMap[name] in this.values;\n },\n getByName: function CFFDict_getByName(name) {\n if (!(name in this.nameToKeyMap)) {\n throw new _util.FormatError(\"Invalid dictionary name \".concat(name, \"\\\"\"));\n }\n\n var key = this.nameToKeyMap[name];\n\n if (!(key in this.values)) {\n return this.defaults[key];\n }\n\n return this.values[key];\n },\n removeByName: function CFFDict_removeByName(name) {\n delete this.values[this.nameToKeyMap[name]];\n }\n };\n\n CFFDict.createTables = function CFFDict_createTables(layout) {\n var tables = {\n keyToNameMap: {},\n nameToKeyMap: {},\n defaults: {},\n types: {},\n opcodes: {},\n order: []\n };\n\n for (var i = 0, ii = layout.length; i < ii; ++i) {\n var entry = layout[i];\n var key = Array.isArray(entry[0]) ? (entry[0][0] << 8) + entry[0][1] : entry[0];\n tables.keyToNameMap[key] = entry[1];\n tables.nameToKeyMap[entry[1]] = key;\n tables.types[key] = entry[2];\n tables.defaults[key] = entry[3];\n tables.opcodes[key] = Array.isArray(entry[0]) ? entry[0] : [entry[0]];\n tables.order.push(key);\n }\n\n return tables;\n };\n\n return CFFDict;\n}();\n\nvar CFFTopDict = function CFFTopDictClosure() {\n var layout = [[[12, 30], 'ROS', ['sid', 'sid', 'num'], null], [[12, 20], 'SyntheticBase', 'num', null], [0, 'version', 'sid', null], [1, 'Notice', 'sid', null], [[12, 0], 'Copyright', 'sid', null], [2, 'FullName', 'sid', null], [3, 'FamilyName', 'sid', null], [4, 'Weight', 'sid', null], [[12, 1], 'isFixedPitch', 'num', 0], [[12, 2], 'ItalicAngle', 'num', 0], [[12, 3], 'UnderlinePosition', 'num', -100], [[12, 4], 'UnderlineThickness', 'num', 50], [[12, 5], 'PaintType', 'num', 0], [[12, 6], 'CharstringType', 'num', 2], [[12, 7], 'FontMatrix', ['num', 'num', 'num', 'num', 'num', 'num'], [0.001, 0, 0, 0.001, 0, 0]], [13, 'UniqueID', 'num', null], [5, 'FontBBox', ['num', 'num', 'num', 'num'], [0, 0, 0, 0]], [[12, 8], 'StrokeWidth', 'num', 0], [14, 'XUID', 'array', null], [15, 'charset', 'offset', 0], [16, 'Encoding', 'offset', 0], [17, 'CharStrings', 'offset', 0], [18, 'Private', ['offset', 'offset'], null], [[12, 21], 'PostScript', 'sid', null], [[12, 22], 'BaseFontName', 'sid', null], [[12, 23], 'BaseFontBlend', 'delta', null], [[12, 31], 'CIDFontVersion', 'num', 0], [[12, 32], 'CIDFontRevision', 'num', 0], [[12, 33], 'CIDFontType', 'num', 0], [[12, 34], 'CIDCount', 'num', 8720], [[12, 35], 'UIDBase', 'num', null], [[12, 37], 'FDSelect', 'offset', null], [[12, 36], 'FDArray', 'offset', null], [[12, 38], 'FontName', 'sid', null]];\n var tables = null;\n\n function CFFTopDict(strings) {\n if (tables === null) {\n tables = CFFDict.createTables(layout);\n }\n\n CFFDict.call(this, tables, strings);\n this.privateDict = null;\n }\n\n CFFTopDict.prototype = Object.create(CFFDict.prototype);\n return CFFTopDict;\n}();\n\nexports.CFFTopDict = CFFTopDict;\n\nvar CFFPrivateDict = function CFFPrivateDictClosure() {\n var layout = [[6, 'BlueValues', 'delta', null], [7, 'OtherBlues', 'delta', null], [8, 'FamilyBlues', 'delta', null], [9, 'FamilyOtherBlues', 'delta', null], [[12, 9], 'BlueScale', 'num', 0.039625], [[12, 10], 'BlueShift', 'num', 7], [[12, 11], 'BlueFuzz', 'num', 1], [10, 'StdHW', 'num', null], [11, 'StdVW', 'num', null], [[12, 12], 'StemSnapH', 'delta', null], [[12, 13], 'StemSnapV', 'delta', null], [[12, 14], 'ForceBold', 'num', 0], [[12, 17], 'LanguageGroup', 'num', 0], [[12, 18], 'ExpansionFactor', 'num', 0.06], [[12, 19], 'initialRandomSeed', 'num', 0], [20, 'defaultWidthX', 'num', 0], [21, 'nominalWidthX', 'num', 0], [19, 'Subrs', 'offset', null]];\n var tables = null;\n\n function CFFPrivateDict(strings) {\n if (tables === null) {\n tables = CFFDict.createTables(layout);\n }\n\n CFFDict.call(this, tables, strings);\n this.subrsIndex = null;\n }\n\n CFFPrivateDict.prototype = Object.create(CFFDict.prototype);\n return CFFPrivateDict;\n}();\n\nexports.CFFPrivateDict = CFFPrivateDict;\nvar CFFCharsetPredefinedTypes = {\n ISO_ADOBE: 0,\n EXPERT: 1,\n EXPERT_SUBSET: 2\n};\n\nvar CFFCharset = function CFFCharsetClosure() {\n function CFFCharset(predefined, format, charset, raw) {\n this.predefined = predefined;\n this.format = format;\n this.charset = charset;\n this.raw = raw;\n }\n\n return CFFCharset;\n}();\n\nexports.CFFCharset = CFFCharset;\n\nvar CFFEncoding = function CFFEncodingClosure() {\n function CFFEncoding(predefined, format, encoding, raw) {\n this.predefined = predefined;\n this.format = format;\n this.encoding = encoding;\n this.raw = raw;\n }\n\n return CFFEncoding;\n}();\n\nvar CFFFDSelect = function CFFFDSelectClosure() {\n function CFFFDSelect(format, fdSelect) {\n this.format = format;\n this.fdSelect = fdSelect;\n }\n\n CFFFDSelect.prototype = {\n getFDIndex: function CFFFDSelect_get(glyphIndex) {\n if (glyphIndex < 0 || glyphIndex >= this.fdSelect.length) {\n return -1;\n }\n\n return this.fdSelect[glyphIndex];\n }\n };\n return CFFFDSelect;\n}();\n\nexports.CFFFDSelect = CFFFDSelect;\n\nvar CFFOffsetTracker = function CFFOffsetTrackerClosure() {\n function CFFOffsetTracker() {\n this.offsets = Object.create(null);\n }\n\n CFFOffsetTracker.prototype = {\n isTracking: function CFFOffsetTracker_isTracking(key) {\n return key in this.offsets;\n },\n track: function CFFOffsetTracker_track(key, location) {\n if (key in this.offsets) {\n throw new _util.FormatError(\"Already tracking location of \".concat(key));\n }\n\n this.offsets[key] = location;\n },\n offset: function CFFOffsetTracker_offset(value) {\n for (var key in this.offsets) {\n this.offsets[key] += value;\n }\n },\n setEntryLocation: function CFFOffsetTracker_setEntryLocation(key, values, output) {\n if (!(key in this.offsets)) {\n throw new _util.FormatError(\"Not tracking location of \".concat(key));\n }\n\n var data = output.data;\n var dataOffset = this.offsets[key];\n var size = 5;\n\n for (var i = 0, ii = values.length; i < ii; ++i) {\n var offset0 = i * size + dataOffset;\n var offset1 = offset0 + 1;\n var offset2 = offset0 + 2;\n var offset3 = offset0 + 3;\n var offset4 = offset0 + 4;\n\n if (data[offset0] !== 0x1d || data[offset1] !== 0 || data[offset2] !== 0 || data[offset3] !== 0 || data[offset4] !== 0) {\n throw new _util.FormatError('writing to an offset that is not empty');\n }\n\n var value = values[i];\n data[offset0] = 0x1d;\n data[offset1] = value >> 24 & 0xFF;\n data[offset2] = value >> 16 & 0xFF;\n data[offset3] = value >> 8 & 0xFF;\n data[offset4] = value & 0xFF;\n }\n }\n };\n return CFFOffsetTracker;\n}();\n\nvar CFFCompiler = function CFFCompilerClosure() {\n function CFFCompiler(cff) {\n this.cff = cff;\n }\n\n CFFCompiler.prototype = {\n compile: function CFFCompiler_compile() {\n var cff = this.cff;\n var output = {\n data: [],\n length: 0,\n add: function CFFCompiler_add(data) {\n this.data = this.data.concat(data);\n this.length = this.data.length;\n }\n };\n var header = this.compileHeader(cff.header);\n output.add(header);\n var nameIndex = this.compileNameIndex(cff.names);\n output.add(nameIndex);\n\n if (cff.isCIDFont) {\n if (cff.topDict.hasName('FontMatrix')) {\n var base = cff.topDict.getByName('FontMatrix');\n cff.topDict.removeByName('FontMatrix');\n\n for (var i = 0, ii = cff.fdArray.length; i < ii; i++) {\n var subDict = cff.fdArray[i];\n var matrix = base.slice(0);\n\n if (subDict.hasName('FontMatrix')) {\n matrix = _util.Util.transform(matrix, subDict.getByName('FontMatrix'));\n }\n\n subDict.setByName('FontMatrix', matrix);\n }\n }\n }\n\n cff.topDict.setByName('charset', 0);\n var compiled = this.compileTopDicts([cff.topDict], output.length, cff.isCIDFont);\n output.add(compiled.output);\n var topDictTracker = compiled.trackers[0];\n var stringIndex = this.compileStringIndex(cff.strings.strings);\n output.add(stringIndex);\n var globalSubrIndex = this.compileIndex(cff.globalSubrIndex);\n output.add(globalSubrIndex);\n\n if (cff.encoding && cff.topDict.hasName('Encoding')) {\n if (cff.encoding.predefined) {\n topDictTracker.setEntryLocation('Encoding', [cff.encoding.format], output);\n } else {\n var encoding = this.compileEncoding(cff.encoding);\n topDictTracker.setEntryLocation('Encoding', [output.length], output);\n output.add(encoding);\n }\n }\n\n var charset = this.compileCharset(cff.charset, cff.charStrings.count, cff.strings, cff.isCIDFont);\n topDictTracker.setEntryLocation('charset', [output.length], output);\n output.add(charset);\n var charStrings = this.compileCharStrings(cff.charStrings);\n topDictTracker.setEntryLocation('CharStrings', [output.length], output);\n output.add(charStrings);\n\n if (cff.isCIDFont) {\n topDictTracker.setEntryLocation('FDSelect', [output.length], output);\n var fdSelect = this.compileFDSelect(cff.fdSelect);\n output.add(fdSelect);\n compiled = this.compileTopDicts(cff.fdArray, output.length, true);\n topDictTracker.setEntryLocation('FDArray', [output.length], output);\n output.add(compiled.output);\n var fontDictTrackers = compiled.trackers;\n this.compilePrivateDicts(cff.fdArray, fontDictTrackers, output);\n }\n\n this.compilePrivateDicts([cff.topDict], [topDictTracker], output);\n output.add([0]);\n return output.data;\n },\n encodeNumber: function CFFCompiler_encodeNumber(value) {\n if (parseFloat(value) === parseInt(value, 10) && !isNaN(value)) {\n return this.encodeInteger(value);\n }\n\n return this.encodeFloat(value);\n },\n encodeFloat: function CFFCompiler_encodeFloat(num) {\n var value = num.toString();\n var m = /\\.(\\d*?)(?:9{5,20}|0{5,20})\\d{0,2}(?:e(.+)|$)/.exec(value);\n\n if (m) {\n var epsilon = parseFloat('1e' + ((m[2] ? +m[2] : 0) + m[1].length));\n value = (Math.round(num * epsilon) / epsilon).toString();\n }\n\n var nibbles = '';\n var i, ii;\n\n for (i = 0, ii = value.length; i < ii; ++i) {\n var a = value[i];\n\n if (a === 'e') {\n nibbles += value[++i] === '-' ? 'c' : 'b';\n } else if (a === '.') {\n nibbles += 'a';\n } else if (a === '-') {\n nibbles += 'e';\n } else {\n nibbles += a;\n }\n }\n\n nibbles += nibbles.length & 1 ? 'f' : 'ff';\n var out = [30];\n\n for (i = 0, ii = nibbles.length; i < ii; i += 2) {\n out.push(parseInt(nibbles.substring(i, i + 2), 16));\n }\n\n return out;\n },\n encodeInteger: function CFFCompiler_encodeInteger(value) {\n var code;\n\n if (value >= -107 && value <= 107) {\n code = [value + 139];\n } else if (value >= 108 && value <= 1131) {\n value = value - 108;\n code = [(value >> 8) + 247, value & 0xFF];\n } else if (value >= -1131 && value <= -108) {\n value = -value - 108;\n code = [(value >> 8) + 251, value & 0xFF];\n } else if (value >= -32768 && value <= 32767) {\n code = [0x1c, value >> 8 & 0xFF, value & 0xFF];\n } else {\n code = [0x1d, value >> 24 & 0xFF, value >> 16 & 0xFF, value >> 8 & 0xFF, value & 0xFF];\n }\n\n return code;\n },\n compileHeader: function CFFCompiler_compileHeader(header) {\n return [header.major, header.minor, header.hdrSize, header.offSize];\n },\n compileNameIndex: function CFFCompiler_compileNameIndex(names) {\n var nameIndex = new CFFIndex();\n\n for (var i = 0, ii = names.length; i < ii; ++i) {\n var name = names[i];\n var length = Math.min(name.length, 127);\n var sanitizedName = new Array(length);\n\n for (var j = 0; j < length; j++) {\n var _char = name[j];\n\n if (_char < '!' || _char > '~' || _char === '[' || _char === ']' || _char === '(' || _char === ')' || _char === '{' || _char === '}' || _char === '<' || _char === '>' || _char === '/' || _char === '%') {\n _char = '_';\n }\n\n sanitizedName[j] = _char;\n }\n\n sanitizedName = sanitizedName.join('');\n\n if (sanitizedName === '') {\n sanitizedName = 'Bad_Font_Name';\n }\n\n nameIndex.add((0, _util.stringToBytes)(sanitizedName));\n }\n\n return this.compileIndex(nameIndex);\n },\n compileTopDicts: function CFFCompiler_compileTopDicts(dicts, length, removeCidKeys) {\n var fontDictTrackers = [];\n var fdArrayIndex = new CFFIndex();\n\n for (var i = 0, ii = dicts.length; i < ii; ++i) {\n var fontDict = dicts[i];\n\n if (removeCidKeys) {\n fontDict.removeByName('CIDFontVersion');\n fontDict.removeByName('CIDFontRevision');\n fontDict.removeByName('CIDFontType');\n fontDict.removeByName('CIDCount');\n fontDict.removeByName('UIDBase');\n }\n\n var fontDictTracker = new CFFOffsetTracker();\n var fontDictData = this.compileDict(fontDict, fontDictTracker);\n fontDictTrackers.push(fontDictTracker);\n fdArrayIndex.add(fontDictData);\n fontDictTracker.offset(length);\n }\n\n fdArrayIndex = this.compileIndex(fdArrayIndex, fontDictTrackers);\n return {\n trackers: fontDictTrackers,\n output: fdArrayIndex\n };\n },\n compilePrivateDicts: function CFFCompiler_compilePrivateDicts(dicts, trackers, output) {\n for (var i = 0, ii = dicts.length; i < ii; ++i) {\n var fontDict = dicts[i];\n var privateDict = fontDict.privateDict;\n\n if (!privateDict || !fontDict.hasName('Private')) {\n throw new _util.FormatError('There must be a private dictionary.');\n }\n\n var privateDictTracker = new CFFOffsetTracker();\n var privateDictData = this.compileDict(privateDict, privateDictTracker);\n var outputLength = output.length;\n privateDictTracker.offset(outputLength);\n\n if (!privateDictData.length) {\n outputLength = 0;\n }\n\n trackers[i].setEntryLocation('Private', [privateDictData.length, outputLength], output);\n output.add(privateDictData);\n\n if (privateDict.subrsIndex && privateDict.hasName('Subrs')) {\n var subrs = this.compileIndex(privateDict.subrsIndex);\n privateDictTracker.setEntryLocation('Subrs', [privateDictData.length], output);\n output.add(subrs);\n }\n }\n },\n compileDict: function CFFCompiler_compileDict(dict, offsetTracker) {\n var out = [];\n var order = dict.order;\n\n for (var i = 0; i < order.length; ++i) {\n var key = order[i];\n\n if (!(key in dict.values)) {\n continue;\n }\n\n var values = dict.values[key];\n var types = dict.types[key];\n\n if (!Array.isArray(types)) {\n types = [types];\n }\n\n if (!Array.isArray(values)) {\n values = [values];\n }\n\n if (values.length === 0) {\n continue;\n }\n\n for (var j = 0, jj = types.length; j < jj; ++j) {\n var type = types[j];\n var value = values[j];\n\n switch (type) {\n case 'num':\n case 'sid':\n out = out.concat(this.encodeNumber(value));\n break;\n\n case 'offset':\n var name = dict.keyToNameMap[key];\n\n if (!offsetTracker.isTracking(name)) {\n offsetTracker.track(name, out.length);\n }\n\n out = out.concat([0x1d, 0, 0, 0, 0]);\n break;\n\n case 'array':\n case 'delta':\n out = out.concat(this.encodeNumber(value));\n\n for (var k = 1, kk = values.length; k < kk; ++k) {\n out = out.concat(this.encodeNumber(values[k]));\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unknown data type of \".concat(type));\n }\n }\n\n out = out.concat(dict.opcodes[key]);\n }\n\n return out;\n },\n compileStringIndex: function CFFCompiler_compileStringIndex(strings) {\n var stringIndex = new CFFIndex();\n\n for (var i = 0, ii = strings.length; i < ii; ++i) {\n stringIndex.add((0, _util.stringToBytes)(strings[i]));\n }\n\n return this.compileIndex(stringIndex);\n },\n compileGlobalSubrIndex: function CFFCompiler_compileGlobalSubrIndex() {\n var globalSubrIndex = this.cff.globalSubrIndex;\n this.out.writeByteArray(this.compileIndex(globalSubrIndex));\n },\n compileCharStrings: function CFFCompiler_compileCharStrings(charStrings) {\n var charStringsIndex = new CFFIndex();\n\n for (var i = 0; i < charStrings.count; i++) {\n var glyph = charStrings.get(i);\n\n if (glyph.length === 0) {\n charStringsIndex.add(new Uint8Array([0x8B, 0x0E]));\n continue;\n }\n\n charStringsIndex.add(glyph);\n }\n\n return this.compileIndex(charStringsIndex);\n },\n compileCharset: function CFFCompiler_compileCharset(charset, numGlyphs, strings, isCIDFont) {\n var out;\n var numGlyphsLessNotDef = numGlyphs - 1;\n\n if (isCIDFont) {\n out = new Uint8Array([2, 0, 0, numGlyphsLessNotDef >> 8 & 0xFF, numGlyphsLessNotDef & 0xFF]);\n } else {\n var length = 1 + numGlyphsLessNotDef * 2;\n out = new Uint8Array(length);\n out[0] = 0;\n var charsetIndex = 0;\n var numCharsets = charset.charset.length;\n var warned = false;\n\n for (var i = 1; i < out.length; i += 2) {\n var sid = 0;\n\n if (charsetIndex < numCharsets) {\n var name = charset.charset[charsetIndex++];\n sid = strings.getSID(name);\n\n if (sid === -1) {\n sid = 0;\n\n if (!warned) {\n warned = true;\n (0, _util.warn)(\"Couldn't find \".concat(name, \" in CFF strings\"));\n }\n }\n }\n\n out[i] = sid >> 8 & 0xFF;\n out[i + 1] = sid & 0xFF;\n }\n }\n\n return this.compileTypedArray(out);\n },\n compileEncoding: function CFFCompiler_compileEncoding(encoding) {\n return this.compileTypedArray(encoding.raw);\n },\n compileFDSelect: function CFFCompiler_compileFDSelect(fdSelect) {\n var format = fdSelect.format;\n var out, i;\n\n switch (format) {\n case 0:\n out = new Uint8Array(1 + fdSelect.fdSelect.length);\n out[0] = format;\n\n for (i = 0; i < fdSelect.fdSelect.length; i++) {\n out[i + 1] = fdSelect.fdSelect[i];\n }\n\n break;\n\n case 3:\n var start = 0;\n var lastFD = fdSelect.fdSelect[0];\n var ranges = [format, 0, 0, start >> 8 & 0xFF, start & 0xFF, lastFD];\n\n for (i = 1; i < fdSelect.fdSelect.length; i++) {\n var currentFD = fdSelect.fdSelect[i];\n\n if (currentFD !== lastFD) {\n ranges.push(i >> 8 & 0xFF, i & 0xFF, currentFD);\n lastFD = currentFD;\n }\n }\n\n var numRanges = (ranges.length - 3) / 3;\n ranges[1] = numRanges >> 8 & 0xFF;\n ranges[2] = numRanges & 0xFF;\n ranges.push(i >> 8 & 0xFF, i & 0xFF);\n out = new Uint8Array(ranges);\n break;\n }\n\n return this.compileTypedArray(out);\n },\n compileTypedArray: function CFFCompiler_compileTypedArray(data) {\n var out = [];\n\n for (var i = 0, ii = data.length; i < ii; ++i) {\n out[i] = data[i];\n }\n\n return out;\n },\n compileIndex: function CFFCompiler_compileIndex(index, trackers) {\n trackers = trackers || [];\n var objects = index.objects;\n var count = objects.length;\n\n if (count === 0) {\n return [0, 0, 0];\n }\n\n var data = [count >> 8 & 0xFF, count & 0xff];\n var lastOffset = 1,\n i;\n\n for (i = 0; i < count; ++i) {\n lastOffset += objects[i].length;\n }\n\n var offsetSize;\n\n if (lastOffset < 0x100) {\n offsetSize = 1;\n } else if (lastOffset < 0x10000) {\n offsetSize = 2;\n } else if (lastOffset < 0x1000000) {\n offsetSize = 3;\n } else {\n offsetSize = 4;\n }\n\n data.push(offsetSize);\n var relativeOffset = 1;\n\n for (i = 0; i < count + 1; i++) {\n if (offsetSize === 1) {\n data.push(relativeOffset & 0xFF);\n } else if (offsetSize === 2) {\n data.push(relativeOffset >> 8 & 0xFF, relativeOffset & 0xFF);\n } else if (offsetSize === 3) {\n data.push(relativeOffset >> 16 & 0xFF, relativeOffset >> 8 & 0xFF, relativeOffset & 0xFF);\n } else {\n data.push(relativeOffset >>> 24 & 0xFF, relativeOffset >> 16 & 0xFF, relativeOffset >> 8 & 0xFF, relativeOffset & 0xFF);\n }\n\n if (objects[i]) {\n relativeOffset += objects[i].length;\n }\n }\n\n for (i = 0; i < count; i++) {\n if (trackers[i]) {\n trackers[i].offset(data.length);\n }\n\n for (var j = 0, jj = objects[i].length; j < jj; j++) {\n data.push(objects[i][j]);\n }\n }\n\n return data;\n }\n };\n return CFFCompiler;\n}();\n\nexports.CFFCompiler = CFFCompiler;\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ExpertSubsetCharset = exports.ExpertCharset = exports.ISOAdobeCharset = void 0;\nvar ISOAdobeCharset = ['.notdef', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quoteright', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', 'exclamdown', 'cent', 'sterling', 'fraction', 'yen', 'florin', 'section', 'currency', 'quotesingle', 'quotedblleft', 'guillemotleft', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 'endash', 'dagger', 'daggerdbl', 'periodcentered', 'paragraph', 'bullet', 'quotesinglbase', 'quotedblbase', 'quotedblright', 'guillemotright', 'ellipsis', 'perthousand', 'questiondown', 'grave', 'acute', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'dieresis', 'ring', 'cedilla', 'hungarumlaut', 'ogonek', 'caron', 'emdash', 'AE', 'ordfeminine', 'Lslash', 'Oslash', 'OE', 'ordmasculine', 'ae', 'dotlessi', 'lslash', 'oslash', 'oe', 'germandbls', 'onesuperior', 'logicalnot', 'mu', 'trademark', 'Eth', 'onehalf', 'plusminus', 'Thorn', 'onequarter', 'divide', 'brokenbar', 'degree', 'thorn', 'threequarters', 'twosuperior', 'registered', 'minus', 'eth', 'multiply', 'threesuperior', 'copyright', 'Aacute', 'Acircumflex', 'Adieresis', 'Agrave', 'Aring', 'Atilde', 'Ccedilla', 'Eacute', 'Ecircumflex', 'Edieresis', 'Egrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Igrave', 'Ntilde', 'Oacute', 'Ocircumflex', 'Odieresis', 'Ograve', 'Otilde', 'Scaron', 'Uacute', 'Ucircumflex', 'Udieresis', 'Ugrave', 'Yacute', 'Ydieresis', 'Zcaron', 'aacute', 'acircumflex', 'adieresis', 'agrave', 'aring', 'atilde', 'ccedilla', 'eacute', 'ecircumflex', 'edieresis', 'egrave', 'iacute', 'icircumflex', 'idieresis', 'igrave', 'ntilde', 'oacute', 'ocircumflex', 'odieresis', 'ograve', 'otilde', 'scaron', 'uacute', 'ucircumflex', 'udieresis', 'ugrave', 'yacute', 'ydieresis', 'zcaron'];\nexports.ISOAdobeCharset = ISOAdobeCharset;\nvar ExpertCharset = ['.notdef', 'space', 'exclamsmall', 'Hungarumlautsmall', 'dollaroldstyle', 'dollarsuperior', 'ampersandsmall', 'Acutesmall', 'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'comma', 'hyphen', 'period', 'fraction', 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'colon', 'semicolon', 'commasuperior', 'threequartersemdash', 'periodsuperior', 'questionsmall', 'asuperior', 'bsuperior', 'centsuperior', 'dsuperior', 'esuperior', 'isuperior', 'lsuperior', 'msuperior', 'nsuperior', 'osuperior', 'rsuperior', 'ssuperior', 'tsuperior', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior', 'parenrightinferior', 'Circumflexsmall', 'hyphensuperior', 'Gravesmall', 'Asmall', 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall', 'Osmall', 'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall', 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', 'Tildesmall', 'exclamdownsmall', 'centoldstyle', 'Lslashsmall', 'Scaronsmall', 'Zcaronsmall', 'Dieresissmall', 'Brevesmall', 'Caronsmall', 'Dotaccentsmall', 'Macronsmall', 'figuredash', 'hypheninferior', 'Ogoneksmall', 'Ringsmall', 'Cedillasmall', 'onequarter', 'onehalf', 'threequarters', 'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds', 'zerosuperior', 'onesuperior', 'twosuperior', 'threesuperior', 'foursuperior', 'fivesuperior', 'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', 'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior', 'periodinferior', 'commainferior', 'Agravesmall', 'Aacutesmall', 'Acircumflexsmall', 'Atildesmall', 'Adieresissmall', 'Aringsmall', 'AEsmall', 'Ccedillasmall', 'Egravesmall', 'Eacutesmall', 'Ecircumflexsmall', 'Edieresissmall', 'Igravesmall', 'Iacutesmall', 'Icircumflexsmall', 'Idieresissmall', 'Ethsmall', 'Ntildesmall', 'Ogravesmall', 'Oacutesmall', 'Ocircumflexsmall', 'Otildesmall', 'Odieresissmall', 'OEsmall', 'Oslashsmall', 'Ugravesmall', 'Uacutesmall', 'Ucircumflexsmall', 'Udieresissmall', 'Yacutesmall', 'Thornsmall', 'Ydieresissmall'];\nexports.ExpertCharset = ExpertCharset;\nvar ExpertSubsetCharset = ['.notdef', 'space', 'dollaroldstyle', 'dollarsuperior', 'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'comma', 'hyphen', 'period', 'fraction', 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'colon', 'semicolon', 'commasuperior', 'threequartersemdash', 'periodsuperior', 'asuperior', 'bsuperior', 'centsuperior', 'dsuperior', 'esuperior', 'isuperior', 'lsuperior', 'msuperior', 'nsuperior', 'osuperior', 'rsuperior', 'ssuperior', 'tsuperior', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior', 'parenrightinferior', 'hyphensuperior', 'colonmonetary', 'onefitted', 'rupiah', 'centoldstyle', 'figuredash', 'hypheninferior', 'onequarter', 'onehalf', 'threequarters', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds', 'zerosuperior', 'onesuperior', 'twosuperior', 'threesuperior', 'foursuperior', 'fivesuperior', 'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', 'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior', 'periodinferior', 'commainferior'];\nexports.ExpertSubsetCharset = ExpertSubsetCharset;\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getEncoding = getEncoding;\nexports.ExpertEncoding = exports.ZapfDingbatsEncoding = exports.SymbolSetEncoding = exports.MacRomanEncoding = exports.StandardEncoding = exports.WinAnsiEncoding = void 0;\nvar ExpertEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'space', 'exclamsmall', 'Hungarumlautsmall', '', 'dollaroldstyle', 'dollarsuperior', 'ampersandsmall', 'Acutesmall', 'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'comma', 'hyphen', 'period', 'fraction', 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'colon', 'semicolon', 'commasuperior', 'threequartersemdash', 'periodsuperior', 'questionsmall', '', 'asuperior', 'bsuperior', 'centsuperior', 'dsuperior', 'esuperior', '', '', '', 'isuperior', '', '', 'lsuperior', 'msuperior', 'nsuperior', 'osuperior', '', '', 'rsuperior', 'ssuperior', 'tsuperior', '', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior', '', 'parenrightinferior', 'Circumflexsmall', 'hyphensuperior', 'Gravesmall', 'Asmall', 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall', 'Osmall', 'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall', 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', 'Tildesmall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'exclamdownsmall', 'centoldstyle', 'Lslashsmall', '', '', 'Scaronsmall', 'Zcaronsmall', 'Dieresissmall', 'Brevesmall', 'Caronsmall', '', 'Dotaccentsmall', '', '', 'Macronsmall', '', '', 'figuredash', 'hypheninferior', '', '', 'Ogoneksmall', 'Ringsmall', 'Cedillasmall', '', '', '', 'onequarter', 'onehalf', 'threequarters', 'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds', '', '', 'zerosuperior', 'onesuperior', 'twosuperior', 'threesuperior', 'foursuperior', 'fivesuperior', 'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', 'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior', 'periodinferior', 'commainferior', 'Agravesmall', 'Aacutesmall', 'Acircumflexsmall', 'Atildesmall', 'Adieresissmall', 'Aringsmall', 'AEsmall', 'Ccedillasmall', 'Egravesmall', 'Eacutesmall', 'Ecircumflexsmall', 'Edieresissmall', 'Igravesmall', 'Iacutesmall', 'Icircumflexsmall', 'Idieresissmall', 'Ethsmall', 'Ntildesmall', 'Ogravesmall', 'Oacutesmall', 'Ocircumflexsmall', 'Otildesmall', 'Odieresissmall', 'OEsmall', 'Oslashsmall', 'Ugravesmall', 'Uacutesmall', 'Ucircumflexsmall', 'Udieresissmall', 'Yacutesmall', 'Thornsmall', 'Ydieresissmall'];\nexports.ExpertEncoding = ExpertEncoding;\nvar MacExpertEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'space', 'exclamsmall', 'Hungarumlautsmall', 'centoldstyle', 'dollaroldstyle', 'dollarsuperior', 'ampersandsmall', 'Acutesmall', 'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'comma', 'hyphen', 'period', 'fraction', 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'colon', 'semicolon', '', 'threequartersemdash', '', 'questionsmall', '', '', '', '', 'Ethsmall', '', '', 'onequarter', 'onehalf', 'threequarters', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds', '', '', '', '', '', '', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior', '', 'parenrightinferior', 'Circumflexsmall', 'hypheninferior', 'Gravesmall', 'Asmall', 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall', 'Osmall', 'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall', 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', 'Tildesmall', '', '', 'asuperior', 'centsuperior', '', '', '', '', 'Aacutesmall', 'Agravesmall', 'Acircumflexsmall', 'Adieresissmall', 'Atildesmall', 'Aringsmall', 'Ccedillasmall', 'Eacutesmall', 'Egravesmall', 'Ecircumflexsmall', 'Edieresissmall', 'Iacutesmall', 'Igravesmall', 'Icircumflexsmall', 'Idieresissmall', 'Ntildesmall', 'Oacutesmall', 'Ogravesmall', 'Ocircumflexsmall', 'Odieresissmall', 'Otildesmall', 'Uacutesmall', 'Ugravesmall', 'Ucircumflexsmall', 'Udieresissmall', '', 'eightsuperior', 'fourinferior', 'threeinferior', 'sixinferior', 'eightinferior', 'seveninferior', 'Scaronsmall', '', 'centinferior', 'twoinferior', '', 'Dieresissmall', '', 'Caronsmall', 'osuperior', 'fiveinferior', '', 'commainferior', 'periodinferior', 'Yacutesmall', '', 'dollarinferior', '', '', 'Thornsmall', '', 'nineinferior', 'zeroinferior', 'Zcaronsmall', 'AEsmall', 'Oslashsmall', 'questiondownsmall', 'oneinferior', 'Lslashsmall', '', '', '', '', '', '', 'Cedillasmall', '', '', '', '', '', 'OEsmall', 'figuredash', 'hyphensuperior', '', '', '', '', 'exclamdownsmall', '', 'Ydieresissmall', '', 'onesuperior', 'twosuperior', 'threesuperior', 'foursuperior', 'fivesuperior', 'sixsuperior', 'sevensuperior', 'ninesuperior', 'zerosuperior', '', 'esuperior', 'rsuperior', 'tsuperior', '', '', 'isuperior', 'ssuperior', 'dsuperior', '', '', '', '', '', 'lsuperior', 'Ogoneksmall', 'Brevesmall', 'Macronsmall', 'bsuperior', 'nsuperior', 'msuperior', 'commasuperior', 'periodsuperior', 'Dotaccentsmall', 'Ringsmall', '', '', '', ''];\nvar MacRomanEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quotesingle', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'grave', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', '', 'Adieresis', 'Aring', 'Ccedilla', 'Eacute', 'Ntilde', 'Odieresis', 'Udieresis', 'aacute', 'agrave', 'acircumflex', 'adieresis', 'atilde', 'aring', 'ccedilla', 'eacute', 'egrave', 'ecircumflex', 'edieresis', 'iacute', 'igrave', 'icircumflex', 'idieresis', 'ntilde', 'oacute', 'ograve', 'ocircumflex', 'odieresis', 'otilde', 'uacute', 'ugrave', 'ucircumflex', 'udieresis', 'dagger', 'degree', 'cent', 'sterling', 'section', 'bullet', 'paragraph', 'germandbls', 'registered', 'copyright', 'trademark', 'acute', 'dieresis', 'notequal', 'AE', 'Oslash', 'infinity', 'plusminus', 'lessequal', 'greaterequal', 'yen', 'mu', 'partialdiff', 'summation', 'product', 'pi', 'integral', 'ordfeminine', 'ordmasculine', 'Omega', 'ae', 'oslash', 'questiondown', 'exclamdown', 'logicalnot', 'radical', 'florin', 'approxequal', 'Delta', 'guillemotleft', 'guillemotright', 'ellipsis', 'space', 'Agrave', 'Atilde', 'Otilde', 'OE', 'oe', 'endash', 'emdash', 'quotedblleft', 'quotedblright', 'quoteleft', 'quoteright', 'divide', 'lozenge', 'ydieresis', 'Ydieresis', 'fraction', 'currency', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 'daggerdbl', 'periodcentered', 'quotesinglbase', 'quotedblbase', 'perthousand', 'Acircumflex', 'Ecircumflex', 'Aacute', 'Edieresis', 'Egrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Igrave', 'Oacute', 'Ocircumflex', 'apple', 'Ograve', 'Uacute', 'Ucircumflex', 'Ugrave', 'dotlessi', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'ring', 'cedilla', 'hungarumlaut', 'ogonek', 'caron'];\nexports.MacRomanEncoding = MacRomanEncoding;\nvar StandardEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quoteright', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'exclamdown', 'cent', 'sterling', 'fraction', 'yen', 'florin', 'section', 'currency', 'quotesingle', 'quotedblleft', 'guillemotleft', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', '', 'endash', 'dagger', 'daggerdbl', 'periodcentered', '', 'paragraph', 'bullet', 'quotesinglbase', 'quotedblbase', 'quotedblright', 'guillemotright', 'ellipsis', 'perthousand', '', 'questiondown', '', 'grave', 'acute', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'dieresis', '', 'ring', 'cedilla', '', 'hungarumlaut', 'ogonek', 'caron', 'emdash', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'AE', '', 'ordfeminine', '', '', '', '', 'Lslash', 'Oslash', 'OE', 'ordmasculine', '', '', '', '', '', 'ae', '', '', '', 'dotlessi', '', '', 'lslash', 'oslash', 'oe', 'germandbls', '', '', '', ''];\nexports.StandardEncoding = StandardEncoding;\nvar WinAnsiEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quotesingle', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'grave', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', 'bullet', 'Euro', 'bullet', 'quotesinglbase', 'florin', 'quotedblbase', 'ellipsis', 'dagger', 'daggerdbl', 'circumflex', 'perthousand', 'Scaron', 'guilsinglleft', 'OE', 'bullet', 'Zcaron', 'bullet', 'bullet', 'quoteleft', 'quoteright', 'quotedblleft', 'quotedblright', 'bullet', 'endash', 'emdash', 'tilde', 'trademark', 'scaron', 'guilsinglright', 'oe', 'bullet', 'zcaron', 'Ydieresis', 'space', 'exclamdown', 'cent', 'sterling', 'currency', 'yen', 'brokenbar', 'section', 'dieresis', 'copyright', 'ordfeminine', 'guillemotleft', 'logicalnot', 'hyphen', 'registered', 'macron', 'degree', 'plusminus', 'twosuperior', 'threesuperior', 'acute', 'mu', 'paragraph', 'periodcentered', 'cedilla', 'onesuperior', 'ordmasculine', 'guillemotright', 'onequarter', 'onehalf', 'threequarters', 'questiondown', 'Agrave', 'Aacute', 'Acircumflex', 'Atilde', 'Adieresis', 'Aring', 'AE', 'Ccedilla', 'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis', 'Igrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Eth', 'Ntilde', 'Ograve', 'Oacute', 'Ocircumflex', 'Otilde', 'Odieresis', 'multiply', 'Oslash', 'Ugrave', 'Uacute', 'Ucircumflex', 'Udieresis', 'Yacute', 'Thorn', 'germandbls', 'agrave', 'aacute', 'acircumflex', 'atilde', 'adieresis', 'aring', 'ae', 'ccedilla', 'egrave', 'eacute', 'ecircumflex', 'edieresis', 'igrave', 'iacute', 'icircumflex', 'idieresis', 'eth', 'ntilde', 'ograve', 'oacute', 'ocircumflex', 'otilde', 'odieresis', 'divide', 'oslash', 'ugrave', 'uacute', 'ucircumflex', 'udieresis', 'yacute', 'thorn', 'ydieresis'];\nexports.WinAnsiEncoding = WinAnsiEncoding;\nvar SymbolSetEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'space', 'exclam', 'universal', 'numbersign', 'existential', 'percent', 'ampersand', 'suchthat', 'parenleft', 'parenright', 'asteriskmath', 'plus', 'comma', 'minus', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'congruent', 'Alpha', 'Beta', 'Chi', 'Delta', 'Epsilon', 'Phi', 'Gamma', 'Eta', 'Iota', 'theta1', 'Kappa', 'Lambda', 'Mu', 'Nu', 'Omicron', 'Pi', 'Theta', 'Rho', 'Sigma', 'Tau', 'Upsilon', 'sigma1', 'Omega', 'Xi', 'Psi', 'Zeta', 'bracketleft', 'therefore', 'bracketright', 'perpendicular', 'underscore', 'radicalex', 'alpha', 'beta', 'chi', 'delta', 'epsilon', 'phi', 'gamma', 'eta', 'iota', 'phi1', 'kappa', 'lambda', 'mu', 'nu', 'omicron', 'pi', 'theta', 'rho', 'sigma', 'tau', 'upsilon', 'omega1', 'omega', 'xi', 'psi', 'zeta', 'braceleft', 'bar', 'braceright', 'similar', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'Euro', 'Upsilon1', 'minute', 'lessequal', 'fraction', 'infinity', 'florin', 'club', 'diamond', 'heart', 'spade', 'arrowboth', 'arrowleft', 'arrowup', 'arrowright', 'arrowdown', 'degree', 'plusminus', 'second', 'greaterequal', 'multiply', 'proportional', 'partialdiff', 'bullet', 'divide', 'notequal', 'equivalence', 'approxequal', 'ellipsis', 'arrowvertex', 'arrowhorizex', 'carriagereturn', 'aleph', 'Ifraktur', 'Rfraktur', 'weierstrass', 'circlemultiply', 'circleplus', 'emptyset', 'intersection', 'union', 'propersuperset', 'reflexsuperset', 'notsubset', 'propersubset', 'reflexsubset', 'element', 'notelement', 'angle', 'gradient', 'registerserif', 'copyrightserif', 'trademarkserif', 'product', 'radical', 'dotmath', 'logicalnot', 'logicaland', 'logicalor', 'arrowdblboth', 'arrowdblleft', 'arrowdblup', 'arrowdblright', 'arrowdbldown', 'lozenge', 'angleleft', 'registersans', 'copyrightsans', 'trademarksans', 'summation', 'parenlefttp', 'parenleftex', 'parenleftbt', 'bracketlefttp', 'bracketleftex', 'bracketleftbt', 'bracelefttp', 'braceleftmid', 'braceleftbt', 'braceex', '', 'angleright', 'integral', 'integraltp', 'integralex', 'integralbt', 'parenrighttp', 'parenrightex', 'parenrightbt', 'bracketrighttp', 'bracketrightex', 'bracketrightbt', 'bracerighttp', 'bracerightmid', 'bracerightbt', ''];\nexports.SymbolSetEncoding = SymbolSetEncoding;\nvar ZapfDingbatsEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'space', 'a1', 'a2', 'a202', 'a3', 'a4', 'a5', 'a119', 'a118', 'a117', 'a11', 'a12', 'a13', 'a14', 'a15', 'a16', 'a105', 'a17', 'a18', 'a19', 'a20', 'a21', 'a22', 'a23', 'a24', 'a25', 'a26', 'a27', 'a28', 'a6', 'a7', 'a8', 'a9', 'a10', 'a29', 'a30', 'a31', 'a32', 'a33', 'a34', 'a35', 'a36', 'a37', 'a38', 'a39', 'a40', 'a41', 'a42', 'a43', 'a44', 'a45', 'a46', 'a47', 'a48', 'a49', 'a50', 'a51', 'a52', 'a53', 'a54', 'a55', 'a56', 'a57', 'a58', 'a59', 'a60', 'a61', 'a62', 'a63', 'a64', 'a65', 'a66', 'a67', 'a68', 'a69', 'a70', 'a71', 'a72', 'a73', 'a74', 'a203', 'a75', 'a204', 'a76', 'a77', 'a78', 'a79', 'a81', 'a82', 'a83', 'a84', 'a97', 'a98', 'a99', 'a100', '', 'a89', 'a90', 'a93', 'a94', 'a91', 'a92', 'a205', 'a85', 'a206', 'a86', 'a87', 'a88', 'a95', 'a96', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'a101', 'a102', 'a103', 'a104', 'a106', 'a107', 'a108', 'a112', 'a111', 'a110', 'a109', 'a120', 'a121', 'a122', 'a123', 'a124', 'a125', 'a126', 'a127', 'a128', 'a129', 'a130', 'a131', 'a132', 'a133', 'a134', 'a135', 'a136', 'a137', 'a138', 'a139', 'a140', 'a141', 'a142', 'a143', 'a144', 'a145', 'a146', 'a147', 'a148', 'a149', 'a150', 'a151', 'a152', 'a153', 'a154', 'a155', 'a156', 'a157', 'a158', 'a159', 'a160', 'a161', 'a163', 'a164', 'a196', 'a165', 'a192', 'a166', 'a167', 'a168', 'a169', 'a170', 'a171', 'a172', 'a173', 'a162', 'a174', 'a175', 'a176', 'a177', 'a178', 'a179', 'a193', 'a180', 'a199', 'a181', 'a200', 'a182', '', 'a201', 'a183', 'a184', 'a197', 'a185', 'a194', 'a198', 'a186', 'a195', 'a187', 'a188', 'a189', 'a190', 'a191', ''];\nexports.ZapfDingbatsEncoding = ZapfDingbatsEncoding;\n\nfunction getEncoding(encodingName) {\n switch (encodingName) {\n case 'WinAnsiEncoding':\n return WinAnsiEncoding;\n\n case 'StandardEncoding':\n return StandardEncoding;\n\n case 'MacRomanEncoding':\n return MacRomanEncoding;\n\n case 'SymbolSetEncoding':\n return SymbolSetEncoding;\n\n case 'ZapfDingbatsEncoding':\n return ZapfDingbatsEncoding;\n\n case 'ExpertEncoding':\n return ExpertEncoding;\n\n case 'MacExpertEncoding':\n return MacExpertEncoding;\n\n default:\n return null;\n }\n}\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getLookupTableFactory = __w_pdfjs_require__(154).getLookupTableFactory;\nvar getGlyphsUnicode = getLookupTableFactory(function (t) {\n t['A'] = 0x0041;\n t['AE'] = 0x00C6;\n t['AEacute'] = 0x01FC;\n t['AEmacron'] = 0x01E2;\n t['AEsmall'] = 0xF7E6;\n t['Aacute'] = 0x00C1;\n t['Aacutesmall'] = 0xF7E1;\n t['Abreve'] = 0x0102;\n t['Abreveacute'] = 0x1EAE;\n t['Abrevecyrillic'] = 0x04D0;\n t['Abrevedotbelow'] = 0x1EB6;\n t['Abrevegrave'] = 0x1EB0;\n t['Abrevehookabove'] = 0x1EB2;\n t['Abrevetilde'] = 0x1EB4;\n t['Acaron'] = 0x01CD;\n t['Acircle'] = 0x24B6;\n t['Acircumflex'] = 0x00C2;\n t['Acircumflexacute'] = 0x1EA4;\n t['Acircumflexdotbelow'] = 0x1EAC;\n t['Acircumflexgrave'] = 0x1EA6;\n t['Acircumflexhookabove'] = 0x1EA8;\n t['Acircumflexsmall'] = 0xF7E2;\n t['Acircumflextilde'] = 0x1EAA;\n t['Acute'] = 0xF6C9;\n t['Acutesmall'] = 0xF7B4;\n t['Acyrillic'] = 0x0410;\n t['Adblgrave'] = 0x0200;\n t['Adieresis'] = 0x00C4;\n t['Adieresiscyrillic'] = 0x04D2;\n t['Adieresismacron'] = 0x01DE;\n t['Adieresissmall'] = 0xF7E4;\n t['Adotbelow'] = 0x1EA0;\n t['Adotmacron'] = 0x01E0;\n t['Agrave'] = 0x00C0;\n t['Agravesmall'] = 0xF7E0;\n t['Ahookabove'] = 0x1EA2;\n t['Aiecyrillic'] = 0x04D4;\n t['Ainvertedbreve'] = 0x0202;\n t['Alpha'] = 0x0391;\n t['Alphatonos'] = 0x0386;\n t['Amacron'] = 0x0100;\n t['Amonospace'] = 0xFF21;\n t['Aogonek'] = 0x0104;\n t['Aring'] = 0x00C5;\n t['Aringacute'] = 0x01FA;\n t['Aringbelow'] = 0x1E00;\n t['Aringsmall'] = 0xF7E5;\n t['Asmall'] = 0xF761;\n t['Atilde'] = 0x00C3;\n t['Atildesmall'] = 0xF7E3;\n t['Aybarmenian'] = 0x0531;\n t['B'] = 0x0042;\n t['Bcircle'] = 0x24B7;\n t['Bdotaccent'] = 0x1E02;\n t['Bdotbelow'] = 0x1E04;\n t['Becyrillic'] = 0x0411;\n t['Benarmenian'] = 0x0532;\n t['Beta'] = 0x0392;\n t['Bhook'] = 0x0181;\n t['Blinebelow'] = 0x1E06;\n t['Bmonospace'] = 0xFF22;\n t['Brevesmall'] = 0xF6F4;\n t['Bsmall'] = 0xF762;\n t['Btopbar'] = 0x0182;\n t['C'] = 0x0043;\n t['Caarmenian'] = 0x053E;\n t['Cacute'] = 0x0106;\n t['Caron'] = 0xF6CA;\n t['Caronsmall'] = 0xF6F5;\n t['Ccaron'] = 0x010C;\n t['Ccedilla'] = 0x00C7;\n t['Ccedillaacute'] = 0x1E08;\n t['Ccedillasmall'] = 0xF7E7;\n t['Ccircle'] = 0x24B8;\n t['Ccircumflex'] = 0x0108;\n t['Cdot'] = 0x010A;\n t['Cdotaccent'] = 0x010A;\n t['Cedillasmall'] = 0xF7B8;\n t['Chaarmenian'] = 0x0549;\n t['Cheabkhasiancyrillic'] = 0x04BC;\n t['Checyrillic'] = 0x0427;\n t['Chedescenderabkhasiancyrillic'] = 0x04BE;\n t['Chedescendercyrillic'] = 0x04B6;\n t['Chedieresiscyrillic'] = 0x04F4;\n t['Cheharmenian'] = 0x0543;\n t['Chekhakassiancyrillic'] = 0x04CB;\n t['Cheverticalstrokecyrillic'] = 0x04B8;\n t['Chi'] = 0x03A7;\n t['Chook'] = 0x0187;\n t['Circumflexsmall'] = 0xF6F6;\n t['Cmonospace'] = 0xFF23;\n t['Coarmenian'] = 0x0551;\n t['Csmall'] = 0xF763;\n t['D'] = 0x0044;\n t['DZ'] = 0x01F1;\n t['DZcaron'] = 0x01C4;\n t['Daarmenian'] = 0x0534;\n t['Dafrican'] = 0x0189;\n t['Dcaron'] = 0x010E;\n t['Dcedilla'] = 0x1E10;\n t['Dcircle'] = 0x24B9;\n t['Dcircumflexbelow'] = 0x1E12;\n t['Dcroat'] = 0x0110;\n t['Ddotaccent'] = 0x1E0A;\n t['Ddotbelow'] = 0x1E0C;\n t['Decyrillic'] = 0x0414;\n t['Deicoptic'] = 0x03EE;\n t['Delta'] = 0x2206;\n t['Deltagreek'] = 0x0394;\n t['Dhook'] = 0x018A;\n t['Dieresis'] = 0xF6CB;\n t['DieresisAcute'] = 0xF6CC;\n t['DieresisGrave'] = 0xF6CD;\n t['Dieresissmall'] = 0xF7A8;\n t['Digammagreek'] = 0x03DC;\n t['Djecyrillic'] = 0x0402;\n t['Dlinebelow'] = 0x1E0E;\n t['Dmonospace'] = 0xFF24;\n t['Dotaccentsmall'] = 0xF6F7;\n t['Dslash'] = 0x0110;\n t['Dsmall'] = 0xF764;\n t['Dtopbar'] = 0x018B;\n t['Dz'] = 0x01F2;\n t['Dzcaron'] = 0x01C5;\n t['Dzeabkhasiancyrillic'] = 0x04E0;\n t['Dzecyrillic'] = 0x0405;\n t['Dzhecyrillic'] = 0x040F;\n t['E'] = 0x0045;\n t['Eacute'] = 0x00C9;\n t['Eacutesmall'] = 0xF7E9;\n t['Ebreve'] = 0x0114;\n t['Ecaron'] = 0x011A;\n t['Ecedillabreve'] = 0x1E1C;\n t['Echarmenian'] = 0x0535;\n t['Ecircle'] = 0x24BA;\n t['Ecircumflex'] = 0x00CA;\n t['Ecircumflexacute'] = 0x1EBE;\n t['Ecircumflexbelow'] = 0x1E18;\n t['Ecircumflexdotbelow'] = 0x1EC6;\n t['Ecircumflexgrave'] = 0x1EC0;\n t['Ecircumflexhookabove'] = 0x1EC2;\n t['Ecircumflexsmall'] = 0xF7EA;\n t['Ecircumflextilde'] = 0x1EC4;\n t['Ecyrillic'] = 0x0404;\n t['Edblgrave'] = 0x0204;\n t['Edieresis'] = 0x00CB;\n t['Edieresissmall'] = 0xF7EB;\n t['Edot'] = 0x0116;\n t['Edotaccent'] = 0x0116;\n t['Edotbelow'] = 0x1EB8;\n t['Efcyrillic'] = 0x0424;\n t['Egrave'] = 0x00C8;\n t['Egravesmall'] = 0xF7E8;\n t['Eharmenian'] = 0x0537;\n t['Ehookabove'] = 0x1EBA;\n t['Eightroman'] = 0x2167;\n t['Einvertedbreve'] = 0x0206;\n t['Eiotifiedcyrillic'] = 0x0464;\n t['Elcyrillic'] = 0x041B;\n t['Elevenroman'] = 0x216A;\n t['Emacron'] = 0x0112;\n t['Emacronacute'] = 0x1E16;\n t['Emacrongrave'] = 0x1E14;\n t['Emcyrillic'] = 0x041C;\n t['Emonospace'] = 0xFF25;\n t['Encyrillic'] = 0x041D;\n t['Endescendercyrillic'] = 0x04A2;\n t['Eng'] = 0x014A;\n t['Enghecyrillic'] = 0x04A4;\n t['Enhookcyrillic'] = 0x04C7;\n t['Eogonek'] = 0x0118;\n t['Eopen'] = 0x0190;\n t['Epsilon'] = 0x0395;\n t['Epsilontonos'] = 0x0388;\n t['Ercyrillic'] = 0x0420;\n t['Ereversed'] = 0x018E;\n t['Ereversedcyrillic'] = 0x042D;\n t['Escyrillic'] = 0x0421;\n t['Esdescendercyrillic'] = 0x04AA;\n t['Esh'] = 0x01A9;\n t['Esmall'] = 0xF765;\n t['Eta'] = 0x0397;\n t['Etarmenian'] = 0x0538;\n t['Etatonos'] = 0x0389;\n t['Eth'] = 0x00D0;\n t['Ethsmall'] = 0xF7F0;\n t['Etilde'] = 0x1EBC;\n t['Etildebelow'] = 0x1E1A;\n t['Euro'] = 0x20AC;\n t['Ezh'] = 0x01B7;\n t['Ezhcaron'] = 0x01EE;\n t['Ezhreversed'] = 0x01B8;\n t['F'] = 0x0046;\n t['Fcircle'] = 0x24BB;\n t['Fdotaccent'] = 0x1E1E;\n t['Feharmenian'] = 0x0556;\n t['Feicoptic'] = 0x03E4;\n t['Fhook'] = 0x0191;\n t['Fitacyrillic'] = 0x0472;\n t['Fiveroman'] = 0x2164;\n t['Fmonospace'] = 0xFF26;\n t['Fourroman'] = 0x2163;\n t['Fsmall'] = 0xF766;\n t['G'] = 0x0047;\n t['GBsquare'] = 0x3387;\n t['Gacute'] = 0x01F4;\n t['Gamma'] = 0x0393;\n t['Gammaafrican'] = 0x0194;\n t['Gangiacoptic'] = 0x03EA;\n t['Gbreve'] = 0x011E;\n t['Gcaron'] = 0x01E6;\n t['Gcedilla'] = 0x0122;\n t['Gcircle'] = 0x24BC;\n t['Gcircumflex'] = 0x011C;\n t['Gcommaaccent'] = 0x0122;\n t['Gdot'] = 0x0120;\n t['Gdotaccent'] = 0x0120;\n t['Gecyrillic'] = 0x0413;\n t['Ghadarmenian'] = 0x0542;\n t['Ghemiddlehookcyrillic'] = 0x0494;\n t['Ghestrokecyrillic'] = 0x0492;\n t['Gheupturncyrillic'] = 0x0490;\n t['Ghook'] = 0x0193;\n t['Gimarmenian'] = 0x0533;\n t['Gjecyrillic'] = 0x0403;\n t['Gmacron'] = 0x1E20;\n t['Gmonospace'] = 0xFF27;\n t['Grave'] = 0xF6CE;\n t['Gravesmall'] = 0xF760;\n t['Gsmall'] = 0xF767;\n t['Gsmallhook'] = 0x029B;\n t['Gstroke'] = 0x01E4;\n t['H'] = 0x0048;\n t['H18533'] = 0x25CF;\n t['H18543'] = 0x25AA;\n t['H18551'] = 0x25AB;\n t['H22073'] = 0x25A1;\n t['HPsquare'] = 0x33CB;\n t['Haabkhasiancyrillic'] = 0x04A8;\n t['Hadescendercyrillic'] = 0x04B2;\n t['Hardsigncyrillic'] = 0x042A;\n t['Hbar'] = 0x0126;\n t['Hbrevebelow'] = 0x1E2A;\n t['Hcedilla'] = 0x1E28;\n t['Hcircle'] = 0x24BD;\n t['Hcircumflex'] = 0x0124;\n t['Hdieresis'] = 0x1E26;\n t['Hdotaccent'] = 0x1E22;\n t['Hdotbelow'] = 0x1E24;\n t['Hmonospace'] = 0xFF28;\n t['Hoarmenian'] = 0x0540;\n t['Horicoptic'] = 0x03E8;\n t['Hsmall'] = 0xF768;\n t['Hungarumlaut'] = 0xF6CF;\n t['Hungarumlautsmall'] = 0xF6F8;\n t['Hzsquare'] = 0x3390;\n t['I'] = 0x0049;\n t['IAcyrillic'] = 0x042F;\n t['IJ'] = 0x0132;\n t['IUcyrillic'] = 0x042E;\n t['Iacute'] = 0x00CD;\n t['Iacutesmall'] = 0xF7ED;\n t['Ibreve'] = 0x012C;\n t['Icaron'] = 0x01CF;\n t['Icircle'] = 0x24BE;\n t['Icircumflex'] = 0x00CE;\n t['Icircumflexsmall'] = 0xF7EE;\n t['Icyrillic'] = 0x0406;\n t['Idblgrave'] = 0x0208;\n t['Idieresis'] = 0x00CF;\n t['Idieresisacute'] = 0x1E2E;\n t['Idieresiscyrillic'] = 0x04E4;\n t['Idieresissmall'] = 0xF7EF;\n t['Idot'] = 0x0130;\n t['Idotaccent'] = 0x0130;\n t['Idotbelow'] = 0x1ECA;\n t['Iebrevecyrillic'] = 0x04D6;\n t['Iecyrillic'] = 0x0415;\n t['Ifraktur'] = 0x2111;\n t['Igrave'] = 0x00CC;\n t['Igravesmall'] = 0xF7EC;\n t['Ihookabove'] = 0x1EC8;\n t['Iicyrillic'] = 0x0418;\n t['Iinvertedbreve'] = 0x020A;\n t['Iishortcyrillic'] = 0x0419;\n t['Imacron'] = 0x012A;\n t['Imacroncyrillic'] = 0x04E2;\n t['Imonospace'] = 0xFF29;\n t['Iniarmenian'] = 0x053B;\n t['Iocyrillic'] = 0x0401;\n t['Iogonek'] = 0x012E;\n t['Iota'] = 0x0399;\n t['Iotaafrican'] = 0x0196;\n t['Iotadieresis'] = 0x03AA;\n t['Iotatonos'] = 0x038A;\n t['Ismall'] = 0xF769;\n t['Istroke'] = 0x0197;\n t['Itilde'] = 0x0128;\n t['Itildebelow'] = 0x1E2C;\n t['Izhitsacyrillic'] = 0x0474;\n t['Izhitsadblgravecyrillic'] = 0x0476;\n t['J'] = 0x004A;\n t['Jaarmenian'] = 0x0541;\n t['Jcircle'] = 0x24BF;\n t['Jcircumflex'] = 0x0134;\n t['Jecyrillic'] = 0x0408;\n t['Jheharmenian'] = 0x054B;\n t['Jmonospace'] = 0xFF2A;\n t['Jsmall'] = 0xF76A;\n t['K'] = 0x004B;\n t['KBsquare'] = 0x3385;\n t['KKsquare'] = 0x33CD;\n t['Kabashkircyrillic'] = 0x04A0;\n t['Kacute'] = 0x1E30;\n t['Kacyrillic'] = 0x041A;\n t['Kadescendercyrillic'] = 0x049A;\n t['Kahookcyrillic'] = 0x04C3;\n t['Kappa'] = 0x039A;\n t['Kastrokecyrillic'] = 0x049E;\n t['Kaverticalstrokecyrillic'] = 0x049C;\n t['Kcaron'] = 0x01E8;\n t['Kcedilla'] = 0x0136;\n t['Kcircle'] = 0x24C0;\n t['Kcommaaccent'] = 0x0136;\n t['Kdotbelow'] = 0x1E32;\n t['Keharmenian'] = 0x0554;\n t['Kenarmenian'] = 0x053F;\n t['Khacyrillic'] = 0x0425;\n t['Kheicoptic'] = 0x03E6;\n t['Khook'] = 0x0198;\n t['Kjecyrillic'] = 0x040C;\n t['Klinebelow'] = 0x1E34;\n t['Kmonospace'] = 0xFF2B;\n t['Koppacyrillic'] = 0x0480;\n t['Koppagreek'] = 0x03DE;\n t['Ksicyrillic'] = 0x046E;\n t['Ksmall'] = 0xF76B;\n t['L'] = 0x004C;\n t['LJ'] = 0x01C7;\n t['LL'] = 0xF6BF;\n t['Lacute'] = 0x0139;\n t['Lambda'] = 0x039B;\n t['Lcaron'] = 0x013D;\n t['Lcedilla'] = 0x013B;\n t['Lcircle'] = 0x24C1;\n t['Lcircumflexbelow'] = 0x1E3C;\n t['Lcommaaccent'] = 0x013B;\n t['Ldot'] = 0x013F;\n t['Ldotaccent'] = 0x013F;\n t['Ldotbelow'] = 0x1E36;\n t['Ldotbelowmacron'] = 0x1E38;\n t['Liwnarmenian'] = 0x053C;\n t['Lj'] = 0x01C8;\n t['Ljecyrillic'] = 0x0409;\n t['Llinebelow'] = 0x1E3A;\n t['Lmonospace'] = 0xFF2C;\n t['Lslash'] = 0x0141;\n t['Lslashsmall'] = 0xF6F9;\n t['Lsmall'] = 0xF76C;\n t['M'] = 0x004D;\n t['MBsquare'] = 0x3386;\n t['Macron'] = 0xF6D0;\n t['Macronsmall'] = 0xF7AF;\n t['Macute'] = 0x1E3E;\n t['Mcircle'] = 0x24C2;\n t['Mdotaccent'] = 0x1E40;\n t['Mdotbelow'] = 0x1E42;\n t['Menarmenian'] = 0x0544;\n t['Mmonospace'] = 0xFF2D;\n t['Msmall'] = 0xF76D;\n t['Mturned'] = 0x019C;\n t['Mu'] = 0x039C;\n t['N'] = 0x004E;\n t['NJ'] = 0x01CA;\n t['Nacute'] = 0x0143;\n t['Ncaron'] = 0x0147;\n t['Ncedilla'] = 0x0145;\n t['Ncircle'] = 0x24C3;\n t['Ncircumflexbelow'] = 0x1E4A;\n t['Ncommaaccent'] = 0x0145;\n t['Ndotaccent'] = 0x1E44;\n t['Ndotbelow'] = 0x1E46;\n t['Nhookleft'] = 0x019D;\n t['Nineroman'] = 0x2168;\n t['Nj'] = 0x01CB;\n t['Njecyrillic'] = 0x040A;\n t['Nlinebelow'] = 0x1E48;\n t['Nmonospace'] = 0xFF2E;\n t['Nowarmenian'] = 0x0546;\n t['Nsmall'] = 0xF76E;\n t['Ntilde'] = 0x00D1;\n t['Ntildesmall'] = 0xF7F1;\n t['Nu'] = 0x039D;\n t['O'] = 0x004F;\n t['OE'] = 0x0152;\n t['OEsmall'] = 0xF6FA;\n t['Oacute'] = 0x00D3;\n t['Oacutesmall'] = 0xF7F3;\n t['Obarredcyrillic'] = 0x04E8;\n t['Obarreddieresiscyrillic'] = 0x04EA;\n t['Obreve'] = 0x014E;\n t['Ocaron'] = 0x01D1;\n t['Ocenteredtilde'] = 0x019F;\n t['Ocircle'] = 0x24C4;\n t['Ocircumflex'] = 0x00D4;\n t['Ocircumflexacute'] = 0x1ED0;\n t['Ocircumflexdotbelow'] = 0x1ED8;\n t['Ocircumflexgrave'] = 0x1ED2;\n t['Ocircumflexhookabove'] = 0x1ED4;\n t['Ocircumflexsmall'] = 0xF7F4;\n t['Ocircumflextilde'] = 0x1ED6;\n t['Ocyrillic'] = 0x041E;\n t['Odblacute'] = 0x0150;\n t['Odblgrave'] = 0x020C;\n t['Odieresis'] = 0x00D6;\n t['Odieresiscyrillic'] = 0x04E6;\n t['Odieresissmall'] = 0xF7F6;\n t['Odotbelow'] = 0x1ECC;\n t['Ogoneksmall'] = 0xF6FB;\n t['Ograve'] = 0x00D2;\n t['Ogravesmall'] = 0xF7F2;\n t['Oharmenian'] = 0x0555;\n t['Ohm'] = 0x2126;\n t['Ohookabove'] = 0x1ECE;\n t['Ohorn'] = 0x01A0;\n t['Ohornacute'] = 0x1EDA;\n t['Ohorndotbelow'] = 0x1EE2;\n t['Ohorngrave'] = 0x1EDC;\n t['Ohornhookabove'] = 0x1EDE;\n t['Ohorntilde'] = 0x1EE0;\n t['Ohungarumlaut'] = 0x0150;\n t['Oi'] = 0x01A2;\n t['Oinvertedbreve'] = 0x020E;\n t['Omacron'] = 0x014C;\n t['Omacronacute'] = 0x1E52;\n t['Omacrongrave'] = 0x1E50;\n t['Omega'] = 0x2126;\n t['Omegacyrillic'] = 0x0460;\n t['Omegagreek'] = 0x03A9;\n t['Omegaroundcyrillic'] = 0x047A;\n t['Omegatitlocyrillic'] = 0x047C;\n t['Omegatonos'] = 0x038F;\n t['Omicron'] = 0x039F;\n t['Omicrontonos'] = 0x038C;\n t['Omonospace'] = 0xFF2F;\n t['Oneroman'] = 0x2160;\n t['Oogonek'] = 0x01EA;\n t['Oogonekmacron'] = 0x01EC;\n t['Oopen'] = 0x0186;\n t['Oslash'] = 0x00D8;\n t['Oslashacute'] = 0x01FE;\n t['Oslashsmall'] = 0xF7F8;\n t['Osmall'] = 0xF76F;\n t['Ostrokeacute'] = 0x01FE;\n t['Otcyrillic'] = 0x047E;\n t['Otilde'] = 0x00D5;\n t['Otildeacute'] = 0x1E4C;\n t['Otildedieresis'] = 0x1E4E;\n t['Otildesmall'] = 0xF7F5;\n t['P'] = 0x0050;\n t['Pacute'] = 0x1E54;\n t['Pcircle'] = 0x24C5;\n t['Pdotaccent'] = 0x1E56;\n t['Pecyrillic'] = 0x041F;\n t['Peharmenian'] = 0x054A;\n t['Pemiddlehookcyrillic'] = 0x04A6;\n t['Phi'] = 0x03A6;\n t['Phook'] = 0x01A4;\n t['Pi'] = 0x03A0;\n t['Piwrarmenian'] = 0x0553;\n t['Pmonospace'] = 0xFF30;\n t['Psi'] = 0x03A8;\n t['Psicyrillic'] = 0x0470;\n t['Psmall'] = 0xF770;\n t['Q'] = 0x0051;\n t['Qcircle'] = 0x24C6;\n t['Qmonospace'] = 0xFF31;\n t['Qsmall'] = 0xF771;\n t['R'] = 0x0052;\n t['Raarmenian'] = 0x054C;\n t['Racute'] = 0x0154;\n t['Rcaron'] = 0x0158;\n t['Rcedilla'] = 0x0156;\n t['Rcircle'] = 0x24C7;\n t['Rcommaaccent'] = 0x0156;\n t['Rdblgrave'] = 0x0210;\n t['Rdotaccent'] = 0x1E58;\n t['Rdotbelow'] = 0x1E5A;\n t['Rdotbelowmacron'] = 0x1E5C;\n t['Reharmenian'] = 0x0550;\n t['Rfraktur'] = 0x211C;\n t['Rho'] = 0x03A1;\n t['Ringsmall'] = 0xF6FC;\n t['Rinvertedbreve'] = 0x0212;\n t['Rlinebelow'] = 0x1E5E;\n t['Rmonospace'] = 0xFF32;\n t['Rsmall'] = 0xF772;\n t['Rsmallinverted'] = 0x0281;\n t['Rsmallinvertedsuperior'] = 0x02B6;\n t['S'] = 0x0053;\n t['SF010000'] = 0x250C;\n t['SF020000'] = 0x2514;\n t['SF030000'] = 0x2510;\n t['SF040000'] = 0x2518;\n t['SF050000'] = 0x253C;\n t['SF060000'] = 0x252C;\n t['SF070000'] = 0x2534;\n t['SF080000'] = 0x251C;\n t['SF090000'] = 0x2524;\n t['SF100000'] = 0x2500;\n t['SF110000'] = 0x2502;\n t['SF190000'] = 0x2561;\n t['SF200000'] = 0x2562;\n t['SF210000'] = 0x2556;\n t['SF220000'] = 0x2555;\n t['SF230000'] = 0x2563;\n t['SF240000'] = 0x2551;\n t['SF250000'] = 0x2557;\n t['SF260000'] = 0x255D;\n t['SF270000'] = 0x255C;\n t['SF280000'] = 0x255B;\n t['SF360000'] = 0x255E;\n t['SF370000'] = 0x255F;\n t['SF380000'] = 0x255A;\n t['SF390000'] = 0x2554;\n t['SF400000'] = 0x2569;\n t['SF410000'] = 0x2566;\n t['SF420000'] = 0x2560;\n t['SF430000'] = 0x2550;\n t['SF440000'] = 0x256C;\n t['SF450000'] = 0x2567;\n t['SF460000'] = 0x2568;\n t['SF470000'] = 0x2564;\n t['SF480000'] = 0x2565;\n t['SF490000'] = 0x2559;\n t['SF500000'] = 0x2558;\n t['SF510000'] = 0x2552;\n t['SF520000'] = 0x2553;\n t['SF530000'] = 0x256B;\n t['SF540000'] = 0x256A;\n t['Sacute'] = 0x015A;\n t['Sacutedotaccent'] = 0x1E64;\n t['Sampigreek'] = 0x03E0;\n t['Scaron'] = 0x0160;\n t['Scarondotaccent'] = 0x1E66;\n t['Scaronsmall'] = 0xF6FD;\n t['Scedilla'] = 0x015E;\n t['Schwa'] = 0x018F;\n t['Schwacyrillic'] = 0x04D8;\n t['Schwadieresiscyrillic'] = 0x04DA;\n t['Scircle'] = 0x24C8;\n t['Scircumflex'] = 0x015C;\n t['Scommaaccent'] = 0x0218;\n t['Sdotaccent'] = 0x1E60;\n t['Sdotbelow'] = 0x1E62;\n t['Sdotbelowdotaccent'] = 0x1E68;\n t['Seharmenian'] = 0x054D;\n t['Sevenroman'] = 0x2166;\n t['Shaarmenian'] = 0x0547;\n t['Shacyrillic'] = 0x0428;\n t['Shchacyrillic'] = 0x0429;\n t['Sheicoptic'] = 0x03E2;\n t['Shhacyrillic'] = 0x04BA;\n t['Shimacoptic'] = 0x03EC;\n t['Sigma'] = 0x03A3;\n t['Sixroman'] = 0x2165;\n t['Smonospace'] = 0xFF33;\n t['Softsigncyrillic'] = 0x042C;\n t['Ssmall'] = 0xF773;\n t['Stigmagreek'] = 0x03DA;\n t['T'] = 0x0054;\n t['Tau'] = 0x03A4;\n t['Tbar'] = 0x0166;\n t['Tcaron'] = 0x0164;\n t['Tcedilla'] = 0x0162;\n t['Tcircle'] = 0x24C9;\n t['Tcircumflexbelow'] = 0x1E70;\n t['Tcommaaccent'] = 0x0162;\n t['Tdotaccent'] = 0x1E6A;\n t['Tdotbelow'] = 0x1E6C;\n t['Tecyrillic'] = 0x0422;\n t['Tedescendercyrillic'] = 0x04AC;\n t['Tenroman'] = 0x2169;\n t['Tetsecyrillic'] = 0x04B4;\n t['Theta'] = 0x0398;\n t['Thook'] = 0x01AC;\n t['Thorn'] = 0x00DE;\n t['Thornsmall'] = 0xF7FE;\n t['Threeroman'] = 0x2162;\n t['Tildesmall'] = 0xF6FE;\n t['Tiwnarmenian'] = 0x054F;\n t['Tlinebelow'] = 0x1E6E;\n t['Tmonospace'] = 0xFF34;\n t['Toarmenian'] = 0x0539;\n t['Tonefive'] = 0x01BC;\n t['Tonesix'] = 0x0184;\n t['Tonetwo'] = 0x01A7;\n t['Tretroflexhook'] = 0x01AE;\n t['Tsecyrillic'] = 0x0426;\n t['Tshecyrillic'] = 0x040B;\n t['Tsmall'] = 0xF774;\n t['Twelveroman'] = 0x216B;\n t['Tworoman'] = 0x2161;\n t['U'] = 0x0055;\n t['Uacute'] = 0x00DA;\n t['Uacutesmall'] = 0xF7FA;\n t['Ubreve'] = 0x016C;\n t['Ucaron'] = 0x01D3;\n t['Ucircle'] = 0x24CA;\n t['Ucircumflex'] = 0x00DB;\n t['Ucircumflexbelow'] = 0x1E76;\n t['Ucircumflexsmall'] = 0xF7FB;\n t['Ucyrillic'] = 0x0423;\n t['Udblacute'] = 0x0170;\n t['Udblgrave'] = 0x0214;\n t['Udieresis'] = 0x00DC;\n t['Udieresisacute'] = 0x01D7;\n t['Udieresisbelow'] = 0x1E72;\n t['Udieresiscaron'] = 0x01D9;\n t['Udieresiscyrillic'] = 0x04F0;\n t['Udieresisgrave'] = 0x01DB;\n t['Udieresismacron'] = 0x01D5;\n t['Udieresissmall'] = 0xF7FC;\n t['Udotbelow'] = 0x1EE4;\n t['Ugrave'] = 0x00D9;\n t['Ugravesmall'] = 0xF7F9;\n t['Uhookabove'] = 0x1EE6;\n t['Uhorn'] = 0x01AF;\n t['Uhornacute'] = 0x1EE8;\n t['Uhorndotbelow'] = 0x1EF0;\n t['Uhorngrave'] = 0x1EEA;\n t['Uhornhookabove'] = 0x1EEC;\n t['Uhorntilde'] = 0x1EEE;\n t['Uhungarumlaut'] = 0x0170;\n t['Uhungarumlautcyrillic'] = 0x04F2;\n t['Uinvertedbreve'] = 0x0216;\n t['Ukcyrillic'] = 0x0478;\n t['Umacron'] = 0x016A;\n t['Umacroncyrillic'] = 0x04EE;\n t['Umacrondieresis'] = 0x1E7A;\n t['Umonospace'] = 0xFF35;\n t['Uogonek'] = 0x0172;\n t['Upsilon'] = 0x03A5;\n t['Upsilon1'] = 0x03D2;\n t['Upsilonacutehooksymbolgreek'] = 0x03D3;\n t['Upsilonafrican'] = 0x01B1;\n t['Upsilondieresis'] = 0x03AB;\n t['Upsilondieresishooksymbolgreek'] = 0x03D4;\n t['Upsilonhooksymbol'] = 0x03D2;\n t['Upsilontonos'] = 0x038E;\n t['Uring'] = 0x016E;\n t['Ushortcyrillic'] = 0x040E;\n t['Usmall'] = 0xF775;\n t['Ustraightcyrillic'] = 0x04AE;\n t['Ustraightstrokecyrillic'] = 0x04B0;\n t['Utilde'] = 0x0168;\n t['Utildeacute'] = 0x1E78;\n t['Utildebelow'] = 0x1E74;\n t['V'] = 0x0056;\n t['Vcircle'] = 0x24CB;\n t['Vdotbelow'] = 0x1E7E;\n t['Vecyrillic'] = 0x0412;\n t['Vewarmenian'] = 0x054E;\n t['Vhook'] = 0x01B2;\n t['Vmonospace'] = 0xFF36;\n t['Voarmenian'] = 0x0548;\n t['Vsmall'] = 0xF776;\n t['Vtilde'] = 0x1E7C;\n t['W'] = 0x0057;\n t['Wacute'] = 0x1E82;\n t['Wcircle'] = 0x24CC;\n t['Wcircumflex'] = 0x0174;\n t['Wdieresis'] = 0x1E84;\n t['Wdotaccent'] = 0x1E86;\n t['Wdotbelow'] = 0x1E88;\n t['Wgrave'] = 0x1E80;\n t['Wmonospace'] = 0xFF37;\n t['Wsmall'] = 0xF777;\n t['X'] = 0x0058;\n t['Xcircle'] = 0x24CD;\n t['Xdieresis'] = 0x1E8C;\n t['Xdotaccent'] = 0x1E8A;\n t['Xeharmenian'] = 0x053D;\n t['Xi'] = 0x039E;\n t['Xmonospace'] = 0xFF38;\n t['Xsmall'] = 0xF778;\n t['Y'] = 0x0059;\n t['Yacute'] = 0x00DD;\n t['Yacutesmall'] = 0xF7FD;\n t['Yatcyrillic'] = 0x0462;\n t['Ycircle'] = 0x24CE;\n t['Ycircumflex'] = 0x0176;\n t['Ydieresis'] = 0x0178;\n t['Ydieresissmall'] = 0xF7FF;\n t['Ydotaccent'] = 0x1E8E;\n t['Ydotbelow'] = 0x1EF4;\n t['Yericyrillic'] = 0x042B;\n t['Yerudieresiscyrillic'] = 0x04F8;\n t['Ygrave'] = 0x1EF2;\n t['Yhook'] = 0x01B3;\n t['Yhookabove'] = 0x1EF6;\n t['Yiarmenian'] = 0x0545;\n t['Yicyrillic'] = 0x0407;\n t['Yiwnarmenian'] = 0x0552;\n t['Ymonospace'] = 0xFF39;\n t['Ysmall'] = 0xF779;\n t['Ytilde'] = 0x1EF8;\n t['Yusbigcyrillic'] = 0x046A;\n t['Yusbigiotifiedcyrillic'] = 0x046C;\n t['Yuslittlecyrillic'] = 0x0466;\n t['Yuslittleiotifiedcyrillic'] = 0x0468;\n t['Z'] = 0x005A;\n t['Zaarmenian'] = 0x0536;\n t['Zacute'] = 0x0179;\n t['Zcaron'] = 0x017D;\n t['Zcaronsmall'] = 0xF6FF;\n t['Zcircle'] = 0x24CF;\n t['Zcircumflex'] = 0x1E90;\n t['Zdot'] = 0x017B;\n t['Zdotaccent'] = 0x017B;\n t['Zdotbelow'] = 0x1E92;\n t['Zecyrillic'] = 0x0417;\n t['Zedescendercyrillic'] = 0x0498;\n t['Zedieresiscyrillic'] = 0x04DE;\n t['Zeta'] = 0x0396;\n t['Zhearmenian'] = 0x053A;\n t['Zhebrevecyrillic'] = 0x04C1;\n t['Zhecyrillic'] = 0x0416;\n t['Zhedescendercyrillic'] = 0x0496;\n t['Zhedieresiscyrillic'] = 0x04DC;\n t['Zlinebelow'] = 0x1E94;\n t['Zmonospace'] = 0xFF3A;\n t['Zsmall'] = 0xF77A;\n t['Zstroke'] = 0x01B5;\n t['a'] = 0x0061;\n t['aabengali'] = 0x0986;\n t['aacute'] = 0x00E1;\n t['aadeva'] = 0x0906;\n t['aagujarati'] = 0x0A86;\n t['aagurmukhi'] = 0x0A06;\n t['aamatragurmukhi'] = 0x0A3E;\n t['aarusquare'] = 0x3303;\n t['aavowelsignbengali'] = 0x09BE;\n t['aavowelsigndeva'] = 0x093E;\n t['aavowelsigngujarati'] = 0x0ABE;\n t['abbreviationmarkarmenian'] = 0x055F;\n t['abbreviationsigndeva'] = 0x0970;\n t['abengali'] = 0x0985;\n t['abopomofo'] = 0x311A;\n t['abreve'] = 0x0103;\n t['abreveacute'] = 0x1EAF;\n t['abrevecyrillic'] = 0x04D1;\n t['abrevedotbelow'] = 0x1EB7;\n t['abrevegrave'] = 0x1EB1;\n t['abrevehookabove'] = 0x1EB3;\n t['abrevetilde'] = 0x1EB5;\n t['acaron'] = 0x01CE;\n t['acircle'] = 0x24D0;\n t['acircumflex'] = 0x00E2;\n t['acircumflexacute'] = 0x1EA5;\n t['acircumflexdotbelow'] = 0x1EAD;\n t['acircumflexgrave'] = 0x1EA7;\n t['acircumflexhookabove'] = 0x1EA9;\n t['acircumflextilde'] = 0x1EAB;\n t['acute'] = 0x00B4;\n t['acutebelowcmb'] = 0x0317;\n t['acutecmb'] = 0x0301;\n t['acutecomb'] = 0x0301;\n t['acutedeva'] = 0x0954;\n t['acutelowmod'] = 0x02CF;\n t['acutetonecmb'] = 0x0341;\n t['acyrillic'] = 0x0430;\n t['adblgrave'] = 0x0201;\n t['addakgurmukhi'] = 0x0A71;\n t['adeva'] = 0x0905;\n t['adieresis'] = 0x00E4;\n t['adieresiscyrillic'] = 0x04D3;\n t['adieresismacron'] = 0x01DF;\n t['adotbelow'] = 0x1EA1;\n t['adotmacron'] = 0x01E1;\n t['ae'] = 0x00E6;\n t['aeacute'] = 0x01FD;\n t['aekorean'] = 0x3150;\n t['aemacron'] = 0x01E3;\n t['afii00208'] = 0x2015;\n t['afii08941'] = 0x20A4;\n t['afii10017'] = 0x0410;\n t['afii10018'] = 0x0411;\n t['afii10019'] = 0x0412;\n t['afii10020'] = 0x0413;\n t['afii10021'] = 0x0414;\n t['afii10022'] = 0x0415;\n t['afii10023'] = 0x0401;\n t['afii10024'] = 0x0416;\n t['afii10025'] = 0x0417;\n t['afii10026'] = 0x0418;\n t['afii10027'] = 0x0419;\n t['afii10028'] = 0x041A;\n t['afii10029'] = 0x041B;\n t['afii10030'] = 0x041C;\n t['afii10031'] = 0x041D;\n t['afii10032'] = 0x041E;\n t['afii10033'] = 0x041F;\n t['afii10034'] = 0x0420;\n t['afii10035'] = 0x0421;\n t['afii10036'] = 0x0422;\n t['afii10037'] = 0x0423;\n t['afii10038'] = 0x0424;\n t['afii10039'] = 0x0425;\n t['afii10040'] = 0x0426;\n t['afii10041'] = 0x0427;\n t['afii10042'] = 0x0428;\n t['afii10043'] = 0x0429;\n t['afii10044'] = 0x042A;\n t['afii10045'] = 0x042B;\n t['afii10046'] = 0x042C;\n t['afii10047'] = 0x042D;\n t['afii10048'] = 0x042E;\n t['afii10049'] = 0x042F;\n t['afii10050'] = 0x0490;\n t['afii10051'] = 0x0402;\n t['afii10052'] = 0x0403;\n t['afii10053'] = 0x0404;\n t['afii10054'] = 0x0405;\n t['afii10055'] = 0x0406;\n t['afii10056'] = 0x0407;\n t['afii10057'] = 0x0408;\n t['afii10058'] = 0x0409;\n t['afii10059'] = 0x040A;\n t['afii10060'] = 0x040B;\n t['afii10061'] = 0x040C;\n t['afii10062'] = 0x040E;\n t['afii10063'] = 0xF6C4;\n t['afii10064'] = 0xF6C5;\n t['afii10065'] = 0x0430;\n t['afii10066'] = 0x0431;\n t['afii10067'] = 0x0432;\n t['afii10068'] = 0x0433;\n t['afii10069'] = 0x0434;\n t['afii10070'] = 0x0435;\n t['afii10071'] = 0x0451;\n t['afii10072'] = 0x0436;\n t['afii10073'] = 0x0437;\n t['afii10074'] = 0x0438;\n t['afii10075'] = 0x0439;\n t['afii10076'] = 0x043A;\n t['afii10077'] = 0x043B;\n t['afii10078'] = 0x043C;\n t['afii10079'] = 0x043D;\n t['afii10080'] = 0x043E;\n t['afii10081'] = 0x043F;\n t['afii10082'] = 0x0440;\n t['afii10083'] = 0x0441;\n t['afii10084'] = 0x0442;\n t['afii10085'] = 0x0443;\n t['afii10086'] = 0x0444;\n t['afii10087'] = 0x0445;\n t['afii10088'] = 0x0446;\n t['afii10089'] = 0x0447;\n t['afii10090'] = 0x0448;\n t['afii10091'] = 0x0449;\n t['afii10092'] = 0x044A;\n t['afii10093'] = 0x044B;\n t['afii10094'] = 0x044C;\n t['afii10095'] = 0x044D;\n t['afii10096'] = 0x044E;\n t['afii10097'] = 0x044F;\n t['afii10098'] = 0x0491;\n t['afii10099'] = 0x0452;\n t['afii10100'] = 0x0453;\n t['afii10101'] = 0x0454;\n t['afii10102'] = 0x0455;\n t['afii10103'] = 0x0456;\n t['afii10104'] = 0x0457;\n t['afii10105'] = 0x0458;\n t['afii10106'] = 0x0459;\n t['afii10107'] = 0x045A;\n t['afii10108'] = 0x045B;\n t['afii10109'] = 0x045C;\n t['afii10110'] = 0x045E;\n t['afii10145'] = 0x040F;\n t['afii10146'] = 0x0462;\n t['afii10147'] = 0x0472;\n t['afii10148'] = 0x0474;\n t['afii10192'] = 0xF6C6;\n t['afii10193'] = 0x045F;\n t['afii10194'] = 0x0463;\n t['afii10195'] = 0x0473;\n t['afii10196'] = 0x0475;\n t['afii10831'] = 0xF6C7;\n t['afii10832'] = 0xF6C8;\n t['afii10846'] = 0x04D9;\n t['afii299'] = 0x200E;\n t['afii300'] = 0x200F;\n t['afii301'] = 0x200D;\n t['afii57381'] = 0x066A;\n t['afii57388'] = 0x060C;\n t['afii57392'] = 0x0660;\n t['afii57393'] = 0x0661;\n t['afii57394'] = 0x0662;\n t['afii57395'] = 0x0663;\n t['afii57396'] = 0x0664;\n t['afii57397'] = 0x0665;\n t['afii57398'] = 0x0666;\n t['afii57399'] = 0x0667;\n t['afii57400'] = 0x0668;\n t['afii57401'] = 0x0669;\n t['afii57403'] = 0x061B;\n t['afii57407'] = 0x061F;\n t['afii57409'] = 0x0621;\n t['afii57410'] = 0x0622;\n t['afii57411'] = 0x0623;\n t['afii57412'] = 0x0624;\n t['afii57413'] = 0x0625;\n t['afii57414'] = 0x0626;\n t['afii57415'] = 0x0627;\n t['afii57416'] = 0x0628;\n t['afii57417'] = 0x0629;\n t['afii57418'] = 0x062A;\n t['afii57419'] = 0x062B;\n t['afii57420'] = 0x062C;\n t['afii57421'] = 0x062D;\n t['afii57422'] = 0x062E;\n t['afii57423'] = 0x062F;\n t['afii57424'] = 0x0630;\n t['afii57425'] = 0x0631;\n t['afii57426'] = 0x0632;\n t['afii57427'] = 0x0633;\n t['afii57428'] = 0x0634;\n t['afii57429'] = 0x0635;\n t['afii57430'] = 0x0636;\n t['afii57431'] = 0x0637;\n t['afii57432'] = 0x0638;\n t['afii57433'] = 0x0639;\n t['afii57434'] = 0x063A;\n t['afii57440'] = 0x0640;\n t['afii57441'] = 0x0641;\n t['afii57442'] = 0x0642;\n t['afii57443'] = 0x0643;\n t['afii57444'] = 0x0644;\n t['afii57445'] = 0x0645;\n t['afii57446'] = 0x0646;\n t['afii57448'] = 0x0648;\n t['afii57449'] = 0x0649;\n t['afii57450'] = 0x064A;\n t['afii57451'] = 0x064B;\n t['afii57452'] = 0x064C;\n t['afii57453'] = 0x064D;\n t['afii57454'] = 0x064E;\n t['afii57455'] = 0x064F;\n t['afii57456'] = 0x0650;\n t['afii57457'] = 0x0651;\n t['afii57458'] = 0x0652;\n t['afii57470'] = 0x0647;\n t['afii57505'] = 0x06A4;\n t['afii57506'] = 0x067E;\n t['afii57507'] = 0x0686;\n t['afii57508'] = 0x0698;\n t['afii57509'] = 0x06AF;\n t['afii57511'] = 0x0679;\n t['afii57512'] = 0x0688;\n t['afii57513'] = 0x0691;\n t['afii57514'] = 0x06BA;\n t['afii57519'] = 0x06D2;\n t['afii57534'] = 0x06D5;\n t['afii57636'] = 0x20AA;\n t['afii57645'] = 0x05BE;\n t['afii57658'] = 0x05C3;\n t['afii57664'] = 0x05D0;\n t['afii57665'] = 0x05D1;\n t['afii57666'] = 0x05D2;\n t['afii57667'] = 0x05D3;\n t['afii57668'] = 0x05D4;\n t['afii57669'] = 0x05D5;\n t['afii57670'] = 0x05D6;\n t['afii57671'] = 0x05D7;\n t['afii57672'] = 0x05D8;\n t['afii57673'] = 0x05D9;\n t['afii57674'] = 0x05DA;\n t['afii57675'] = 0x05DB;\n t['afii57676'] = 0x05DC;\n t['afii57677'] = 0x05DD;\n t['afii57678'] = 0x05DE;\n t['afii57679'] = 0x05DF;\n t['afii57680'] = 0x05E0;\n t['afii57681'] = 0x05E1;\n t['afii57682'] = 0x05E2;\n t['afii57683'] = 0x05E3;\n t['afii57684'] = 0x05E4;\n t['afii57685'] = 0x05E5;\n t['afii57686'] = 0x05E6;\n t['afii57687'] = 0x05E7;\n t['afii57688'] = 0x05E8;\n t['afii57689'] = 0x05E9;\n t['afii57690'] = 0x05EA;\n t['afii57694'] = 0xFB2A;\n t['afii57695'] = 0xFB2B;\n t['afii57700'] = 0xFB4B;\n t['afii57705'] = 0xFB1F;\n t['afii57716'] = 0x05F0;\n t['afii57717'] = 0x05F1;\n t['afii57718'] = 0x05F2;\n t['afii57723'] = 0xFB35;\n t['afii57793'] = 0x05B4;\n t['afii57794'] = 0x05B5;\n t['afii57795'] = 0x05B6;\n t['afii57796'] = 0x05BB;\n t['afii57797'] = 0x05B8;\n t['afii57798'] = 0x05B7;\n t['afii57799'] = 0x05B0;\n t['afii57800'] = 0x05B2;\n t['afii57801'] = 0x05B1;\n t['afii57802'] = 0x05B3;\n t['afii57803'] = 0x05C2;\n t['afii57804'] = 0x05C1;\n t['afii57806'] = 0x05B9;\n t['afii57807'] = 0x05BC;\n t['afii57839'] = 0x05BD;\n t['afii57841'] = 0x05BF;\n t['afii57842'] = 0x05C0;\n t['afii57929'] = 0x02BC;\n t['afii61248'] = 0x2105;\n t['afii61289'] = 0x2113;\n t['afii61352'] = 0x2116;\n t['afii61573'] = 0x202C;\n t['afii61574'] = 0x202D;\n t['afii61575'] = 0x202E;\n t['afii61664'] = 0x200C;\n t['afii63167'] = 0x066D;\n t['afii64937'] = 0x02BD;\n t['agrave'] = 0x00E0;\n t['agujarati'] = 0x0A85;\n t['agurmukhi'] = 0x0A05;\n t['ahiragana'] = 0x3042;\n t['ahookabove'] = 0x1EA3;\n t['aibengali'] = 0x0990;\n t['aibopomofo'] = 0x311E;\n t['aideva'] = 0x0910;\n t['aiecyrillic'] = 0x04D5;\n t['aigujarati'] = 0x0A90;\n t['aigurmukhi'] = 0x0A10;\n t['aimatragurmukhi'] = 0x0A48;\n t['ainarabic'] = 0x0639;\n t['ainfinalarabic'] = 0xFECA;\n t['aininitialarabic'] = 0xFECB;\n t['ainmedialarabic'] = 0xFECC;\n t['ainvertedbreve'] = 0x0203;\n t['aivowelsignbengali'] = 0x09C8;\n t['aivowelsigndeva'] = 0x0948;\n t['aivowelsigngujarati'] = 0x0AC8;\n t['akatakana'] = 0x30A2;\n t['akatakanahalfwidth'] = 0xFF71;\n t['akorean'] = 0x314F;\n t['alef'] = 0x05D0;\n t['alefarabic'] = 0x0627;\n t['alefdageshhebrew'] = 0xFB30;\n t['aleffinalarabic'] = 0xFE8E;\n t['alefhamzaabovearabic'] = 0x0623;\n t['alefhamzaabovefinalarabic'] = 0xFE84;\n t['alefhamzabelowarabic'] = 0x0625;\n t['alefhamzabelowfinalarabic'] = 0xFE88;\n t['alefhebrew'] = 0x05D0;\n t['aleflamedhebrew'] = 0xFB4F;\n t['alefmaddaabovearabic'] = 0x0622;\n t['alefmaddaabovefinalarabic'] = 0xFE82;\n t['alefmaksuraarabic'] = 0x0649;\n t['alefmaksurafinalarabic'] = 0xFEF0;\n t['alefmaksurainitialarabic'] = 0xFEF3;\n t['alefmaksuramedialarabic'] = 0xFEF4;\n t['alefpatahhebrew'] = 0xFB2E;\n t['alefqamatshebrew'] = 0xFB2F;\n t['aleph'] = 0x2135;\n t['allequal'] = 0x224C;\n t['alpha'] = 0x03B1;\n t['alphatonos'] = 0x03AC;\n t['amacron'] = 0x0101;\n t['amonospace'] = 0xFF41;\n t['ampersand'] = 0x0026;\n t['ampersandmonospace'] = 0xFF06;\n t['ampersandsmall'] = 0xF726;\n t['amsquare'] = 0x33C2;\n t['anbopomofo'] = 0x3122;\n t['angbopomofo'] = 0x3124;\n t['angbracketleft'] = 0x3008;\n t['angbracketright'] = 0x3009;\n t['angkhankhuthai'] = 0x0E5A;\n t['angle'] = 0x2220;\n t['anglebracketleft'] = 0x3008;\n t['anglebracketleftvertical'] = 0xFE3F;\n t['anglebracketright'] = 0x3009;\n t['anglebracketrightvertical'] = 0xFE40;\n t['angleleft'] = 0x2329;\n t['angleright'] = 0x232A;\n t['angstrom'] = 0x212B;\n t['anoteleia'] = 0x0387;\n t['anudattadeva'] = 0x0952;\n t['anusvarabengali'] = 0x0982;\n t['anusvaradeva'] = 0x0902;\n t['anusvaragujarati'] = 0x0A82;\n t['aogonek'] = 0x0105;\n t['apaatosquare'] = 0x3300;\n t['aparen'] = 0x249C;\n t['apostrophearmenian'] = 0x055A;\n t['apostrophemod'] = 0x02BC;\n t['apple'] = 0xF8FF;\n t['approaches'] = 0x2250;\n t['approxequal'] = 0x2248;\n t['approxequalorimage'] = 0x2252;\n t['approximatelyequal'] = 0x2245;\n t['araeaekorean'] = 0x318E;\n t['araeakorean'] = 0x318D;\n t['arc'] = 0x2312;\n t['arighthalfring'] = 0x1E9A;\n t['aring'] = 0x00E5;\n t['aringacute'] = 0x01FB;\n t['aringbelow'] = 0x1E01;\n t['arrowboth'] = 0x2194;\n t['arrowdashdown'] = 0x21E3;\n t['arrowdashleft'] = 0x21E0;\n t['arrowdashright'] = 0x21E2;\n t['arrowdashup'] = 0x21E1;\n t['arrowdblboth'] = 0x21D4;\n t['arrowdbldown'] = 0x21D3;\n t['arrowdblleft'] = 0x21D0;\n t['arrowdblright'] = 0x21D2;\n t['arrowdblup'] = 0x21D1;\n t['arrowdown'] = 0x2193;\n t['arrowdownleft'] = 0x2199;\n t['arrowdownright'] = 0x2198;\n t['arrowdownwhite'] = 0x21E9;\n t['arrowheaddownmod'] = 0x02C5;\n t['arrowheadleftmod'] = 0x02C2;\n t['arrowheadrightmod'] = 0x02C3;\n t['arrowheadupmod'] = 0x02C4;\n t['arrowhorizex'] = 0xF8E7;\n t['arrowleft'] = 0x2190;\n t['arrowleftdbl'] = 0x21D0;\n t['arrowleftdblstroke'] = 0x21CD;\n t['arrowleftoverright'] = 0x21C6;\n t['arrowleftwhite'] = 0x21E6;\n t['arrowright'] = 0x2192;\n t['arrowrightdblstroke'] = 0x21CF;\n t['arrowrightheavy'] = 0x279E;\n t['arrowrightoverleft'] = 0x21C4;\n t['arrowrightwhite'] = 0x21E8;\n t['arrowtableft'] = 0x21E4;\n t['arrowtabright'] = 0x21E5;\n t['arrowup'] = 0x2191;\n t['arrowupdn'] = 0x2195;\n t['arrowupdnbse'] = 0x21A8;\n t['arrowupdownbase'] = 0x21A8;\n t['arrowupleft'] = 0x2196;\n t['arrowupleftofdown'] = 0x21C5;\n t['arrowupright'] = 0x2197;\n t['arrowupwhite'] = 0x21E7;\n t['arrowvertex'] = 0xF8E6;\n t['asciicircum'] = 0x005E;\n t['asciicircummonospace'] = 0xFF3E;\n t['asciitilde'] = 0x007E;\n t['asciitildemonospace'] = 0xFF5E;\n t['ascript'] = 0x0251;\n t['ascriptturned'] = 0x0252;\n t['asmallhiragana'] = 0x3041;\n t['asmallkatakana'] = 0x30A1;\n t['asmallkatakanahalfwidth'] = 0xFF67;\n t['asterisk'] = 0x002A;\n t['asteriskaltonearabic'] = 0x066D;\n t['asteriskarabic'] = 0x066D;\n t['asteriskmath'] = 0x2217;\n t['asteriskmonospace'] = 0xFF0A;\n t['asterisksmall'] = 0xFE61;\n t['asterism'] = 0x2042;\n t['asuperior'] = 0xF6E9;\n t['asymptoticallyequal'] = 0x2243;\n t['at'] = 0x0040;\n t['atilde'] = 0x00E3;\n t['atmonospace'] = 0xFF20;\n t['atsmall'] = 0xFE6B;\n t['aturned'] = 0x0250;\n t['aubengali'] = 0x0994;\n t['aubopomofo'] = 0x3120;\n t['audeva'] = 0x0914;\n t['augujarati'] = 0x0A94;\n t['augurmukhi'] = 0x0A14;\n t['aulengthmarkbengali'] = 0x09D7;\n t['aumatragurmukhi'] = 0x0A4C;\n t['auvowelsignbengali'] = 0x09CC;\n t['auvowelsigndeva'] = 0x094C;\n t['auvowelsigngujarati'] = 0x0ACC;\n t['avagrahadeva'] = 0x093D;\n t['aybarmenian'] = 0x0561;\n t['ayin'] = 0x05E2;\n t['ayinaltonehebrew'] = 0xFB20;\n t['ayinhebrew'] = 0x05E2;\n t['b'] = 0x0062;\n t['babengali'] = 0x09AC;\n t['backslash'] = 0x005C;\n t['backslashmonospace'] = 0xFF3C;\n t['badeva'] = 0x092C;\n t['bagujarati'] = 0x0AAC;\n t['bagurmukhi'] = 0x0A2C;\n t['bahiragana'] = 0x3070;\n t['bahtthai'] = 0x0E3F;\n t['bakatakana'] = 0x30D0;\n t['bar'] = 0x007C;\n t['barmonospace'] = 0xFF5C;\n t['bbopomofo'] = 0x3105;\n t['bcircle'] = 0x24D1;\n t['bdotaccent'] = 0x1E03;\n t['bdotbelow'] = 0x1E05;\n t['beamedsixteenthnotes'] = 0x266C;\n t['because'] = 0x2235;\n t['becyrillic'] = 0x0431;\n t['beharabic'] = 0x0628;\n t['behfinalarabic'] = 0xFE90;\n t['behinitialarabic'] = 0xFE91;\n t['behiragana'] = 0x3079;\n t['behmedialarabic'] = 0xFE92;\n t['behmeeminitialarabic'] = 0xFC9F;\n t['behmeemisolatedarabic'] = 0xFC08;\n t['behnoonfinalarabic'] = 0xFC6D;\n t['bekatakana'] = 0x30D9;\n t['benarmenian'] = 0x0562;\n t['bet'] = 0x05D1;\n t['beta'] = 0x03B2;\n t['betasymbolgreek'] = 0x03D0;\n t['betdagesh'] = 0xFB31;\n t['betdageshhebrew'] = 0xFB31;\n t['bethebrew'] = 0x05D1;\n t['betrafehebrew'] = 0xFB4C;\n t['bhabengali'] = 0x09AD;\n t['bhadeva'] = 0x092D;\n t['bhagujarati'] = 0x0AAD;\n t['bhagurmukhi'] = 0x0A2D;\n t['bhook'] = 0x0253;\n t['bihiragana'] = 0x3073;\n t['bikatakana'] = 0x30D3;\n t['bilabialclick'] = 0x0298;\n t['bindigurmukhi'] = 0x0A02;\n t['birusquare'] = 0x3331;\n t['blackcircle'] = 0x25CF;\n t['blackdiamond'] = 0x25C6;\n t['blackdownpointingtriangle'] = 0x25BC;\n t['blackleftpointingpointer'] = 0x25C4;\n t['blackleftpointingtriangle'] = 0x25C0;\n t['blacklenticularbracketleft'] = 0x3010;\n t['blacklenticularbracketleftvertical'] = 0xFE3B;\n t['blacklenticularbracketright'] = 0x3011;\n t['blacklenticularbracketrightvertical'] = 0xFE3C;\n t['blacklowerlefttriangle'] = 0x25E3;\n t['blacklowerrighttriangle'] = 0x25E2;\n t['blackrectangle'] = 0x25AC;\n t['blackrightpointingpointer'] = 0x25BA;\n t['blackrightpointingtriangle'] = 0x25B6;\n t['blacksmallsquare'] = 0x25AA;\n t['blacksmilingface'] = 0x263B;\n t['blacksquare'] = 0x25A0;\n t['blackstar'] = 0x2605;\n t['blackupperlefttriangle'] = 0x25E4;\n t['blackupperrighttriangle'] = 0x25E5;\n t['blackuppointingsmalltriangle'] = 0x25B4;\n t['blackuppointingtriangle'] = 0x25B2;\n t['blank'] = 0x2423;\n t['blinebelow'] = 0x1E07;\n t['block'] = 0x2588;\n t['bmonospace'] = 0xFF42;\n t['bobaimaithai'] = 0x0E1A;\n t['bohiragana'] = 0x307C;\n t['bokatakana'] = 0x30DC;\n t['bparen'] = 0x249D;\n t['bqsquare'] = 0x33C3;\n t['braceex'] = 0xF8F4;\n t['braceleft'] = 0x007B;\n t['braceleftbt'] = 0xF8F3;\n t['braceleftmid'] = 0xF8F2;\n t['braceleftmonospace'] = 0xFF5B;\n t['braceleftsmall'] = 0xFE5B;\n t['bracelefttp'] = 0xF8F1;\n t['braceleftvertical'] = 0xFE37;\n t['braceright'] = 0x007D;\n t['bracerightbt'] = 0xF8FE;\n t['bracerightmid'] = 0xF8FD;\n t['bracerightmonospace'] = 0xFF5D;\n t['bracerightsmall'] = 0xFE5C;\n t['bracerighttp'] = 0xF8FC;\n t['bracerightvertical'] = 0xFE38;\n t['bracketleft'] = 0x005B;\n t['bracketleftbt'] = 0xF8F0;\n t['bracketleftex'] = 0xF8EF;\n t['bracketleftmonospace'] = 0xFF3B;\n t['bracketlefttp'] = 0xF8EE;\n t['bracketright'] = 0x005D;\n t['bracketrightbt'] = 0xF8FB;\n t['bracketrightex'] = 0xF8FA;\n t['bracketrightmonospace'] = 0xFF3D;\n t['bracketrighttp'] = 0xF8F9;\n t['breve'] = 0x02D8;\n t['brevebelowcmb'] = 0x032E;\n t['brevecmb'] = 0x0306;\n t['breveinvertedbelowcmb'] = 0x032F;\n t['breveinvertedcmb'] = 0x0311;\n t['breveinverteddoublecmb'] = 0x0361;\n t['bridgebelowcmb'] = 0x032A;\n t['bridgeinvertedbelowcmb'] = 0x033A;\n t['brokenbar'] = 0x00A6;\n t['bstroke'] = 0x0180;\n t['bsuperior'] = 0xF6EA;\n t['btopbar'] = 0x0183;\n t['buhiragana'] = 0x3076;\n t['bukatakana'] = 0x30D6;\n t['bullet'] = 0x2022;\n t['bulletinverse'] = 0x25D8;\n t['bulletoperator'] = 0x2219;\n t['bullseye'] = 0x25CE;\n t['c'] = 0x0063;\n t['caarmenian'] = 0x056E;\n t['cabengali'] = 0x099A;\n t['cacute'] = 0x0107;\n t['cadeva'] = 0x091A;\n t['cagujarati'] = 0x0A9A;\n t['cagurmukhi'] = 0x0A1A;\n t['calsquare'] = 0x3388;\n t['candrabindubengali'] = 0x0981;\n t['candrabinducmb'] = 0x0310;\n t['candrabindudeva'] = 0x0901;\n t['candrabindugujarati'] = 0x0A81;\n t['capslock'] = 0x21EA;\n t['careof'] = 0x2105;\n t['caron'] = 0x02C7;\n t['caronbelowcmb'] = 0x032C;\n t['caroncmb'] = 0x030C;\n t['carriagereturn'] = 0x21B5;\n t['cbopomofo'] = 0x3118;\n t['ccaron'] = 0x010D;\n t['ccedilla'] = 0x00E7;\n t['ccedillaacute'] = 0x1E09;\n t['ccircle'] = 0x24D2;\n t['ccircumflex'] = 0x0109;\n t['ccurl'] = 0x0255;\n t['cdot'] = 0x010B;\n t['cdotaccent'] = 0x010B;\n t['cdsquare'] = 0x33C5;\n t['cedilla'] = 0x00B8;\n t['cedillacmb'] = 0x0327;\n t['cent'] = 0x00A2;\n t['centigrade'] = 0x2103;\n t['centinferior'] = 0xF6DF;\n t['centmonospace'] = 0xFFE0;\n t['centoldstyle'] = 0xF7A2;\n t['centsuperior'] = 0xF6E0;\n t['chaarmenian'] = 0x0579;\n t['chabengali'] = 0x099B;\n t['chadeva'] = 0x091B;\n t['chagujarati'] = 0x0A9B;\n t['chagurmukhi'] = 0x0A1B;\n t['chbopomofo'] = 0x3114;\n t['cheabkhasiancyrillic'] = 0x04BD;\n t['checkmark'] = 0x2713;\n t['checyrillic'] = 0x0447;\n t['chedescenderabkhasiancyrillic'] = 0x04BF;\n t['chedescendercyrillic'] = 0x04B7;\n t['chedieresiscyrillic'] = 0x04F5;\n t['cheharmenian'] = 0x0573;\n t['chekhakassiancyrillic'] = 0x04CC;\n t['cheverticalstrokecyrillic'] = 0x04B9;\n t['chi'] = 0x03C7;\n t['chieuchacirclekorean'] = 0x3277;\n t['chieuchaparenkorean'] = 0x3217;\n t['chieuchcirclekorean'] = 0x3269;\n t['chieuchkorean'] = 0x314A;\n t['chieuchparenkorean'] = 0x3209;\n t['chochangthai'] = 0x0E0A;\n t['chochanthai'] = 0x0E08;\n t['chochingthai'] = 0x0E09;\n t['chochoethai'] = 0x0E0C;\n t['chook'] = 0x0188;\n t['cieucacirclekorean'] = 0x3276;\n t['cieucaparenkorean'] = 0x3216;\n t['cieuccirclekorean'] = 0x3268;\n t['cieuckorean'] = 0x3148;\n t['cieucparenkorean'] = 0x3208;\n t['cieucuparenkorean'] = 0x321C;\n t['circle'] = 0x25CB;\n t['circlecopyrt'] = 0x00A9;\n t['circlemultiply'] = 0x2297;\n t['circleot'] = 0x2299;\n t['circleplus'] = 0x2295;\n t['circlepostalmark'] = 0x3036;\n t['circlewithlefthalfblack'] = 0x25D0;\n t['circlewithrighthalfblack'] = 0x25D1;\n t['circumflex'] = 0x02C6;\n t['circumflexbelowcmb'] = 0x032D;\n t['circumflexcmb'] = 0x0302;\n t['clear'] = 0x2327;\n t['clickalveolar'] = 0x01C2;\n t['clickdental'] = 0x01C0;\n t['clicklateral'] = 0x01C1;\n t['clickretroflex'] = 0x01C3;\n t['club'] = 0x2663;\n t['clubsuitblack'] = 0x2663;\n t['clubsuitwhite'] = 0x2667;\n t['cmcubedsquare'] = 0x33A4;\n t['cmonospace'] = 0xFF43;\n t['cmsquaredsquare'] = 0x33A0;\n t['coarmenian'] = 0x0581;\n t['colon'] = 0x003A;\n t['colonmonetary'] = 0x20A1;\n t['colonmonospace'] = 0xFF1A;\n t['colonsign'] = 0x20A1;\n t['colonsmall'] = 0xFE55;\n t['colontriangularhalfmod'] = 0x02D1;\n t['colontriangularmod'] = 0x02D0;\n t['comma'] = 0x002C;\n t['commaabovecmb'] = 0x0313;\n t['commaaboverightcmb'] = 0x0315;\n t['commaaccent'] = 0xF6C3;\n t['commaarabic'] = 0x060C;\n t['commaarmenian'] = 0x055D;\n t['commainferior'] = 0xF6E1;\n t['commamonospace'] = 0xFF0C;\n t['commareversedabovecmb'] = 0x0314;\n t['commareversedmod'] = 0x02BD;\n t['commasmall'] = 0xFE50;\n t['commasuperior'] = 0xF6E2;\n t['commaturnedabovecmb'] = 0x0312;\n t['commaturnedmod'] = 0x02BB;\n t['compass'] = 0x263C;\n t['congruent'] = 0x2245;\n t['contourintegral'] = 0x222E;\n t['control'] = 0x2303;\n t['controlACK'] = 0x0006;\n t['controlBEL'] = 0x0007;\n t['controlBS'] = 0x0008;\n t['controlCAN'] = 0x0018;\n t['controlCR'] = 0x000D;\n t['controlDC1'] = 0x0011;\n t['controlDC2'] = 0x0012;\n t['controlDC3'] = 0x0013;\n t['controlDC4'] = 0x0014;\n t['controlDEL'] = 0x007F;\n t['controlDLE'] = 0x0010;\n t['controlEM'] = 0x0019;\n t['controlENQ'] = 0x0005;\n t['controlEOT'] = 0x0004;\n t['controlESC'] = 0x001B;\n t['controlETB'] = 0x0017;\n t['controlETX'] = 0x0003;\n t['controlFF'] = 0x000C;\n t['controlFS'] = 0x001C;\n t['controlGS'] = 0x001D;\n t['controlHT'] = 0x0009;\n t['controlLF'] = 0x000A;\n t['controlNAK'] = 0x0015;\n t['controlNULL'] = 0x0000;\n t['controlRS'] = 0x001E;\n t['controlSI'] = 0x000F;\n t['controlSO'] = 0x000E;\n t['controlSOT'] = 0x0002;\n t['controlSTX'] = 0x0001;\n t['controlSUB'] = 0x001A;\n t['controlSYN'] = 0x0016;\n t['controlUS'] = 0x001F;\n t['controlVT'] = 0x000B;\n t['copyright'] = 0x00A9;\n t['copyrightsans'] = 0xF8E9;\n t['copyrightserif'] = 0xF6D9;\n t['cornerbracketleft'] = 0x300C;\n t['cornerbracketlefthalfwidth'] = 0xFF62;\n t['cornerbracketleftvertical'] = 0xFE41;\n t['cornerbracketright'] = 0x300D;\n t['cornerbracketrighthalfwidth'] = 0xFF63;\n t['cornerbracketrightvertical'] = 0xFE42;\n t['corporationsquare'] = 0x337F;\n t['cosquare'] = 0x33C7;\n t['coverkgsquare'] = 0x33C6;\n t['cparen'] = 0x249E;\n t['cruzeiro'] = 0x20A2;\n t['cstretched'] = 0x0297;\n t['curlyand'] = 0x22CF;\n t['curlyor'] = 0x22CE;\n t['currency'] = 0x00A4;\n t['cyrBreve'] = 0xF6D1;\n t['cyrFlex'] = 0xF6D2;\n t['cyrbreve'] = 0xF6D4;\n t['cyrflex'] = 0xF6D5;\n t['d'] = 0x0064;\n t['daarmenian'] = 0x0564;\n t['dabengali'] = 0x09A6;\n t['dadarabic'] = 0x0636;\n t['dadeva'] = 0x0926;\n t['dadfinalarabic'] = 0xFEBE;\n t['dadinitialarabic'] = 0xFEBF;\n t['dadmedialarabic'] = 0xFEC0;\n t['dagesh'] = 0x05BC;\n t['dageshhebrew'] = 0x05BC;\n t['dagger'] = 0x2020;\n t['daggerdbl'] = 0x2021;\n t['dagujarati'] = 0x0AA6;\n t['dagurmukhi'] = 0x0A26;\n t['dahiragana'] = 0x3060;\n t['dakatakana'] = 0x30C0;\n t['dalarabic'] = 0x062F;\n t['dalet'] = 0x05D3;\n t['daletdagesh'] = 0xFB33;\n t['daletdageshhebrew'] = 0xFB33;\n t['dalethebrew'] = 0x05D3;\n t['dalfinalarabic'] = 0xFEAA;\n t['dammaarabic'] = 0x064F;\n t['dammalowarabic'] = 0x064F;\n t['dammatanaltonearabic'] = 0x064C;\n t['dammatanarabic'] = 0x064C;\n t['danda'] = 0x0964;\n t['dargahebrew'] = 0x05A7;\n t['dargalefthebrew'] = 0x05A7;\n t['dasiapneumatacyrilliccmb'] = 0x0485;\n t['dblGrave'] = 0xF6D3;\n t['dblanglebracketleft'] = 0x300A;\n t['dblanglebracketleftvertical'] = 0xFE3D;\n t['dblanglebracketright'] = 0x300B;\n t['dblanglebracketrightvertical'] = 0xFE3E;\n t['dblarchinvertedbelowcmb'] = 0x032B;\n t['dblarrowleft'] = 0x21D4;\n t['dblarrowright'] = 0x21D2;\n t['dbldanda'] = 0x0965;\n t['dblgrave'] = 0xF6D6;\n t['dblgravecmb'] = 0x030F;\n t['dblintegral'] = 0x222C;\n t['dbllowline'] = 0x2017;\n t['dbllowlinecmb'] = 0x0333;\n t['dbloverlinecmb'] = 0x033F;\n t['dblprimemod'] = 0x02BA;\n t['dblverticalbar'] = 0x2016;\n t['dblverticallineabovecmb'] = 0x030E;\n t['dbopomofo'] = 0x3109;\n t['dbsquare'] = 0x33C8;\n t['dcaron'] = 0x010F;\n t['dcedilla'] = 0x1E11;\n t['dcircle'] = 0x24D3;\n t['dcircumflexbelow'] = 0x1E13;\n t['dcroat'] = 0x0111;\n t['ddabengali'] = 0x09A1;\n t['ddadeva'] = 0x0921;\n t['ddagujarati'] = 0x0AA1;\n t['ddagurmukhi'] = 0x0A21;\n t['ddalarabic'] = 0x0688;\n t['ddalfinalarabic'] = 0xFB89;\n t['dddhadeva'] = 0x095C;\n t['ddhabengali'] = 0x09A2;\n t['ddhadeva'] = 0x0922;\n t['ddhagujarati'] = 0x0AA2;\n t['ddhagurmukhi'] = 0x0A22;\n t['ddotaccent'] = 0x1E0B;\n t['ddotbelow'] = 0x1E0D;\n t['decimalseparatorarabic'] = 0x066B;\n t['decimalseparatorpersian'] = 0x066B;\n t['decyrillic'] = 0x0434;\n t['degree'] = 0x00B0;\n t['dehihebrew'] = 0x05AD;\n t['dehiragana'] = 0x3067;\n t['deicoptic'] = 0x03EF;\n t['dekatakana'] = 0x30C7;\n t['deleteleft'] = 0x232B;\n t['deleteright'] = 0x2326;\n t['delta'] = 0x03B4;\n t['deltaturned'] = 0x018D;\n t['denominatorminusonenumeratorbengali'] = 0x09F8;\n t['dezh'] = 0x02A4;\n t['dhabengali'] = 0x09A7;\n t['dhadeva'] = 0x0927;\n t['dhagujarati'] = 0x0AA7;\n t['dhagurmukhi'] = 0x0A27;\n t['dhook'] = 0x0257;\n t['dialytikatonos'] = 0x0385;\n t['dialytikatonoscmb'] = 0x0344;\n t['diamond'] = 0x2666;\n t['diamondsuitwhite'] = 0x2662;\n t['dieresis'] = 0x00A8;\n t['dieresisacute'] = 0xF6D7;\n t['dieresisbelowcmb'] = 0x0324;\n t['dieresiscmb'] = 0x0308;\n t['dieresisgrave'] = 0xF6D8;\n t['dieresistonos'] = 0x0385;\n t['dihiragana'] = 0x3062;\n t['dikatakana'] = 0x30C2;\n t['dittomark'] = 0x3003;\n t['divide'] = 0x00F7;\n t['divides'] = 0x2223;\n t['divisionslash'] = 0x2215;\n t['djecyrillic'] = 0x0452;\n t['dkshade'] = 0x2593;\n t['dlinebelow'] = 0x1E0F;\n t['dlsquare'] = 0x3397;\n t['dmacron'] = 0x0111;\n t['dmonospace'] = 0xFF44;\n t['dnblock'] = 0x2584;\n t['dochadathai'] = 0x0E0E;\n t['dodekthai'] = 0x0E14;\n t['dohiragana'] = 0x3069;\n t['dokatakana'] = 0x30C9;\n t['dollar'] = 0x0024;\n t['dollarinferior'] = 0xF6E3;\n t['dollarmonospace'] = 0xFF04;\n t['dollaroldstyle'] = 0xF724;\n t['dollarsmall'] = 0xFE69;\n t['dollarsuperior'] = 0xF6E4;\n t['dong'] = 0x20AB;\n t['dorusquare'] = 0x3326;\n t['dotaccent'] = 0x02D9;\n t['dotaccentcmb'] = 0x0307;\n t['dotbelowcmb'] = 0x0323;\n t['dotbelowcomb'] = 0x0323;\n t['dotkatakana'] = 0x30FB;\n t['dotlessi'] = 0x0131;\n t['dotlessj'] = 0xF6BE;\n t['dotlessjstrokehook'] = 0x0284;\n t['dotmath'] = 0x22C5;\n t['dottedcircle'] = 0x25CC;\n t['doubleyodpatah'] = 0xFB1F;\n t['doubleyodpatahhebrew'] = 0xFB1F;\n t['downtackbelowcmb'] = 0x031E;\n t['downtackmod'] = 0x02D5;\n t['dparen'] = 0x249F;\n t['dsuperior'] = 0xF6EB;\n t['dtail'] = 0x0256;\n t['dtopbar'] = 0x018C;\n t['duhiragana'] = 0x3065;\n t['dukatakana'] = 0x30C5;\n t['dz'] = 0x01F3;\n t['dzaltone'] = 0x02A3;\n t['dzcaron'] = 0x01C6;\n t['dzcurl'] = 0x02A5;\n t['dzeabkhasiancyrillic'] = 0x04E1;\n t['dzecyrillic'] = 0x0455;\n t['dzhecyrillic'] = 0x045F;\n t['e'] = 0x0065;\n t['eacute'] = 0x00E9;\n t['earth'] = 0x2641;\n t['ebengali'] = 0x098F;\n t['ebopomofo'] = 0x311C;\n t['ebreve'] = 0x0115;\n t['ecandradeva'] = 0x090D;\n t['ecandragujarati'] = 0x0A8D;\n t['ecandravowelsigndeva'] = 0x0945;\n t['ecandravowelsigngujarati'] = 0x0AC5;\n t['ecaron'] = 0x011B;\n t['ecedillabreve'] = 0x1E1D;\n t['echarmenian'] = 0x0565;\n t['echyiwnarmenian'] = 0x0587;\n t['ecircle'] = 0x24D4;\n t['ecircumflex'] = 0x00EA;\n t['ecircumflexacute'] = 0x1EBF;\n t['ecircumflexbelow'] = 0x1E19;\n t['ecircumflexdotbelow'] = 0x1EC7;\n t['ecircumflexgrave'] = 0x1EC1;\n t['ecircumflexhookabove'] = 0x1EC3;\n t['ecircumflextilde'] = 0x1EC5;\n t['ecyrillic'] = 0x0454;\n t['edblgrave'] = 0x0205;\n t['edeva'] = 0x090F;\n t['edieresis'] = 0x00EB;\n t['edot'] = 0x0117;\n t['edotaccent'] = 0x0117;\n t['edotbelow'] = 0x1EB9;\n t['eegurmukhi'] = 0x0A0F;\n t['eematragurmukhi'] = 0x0A47;\n t['efcyrillic'] = 0x0444;\n t['egrave'] = 0x00E8;\n t['egujarati'] = 0x0A8F;\n t['eharmenian'] = 0x0567;\n t['ehbopomofo'] = 0x311D;\n t['ehiragana'] = 0x3048;\n t['ehookabove'] = 0x1EBB;\n t['eibopomofo'] = 0x311F;\n t['eight'] = 0x0038;\n t['eightarabic'] = 0x0668;\n t['eightbengali'] = 0x09EE;\n t['eightcircle'] = 0x2467;\n t['eightcircleinversesansserif'] = 0x2791;\n t['eightdeva'] = 0x096E;\n t['eighteencircle'] = 0x2471;\n t['eighteenparen'] = 0x2485;\n t['eighteenperiod'] = 0x2499;\n t['eightgujarati'] = 0x0AEE;\n t['eightgurmukhi'] = 0x0A6E;\n t['eighthackarabic'] = 0x0668;\n t['eighthangzhou'] = 0x3028;\n t['eighthnotebeamed'] = 0x266B;\n t['eightideographicparen'] = 0x3227;\n t['eightinferior'] = 0x2088;\n t['eightmonospace'] = 0xFF18;\n t['eightoldstyle'] = 0xF738;\n t['eightparen'] = 0x247B;\n t['eightperiod'] = 0x248F;\n t['eightpersian'] = 0x06F8;\n t['eightroman'] = 0x2177;\n t['eightsuperior'] = 0x2078;\n t['eightthai'] = 0x0E58;\n t['einvertedbreve'] = 0x0207;\n t['eiotifiedcyrillic'] = 0x0465;\n t['ekatakana'] = 0x30A8;\n t['ekatakanahalfwidth'] = 0xFF74;\n t['ekonkargurmukhi'] = 0x0A74;\n t['ekorean'] = 0x3154;\n t['elcyrillic'] = 0x043B;\n t['element'] = 0x2208;\n t['elevencircle'] = 0x246A;\n t['elevenparen'] = 0x247E;\n t['elevenperiod'] = 0x2492;\n t['elevenroman'] = 0x217A;\n t['ellipsis'] = 0x2026;\n t['ellipsisvertical'] = 0x22EE;\n t['emacron'] = 0x0113;\n t['emacronacute'] = 0x1E17;\n t['emacrongrave'] = 0x1E15;\n t['emcyrillic'] = 0x043C;\n t['emdash'] = 0x2014;\n t['emdashvertical'] = 0xFE31;\n t['emonospace'] = 0xFF45;\n t['emphasismarkarmenian'] = 0x055B;\n t['emptyset'] = 0x2205;\n t['enbopomofo'] = 0x3123;\n t['encyrillic'] = 0x043D;\n t['endash'] = 0x2013;\n t['endashvertical'] = 0xFE32;\n t['endescendercyrillic'] = 0x04A3;\n t['eng'] = 0x014B;\n t['engbopomofo'] = 0x3125;\n t['enghecyrillic'] = 0x04A5;\n t['enhookcyrillic'] = 0x04C8;\n t['enspace'] = 0x2002;\n t['eogonek'] = 0x0119;\n t['eokorean'] = 0x3153;\n t['eopen'] = 0x025B;\n t['eopenclosed'] = 0x029A;\n t['eopenreversed'] = 0x025C;\n t['eopenreversedclosed'] = 0x025E;\n t['eopenreversedhook'] = 0x025D;\n t['eparen'] = 0x24A0;\n t['epsilon'] = 0x03B5;\n t['epsilontonos'] = 0x03AD;\n t['equal'] = 0x003D;\n t['equalmonospace'] = 0xFF1D;\n t['equalsmall'] = 0xFE66;\n t['equalsuperior'] = 0x207C;\n t['equivalence'] = 0x2261;\n t['erbopomofo'] = 0x3126;\n t['ercyrillic'] = 0x0440;\n t['ereversed'] = 0x0258;\n t['ereversedcyrillic'] = 0x044D;\n t['escyrillic'] = 0x0441;\n t['esdescendercyrillic'] = 0x04AB;\n t['esh'] = 0x0283;\n t['eshcurl'] = 0x0286;\n t['eshortdeva'] = 0x090E;\n t['eshortvowelsigndeva'] = 0x0946;\n t['eshreversedloop'] = 0x01AA;\n t['eshsquatreversed'] = 0x0285;\n t['esmallhiragana'] = 0x3047;\n t['esmallkatakana'] = 0x30A7;\n t['esmallkatakanahalfwidth'] = 0xFF6A;\n t['estimated'] = 0x212E;\n t['esuperior'] = 0xF6EC;\n t['eta'] = 0x03B7;\n t['etarmenian'] = 0x0568;\n t['etatonos'] = 0x03AE;\n t['eth'] = 0x00F0;\n t['etilde'] = 0x1EBD;\n t['etildebelow'] = 0x1E1B;\n t['etnahtafoukhhebrew'] = 0x0591;\n t['etnahtafoukhlefthebrew'] = 0x0591;\n t['etnahtahebrew'] = 0x0591;\n t['etnahtalefthebrew'] = 0x0591;\n t['eturned'] = 0x01DD;\n t['eukorean'] = 0x3161;\n t['euro'] = 0x20AC;\n t['evowelsignbengali'] = 0x09C7;\n t['evowelsigndeva'] = 0x0947;\n t['evowelsigngujarati'] = 0x0AC7;\n t['exclam'] = 0x0021;\n t['exclamarmenian'] = 0x055C;\n t['exclamdbl'] = 0x203C;\n t['exclamdown'] = 0x00A1;\n t['exclamdownsmall'] = 0xF7A1;\n t['exclammonospace'] = 0xFF01;\n t['exclamsmall'] = 0xF721;\n t['existential'] = 0x2203;\n t['ezh'] = 0x0292;\n t['ezhcaron'] = 0x01EF;\n t['ezhcurl'] = 0x0293;\n t['ezhreversed'] = 0x01B9;\n t['ezhtail'] = 0x01BA;\n t['f'] = 0x0066;\n t['fadeva'] = 0x095E;\n t['fagurmukhi'] = 0x0A5E;\n t['fahrenheit'] = 0x2109;\n t['fathaarabic'] = 0x064E;\n t['fathalowarabic'] = 0x064E;\n t['fathatanarabic'] = 0x064B;\n t['fbopomofo'] = 0x3108;\n t['fcircle'] = 0x24D5;\n t['fdotaccent'] = 0x1E1F;\n t['feharabic'] = 0x0641;\n t['feharmenian'] = 0x0586;\n t['fehfinalarabic'] = 0xFED2;\n t['fehinitialarabic'] = 0xFED3;\n t['fehmedialarabic'] = 0xFED4;\n t['feicoptic'] = 0x03E5;\n t['female'] = 0x2640;\n t['ff'] = 0xFB00;\n t['ffi'] = 0xFB03;\n t['ffl'] = 0xFB04;\n t['fi'] = 0xFB01;\n t['fifteencircle'] = 0x246E;\n t['fifteenparen'] = 0x2482;\n t['fifteenperiod'] = 0x2496;\n t['figuredash'] = 0x2012;\n t['filledbox'] = 0x25A0;\n t['filledrect'] = 0x25AC;\n t['finalkaf'] = 0x05DA;\n t['finalkafdagesh'] = 0xFB3A;\n t['finalkafdageshhebrew'] = 0xFB3A;\n t['finalkafhebrew'] = 0x05DA;\n t['finalmem'] = 0x05DD;\n t['finalmemhebrew'] = 0x05DD;\n t['finalnun'] = 0x05DF;\n t['finalnunhebrew'] = 0x05DF;\n t['finalpe'] = 0x05E3;\n t['finalpehebrew'] = 0x05E3;\n t['finaltsadi'] = 0x05E5;\n t['finaltsadihebrew'] = 0x05E5;\n t['firsttonechinese'] = 0x02C9;\n t['fisheye'] = 0x25C9;\n t['fitacyrillic'] = 0x0473;\n t['five'] = 0x0035;\n t['fivearabic'] = 0x0665;\n t['fivebengali'] = 0x09EB;\n t['fivecircle'] = 0x2464;\n t['fivecircleinversesansserif'] = 0x278E;\n t['fivedeva'] = 0x096B;\n t['fiveeighths'] = 0x215D;\n t['fivegujarati'] = 0x0AEB;\n t['fivegurmukhi'] = 0x0A6B;\n t['fivehackarabic'] = 0x0665;\n t['fivehangzhou'] = 0x3025;\n t['fiveideographicparen'] = 0x3224;\n t['fiveinferior'] = 0x2085;\n t['fivemonospace'] = 0xFF15;\n t['fiveoldstyle'] = 0xF735;\n t['fiveparen'] = 0x2478;\n t['fiveperiod'] = 0x248C;\n t['fivepersian'] = 0x06F5;\n t['fiveroman'] = 0x2174;\n t['fivesuperior'] = 0x2075;\n t['fivethai'] = 0x0E55;\n t['fl'] = 0xFB02;\n t['florin'] = 0x0192;\n t['fmonospace'] = 0xFF46;\n t['fmsquare'] = 0x3399;\n t['fofanthai'] = 0x0E1F;\n t['fofathai'] = 0x0E1D;\n t['fongmanthai'] = 0x0E4F;\n t['forall'] = 0x2200;\n t['four'] = 0x0034;\n t['fourarabic'] = 0x0664;\n t['fourbengali'] = 0x09EA;\n t['fourcircle'] = 0x2463;\n t['fourcircleinversesansserif'] = 0x278D;\n t['fourdeva'] = 0x096A;\n t['fourgujarati'] = 0x0AEA;\n t['fourgurmukhi'] = 0x0A6A;\n t['fourhackarabic'] = 0x0664;\n t['fourhangzhou'] = 0x3024;\n t['fourideographicparen'] = 0x3223;\n t['fourinferior'] = 0x2084;\n t['fourmonospace'] = 0xFF14;\n t['fournumeratorbengali'] = 0x09F7;\n t['fouroldstyle'] = 0xF734;\n t['fourparen'] = 0x2477;\n t['fourperiod'] = 0x248B;\n t['fourpersian'] = 0x06F4;\n t['fourroman'] = 0x2173;\n t['foursuperior'] = 0x2074;\n t['fourteencircle'] = 0x246D;\n t['fourteenparen'] = 0x2481;\n t['fourteenperiod'] = 0x2495;\n t['fourthai'] = 0x0E54;\n t['fourthtonechinese'] = 0x02CB;\n t['fparen'] = 0x24A1;\n t['fraction'] = 0x2044;\n t['franc'] = 0x20A3;\n t['g'] = 0x0067;\n t['gabengali'] = 0x0997;\n t['gacute'] = 0x01F5;\n t['gadeva'] = 0x0917;\n t['gafarabic'] = 0x06AF;\n t['gaffinalarabic'] = 0xFB93;\n t['gafinitialarabic'] = 0xFB94;\n t['gafmedialarabic'] = 0xFB95;\n t['gagujarati'] = 0x0A97;\n t['gagurmukhi'] = 0x0A17;\n t['gahiragana'] = 0x304C;\n t['gakatakana'] = 0x30AC;\n t['gamma'] = 0x03B3;\n t['gammalatinsmall'] = 0x0263;\n t['gammasuperior'] = 0x02E0;\n t['gangiacoptic'] = 0x03EB;\n t['gbopomofo'] = 0x310D;\n t['gbreve'] = 0x011F;\n t['gcaron'] = 0x01E7;\n t['gcedilla'] = 0x0123;\n t['gcircle'] = 0x24D6;\n t['gcircumflex'] = 0x011D;\n t['gcommaaccent'] = 0x0123;\n t['gdot'] = 0x0121;\n t['gdotaccent'] = 0x0121;\n t['gecyrillic'] = 0x0433;\n t['gehiragana'] = 0x3052;\n t['gekatakana'] = 0x30B2;\n t['geometricallyequal'] = 0x2251;\n t['gereshaccenthebrew'] = 0x059C;\n t['gereshhebrew'] = 0x05F3;\n t['gereshmuqdamhebrew'] = 0x059D;\n t['germandbls'] = 0x00DF;\n t['gershayimaccenthebrew'] = 0x059E;\n t['gershayimhebrew'] = 0x05F4;\n t['getamark'] = 0x3013;\n t['ghabengali'] = 0x0998;\n t['ghadarmenian'] = 0x0572;\n t['ghadeva'] = 0x0918;\n t['ghagujarati'] = 0x0A98;\n t['ghagurmukhi'] = 0x0A18;\n t['ghainarabic'] = 0x063A;\n t['ghainfinalarabic'] = 0xFECE;\n t['ghaininitialarabic'] = 0xFECF;\n t['ghainmedialarabic'] = 0xFED0;\n t['ghemiddlehookcyrillic'] = 0x0495;\n t['ghestrokecyrillic'] = 0x0493;\n t['gheupturncyrillic'] = 0x0491;\n t['ghhadeva'] = 0x095A;\n t['ghhagurmukhi'] = 0x0A5A;\n t['ghook'] = 0x0260;\n t['ghzsquare'] = 0x3393;\n t['gihiragana'] = 0x304E;\n t['gikatakana'] = 0x30AE;\n t['gimarmenian'] = 0x0563;\n t['gimel'] = 0x05D2;\n t['gimeldagesh'] = 0xFB32;\n t['gimeldageshhebrew'] = 0xFB32;\n t['gimelhebrew'] = 0x05D2;\n t['gjecyrillic'] = 0x0453;\n t['glottalinvertedstroke'] = 0x01BE;\n t['glottalstop'] = 0x0294;\n t['glottalstopinverted'] = 0x0296;\n t['glottalstopmod'] = 0x02C0;\n t['glottalstopreversed'] = 0x0295;\n t['glottalstopreversedmod'] = 0x02C1;\n t['glottalstopreversedsuperior'] = 0x02E4;\n t['glottalstopstroke'] = 0x02A1;\n t['glottalstopstrokereversed'] = 0x02A2;\n t['gmacron'] = 0x1E21;\n t['gmonospace'] = 0xFF47;\n t['gohiragana'] = 0x3054;\n t['gokatakana'] = 0x30B4;\n t['gparen'] = 0x24A2;\n t['gpasquare'] = 0x33AC;\n t['gradient'] = 0x2207;\n t['grave'] = 0x0060;\n t['gravebelowcmb'] = 0x0316;\n t['gravecmb'] = 0x0300;\n t['gravecomb'] = 0x0300;\n t['gravedeva'] = 0x0953;\n t['gravelowmod'] = 0x02CE;\n t['gravemonospace'] = 0xFF40;\n t['gravetonecmb'] = 0x0340;\n t['greater'] = 0x003E;\n t['greaterequal'] = 0x2265;\n t['greaterequalorless'] = 0x22DB;\n t['greatermonospace'] = 0xFF1E;\n t['greaterorequivalent'] = 0x2273;\n t['greaterorless'] = 0x2277;\n t['greateroverequal'] = 0x2267;\n t['greatersmall'] = 0xFE65;\n t['gscript'] = 0x0261;\n t['gstroke'] = 0x01E5;\n t['guhiragana'] = 0x3050;\n t['guillemotleft'] = 0x00AB;\n t['guillemotright'] = 0x00BB;\n t['guilsinglleft'] = 0x2039;\n t['guilsinglright'] = 0x203A;\n t['gukatakana'] = 0x30B0;\n t['guramusquare'] = 0x3318;\n t['gysquare'] = 0x33C9;\n t['h'] = 0x0068;\n t['haabkhasiancyrillic'] = 0x04A9;\n t['haaltonearabic'] = 0x06C1;\n t['habengali'] = 0x09B9;\n t['hadescendercyrillic'] = 0x04B3;\n t['hadeva'] = 0x0939;\n t['hagujarati'] = 0x0AB9;\n t['hagurmukhi'] = 0x0A39;\n t['haharabic'] = 0x062D;\n t['hahfinalarabic'] = 0xFEA2;\n t['hahinitialarabic'] = 0xFEA3;\n t['hahiragana'] = 0x306F;\n t['hahmedialarabic'] = 0xFEA4;\n t['haitusquare'] = 0x332A;\n t['hakatakana'] = 0x30CF;\n t['hakatakanahalfwidth'] = 0xFF8A;\n t['halantgurmukhi'] = 0x0A4D;\n t['hamzaarabic'] = 0x0621;\n t['hamzalowarabic'] = 0x0621;\n t['hangulfiller'] = 0x3164;\n t['hardsigncyrillic'] = 0x044A;\n t['harpoonleftbarbup'] = 0x21BC;\n t['harpoonrightbarbup'] = 0x21C0;\n t['hasquare'] = 0x33CA;\n t['hatafpatah'] = 0x05B2;\n t['hatafpatah16'] = 0x05B2;\n t['hatafpatah23'] = 0x05B2;\n t['hatafpatah2f'] = 0x05B2;\n t['hatafpatahhebrew'] = 0x05B2;\n t['hatafpatahnarrowhebrew'] = 0x05B2;\n t['hatafpatahquarterhebrew'] = 0x05B2;\n t['hatafpatahwidehebrew'] = 0x05B2;\n t['hatafqamats'] = 0x05B3;\n t['hatafqamats1b'] = 0x05B3;\n t['hatafqamats28'] = 0x05B3;\n t['hatafqamats34'] = 0x05B3;\n t['hatafqamatshebrew'] = 0x05B3;\n t['hatafqamatsnarrowhebrew'] = 0x05B3;\n t['hatafqamatsquarterhebrew'] = 0x05B3;\n t['hatafqamatswidehebrew'] = 0x05B3;\n t['hatafsegol'] = 0x05B1;\n t['hatafsegol17'] = 0x05B1;\n t['hatafsegol24'] = 0x05B1;\n t['hatafsegol30'] = 0x05B1;\n t['hatafsegolhebrew'] = 0x05B1;\n t['hatafsegolnarrowhebrew'] = 0x05B1;\n t['hatafsegolquarterhebrew'] = 0x05B1;\n t['hatafsegolwidehebrew'] = 0x05B1;\n t['hbar'] = 0x0127;\n t['hbopomofo'] = 0x310F;\n t['hbrevebelow'] = 0x1E2B;\n t['hcedilla'] = 0x1E29;\n t['hcircle'] = 0x24D7;\n t['hcircumflex'] = 0x0125;\n t['hdieresis'] = 0x1E27;\n t['hdotaccent'] = 0x1E23;\n t['hdotbelow'] = 0x1E25;\n t['he'] = 0x05D4;\n t['heart'] = 0x2665;\n t['heartsuitblack'] = 0x2665;\n t['heartsuitwhite'] = 0x2661;\n t['hedagesh'] = 0xFB34;\n t['hedageshhebrew'] = 0xFB34;\n t['hehaltonearabic'] = 0x06C1;\n t['heharabic'] = 0x0647;\n t['hehebrew'] = 0x05D4;\n t['hehfinalaltonearabic'] = 0xFBA7;\n t['hehfinalalttwoarabic'] = 0xFEEA;\n t['hehfinalarabic'] = 0xFEEA;\n t['hehhamzaabovefinalarabic'] = 0xFBA5;\n t['hehhamzaaboveisolatedarabic'] = 0xFBA4;\n t['hehinitialaltonearabic'] = 0xFBA8;\n t['hehinitialarabic'] = 0xFEEB;\n t['hehiragana'] = 0x3078;\n t['hehmedialaltonearabic'] = 0xFBA9;\n t['hehmedialarabic'] = 0xFEEC;\n t['heiseierasquare'] = 0x337B;\n t['hekatakana'] = 0x30D8;\n t['hekatakanahalfwidth'] = 0xFF8D;\n t['hekutaarusquare'] = 0x3336;\n t['henghook'] = 0x0267;\n t['herutusquare'] = 0x3339;\n t['het'] = 0x05D7;\n t['hethebrew'] = 0x05D7;\n t['hhook'] = 0x0266;\n t['hhooksuperior'] = 0x02B1;\n t['hieuhacirclekorean'] = 0x327B;\n t['hieuhaparenkorean'] = 0x321B;\n t['hieuhcirclekorean'] = 0x326D;\n t['hieuhkorean'] = 0x314E;\n t['hieuhparenkorean'] = 0x320D;\n t['hihiragana'] = 0x3072;\n t['hikatakana'] = 0x30D2;\n t['hikatakanahalfwidth'] = 0xFF8B;\n t['hiriq'] = 0x05B4;\n t['hiriq14'] = 0x05B4;\n t['hiriq21'] = 0x05B4;\n t['hiriq2d'] = 0x05B4;\n t['hiriqhebrew'] = 0x05B4;\n t['hiriqnarrowhebrew'] = 0x05B4;\n t['hiriqquarterhebrew'] = 0x05B4;\n t['hiriqwidehebrew'] = 0x05B4;\n t['hlinebelow'] = 0x1E96;\n t['hmonospace'] = 0xFF48;\n t['hoarmenian'] = 0x0570;\n t['hohipthai'] = 0x0E2B;\n t['hohiragana'] = 0x307B;\n t['hokatakana'] = 0x30DB;\n t['hokatakanahalfwidth'] = 0xFF8E;\n t['holam'] = 0x05B9;\n t['holam19'] = 0x05B9;\n t['holam26'] = 0x05B9;\n t['holam32'] = 0x05B9;\n t['holamhebrew'] = 0x05B9;\n t['holamnarrowhebrew'] = 0x05B9;\n t['holamquarterhebrew'] = 0x05B9;\n t['holamwidehebrew'] = 0x05B9;\n t['honokhukthai'] = 0x0E2E;\n t['hookabovecomb'] = 0x0309;\n t['hookcmb'] = 0x0309;\n t['hookpalatalizedbelowcmb'] = 0x0321;\n t['hookretroflexbelowcmb'] = 0x0322;\n t['hoonsquare'] = 0x3342;\n t['horicoptic'] = 0x03E9;\n t['horizontalbar'] = 0x2015;\n t['horncmb'] = 0x031B;\n t['hotsprings'] = 0x2668;\n t['house'] = 0x2302;\n t['hparen'] = 0x24A3;\n t['hsuperior'] = 0x02B0;\n t['hturned'] = 0x0265;\n t['huhiragana'] = 0x3075;\n t['huiitosquare'] = 0x3333;\n t['hukatakana'] = 0x30D5;\n t['hukatakanahalfwidth'] = 0xFF8C;\n t['hungarumlaut'] = 0x02DD;\n t['hungarumlautcmb'] = 0x030B;\n t['hv'] = 0x0195;\n t['hyphen'] = 0x002D;\n t['hypheninferior'] = 0xF6E5;\n t['hyphenmonospace'] = 0xFF0D;\n t['hyphensmall'] = 0xFE63;\n t['hyphensuperior'] = 0xF6E6;\n t['hyphentwo'] = 0x2010;\n t['i'] = 0x0069;\n t['iacute'] = 0x00ED;\n t['iacyrillic'] = 0x044F;\n t['ibengali'] = 0x0987;\n t['ibopomofo'] = 0x3127;\n t['ibreve'] = 0x012D;\n t['icaron'] = 0x01D0;\n t['icircle'] = 0x24D8;\n t['icircumflex'] = 0x00EE;\n t['icyrillic'] = 0x0456;\n t['idblgrave'] = 0x0209;\n t['ideographearthcircle'] = 0x328F;\n t['ideographfirecircle'] = 0x328B;\n t['ideographicallianceparen'] = 0x323F;\n t['ideographiccallparen'] = 0x323A;\n t['ideographiccentrecircle'] = 0x32A5;\n t['ideographicclose'] = 0x3006;\n t['ideographiccomma'] = 0x3001;\n t['ideographiccommaleft'] = 0xFF64;\n t['ideographiccongratulationparen'] = 0x3237;\n t['ideographiccorrectcircle'] = 0x32A3;\n t['ideographicearthparen'] = 0x322F;\n t['ideographicenterpriseparen'] = 0x323D;\n t['ideographicexcellentcircle'] = 0x329D;\n t['ideographicfestivalparen'] = 0x3240;\n t['ideographicfinancialcircle'] = 0x3296;\n t['ideographicfinancialparen'] = 0x3236;\n t['ideographicfireparen'] = 0x322B;\n t['ideographichaveparen'] = 0x3232;\n t['ideographichighcircle'] = 0x32A4;\n t['ideographiciterationmark'] = 0x3005;\n t['ideographiclaborcircle'] = 0x3298;\n t['ideographiclaborparen'] = 0x3238;\n t['ideographicleftcircle'] = 0x32A7;\n t['ideographiclowcircle'] = 0x32A6;\n t['ideographicmedicinecircle'] = 0x32A9;\n t['ideographicmetalparen'] = 0x322E;\n t['ideographicmoonparen'] = 0x322A;\n t['ideographicnameparen'] = 0x3234;\n t['ideographicperiod'] = 0x3002;\n t['ideographicprintcircle'] = 0x329E;\n t['ideographicreachparen'] = 0x3243;\n t['ideographicrepresentparen'] = 0x3239;\n t['ideographicresourceparen'] = 0x323E;\n t['ideographicrightcircle'] = 0x32A8;\n t['ideographicsecretcircle'] = 0x3299;\n t['ideographicselfparen'] = 0x3242;\n t['ideographicsocietyparen'] = 0x3233;\n t['ideographicspace'] = 0x3000;\n t['ideographicspecialparen'] = 0x3235;\n t['ideographicstockparen'] = 0x3231;\n t['ideographicstudyparen'] = 0x323B;\n t['ideographicsunparen'] = 0x3230;\n t['ideographicsuperviseparen'] = 0x323C;\n t['ideographicwaterparen'] = 0x322C;\n t['ideographicwoodparen'] = 0x322D;\n t['ideographiczero'] = 0x3007;\n t['ideographmetalcircle'] = 0x328E;\n t['ideographmooncircle'] = 0x328A;\n t['ideographnamecircle'] = 0x3294;\n t['ideographsuncircle'] = 0x3290;\n t['ideographwatercircle'] = 0x328C;\n t['ideographwoodcircle'] = 0x328D;\n t['ideva'] = 0x0907;\n t['idieresis'] = 0x00EF;\n t['idieresisacute'] = 0x1E2F;\n t['idieresiscyrillic'] = 0x04E5;\n t['idotbelow'] = 0x1ECB;\n t['iebrevecyrillic'] = 0x04D7;\n t['iecyrillic'] = 0x0435;\n t['ieungacirclekorean'] = 0x3275;\n t['ieungaparenkorean'] = 0x3215;\n t['ieungcirclekorean'] = 0x3267;\n t['ieungkorean'] = 0x3147;\n t['ieungparenkorean'] = 0x3207;\n t['igrave'] = 0x00EC;\n t['igujarati'] = 0x0A87;\n t['igurmukhi'] = 0x0A07;\n t['ihiragana'] = 0x3044;\n t['ihookabove'] = 0x1EC9;\n t['iibengali'] = 0x0988;\n t['iicyrillic'] = 0x0438;\n t['iideva'] = 0x0908;\n t['iigujarati'] = 0x0A88;\n t['iigurmukhi'] = 0x0A08;\n t['iimatragurmukhi'] = 0x0A40;\n t['iinvertedbreve'] = 0x020B;\n t['iishortcyrillic'] = 0x0439;\n t['iivowelsignbengali'] = 0x09C0;\n t['iivowelsigndeva'] = 0x0940;\n t['iivowelsigngujarati'] = 0x0AC0;\n t['ij'] = 0x0133;\n t['ikatakana'] = 0x30A4;\n t['ikatakanahalfwidth'] = 0xFF72;\n t['ikorean'] = 0x3163;\n t['ilde'] = 0x02DC;\n t['iluyhebrew'] = 0x05AC;\n t['imacron'] = 0x012B;\n t['imacroncyrillic'] = 0x04E3;\n t['imageorapproximatelyequal'] = 0x2253;\n t['imatragurmukhi'] = 0x0A3F;\n t['imonospace'] = 0xFF49;\n t['increment'] = 0x2206;\n t['infinity'] = 0x221E;\n t['iniarmenian'] = 0x056B;\n t['integral'] = 0x222B;\n t['integralbottom'] = 0x2321;\n t['integralbt'] = 0x2321;\n t['integralex'] = 0xF8F5;\n t['integraltop'] = 0x2320;\n t['integraltp'] = 0x2320;\n t['intersection'] = 0x2229;\n t['intisquare'] = 0x3305;\n t['invbullet'] = 0x25D8;\n t['invcircle'] = 0x25D9;\n t['invsmileface'] = 0x263B;\n t['iocyrillic'] = 0x0451;\n t['iogonek'] = 0x012F;\n t['iota'] = 0x03B9;\n t['iotadieresis'] = 0x03CA;\n t['iotadieresistonos'] = 0x0390;\n t['iotalatin'] = 0x0269;\n t['iotatonos'] = 0x03AF;\n t['iparen'] = 0x24A4;\n t['irigurmukhi'] = 0x0A72;\n t['ismallhiragana'] = 0x3043;\n t['ismallkatakana'] = 0x30A3;\n t['ismallkatakanahalfwidth'] = 0xFF68;\n t['issharbengali'] = 0x09FA;\n t['istroke'] = 0x0268;\n t['isuperior'] = 0xF6ED;\n t['iterationhiragana'] = 0x309D;\n t['iterationkatakana'] = 0x30FD;\n t['itilde'] = 0x0129;\n t['itildebelow'] = 0x1E2D;\n t['iubopomofo'] = 0x3129;\n t['iucyrillic'] = 0x044E;\n t['ivowelsignbengali'] = 0x09BF;\n t['ivowelsigndeva'] = 0x093F;\n t['ivowelsigngujarati'] = 0x0ABF;\n t['izhitsacyrillic'] = 0x0475;\n t['izhitsadblgravecyrillic'] = 0x0477;\n t['j'] = 0x006A;\n t['jaarmenian'] = 0x0571;\n t['jabengali'] = 0x099C;\n t['jadeva'] = 0x091C;\n t['jagujarati'] = 0x0A9C;\n t['jagurmukhi'] = 0x0A1C;\n t['jbopomofo'] = 0x3110;\n t['jcaron'] = 0x01F0;\n t['jcircle'] = 0x24D9;\n t['jcircumflex'] = 0x0135;\n t['jcrossedtail'] = 0x029D;\n t['jdotlessstroke'] = 0x025F;\n t['jecyrillic'] = 0x0458;\n t['jeemarabic'] = 0x062C;\n t['jeemfinalarabic'] = 0xFE9E;\n t['jeeminitialarabic'] = 0xFE9F;\n t['jeemmedialarabic'] = 0xFEA0;\n t['jeharabic'] = 0x0698;\n t['jehfinalarabic'] = 0xFB8B;\n t['jhabengali'] = 0x099D;\n t['jhadeva'] = 0x091D;\n t['jhagujarati'] = 0x0A9D;\n t['jhagurmukhi'] = 0x0A1D;\n t['jheharmenian'] = 0x057B;\n t['jis'] = 0x3004;\n t['jmonospace'] = 0xFF4A;\n t['jparen'] = 0x24A5;\n t['jsuperior'] = 0x02B2;\n t['k'] = 0x006B;\n t['kabashkircyrillic'] = 0x04A1;\n t['kabengali'] = 0x0995;\n t['kacute'] = 0x1E31;\n t['kacyrillic'] = 0x043A;\n t['kadescendercyrillic'] = 0x049B;\n t['kadeva'] = 0x0915;\n t['kaf'] = 0x05DB;\n t['kafarabic'] = 0x0643;\n t['kafdagesh'] = 0xFB3B;\n t['kafdageshhebrew'] = 0xFB3B;\n t['kaffinalarabic'] = 0xFEDA;\n t['kafhebrew'] = 0x05DB;\n t['kafinitialarabic'] = 0xFEDB;\n t['kafmedialarabic'] = 0xFEDC;\n t['kafrafehebrew'] = 0xFB4D;\n t['kagujarati'] = 0x0A95;\n t['kagurmukhi'] = 0x0A15;\n t['kahiragana'] = 0x304B;\n t['kahookcyrillic'] = 0x04C4;\n t['kakatakana'] = 0x30AB;\n t['kakatakanahalfwidth'] = 0xFF76;\n t['kappa'] = 0x03BA;\n t['kappasymbolgreek'] = 0x03F0;\n t['kapyeounmieumkorean'] = 0x3171;\n t['kapyeounphieuphkorean'] = 0x3184;\n t['kapyeounpieupkorean'] = 0x3178;\n t['kapyeounssangpieupkorean'] = 0x3179;\n t['karoriisquare'] = 0x330D;\n t['kashidaautoarabic'] = 0x0640;\n t['kashidaautonosidebearingarabic'] = 0x0640;\n t['kasmallkatakana'] = 0x30F5;\n t['kasquare'] = 0x3384;\n t['kasraarabic'] = 0x0650;\n t['kasratanarabic'] = 0x064D;\n t['kastrokecyrillic'] = 0x049F;\n t['katahiraprolongmarkhalfwidth'] = 0xFF70;\n t['kaverticalstrokecyrillic'] = 0x049D;\n t['kbopomofo'] = 0x310E;\n t['kcalsquare'] = 0x3389;\n t['kcaron'] = 0x01E9;\n t['kcedilla'] = 0x0137;\n t['kcircle'] = 0x24DA;\n t['kcommaaccent'] = 0x0137;\n t['kdotbelow'] = 0x1E33;\n t['keharmenian'] = 0x0584;\n t['kehiragana'] = 0x3051;\n t['kekatakana'] = 0x30B1;\n t['kekatakanahalfwidth'] = 0xFF79;\n t['kenarmenian'] = 0x056F;\n t['kesmallkatakana'] = 0x30F6;\n t['kgreenlandic'] = 0x0138;\n t['khabengali'] = 0x0996;\n t['khacyrillic'] = 0x0445;\n t['khadeva'] = 0x0916;\n t['khagujarati'] = 0x0A96;\n t['khagurmukhi'] = 0x0A16;\n t['khaharabic'] = 0x062E;\n t['khahfinalarabic'] = 0xFEA6;\n t['khahinitialarabic'] = 0xFEA7;\n t['khahmedialarabic'] = 0xFEA8;\n t['kheicoptic'] = 0x03E7;\n t['khhadeva'] = 0x0959;\n t['khhagurmukhi'] = 0x0A59;\n t['khieukhacirclekorean'] = 0x3278;\n t['khieukhaparenkorean'] = 0x3218;\n t['khieukhcirclekorean'] = 0x326A;\n t['khieukhkorean'] = 0x314B;\n t['khieukhparenkorean'] = 0x320A;\n t['khokhaithai'] = 0x0E02;\n t['khokhonthai'] = 0x0E05;\n t['khokhuatthai'] = 0x0E03;\n t['khokhwaithai'] = 0x0E04;\n t['khomutthai'] = 0x0E5B;\n t['khook'] = 0x0199;\n t['khorakhangthai'] = 0x0E06;\n t['khzsquare'] = 0x3391;\n t['kihiragana'] = 0x304D;\n t['kikatakana'] = 0x30AD;\n t['kikatakanahalfwidth'] = 0xFF77;\n t['kiroguramusquare'] = 0x3315;\n t['kiromeetorusquare'] = 0x3316;\n t['kirosquare'] = 0x3314;\n t['kiyeokacirclekorean'] = 0x326E;\n t['kiyeokaparenkorean'] = 0x320E;\n t['kiyeokcirclekorean'] = 0x3260;\n t['kiyeokkorean'] = 0x3131;\n t['kiyeokparenkorean'] = 0x3200;\n t['kiyeoksioskorean'] = 0x3133;\n t['kjecyrillic'] = 0x045C;\n t['klinebelow'] = 0x1E35;\n t['klsquare'] = 0x3398;\n t['kmcubedsquare'] = 0x33A6;\n t['kmonospace'] = 0xFF4B;\n t['kmsquaredsquare'] = 0x33A2;\n t['kohiragana'] = 0x3053;\n t['kohmsquare'] = 0x33C0;\n t['kokaithai'] = 0x0E01;\n t['kokatakana'] = 0x30B3;\n t['kokatakanahalfwidth'] = 0xFF7A;\n t['kooposquare'] = 0x331E;\n t['koppacyrillic'] = 0x0481;\n t['koreanstandardsymbol'] = 0x327F;\n t['koroniscmb'] = 0x0343;\n t['kparen'] = 0x24A6;\n t['kpasquare'] = 0x33AA;\n t['ksicyrillic'] = 0x046F;\n t['ktsquare'] = 0x33CF;\n t['kturned'] = 0x029E;\n t['kuhiragana'] = 0x304F;\n t['kukatakana'] = 0x30AF;\n t['kukatakanahalfwidth'] = 0xFF78;\n t['kvsquare'] = 0x33B8;\n t['kwsquare'] = 0x33BE;\n t['l'] = 0x006C;\n t['labengali'] = 0x09B2;\n t['lacute'] = 0x013A;\n t['ladeva'] = 0x0932;\n t['lagujarati'] = 0x0AB2;\n t['lagurmukhi'] = 0x0A32;\n t['lakkhangyaothai'] = 0x0E45;\n t['lamaleffinalarabic'] = 0xFEFC;\n t['lamalefhamzaabovefinalarabic'] = 0xFEF8;\n t['lamalefhamzaaboveisolatedarabic'] = 0xFEF7;\n t['lamalefhamzabelowfinalarabic'] = 0xFEFA;\n t['lamalefhamzabelowisolatedarabic'] = 0xFEF9;\n t['lamalefisolatedarabic'] = 0xFEFB;\n t['lamalefmaddaabovefinalarabic'] = 0xFEF6;\n t['lamalefmaddaaboveisolatedarabic'] = 0xFEF5;\n t['lamarabic'] = 0x0644;\n t['lambda'] = 0x03BB;\n t['lambdastroke'] = 0x019B;\n t['lamed'] = 0x05DC;\n t['lameddagesh'] = 0xFB3C;\n t['lameddageshhebrew'] = 0xFB3C;\n t['lamedhebrew'] = 0x05DC;\n t['lamfinalarabic'] = 0xFEDE;\n t['lamhahinitialarabic'] = 0xFCCA;\n t['laminitialarabic'] = 0xFEDF;\n t['lamjeeminitialarabic'] = 0xFCC9;\n t['lamkhahinitialarabic'] = 0xFCCB;\n t['lamlamhehisolatedarabic'] = 0xFDF2;\n t['lammedialarabic'] = 0xFEE0;\n t['lammeemhahinitialarabic'] = 0xFD88;\n t['lammeeminitialarabic'] = 0xFCCC;\n t['largecircle'] = 0x25EF;\n t['lbar'] = 0x019A;\n t['lbelt'] = 0x026C;\n t['lbopomofo'] = 0x310C;\n t['lcaron'] = 0x013E;\n t['lcedilla'] = 0x013C;\n t['lcircle'] = 0x24DB;\n t['lcircumflexbelow'] = 0x1E3D;\n t['lcommaaccent'] = 0x013C;\n t['ldot'] = 0x0140;\n t['ldotaccent'] = 0x0140;\n t['ldotbelow'] = 0x1E37;\n t['ldotbelowmacron'] = 0x1E39;\n t['leftangleabovecmb'] = 0x031A;\n t['lefttackbelowcmb'] = 0x0318;\n t['less'] = 0x003C;\n t['lessequal'] = 0x2264;\n t['lessequalorgreater'] = 0x22DA;\n t['lessmonospace'] = 0xFF1C;\n t['lessorequivalent'] = 0x2272;\n t['lessorgreater'] = 0x2276;\n t['lessoverequal'] = 0x2266;\n t['lesssmall'] = 0xFE64;\n t['lezh'] = 0x026E;\n t['lfblock'] = 0x258C;\n t['lhookretroflex'] = 0x026D;\n t['lira'] = 0x20A4;\n t['liwnarmenian'] = 0x056C;\n t['lj'] = 0x01C9;\n t['ljecyrillic'] = 0x0459;\n t['ll'] = 0xF6C0;\n t['lladeva'] = 0x0933;\n t['llagujarati'] = 0x0AB3;\n t['llinebelow'] = 0x1E3B;\n t['llladeva'] = 0x0934;\n t['llvocalicbengali'] = 0x09E1;\n t['llvocalicdeva'] = 0x0961;\n t['llvocalicvowelsignbengali'] = 0x09E3;\n t['llvocalicvowelsigndeva'] = 0x0963;\n t['lmiddletilde'] = 0x026B;\n t['lmonospace'] = 0xFF4C;\n t['lmsquare'] = 0x33D0;\n t['lochulathai'] = 0x0E2C;\n t['logicaland'] = 0x2227;\n t['logicalnot'] = 0x00AC;\n t['logicalnotreversed'] = 0x2310;\n t['logicalor'] = 0x2228;\n t['lolingthai'] = 0x0E25;\n t['longs'] = 0x017F;\n t['lowlinecenterline'] = 0xFE4E;\n t['lowlinecmb'] = 0x0332;\n t['lowlinedashed'] = 0xFE4D;\n t['lozenge'] = 0x25CA;\n t['lparen'] = 0x24A7;\n t['lslash'] = 0x0142;\n t['lsquare'] = 0x2113;\n t['lsuperior'] = 0xF6EE;\n t['ltshade'] = 0x2591;\n t['luthai'] = 0x0E26;\n t['lvocalicbengali'] = 0x098C;\n t['lvocalicdeva'] = 0x090C;\n t['lvocalicvowelsignbengali'] = 0x09E2;\n t['lvocalicvowelsigndeva'] = 0x0962;\n t['lxsquare'] = 0x33D3;\n t['m'] = 0x006D;\n t['mabengali'] = 0x09AE;\n t['macron'] = 0x00AF;\n t['macronbelowcmb'] = 0x0331;\n t['macroncmb'] = 0x0304;\n t['macronlowmod'] = 0x02CD;\n t['macronmonospace'] = 0xFFE3;\n t['macute'] = 0x1E3F;\n t['madeva'] = 0x092E;\n t['magujarati'] = 0x0AAE;\n t['magurmukhi'] = 0x0A2E;\n t['mahapakhhebrew'] = 0x05A4;\n t['mahapakhlefthebrew'] = 0x05A4;\n t['mahiragana'] = 0x307E;\n t['maichattawalowleftthai'] = 0xF895;\n t['maichattawalowrightthai'] = 0xF894;\n t['maichattawathai'] = 0x0E4B;\n t['maichattawaupperleftthai'] = 0xF893;\n t['maieklowleftthai'] = 0xF88C;\n t['maieklowrightthai'] = 0xF88B;\n t['maiekthai'] = 0x0E48;\n t['maiekupperleftthai'] = 0xF88A;\n t['maihanakatleftthai'] = 0xF884;\n t['maihanakatthai'] = 0x0E31;\n t['maitaikhuleftthai'] = 0xF889;\n t['maitaikhuthai'] = 0x0E47;\n t['maitholowleftthai'] = 0xF88F;\n t['maitholowrightthai'] = 0xF88E;\n t['maithothai'] = 0x0E49;\n t['maithoupperleftthai'] = 0xF88D;\n t['maitrilowleftthai'] = 0xF892;\n t['maitrilowrightthai'] = 0xF891;\n t['maitrithai'] = 0x0E4A;\n t['maitriupperleftthai'] = 0xF890;\n t['maiyamokthai'] = 0x0E46;\n t['makatakana'] = 0x30DE;\n t['makatakanahalfwidth'] = 0xFF8F;\n t['male'] = 0x2642;\n t['mansyonsquare'] = 0x3347;\n t['maqafhebrew'] = 0x05BE;\n t['mars'] = 0x2642;\n t['masoracirclehebrew'] = 0x05AF;\n t['masquare'] = 0x3383;\n t['mbopomofo'] = 0x3107;\n t['mbsquare'] = 0x33D4;\n t['mcircle'] = 0x24DC;\n t['mcubedsquare'] = 0x33A5;\n t['mdotaccent'] = 0x1E41;\n t['mdotbelow'] = 0x1E43;\n t['meemarabic'] = 0x0645;\n t['meemfinalarabic'] = 0xFEE2;\n t['meeminitialarabic'] = 0xFEE3;\n t['meemmedialarabic'] = 0xFEE4;\n t['meemmeeminitialarabic'] = 0xFCD1;\n t['meemmeemisolatedarabic'] = 0xFC48;\n t['meetorusquare'] = 0x334D;\n t['mehiragana'] = 0x3081;\n t['meizierasquare'] = 0x337E;\n t['mekatakana'] = 0x30E1;\n t['mekatakanahalfwidth'] = 0xFF92;\n t['mem'] = 0x05DE;\n t['memdagesh'] = 0xFB3E;\n t['memdageshhebrew'] = 0xFB3E;\n t['memhebrew'] = 0x05DE;\n t['menarmenian'] = 0x0574;\n t['merkhahebrew'] = 0x05A5;\n t['merkhakefulahebrew'] = 0x05A6;\n t['merkhakefulalefthebrew'] = 0x05A6;\n t['merkhalefthebrew'] = 0x05A5;\n t['mhook'] = 0x0271;\n t['mhzsquare'] = 0x3392;\n t['middledotkatakanahalfwidth'] = 0xFF65;\n t['middot'] = 0x00B7;\n t['mieumacirclekorean'] = 0x3272;\n t['mieumaparenkorean'] = 0x3212;\n t['mieumcirclekorean'] = 0x3264;\n t['mieumkorean'] = 0x3141;\n t['mieumpansioskorean'] = 0x3170;\n t['mieumparenkorean'] = 0x3204;\n t['mieumpieupkorean'] = 0x316E;\n t['mieumsioskorean'] = 0x316F;\n t['mihiragana'] = 0x307F;\n t['mikatakana'] = 0x30DF;\n t['mikatakanahalfwidth'] = 0xFF90;\n t['minus'] = 0x2212;\n t['minusbelowcmb'] = 0x0320;\n t['minuscircle'] = 0x2296;\n t['minusmod'] = 0x02D7;\n t['minusplus'] = 0x2213;\n t['minute'] = 0x2032;\n t['miribaarusquare'] = 0x334A;\n t['mirisquare'] = 0x3349;\n t['mlonglegturned'] = 0x0270;\n t['mlsquare'] = 0x3396;\n t['mmcubedsquare'] = 0x33A3;\n t['mmonospace'] = 0xFF4D;\n t['mmsquaredsquare'] = 0x339F;\n t['mohiragana'] = 0x3082;\n t['mohmsquare'] = 0x33C1;\n t['mokatakana'] = 0x30E2;\n t['mokatakanahalfwidth'] = 0xFF93;\n t['molsquare'] = 0x33D6;\n t['momathai'] = 0x0E21;\n t['moverssquare'] = 0x33A7;\n t['moverssquaredsquare'] = 0x33A8;\n t['mparen'] = 0x24A8;\n t['mpasquare'] = 0x33AB;\n t['mssquare'] = 0x33B3;\n t['msuperior'] = 0xF6EF;\n t['mturned'] = 0x026F;\n t['mu'] = 0x00B5;\n t['mu1'] = 0x00B5;\n t['muasquare'] = 0x3382;\n t['muchgreater'] = 0x226B;\n t['muchless'] = 0x226A;\n t['mufsquare'] = 0x338C;\n t['mugreek'] = 0x03BC;\n t['mugsquare'] = 0x338D;\n t['muhiragana'] = 0x3080;\n t['mukatakana'] = 0x30E0;\n t['mukatakanahalfwidth'] = 0xFF91;\n t['mulsquare'] = 0x3395;\n t['multiply'] = 0x00D7;\n t['mumsquare'] = 0x339B;\n t['munahhebrew'] = 0x05A3;\n t['munahlefthebrew'] = 0x05A3;\n t['musicalnote'] = 0x266A;\n t['musicalnotedbl'] = 0x266B;\n t['musicflatsign'] = 0x266D;\n t['musicsharpsign'] = 0x266F;\n t['mussquare'] = 0x33B2;\n t['muvsquare'] = 0x33B6;\n t['muwsquare'] = 0x33BC;\n t['mvmegasquare'] = 0x33B9;\n t['mvsquare'] = 0x33B7;\n t['mwmegasquare'] = 0x33BF;\n t['mwsquare'] = 0x33BD;\n t['n'] = 0x006E;\n t['nabengali'] = 0x09A8;\n t['nabla'] = 0x2207;\n t['nacute'] = 0x0144;\n t['nadeva'] = 0x0928;\n t['nagujarati'] = 0x0AA8;\n t['nagurmukhi'] = 0x0A28;\n t['nahiragana'] = 0x306A;\n t['nakatakana'] = 0x30CA;\n t['nakatakanahalfwidth'] = 0xFF85;\n t['napostrophe'] = 0x0149;\n t['nasquare'] = 0x3381;\n t['nbopomofo'] = 0x310B;\n t['nbspace'] = 0x00A0;\n t['ncaron'] = 0x0148;\n t['ncedilla'] = 0x0146;\n t['ncircle'] = 0x24DD;\n t['ncircumflexbelow'] = 0x1E4B;\n t['ncommaaccent'] = 0x0146;\n t['ndotaccent'] = 0x1E45;\n t['ndotbelow'] = 0x1E47;\n t['nehiragana'] = 0x306D;\n t['nekatakana'] = 0x30CD;\n t['nekatakanahalfwidth'] = 0xFF88;\n t['newsheqelsign'] = 0x20AA;\n t['nfsquare'] = 0x338B;\n t['ngabengali'] = 0x0999;\n t['ngadeva'] = 0x0919;\n t['ngagujarati'] = 0x0A99;\n t['ngagurmukhi'] = 0x0A19;\n t['ngonguthai'] = 0x0E07;\n t['nhiragana'] = 0x3093;\n t['nhookleft'] = 0x0272;\n t['nhookretroflex'] = 0x0273;\n t['nieunacirclekorean'] = 0x326F;\n t['nieunaparenkorean'] = 0x320F;\n t['nieuncieuckorean'] = 0x3135;\n t['nieuncirclekorean'] = 0x3261;\n t['nieunhieuhkorean'] = 0x3136;\n t['nieunkorean'] = 0x3134;\n t['nieunpansioskorean'] = 0x3168;\n t['nieunparenkorean'] = 0x3201;\n t['nieunsioskorean'] = 0x3167;\n t['nieuntikeutkorean'] = 0x3166;\n t['nihiragana'] = 0x306B;\n t['nikatakana'] = 0x30CB;\n t['nikatakanahalfwidth'] = 0xFF86;\n t['nikhahitleftthai'] = 0xF899;\n t['nikhahitthai'] = 0x0E4D;\n t['nine'] = 0x0039;\n t['ninearabic'] = 0x0669;\n t['ninebengali'] = 0x09EF;\n t['ninecircle'] = 0x2468;\n t['ninecircleinversesansserif'] = 0x2792;\n t['ninedeva'] = 0x096F;\n t['ninegujarati'] = 0x0AEF;\n t['ninegurmukhi'] = 0x0A6F;\n t['ninehackarabic'] = 0x0669;\n t['ninehangzhou'] = 0x3029;\n t['nineideographicparen'] = 0x3228;\n t['nineinferior'] = 0x2089;\n t['ninemonospace'] = 0xFF19;\n t['nineoldstyle'] = 0xF739;\n t['nineparen'] = 0x247C;\n t['nineperiod'] = 0x2490;\n t['ninepersian'] = 0x06F9;\n t['nineroman'] = 0x2178;\n t['ninesuperior'] = 0x2079;\n t['nineteencircle'] = 0x2472;\n t['nineteenparen'] = 0x2486;\n t['nineteenperiod'] = 0x249A;\n t['ninethai'] = 0x0E59;\n t['nj'] = 0x01CC;\n t['njecyrillic'] = 0x045A;\n t['nkatakana'] = 0x30F3;\n t['nkatakanahalfwidth'] = 0xFF9D;\n t['nlegrightlong'] = 0x019E;\n t['nlinebelow'] = 0x1E49;\n t['nmonospace'] = 0xFF4E;\n t['nmsquare'] = 0x339A;\n t['nnabengali'] = 0x09A3;\n t['nnadeva'] = 0x0923;\n t['nnagujarati'] = 0x0AA3;\n t['nnagurmukhi'] = 0x0A23;\n t['nnnadeva'] = 0x0929;\n t['nohiragana'] = 0x306E;\n t['nokatakana'] = 0x30CE;\n t['nokatakanahalfwidth'] = 0xFF89;\n t['nonbreakingspace'] = 0x00A0;\n t['nonenthai'] = 0x0E13;\n t['nonuthai'] = 0x0E19;\n t['noonarabic'] = 0x0646;\n t['noonfinalarabic'] = 0xFEE6;\n t['noonghunnaarabic'] = 0x06BA;\n t['noonghunnafinalarabic'] = 0xFB9F;\n t['nooninitialarabic'] = 0xFEE7;\n t['noonjeeminitialarabic'] = 0xFCD2;\n t['noonjeemisolatedarabic'] = 0xFC4B;\n t['noonmedialarabic'] = 0xFEE8;\n t['noonmeeminitialarabic'] = 0xFCD5;\n t['noonmeemisolatedarabic'] = 0xFC4E;\n t['noonnoonfinalarabic'] = 0xFC8D;\n t['notcontains'] = 0x220C;\n t['notelement'] = 0x2209;\n t['notelementof'] = 0x2209;\n t['notequal'] = 0x2260;\n t['notgreater'] = 0x226F;\n t['notgreaternorequal'] = 0x2271;\n t['notgreaternorless'] = 0x2279;\n t['notidentical'] = 0x2262;\n t['notless'] = 0x226E;\n t['notlessnorequal'] = 0x2270;\n t['notparallel'] = 0x2226;\n t['notprecedes'] = 0x2280;\n t['notsubset'] = 0x2284;\n t['notsucceeds'] = 0x2281;\n t['notsuperset'] = 0x2285;\n t['nowarmenian'] = 0x0576;\n t['nparen'] = 0x24A9;\n t['nssquare'] = 0x33B1;\n t['nsuperior'] = 0x207F;\n t['ntilde'] = 0x00F1;\n t['nu'] = 0x03BD;\n t['nuhiragana'] = 0x306C;\n t['nukatakana'] = 0x30CC;\n t['nukatakanahalfwidth'] = 0xFF87;\n t['nuktabengali'] = 0x09BC;\n t['nuktadeva'] = 0x093C;\n t['nuktagujarati'] = 0x0ABC;\n t['nuktagurmukhi'] = 0x0A3C;\n t['numbersign'] = 0x0023;\n t['numbersignmonospace'] = 0xFF03;\n t['numbersignsmall'] = 0xFE5F;\n t['numeralsigngreek'] = 0x0374;\n t['numeralsignlowergreek'] = 0x0375;\n t['numero'] = 0x2116;\n t['nun'] = 0x05E0;\n t['nundagesh'] = 0xFB40;\n t['nundageshhebrew'] = 0xFB40;\n t['nunhebrew'] = 0x05E0;\n t['nvsquare'] = 0x33B5;\n t['nwsquare'] = 0x33BB;\n t['nyabengali'] = 0x099E;\n t['nyadeva'] = 0x091E;\n t['nyagujarati'] = 0x0A9E;\n t['nyagurmukhi'] = 0x0A1E;\n t['o'] = 0x006F;\n t['oacute'] = 0x00F3;\n t['oangthai'] = 0x0E2D;\n t['obarred'] = 0x0275;\n t['obarredcyrillic'] = 0x04E9;\n t['obarreddieresiscyrillic'] = 0x04EB;\n t['obengali'] = 0x0993;\n t['obopomofo'] = 0x311B;\n t['obreve'] = 0x014F;\n t['ocandradeva'] = 0x0911;\n t['ocandragujarati'] = 0x0A91;\n t['ocandravowelsigndeva'] = 0x0949;\n t['ocandravowelsigngujarati'] = 0x0AC9;\n t['ocaron'] = 0x01D2;\n t['ocircle'] = 0x24DE;\n t['ocircumflex'] = 0x00F4;\n t['ocircumflexacute'] = 0x1ED1;\n t['ocircumflexdotbelow'] = 0x1ED9;\n t['ocircumflexgrave'] = 0x1ED3;\n t['ocircumflexhookabove'] = 0x1ED5;\n t['ocircumflextilde'] = 0x1ED7;\n t['ocyrillic'] = 0x043E;\n t['odblacute'] = 0x0151;\n t['odblgrave'] = 0x020D;\n t['odeva'] = 0x0913;\n t['odieresis'] = 0x00F6;\n t['odieresiscyrillic'] = 0x04E7;\n t['odotbelow'] = 0x1ECD;\n t['oe'] = 0x0153;\n t['oekorean'] = 0x315A;\n t['ogonek'] = 0x02DB;\n t['ogonekcmb'] = 0x0328;\n t['ograve'] = 0x00F2;\n t['ogujarati'] = 0x0A93;\n t['oharmenian'] = 0x0585;\n t['ohiragana'] = 0x304A;\n t['ohookabove'] = 0x1ECF;\n t['ohorn'] = 0x01A1;\n t['ohornacute'] = 0x1EDB;\n t['ohorndotbelow'] = 0x1EE3;\n t['ohorngrave'] = 0x1EDD;\n t['ohornhookabove'] = 0x1EDF;\n t['ohorntilde'] = 0x1EE1;\n t['ohungarumlaut'] = 0x0151;\n t['oi'] = 0x01A3;\n t['oinvertedbreve'] = 0x020F;\n t['okatakana'] = 0x30AA;\n t['okatakanahalfwidth'] = 0xFF75;\n t['okorean'] = 0x3157;\n t['olehebrew'] = 0x05AB;\n t['omacron'] = 0x014D;\n t['omacronacute'] = 0x1E53;\n t['omacrongrave'] = 0x1E51;\n t['omdeva'] = 0x0950;\n t['omega'] = 0x03C9;\n t['omega1'] = 0x03D6;\n t['omegacyrillic'] = 0x0461;\n t['omegalatinclosed'] = 0x0277;\n t['omegaroundcyrillic'] = 0x047B;\n t['omegatitlocyrillic'] = 0x047D;\n t['omegatonos'] = 0x03CE;\n t['omgujarati'] = 0x0AD0;\n t['omicron'] = 0x03BF;\n t['omicrontonos'] = 0x03CC;\n t['omonospace'] = 0xFF4F;\n t['one'] = 0x0031;\n t['onearabic'] = 0x0661;\n t['onebengali'] = 0x09E7;\n t['onecircle'] = 0x2460;\n t['onecircleinversesansserif'] = 0x278A;\n t['onedeva'] = 0x0967;\n t['onedotenleader'] = 0x2024;\n t['oneeighth'] = 0x215B;\n t['onefitted'] = 0xF6DC;\n t['onegujarati'] = 0x0AE7;\n t['onegurmukhi'] = 0x0A67;\n t['onehackarabic'] = 0x0661;\n t['onehalf'] = 0x00BD;\n t['onehangzhou'] = 0x3021;\n t['oneideographicparen'] = 0x3220;\n t['oneinferior'] = 0x2081;\n t['onemonospace'] = 0xFF11;\n t['onenumeratorbengali'] = 0x09F4;\n t['oneoldstyle'] = 0xF731;\n t['oneparen'] = 0x2474;\n t['oneperiod'] = 0x2488;\n t['onepersian'] = 0x06F1;\n t['onequarter'] = 0x00BC;\n t['oneroman'] = 0x2170;\n t['onesuperior'] = 0x00B9;\n t['onethai'] = 0x0E51;\n t['onethird'] = 0x2153;\n t['oogonek'] = 0x01EB;\n t['oogonekmacron'] = 0x01ED;\n t['oogurmukhi'] = 0x0A13;\n t['oomatragurmukhi'] = 0x0A4B;\n t['oopen'] = 0x0254;\n t['oparen'] = 0x24AA;\n t['openbullet'] = 0x25E6;\n t['option'] = 0x2325;\n t['ordfeminine'] = 0x00AA;\n t['ordmasculine'] = 0x00BA;\n t['orthogonal'] = 0x221F;\n t['oshortdeva'] = 0x0912;\n t['oshortvowelsigndeva'] = 0x094A;\n t['oslash'] = 0x00F8;\n t['oslashacute'] = 0x01FF;\n t['osmallhiragana'] = 0x3049;\n t['osmallkatakana'] = 0x30A9;\n t['osmallkatakanahalfwidth'] = 0xFF6B;\n t['ostrokeacute'] = 0x01FF;\n t['osuperior'] = 0xF6F0;\n t['otcyrillic'] = 0x047F;\n t['otilde'] = 0x00F5;\n t['otildeacute'] = 0x1E4D;\n t['otildedieresis'] = 0x1E4F;\n t['oubopomofo'] = 0x3121;\n t['overline'] = 0x203E;\n t['overlinecenterline'] = 0xFE4A;\n t['overlinecmb'] = 0x0305;\n t['overlinedashed'] = 0xFE49;\n t['overlinedblwavy'] = 0xFE4C;\n t['overlinewavy'] = 0xFE4B;\n t['overscore'] = 0x00AF;\n t['ovowelsignbengali'] = 0x09CB;\n t['ovowelsigndeva'] = 0x094B;\n t['ovowelsigngujarati'] = 0x0ACB;\n t['p'] = 0x0070;\n t['paampssquare'] = 0x3380;\n t['paasentosquare'] = 0x332B;\n t['pabengali'] = 0x09AA;\n t['pacute'] = 0x1E55;\n t['padeva'] = 0x092A;\n t['pagedown'] = 0x21DF;\n t['pageup'] = 0x21DE;\n t['pagujarati'] = 0x0AAA;\n t['pagurmukhi'] = 0x0A2A;\n t['pahiragana'] = 0x3071;\n t['paiyannoithai'] = 0x0E2F;\n t['pakatakana'] = 0x30D1;\n t['palatalizationcyrilliccmb'] = 0x0484;\n t['palochkacyrillic'] = 0x04C0;\n t['pansioskorean'] = 0x317F;\n t['paragraph'] = 0x00B6;\n t['parallel'] = 0x2225;\n t['parenleft'] = 0x0028;\n t['parenleftaltonearabic'] = 0xFD3E;\n t['parenleftbt'] = 0xF8ED;\n t['parenleftex'] = 0xF8EC;\n t['parenleftinferior'] = 0x208D;\n t['parenleftmonospace'] = 0xFF08;\n t['parenleftsmall'] = 0xFE59;\n t['parenleftsuperior'] = 0x207D;\n t['parenlefttp'] = 0xF8EB;\n t['parenleftvertical'] = 0xFE35;\n t['parenright'] = 0x0029;\n t['parenrightaltonearabic'] = 0xFD3F;\n t['parenrightbt'] = 0xF8F8;\n t['parenrightex'] = 0xF8F7;\n t['parenrightinferior'] = 0x208E;\n t['parenrightmonospace'] = 0xFF09;\n t['parenrightsmall'] = 0xFE5A;\n t['parenrightsuperior'] = 0x207E;\n t['parenrighttp'] = 0xF8F6;\n t['parenrightvertical'] = 0xFE36;\n t['partialdiff'] = 0x2202;\n t['paseqhebrew'] = 0x05C0;\n t['pashtahebrew'] = 0x0599;\n t['pasquare'] = 0x33A9;\n t['patah'] = 0x05B7;\n t['patah11'] = 0x05B7;\n t['patah1d'] = 0x05B7;\n t['patah2a'] = 0x05B7;\n t['patahhebrew'] = 0x05B7;\n t['patahnarrowhebrew'] = 0x05B7;\n t['patahquarterhebrew'] = 0x05B7;\n t['patahwidehebrew'] = 0x05B7;\n t['pazerhebrew'] = 0x05A1;\n t['pbopomofo'] = 0x3106;\n t['pcircle'] = 0x24DF;\n t['pdotaccent'] = 0x1E57;\n t['pe'] = 0x05E4;\n t['pecyrillic'] = 0x043F;\n t['pedagesh'] = 0xFB44;\n t['pedageshhebrew'] = 0xFB44;\n t['peezisquare'] = 0x333B;\n t['pefinaldageshhebrew'] = 0xFB43;\n t['peharabic'] = 0x067E;\n t['peharmenian'] = 0x057A;\n t['pehebrew'] = 0x05E4;\n t['pehfinalarabic'] = 0xFB57;\n t['pehinitialarabic'] = 0xFB58;\n t['pehiragana'] = 0x307A;\n t['pehmedialarabic'] = 0xFB59;\n t['pekatakana'] = 0x30DA;\n t['pemiddlehookcyrillic'] = 0x04A7;\n t['perafehebrew'] = 0xFB4E;\n t['percent'] = 0x0025;\n t['percentarabic'] = 0x066A;\n t['percentmonospace'] = 0xFF05;\n t['percentsmall'] = 0xFE6A;\n t['period'] = 0x002E;\n t['periodarmenian'] = 0x0589;\n t['periodcentered'] = 0x00B7;\n t['periodhalfwidth'] = 0xFF61;\n t['periodinferior'] = 0xF6E7;\n t['periodmonospace'] = 0xFF0E;\n t['periodsmall'] = 0xFE52;\n t['periodsuperior'] = 0xF6E8;\n t['perispomenigreekcmb'] = 0x0342;\n t['perpendicular'] = 0x22A5;\n t['perthousand'] = 0x2030;\n t['peseta'] = 0x20A7;\n t['pfsquare'] = 0x338A;\n t['phabengali'] = 0x09AB;\n t['phadeva'] = 0x092B;\n t['phagujarati'] = 0x0AAB;\n t['phagurmukhi'] = 0x0A2B;\n t['phi'] = 0x03C6;\n t['phi1'] = 0x03D5;\n t['phieuphacirclekorean'] = 0x327A;\n t['phieuphaparenkorean'] = 0x321A;\n t['phieuphcirclekorean'] = 0x326C;\n t['phieuphkorean'] = 0x314D;\n t['phieuphparenkorean'] = 0x320C;\n t['philatin'] = 0x0278;\n t['phinthuthai'] = 0x0E3A;\n t['phisymbolgreek'] = 0x03D5;\n t['phook'] = 0x01A5;\n t['phophanthai'] = 0x0E1E;\n t['phophungthai'] = 0x0E1C;\n t['phosamphaothai'] = 0x0E20;\n t['pi'] = 0x03C0;\n t['pieupacirclekorean'] = 0x3273;\n t['pieupaparenkorean'] = 0x3213;\n t['pieupcieuckorean'] = 0x3176;\n t['pieupcirclekorean'] = 0x3265;\n t['pieupkiyeokkorean'] = 0x3172;\n t['pieupkorean'] = 0x3142;\n t['pieupparenkorean'] = 0x3205;\n t['pieupsioskiyeokkorean'] = 0x3174;\n t['pieupsioskorean'] = 0x3144;\n t['pieupsiostikeutkorean'] = 0x3175;\n t['pieupthieuthkorean'] = 0x3177;\n t['pieuptikeutkorean'] = 0x3173;\n t['pihiragana'] = 0x3074;\n t['pikatakana'] = 0x30D4;\n t['pisymbolgreek'] = 0x03D6;\n t['piwrarmenian'] = 0x0583;\n t['plus'] = 0x002B;\n t['plusbelowcmb'] = 0x031F;\n t['pluscircle'] = 0x2295;\n t['plusminus'] = 0x00B1;\n t['plusmod'] = 0x02D6;\n t['plusmonospace'] = 0xFF0B;\n t['plussmall'] = 0xFE62;\n t['plussuperior'] = 0x207A;\n t['pmonospace'] = 0xFF50;\n t['pmsquare'] = 0x33D8;\n t['pohiragana'] = 0x307D;\n t['pointingindexdownwhite'] = 0x261F;\n t['pointingindexleftwhite'] = 0x261C;\n t['pointingindexrightwhite'] = 0x261E;\n t['pointingindexupwhite'] = 0x261D;\n t['pokatakana'] = 0x30DD;\n t['poplathai'] = 0x0E1B;\n t['postalmark'] = 0x3012;\n t['postalmarkface'] = 0x3020;\n t['pparen'] = 0x24AB;\n t['precedes'] = 0x227A;\n t['prescription'] = 0x211E;\n t['primemod'] = 0x02B9;\n t['primereversed'] = 0x2035;\n t['product'] = 0x220F;\n t['projective'] = 0x2305;\n t['prolongedkana'] = 0x30FC;\n t['propellor'] = 0x2318;\n t['propersubset'] = 0x2282;\n t['propersuperset'] = 0x2283;\n t['proportion'] = 0x2237;\n t['proportional'] = 0x221D;\n t['psi'] = 0x03C8;\n t['psicyrillic'] = 0x0471;\n t['psilipneumatacyrilliccmb'] = 0x0486;\n t['pssquare'] = 0x33B0;\n t['puhiragana'] = 0x3077;\n t['pukatakana'] = 0x30D7;\n t['pvsquare'] = 0x33B4;\n t['pwsquare'] = 0x33BA;\n t['q'] = 0x0071;\n t['qadeva'] = 0x0958;\n t['qadmahebrew'] = 0x05A8;\n t['qafarabic'] = 0x0642;\n t['qaffinalarabic'] = 0xFED6;\n t['qafinitialarabic'] = 0xFED7;\n t['qafmedialarabic'] = 0xFED8;\n t['qamats'] = 0x05B8;\n t['qamats10'] = 0x05B8;\n t['qamats1a'] = 0x05B8;\n t['qamats1c'] = 0x05B8;\n t['qamats27'] = 0x05B8;\n t['qamats29'] = 0x05B8;\n t['qamats33'] = 0x05B8;\n t['qamatsde'] = 0x05B8;\n t['qamatshebrew'] = 0x05B8;\n t['qamatsnarrowhebrew'] = 0x05B8;\n t['qamatsqatanhebrew'] = 0x05B8;\n t['qamatsqatannarrowhebrew'] = 0x05B8;\n t['qamatsqatanquarterhebrew'] = 0x05B8;\n t['qamatsqatanwidehebrew'] = 0x05B8;\n t['qamatsquarterhebrew'] = 0x05B8;\n t['qamatswidehebrew'] = 0x05B8;\n t['qarneyparahebrew'] = 0x059F;\n t['qbopomofo'] = 0x3111;\n t['qcircle'] = 0x24E0;\n t['qhook'] = 0x02A0;\n t['qmonospace'] = 0xFF51;\n t['qof'] = 0x05E7;\n t['qofdagesh'] = 0xFB47;\n t['qofdageshhebrew'] = 0xFB47;\n t['qofhebrew'] = 0x05E7;\n t['qparen'] = 0x24AC;\n t['quarternote'] = 0x2669;\n t['qubuts'] = 0x05BB;\n t['qubuts18'] = 0x05BB;\n t['qubuts25'] = 0x05BB;\n t['qubuts31'] = 0x05BB;\n t['qubutshebrew'] = 0x05BB;\n t['qubutsnarrowhebrew'] = 0x05BB;\n t['qubutsquarterhebrew'] = 0x05BB;\n t['qubutswidehebrew'] = 0x05BB;\n t['question'] = 0x003F;\n t['questionarabic'] = 0x061F;\n t['questionarmenian'] = 0x055E;\n t['questiondown'] = 0x00BF;\n t['questiondownsmall'] = 0xF7BF;\n t['questiongreek'] = 0x037E;\n t['questionmonospace'] = 0xFF1F;\n t['questionsmall'] = 0xF73F;\n t['quotedbl'] = 0x0022;\n t['quotedblbase'] = 0x201E;\n t['quotedblleft'] = 0x201C;\n t['quotedblmonospace'] = 0xFF02;\n t['quotedblprime'] = 0x301E;\n t['quotedblprimereversed'] = 0x301D;\n t['quotedblright'] = 0x201D;\n t['quoteleft'] = 0x2018;\n t['quoteleftreversed'] = 0x201B;\n t['quotereversed'] = 0x201B;\n t['quoteright'] = 0x2019;\n t['quoterightn'] = 0x0149;\n t['quotesinglbase'] = 0x201A;\n t['quotesingle'] = 0x0027;\n t['quotesinglemonospace'] = 0xFF07;\n t['r'] = 0x0072;\n t['raarmenian'] = 0x057C;\n t['rabengali'] = 0x09B0;\n t['racute'] = 0x0155;\n t['radeva'] = 0x0930;\n t['radical'] = 0x221A;\n t['radicalex'] = 0xF8E5;\n t['radoverssquare'] = 0x33AE;\n t['radoverssquaredsquare'] = 0x33AF;\n t['radsquare'] = 0x33AD;\n t['rafe'] = 0x05BF;\n t['rafehebrew'] = 0x05BF;\n t['ragujarati'] = 0x0AB0;\n t['ragurmukhi'] = 0x0A30;\n t['rahiragana'] = 0x3089;\n t['rakatakana'] = 0x30E9;\n t['rakatakanahalfwidth'] = 0xFF97;\n t['ralowerdiagonalbengali'] = 0x09F1;\n t['ramiddlediagonalbengali'] = 0x09F0;\n t['ramshorn'] = 0x0264;\n t['ratio'] = 0x2236;\n t['rbopomofo'] = 0x3116;\n t['rcaron'] = 0x0159;\n t['rcedilla'] = 0x0157;\n t['rcircle'] = 0x24E1;\n t['rcommaaccent'] = 0x0157;\n t['rdblgrave'] = 0x0211;\n t['rdotaccent'] = 0x1E59;\n t['rdotbelow'] = 0x1E5B;\n t['rdotbelowmacron'] = 0x1E5D;\n t['referencemark'] = 0x203B;\n t['reflexsubset'] = 0x2286;\n t['reflexsuperset'] = 0x2287;\n t['registered'] = 0x00AE;\n t['registersans'] = 0xF8E8;\n t['registerserif'] = 0xF6DA;\n t['reharabic'] = 0x0631;\n t['reharmenian'] = 0x0580;\n t['rehfinalarabic'] = 0xFEAE;\n t['rehiragana'] = 0x308C;\n t['rekatakana'] = 0x30EC;\n t['rekatakanahalfwidth'] = 0xFF9A;\n t['resh'] = 0x05E8;\n t['reshdageshhebrew'] = 0xFB48;\n t['reshhebrew'] = 0x05E8;\n t['reversedtilde'] = 0x223D;\n t['reviahebrew'] = 0x0597;\n t['reviamugrashhebrew'] = 0x0597;\n t['revlogicalnot'] = 0x2310;\n t['rfishhook'] = 0x027E;\n t['rfishhookreversed'] = 0x027F;\n t['rhabengali'] = 0x09DD;\n t['rhadeva'] = 0x095D;\n t['rho'] = 0x03C1;\n t['rhook'] = 0x027D;\n t['rhookturned'] = 0x027B;\n t['rhookturnedsuperior'] = 0x02B5;\n t['rhosymbolgreek'] = 0x03F1;\n t['rhotichookmod'] = 0x02DE;\n t['rieulacirclekorean'] = 0x3271;\n t['rieulaparenkorean'] = 0x3211;\n t['rieulcirclekorean'] = 0x3263;\n t['rieulhieuhkorean'] = 0x3140;\n t['rieulkiyeokkorean'] = 0x313A;\n t['rieulkiyeoksioskorean'] = 0x3169;\n t['rieulkorean'] = 0x3139;\n t['rieulmieumkorean'] = 0x313B;\n t['rieulpansioskorean'] = 0x316C;\n t['rieulparenkorean'] = 0x3203;\n t['rieulphieuphkorean'] = 0x313F;\n t['rieulpieupkorean'] = 0x313C;\n t['rieulpieupsioskorean'] = 0x316B;\n t['rieulsioskorean'] = 0x313D;\n t['rieulthieuthkorean'] = 0x313E;\n t['rieultikeutkorean'] = 0x316A;\n t['rieulyeorinhieuhkorean'] = 0x316D;\n t['rightangle'] = 0x221F;\n t['righttackbelowcmb'] = 0x0319;\n t['righttriangle'] = 0x22BF;\n t['rihiragana'] = 0x308A;\n t['rikatakana'] = 0x30EA;\n t['rikatakanahalfwidth'] = 0xFF98;\n t['ring'] = 0x02DA;\n t['ringbelowcmb'] = 0x0325;\n t['ringcmb'] = 0x030A;\n t['ringhalfleft'] = 0x02BF;\n t['ringhalfleftarmenian'] = 0x0559;\n t['ringhalfleftbelowcmb'] = 0x031C;\n t['ringhalfleftcentered'] = 0x02D3;\n t['ringhalfright'] = 0x02BE;\n t['ringhalfrightbelowcmb'] = 0x0339;\n t['ringhalfrightcentered'] = 0x02D2;\n t['rinvertedbreve'] = 0x0213;\n t['rittorusquare'] = 0x3351;\n t['rlinebelow'] = 0x1E5F;\n t['rlongleg'] = 0x027C;\n t['rlonglegturned'] = 0x027A;\n t['rmonospace'] = 0xFF52;\n t['rohiragana'] = 0x308D;\n t['rokatakana'] = 0x30ED;\n t['rokatakanahalfwidth'] = 0xFF9B;\n t['roruathai'] = 0x0E23;\n t['rparen'] = 0x24AD;\n t['rrabengali'] = 0x09DC;\n t['rradeva'] = 0x0931;\n t['rragurmukhi'] = 0x0A5C;\n t['rreharabic'] = 0x0691;\n t['rrehfinalarabic'] = 0xFB8D;\n t['rrvocalicbengali'] = 0x09E0;\n t['rrvocalicdeva'] = 0x0960;\n t['rrvocalicgujarati'] = 0x0AE0;\n t['rrvocalicvowelsignbengali'] = 0x09C4;\n t['rrvocalicvowelsigndeva'] = 0x0944;\n t['rrvocalicvowelsigngujarati'] = 0x0AC4;\n t['rsuperior'] = 0xF6F1;\n t['rtblock'] = 0x2590;\n t['rturned'] = 0x0279;\n t['rturnedsuperior'] = 0x02B4;\n t['ruhiragana'] = 0x308B;\n t['rukatakana'] = 0x30EB;\n t['rukatakanahalfwidth'] = 0xFF99;\n t['rupeemarkbengali'] = 0x09F2;\n t['rupeesignbengali'] = 0x09F3;\n t['rupiah'] = 0xF6DD;\n t['ruthai'] = 0x0E24;\n t['rvocalicbengali'] = 0x098B;\n t['rvocalicdeva'] = 0x090B;\n t['rvocalicgujarati'] = 0x0A8B;\n t['rvocalicvowelsignbengali'] = 0x09C3;\n t['rvocalicvowelsigndeva'] = 0x0943;\n t['rvocalicvowelsigngujarati'] = 0x0AC3;\n t['s'] = 0x0073;\n t['sabengali'] = 0x09B8;\n t['sacute'] = 0x015B;\n t['sacutedotaccent'] = 0x1E65;\n t['sadarabic'] = 0x0635;\n t['sadeva'] = 0x0938;\n t['sadfinalarabic'] = 0xFEBA;\n t['sadinitialarabic'] = 0xFEBB;\n t['sadmedialarabic'] = 0xFEBC;\n t['sagujarati'] = 0x0AB8;\n t['sagurmukhi'] = 0x0A38;\n t['sahiragana'] = 0x3055;\n t['sakatakana'] = 0x30B5;\n t['sakatakanahalfwidth'] = 0xFF7B;\n t['sallallahoualayhewasallamarabic'] = 0xFDFA;\n t['samekh'] = 0x05E1;\n t['samekhdagesh'] = 0xFB41;\n t['samekhdageshhebrew'] = 0xFB41;\n t['samekhhebrew'] = 0x05E1;\n t['saraaathai'] = 0x0E32;\n t['saraaethai'] = 0x0E41;\n t['saraaimaimalaithai'] = 0x0E44;\n t['saraaimaimuanthai'] = 0x0E43;\n t['saraamthai'] = 0x0E33;\n t['saraathai'] = 0x0E30;\n t['saraethai'] = 0x0E40;\n t['saraiileftthai'] = 0xF886;\n t['saraiithai'] = 0x0E35;\n t['saraileftthai'] = 0xF885;\n t['saraithai'] = 0x0E34;\n t['saraothai'] = 0x0E42;\n t['saraueeleftthai'] = 0xF888;\n t['saraueethai'] = 0x0E37;\n t['saraueleftthai'] = 0xF887;\n t['sarauethai'] = 0x0E36;\n t['sarauthai'] = 0x0E38;\n t['sarauuthai'] = 0x0E39;\n t['sbopomofo'] = 0x3119;\n t['scaron'] = 0x0161;\n t['scarondotaccent'] = 0x1E67;\n t['scedilla'] = 0x015F;\n t['schwa'] = 0x0259;\n t['schwacyrillic'] = 0x04D9;\n t['schwadieresiscyrillic'] = 0x04DB;\n t['schwahook'] = 0x025A;\n t['scircle'] = 0x24E2;\n t['scircumflex'] = 0x015D;\n t['scommaaccent'] = 0x0219;\n t['sdotaccent'] = 0x1E61;\n t['sdotbelow'] = 0x1E63;\n t['sdotbelowdotaccent'] = 0x1E69;\n t['seagullbelowcmb'] = 0x033C;\n t['second'] = 0x2033;\n t['secondtonechinese'] = 0x02CA;\n t['section'] = 0x00A7;\n t['seenarabic'] = 0x0633;\n t['seenfinalarabic'] = 0xFEB2;\n t['seeninitialarabic'] = 0xFEB3;\n t['seenmedialarabic'] = 0xFEB4;\n t['segol'] = 0x05B6;\n t['segol13'] = 0x05B6;\n t['segol1f'] = 0x05B6;\n t['segol2c'] = 0x05B6;\n t['segolhebrew'] = 0x05B6;\n t['segolnarrowhebrew'] = 0x05B6;\n t['segolquarterhebrew'] = 0x05B6;\n t['segoltahebrew'] = 0x0592;\n t['segolwidehebrew'] = 0x05B6;\n t['seharmenian'] = 0x057D;\n t['sehiragana'] = 0x305B;\n t['sekatakana'] = 0x30BB;\n t['sekatakanahalfwidth'] = 0xFF7E;\n t['semicolon'] = 0x003B;\n t['semicolonarabic'] = 0x061B;\n t['semicolonmonospace'] = 0xFF1B;\n t['semicolonsmall'] = 0xFE54;\n t['semivoicedmarkkana'] = 0x309C;\n t['semivoicedmarkkanahalfwidth'] = 0xFF9F;\n t['sentisquare'] = 0x3322;\n t['sentosquare'] = 0x3323;\n t['seven'] = 0x0037;\n t['sevenarabic'] = 0x0667;\n t['sevenbengali'] = 0x09ED;\n t['sevencircle'] = 0x2466;\n t['sevencircleinversesansserif'] = 0x2790;\n t['sevendeva'] = 0x096D;\n t['seveneighths'] = 0x215E;\n t['sevengujarati'] = 0x0AED;\n t['sevengurmukhi'] = 0x0A6D;\n t['sevenhackarabic'] = 0x0667;\n t['sevenhangzhou'] = 0x3027;\n t['sevenideographicparen'] = 0x3226;\n t['seveninferior'] = 0x2087;\n t['sevenmonospace'] = 0xFF17;\n t['sevenoldstyle'] = 0xF737;\n t['sevenparen'] = 0x247A;\n t['sevenperiod'] = 0x248E;\n t['sevenpersian'] = 0x06F7;\n t['sevenroman'] = 0x2176;\n t['sevensuperior'] = 0x2077;\n t['seventeencircle'] = 0x2470;\n t['seventeenparen'] = 0x2484;\n t['seventeenperiod'] = 0x2498;\n t['seventhai'] = 0x0E57;\n t['sfthyphen'] = 0x00AD;\n t['shaarmenian'] = 0x0577;\n t['shabengali'] = 0x09B6;\n t['shacyrillic'] = 0x0448;\n t['shaddaarabic'] = 0x0651;\n t['shaddadammaarabic'] = 0xFC61;\n t['shaddadammatanarabic'] = 0xFC5E;\n t['shaddafathaarabic'] = 0xFC60;\n t['shaddakasraarabic'] = 0xFC62;\n t['shaddakasratanarabic'] = 0xFC5F;\n t['shade'] = 0x2592;\n t['shadedark'] = 0x2593;\n t['shadelight'] = 0x2591;\n t['shademedium'] = 0x2592;\n t['shadeva'] = 0x0936;\n t['shagujarati'] = 0x0AB6;\n t['shagurmukhi'] = 0x0A36;\n t['shalshelethebrew'] = 0x0593;\n t['shbopomofo'] = 0x3115;\n t['shchacyrillic'] = 0x0449;\n t['sheenarabic'] = 0x0634;\n t['sheenfinalarabic'] = 0xFEB6;\n t['sheeninitialarabic'] = 0xFEB7;\n t['sheenmedialarabic'] = 0xFEB8;\n t['sheicoptic'] = 0x03E3;\n t['sheqel'] = 0x20AA;\n t['sheqelhebrew'] = 0x20AA;\n t['sheva'] = 0x05B0;\n t['sheva115'] = 0x05B0;\n t['sheva15'] = 0x05B0;\n t['sheva22'] = 0x05B0;\n t['sheva2e'] = 0x05B0;\n t['shevahebrew'] = 0x05B0;\n t['shevanarrowhebrew'] = 0x05B0;\n t['shevaquarterhebrew'] = 0x05B0;\n t['shevawidehebrew'] = 0x05B0;\n t['shhacyrillic'] = 0x04BB;\n t['shimacoptic'] = 0x03ED;\n t['shin'] = 0x05E9;\n t['shindagesh'] = 0xFB49;\n t['shindageshhebrew'] = 0xFB49;\n t['shindageshshindot'] = 0xFB2C;\n t['shindageshshindothebrew'] = 0xFB2C;\n t['shindageshsindot'] = 0xFB2D;\n t['shindageshsindothebrew'] = 0xFB2D;\n t['shindothebrew'] = 0x05C1;\n t['shinhebrew'] = 0x05E9;\n t['shinshindot'] = 0xFB2A;\n t['shinshindothebrew'] = 0xFB2A;\n t['shinsindot'] = 0xFB2B;\n t['shinsindothebrew'] = 0xFB2B;\n t['shook'] = 0x0282;\n t['sigma'] = 0x03C3;\n t['sigma1'] = 0x03C2;\n t['sigmafinal'] = 0x03C2;\n t['sigmalunatesymbolgreek'] = 0x03F2;\n t['sihiragana'] = 0x3057;\n t['sikatakana'] = 0x30B7;\n t['sikatakanahalfwidth'] = 0xFF7C;\n t['siluqhebrew'] = 0x05BD;\n t['siluqlefthebrew'] = 0x05BD;\n t['similar'] = 0x223C;\n t['sindothebrew'] = 0x05C2;\n t['siosacirclekorean'] = 0x3274;\n t['siosaparenkorean'] = 0x3214;\n t['sioscieuckorean'] = 0x317E;\n t['sioscirclekorean'] = 0x3266;\n t['sioskiyeokkorean'] = 0x317A;\n t['sioskorean'] = 0x3145;\n t['siosnieunkorean'] = 0x317B;\n t['siosparenkorean'] = 0x3206;\n t['siospieupkorean'] = 0x317D;\n t['siostikeutkorean'] = 0x317C;\n t['six'] = 0x0036;\n t['sixarabic'] = 0x0666;\n t['sixbengali'] = 0x09EC;\n t['sixcircle'] = 0x2465;\n t['sixcircleinversesansserif'] = 0x278F;\n t['sixdeva'] = 0x096C;\n t['sixgujarati'] = 0x0AEC;\n t['sixgurmukhi'] = 0x0A6C;\n t['sixhackarabic'] = 0x0666;\n t['sixhangzhou'] = 0x3026;\n t['sixideographicparen'] = 0x3225;\n t['sixinferior'] = 0x2086;\n t['sixmonospace'] = 0xFF16;\n t['sixoldstyle'] = 0xF736;\n t['sixparen'] = 0x2479;\n t['sixperiod'] = 0x248D;\n t['sixpersian'] = 0x06F6;\n t['sixroman'] = 0x2175;\n t['sixsuperior'] = 0x2076;\n t['sixteencircle'] = 0x246F;\n t['sixteencurrencydenominatorbengali'] = 0x09F9;\n t['sixteenparen'] = 0x2483;\n t['sixteenperiod'] = 0x2497;\n t['sixthai'] = 0x0E56;\n t['slash'] = 0x002F;\n t['slashmonospace'] = 0xFF0F;\n t['slong'] = 0x017F;\n t['slongdotaccent'] = 0x1E9B;\n t['smileface'] = 0x263A;\n t['smonospace'] = 0xFF53;\n t['sofpasuqhebrew'] = 0x05C3;\n t['softhyphen'] = 0x00AD;\n t['softsigncyrillic'] = 0x044C;\n t['sohiragana'] = 0x305D;\n t['sokatakana'] = 0x30BD;\n t['sokatakanahalfwidth'] = 0xFF7F;\n t['soliduslongoverlaycmb'] = 0x0338;\n t['solidusshortoverlaycmb'] = 0x0337;\n t['sorusithai'] = 0x0E29;\n t['sosalathai'] = 0x0E28;\n t['sosothai'] = 0x0E0B;\n t['sosuathai'] = 0x0E2A;\n t['space'] = 0x0020;\n t['spacehackarabic'] = 0x0020;\n t['spade'] = 0x2660;\n t['spadesuitblack'] = 0x2660;\n t['spadesuitwhite'] = 0x2664;\n t['sparen'] = 0x24AE;\n t['squarebelowcmb'] = 0x033B;\n t['squarecc'] = 0x33C4;\n t['squarecm'] = 0x339D;\n t['squarediagonalcrosshatchfill'] = 0x25A9;\n t['squarehorizontalfill'] = 0x25A4;\n t['squarekg'] = 0x338F;\n t['squarekm'] = 0x339E;\n t['squarekmcapital'] = 0x33CE;\n t['squareln'] = 0x33D1;\n t['squarelog'] = 0x33D2;\n t['squaremg'] = 0x338E;\n t['squaremil'] = 0x33D5;\n t['squaremm'] = 0x339C;\n t['squaremsquared'] = 0x33A1;\n t['squareorthogonalcrosshatchfill'] = 0x25A6;\n t['squareupperlefttolowerrightfill'] = 0x25A7;\n t['squareupperrighttolowerleftfill'] = 0x25A8;\n t['squareverticalfill'] = 0x25A5;\n t['squarewhitewithsmallblack'] = 0x25A3;\n t['srsquare'] = 0x33DB;\n t['ssabengali'] = 0x09B7;\n t['ssadeva'] = 0x0937;\n t['ssagujarati'] = 0x0AB7;\n t['ssangcieuckorean'] = 0x3149;\n t['ssanghieuhkorean'] = 0x3185;\n t['ssangieungkorean'] = 0x3180;\n t['ssangkiyeokkorean'] = 0x3132;\n t['ssangnieunkorean'] = 0x3165;\n t['ssangpieupkorean'] = 0x3143;\n t['ssangsioskorean'] = 0x3146;\n t['ssangtikeutkorean'] = 0x3138;\n t['ssuperior'] = 0xF6F2;\n t['sterling'] = 0x00A3;\n t['sterlingmonospace'] = 0xFFE1;\n t['strokelongoverlaycmb'] = 0x0336;\n t['strokeshortoverlaycmb'] = 0x0335;\n t['subset'] = 0x2282;\n t['subsetnotequal'] = 0x228A;\n t['subsetorequal'] = 0x2286;\n t['succeeds'] = 0x227B;\n t['suchthat'] = 0x220B;\n t['suhiragana'] = 0x3059;\n t['sukatakana'] = 0x30B9;\n t['sukatakanahalfwidth'] = 0xFF7D;\n t['sukunarabic'] = 0x0652;\n t['summation'] = 0x2211;\n t['sun'] = 0x263C;\n t['superset'] = 0x2283;\n t['supersetnotequal'] = 0x228B;\n t['supersetorequal'] = 0x2287;\n t['svsquare'] = 0x33DC;\n t['syouwaerasquare'] = 0x337C;\n t['t'] = 0x0074;\n t['tabengali'] = 0x09A4;\n t['tackdown'] = 0x22A4;\n t['tackleft'] = 0x22A3;\n t['tadeva'] = 0x0924;\n t['tagujarati'] = 0x0AA4;\n t['tagurmukhi'] = 0x0A24;\n t['taharabic'] = 0x0637;\n t['tahfinalarabic'] = 0xFEC2;\n t['tahinitialarabic'] = 0xFEC3;\n t['tahiragana'] = 0x305F;\n t['tahmedialarabic'] = 0xFEC4;\n t['taisyouerasquare'] = 0x337D;\n t['takatakana'] = 0x30BF;\n t['takatakanahalfwidth'] = 0xFF80;\n t['tatweelarabic'] = 0x0640;\n t['tau'] = 0x03C4;\n t['tav'] = 0x05EA;\n t['tavdages'] = 0xFB4A;\n t['tavdagesh'] = 0xFB4A;\n t['tavdageshhebrew'] = 0xFB4A;\n t['tavhebrew'] = 0x05EA;\n t['tbar'] = 0x0167;\n t['tbopomofo'] = 0x310A;\n t['tcaron'] = 0x0165;\n t['tccurl'] = 0x02A8;\n t['tcedilla'] = 0x0163;\n t['tcheharabic'] = 0x0686;\n t['tchehfinalarabic'] = 0xFB7B;\n t['tchehinitialarabic'] = 0xFB7C;\n t['tchehmedialarabic'] = 0xFB7D;\n t['tcircle'] = 0x24E3;\n t['tcircumflexbelow'] = 0x1E71;\n t['tcommaaccent'] = 0x0163;\n t['tdieresis'] = 0x1E97;\n t['tdotaccent'] = 0x1E6B;\n t['tdotbelow'] = 0x1E6D;\n t['tecyrillic'] = 0x0442;\n t['tedescendercyrillic'] = 0x04AD;\n t['teharabic'] = 0x062A;\n t['tehfinalarabic'] = 0xFE96;\n t['tehhahinitialarabic'] = 0xFCA2;\n t['tehhahisolatedarabic'] = 0xFC0C;\n t['tehinitialarabic'] = 0xFE97;\n t['tehiragana'] = 0x3066;\n t['tehjeeminitialarabic'] = 0xFCA1;\n t['tehjeemisolatedarabic'] = 0xFC0B;\n t['tehmarbutaarabic'] = 0x0629;\n t['tehmarbutafinalarabic'] = 0xFE94;\n t['tehmedialarabic'] = 0xFE98;\n t['tehmeeminitialarabic'] = 0xFCA4;\n t['tehmeemisolatedarabic'] = 0xFC0E;\n t['tehnoonfinalarabic'] = 0xFC73;\n t['tekatakana'] = 0x30C6;\n t['tekatakanahalfwidth'] = 0xFF83;\n t['telephone'] = 0x2121;\n t['telephoneblack'] = 0x260E;\n t['telishagedolahebrew'] = 0x05A0;\n t['telishaqetanahebrew'] = 0x05A9;\n t['tencircle'] = 0x2469;\n t['tenideographicparen'] = 0x3229;\n t['tenparen'] = 0x247D;\n t['tenperiod'] = 0x2491;\n t['tenroman'] = 0x2179;\n t['tesh'] = 0x02A7;\n t['tet'] = 0x05D8;\n t['tetdagesh'] = 0xFB38;\n t['tetdageshhebrew'] = 0xFB38;\n t['tethebrew'] = 0x05D8;\n t['tetsecyrillic'] = 0x04B5;\n t['tevirhebrew'] = 0x059B;\n t['tevirlefthebrew'] = 0x059B;\n t['thabengali'] = 0x09A5;\n t['thadeva'] = 0x0925;\n t['thagujarati'] = 0x0AA5;\n t['thagurmukhi'] = 0x0A25;\n t['thalarabic'] = 0x0630;\n t['thalfinalarabic'] = 0xFEAC;\n t['thanthakhatlowleftthai'] = 0xF898;\n t['thanthakhatlowrightthai'] = 0xF897;\n t['thanthakhatthai'] = 0x0E4C;\n t['thanthakhatupperleftthai'] = 0xF896;\n t['theharabic'] = 0x062B;\n t['thehfinalarabic'] = 0xFE9A;\n t['thehinitialarabic'] = 0xFE9B;\n t['thehmedialarabic'] = 0xFE9C;\n t['thereexists'] = 0x2203;\n t['therefore'] = 0x2234;\n t['theta'] = 0x03B8;\n t['theta1'] = 0x03D1;\n t['thetasymbolgreek'] = 0x03D1;\n t['thieuthacirclekorean'] = 0x3279;\n t['thieuthaparenkorean'] = 0x3219;\n t['thieuthcirclekorean'] = 0x326B;\n t['thieuthkorean'] = 0x314C;\n t['thieuthparenkorean'] = 0x320B;\n t['thirteencircle'] = 0x246C;\n t['thirteenparen'] = 0x2480;\n t['thirteenperiod'] = 0x2494;\n t['thonangmonthothai'] = 0x0E11;\n t['thook'] = 0x01AD;\n t['thophuthaothai'] = 0x0E12;\n t['thorn'] = 0x00FE;\n t['thothahanthai'] = 0x0E17;\n t['thothanthai'] = 0x0E10;\n t['thothongthai'] = 0x0E18;\n t['thothungthai'] = 0x0E16;\n t['thousandcyrillic'] = 0x0482;\n t['thousandsseparatorarabic'] = 0x066C;\n t['thousandsseparatorpersian'] = 0x066C;\n t['three'] = 0x0033;\n t['threearabic'] = 0x0663;\n t['threebengali'] = 0x09E9;\n t['threecircle'] = 0x2462;\n t['threecircleinversesansserif'] = 0x278C;\n t['threedeva'] = 0x0969;\n t['threeeighths'] = 0x215C;\n t['threegujarati'] = 0x0AE9;\n t['threegurmukhi'] = 0x0A69;\n t['threehackarabic'] = 0x0663;\n t['threehangzhou'] = 0x3023;\n t['threeideographicparen'] = 0x3222;\n t['threeinferior'] = 0x2083;\n t['threemonospace'] = 0xFF13;\n t['threenumeratorbengali'] = 0x09F6;\n t['threeoldstyle'] = 0xF733;\n t['threeparen'] = 0x2476;\n t['threeperiod'] = 0x248A;\n t['threepersian'] = 0x06F3;\n t['threequarters'] = 0x00BE;\n t['threequartersemdash'] = 0xF6DE;\n t['threeroman'] = 0x2172;\n t['threesuperior'] = 0x00B3;\n t['threethai'] = 0x0E53;\n t['thzsquare'] = 0x3394;\n t['tihiragana'] = 0x3061;\n t['tikatakana'] = 0x30C1;\n t['tikatakanahalfwidth'] = 0xFF81;\n t['tikeutacirclekorean'] = 0x3270;\n t['tikeutaparenkorean'] = 0x3210;\n t['tikeutcirclekorean'] = 0x3262;\n t['tikeutkorean'] = 0x3137;\n t['tikeutparenkorean'] = 0x3202;\n t['tilde'] = 0x02DC;\n t['tildebelowcmb'] = 0x0330;\n t['tildecmb'] = 0x0303;\n t['tildecomb'] = 0x0303;\n t['tildedoublecmb'] = 0x0360;\n t['tildeoperator'] = 0x223C;\n t['tildeoverlaycmb'] = 0x0334;\n t['tildeverticalcmb'] = 0x033E;\n t['timescircle'] = 0x2297;\n t['tipehahebrew'] = 0x0596;\n t['tipehalefthebrew'] = 0x0596;\n t['tippigurmukhi'] = 0x0A70;\n t['titlocyrilliccmb'] = 0x0483;\n t['tiwnarmenian'] = 0x057F;\n t['tlinebelow'] = 0x1E6F;\n t['tmonospace'] = 0xFF54;\n t['toarmenian'] = 0x0569;\n t['tohiragana'] = 0x3068;\n t['tokatakana'] = 0x30C8;\n t['tokatakanahalfwidth'] = 0xFF84;\n t['tonebarextrahighmod'] = 0x02E5;\n t['tonebarextralowmod'] = 0x02E9;\n t['tonebarhighmod'] = 0x02E6;\n t['tonebarlowmod'] = 0x02E8;\n t['tonebarmidmod'] = 0x02E7;\n t['tonefive'] = 0x01BD;\n t['tonesix'] = 0x0185;\n t['tonetwo'] = 0x01A8;\n t['tonos'] = 0x0384;\n t['tonsquare'] = 0x3327;\n t['topatakthai'] = 0x0E0F;\n t['tortoiseshellbracketleft'] = 0x3014;\n t['tortoiseshellbracketleftsmall'] = 0xFE5D;\n t['tortoiseshellbracketleftvertical'] = 0xFE39;\n t['tortoiseshellbracketright'] = 0x3015;\n t['tortoiseshellbracketrightsmall'] = 0xFE5E;\n t['tortoiseshellbracketrightvertical'] = 0xFE3A;\n t['totaothai'] = 0x0E15;\n t['tpalatalhook'] = 0x01AB;\n t['tparen'] = 0x24AF;\n t['trademark'] = 0x2122;\n t['trademarksans'] = 0xF8EA;\n t['trademarkserif'] = 0xF6DB;\n t['tretroflexhook'] = 0x0288;\n t['triagdn'] = 0x25BC;\n t['triaglf'] = 0x25C4;\n t['triagrt'] = 0x25BA;\n t['triagup'] = 0x25B2;\n t['ts'] = 0x02A6;\n t['tsadi'] = 0x05E6;\n t['tsadidagesh'] = 0xFB46;\n t['tsadidageshhebrew'] = 0xFB46;\n t['tsadihebrew'] = 0x05E6;\n t['tsecyrillic'] = 0x0446;\n t['tsere'] = 0x05B5;\n t['tsere12'] = 0x05B5;\n t['tsere1e'] = 0x05B5;\n t['tsere2b'] = 0x05B5;\n t['tserehebrew'] = 0x05B5;\n t['tserenarrowhebrew'] = 0x05B5;\n t['tserequarterhebrew'] = 0x05B5;\n t['tserewidehebrew'] = 0x05B5;\n t['tshecyrillic'] = 0x045B;\n t['tsuperior'] = 0xF6F3;\n t['ttabengali'] = 0x099F;\n t['ttadeva'] = 0x091F;\n t['ttagujarati'] = 0x0A9F;\n t['ttagurmukhi'] = 0x0A1F;\n t['tteharabic'] = 0x0679;\n t['ttehfinalarabic'] = 0xFB67;\n t['ttehinitialarabic'] = 0xFB68;\n t['ttehmedialarabic'] = 0xFB69;\n t['tthabengali'] = 0x09A0;\n t['tthadeva'] = 0x0920;\n t['tthagujarati'] = 0x0AA0;\n t['tthagurmukhi'] = 0x0A20;\n t['tturned'] = 0x0287;\n t['tuhiragana'] = 0x3064;\n t['tukatakana'] = 0x30C4;\n t['tukatakanahalfwidth'] = 0xFF82;\n t['tusmallhiragana'] = 0x3063;\n t['tusmallkatakana'] = 0x30C3;\n t['tusmallkatakanahalfwidth'] = 0xFF6F;\n t['twelvecircle'] = 0x246B;\n t['twelveparen'] = 0x247F;\n t['twelveperiod'] = 0x2493;\n t['twelveroman'] = 0x217B;\n t['twentycircle'] = 0x2473;\n t['twentyhangzhou'] = 0x5344;\n t['twentyparen'] = 0x2487;\n t['twentyperiod'] = 0x249B;\n t['two'] = 0x0032;\n t['twoarabic'] = 0x0662;\n t['twobengali'] = 0x09E8;\n t['twocircle'] = 0x2461;\n t['twocircleinversesansserif'] = 0x278B;\n t['twodeva'] = 0x0968;\n t['twodotenleader'] = 0x2025;\n t['twodotleader'] = 0x2025;\n t['twodotleadervertical'] = 0xFE30;\n t['twogujarati'] = 0x0AE8;\n t['twogurmukhi'] = 0x0A68;\n t['twohackarabic'] = 0x0662;\n t['twohangzhou'] = 0x3022;\n t['twoideographicparen'] = 0x3221;\n t['twoinferior'] = 0x2082;\n t['twomonospace'] = 0xFF12;\n t['twonumeratorbengali'] = 0x09F5;\n t['twooldstyle'] = 0xF732;\n t['twoparen'] = 0x2475;\n t['twoperiod'] = 0x2489;\n t['twopersian'] = 0x06F2;\n t['tworoman'] = 0x2171;\n t['twostroke'] = 0x01BB;\n t['twosuperior'] = 0x00B2;\n t['twothai'] = 0x0E52;\n t['twothirds'] = 0x2154;\n t['u'] = 0x0075;\n t['uacute'] = 0x00FA;\n t['ubar'] = 0x0289;\n t['ubengali'] = 0x0989;\n t['ubopomofo'] = 0x3128;\n t['ubreve'] = 0x016D;\n t['ucaron'] = 0x01D4;\n t['ucircle'] = 0x24E4;\n t['ucircumflex'] = 0x00FB;\n t['ucircumflexbelow'] = 0x1E77;\n t['ucyrillic'] = 0x0443;\n t['udattadeva'] = 0x0951;\n t['udblacute'] = 0x0171;\n t['udblgrave'] = 0x0215;\n t['udeva'] = 0x0909;\n t['udieresis'] = 0x00FC;\n t['udieresisacute'] = 0x01D8;\n t['udieresisbelow'] = 0x1E73;\n t['udieresiscaron'] = 0x01DA;\n t['udieresiscyrillic'] = 0x04F1;\n t['udieresisgrave'] = 0x01DC;\n t['udieresismacron'] = 0x01D6;\n t['udotbelow'] = 0x1EE5;\n t['ugrave'] = 0x00F9;\n t['ugujarati'] = 0x0A89;\n t['ugurmukhi'] = 0x0A09;\n t['uhiragana'] = 0x3046;\n t['uhookabove'] = 0x1EE7;\n t['uhorn'] = 0x01B0;\n t['uhornacute'] = 0x1EE9;\n t['uhorndotbelow'] = 0x1EF1;\n t['uhorngrave'] = 0x1EEB;\n t['uhornhookabove'] = 0x1EED;\n t['uhorntilde'] = 0x1EEF;\n t['uhungarumlaut'] = 0x0171;\n t['uhungarumlautcyrillic'] = 0x04F3;\n t['uinvertedbreve'] = 0x0217;\n t['ukatakana'] = 0x30A6;\n t['ukatakanahalfwidth'] = 0xFF73;\n t['ukcyrillic'] = 0x0479;\n t['ukorean'] = 0x315C;\n t['umacron'] = 0x016B;\n t['umacroncyrillic'] = 0x04EF;\n t['umacrondieresis'] = 0x1E7B;\n t['umatragurmukhi'] = 0x0A41;\n t['umonospace'] = 0xFF55;\n t['underscore'] = 0x005F;\n t['underscoredbl'] = 0x2017;\n t['underscoremonospace'] = 0xFF3F;\n t['underscorevertical'] = 0xFE33;\n t['underscorewavy'] = 0xFE4F;\n t['union'] = 0x222A;\n t['universal'] = 0x2200;\n t['uogonek'] = 0x0173;\n t['uparen'] = 0x24B0;\n t['upblock'] = 0x2580;\n t['upperdothebrew'] = 0x05C4;\n t['upsilon'] = 0x03C5;\n t['upsilondieresis'] = 0x03CB;\n t['upsilondieresistonos'] = 0x03B0;\n t['upsilonlatin'] = 0x028A;\n t['upsilontonos'] = 0x03CD;\n t['uptackbelowcmb'] = 0x031D;\n t['uptackmod'] = 0x02D4;\n t['uragurmukhi'] = 0x0A73;\n t['uring'] = 0x016F;\n t['ushortcyrillic'] = 0x045E;\n t['usmallhiragana'] = 0x3045;\n t['usmallkatakana'] = 0x30A5;\n t['usmallkatakanahalfwidth'] = 0xFF69;\n t['ustraightcyrillic'] = 0x04AF;\n t['ustraightstrokecyrillic'] = 0x04B1;\n t['utilde'] = 0x0169;\n t['utildeacute'] = 0x1E79;\n t['utildebelow'] = 0x1E75;\n t['uubengali'] = 0x098A;\n t['uudeva'] = 0x090A;\n t['uugujarati'] = 0x0A8A;\n t['uugurmukhi'] = 0x0A0A;\n t['uumatragurmukhi'] = 0x0A42;\n t['uuvowelsignbengali'] = 0x09C2;\n t['uuvowelsigndeva'] = 0x0942;\n t['uuvowelsigngujarati'] = 0x0AC2;\n t['uvowelsignbengali'] = 0x09C1;\n t['uvowelsigndeva'] = 0x0941;\n t['uvowelsigngujarati'] = 0x0AC1;\n t['v'] = 0x0076;\n t['vadeva'] = 0x0935;\n t['vagujarati'] = 0x0AB5;\n t['vagurmukhi'] = 0x0A35;\n t['vakatakana'] = 0x30F7;\n t['vav'] = 0x05D5;\n t['vavdagesh'] = 0xFB35;\n t['vavdagesh65'] = 0xFB35;\n t['vavdageshhebrew'] = 0xFB35;\n t['vavhebrew'] = 0x05D5;\n t['vavholam'] = 0xFB4B;\n t['vavholamhebrew'] = 0xFB4B;\n t['vavvavhebrew'] = 0x05F0;\n t['vavyodhebrew'] = 0x05F1;\n t['vcircle'] = 0x24E5;\n t['vdotbelow'] = 0x1E7F;\n t['vecyrillic'] = 0x0432;\n t['veharabic'] = 0x06A4;\n t['vehfinalarabic'] = 0xFB6B;\n t['vehinitialarabic'] = 0xFB6C;\n t['vehmedialarabic'] = 0xFB6D;\n t['vekatakana'] = 0x30F9;\n t['venus'] = 0x2640;\n t['verticalbar'] = 0x007C;\n t['verticallineabovecmb'] = 0x030D;\n t['verticallinebelowcmb'] = 0x0329;\n t['verticallinelowmod'] = 0x02CC;\n t['verticallinemod'] = 0x02C8;\n t['vewarmenian'] = 0x057E;\n t['vhook'] = 0x028B;\n t['vikatakana'] = 0x30F8;\n t['viramabengali'] = 0x09CD;\n t['viramadeva'] = 0x094D;\n t['viramagujarati'] = 0x0ACD;\n t['visargabengali'] = 0x0983;\n t['visargadeva'] = 0x0903;\n t['visargagujarati'] = 0x0A83;\n t['vmonospace'] = 0xFF56;\n t['voarmenian'] = 0x0578;\n t['voicediterationhiragana'] = 0x309E;\n t['voicediterationkatakana'] = 0x30FE;\n t['voicedmarkkana'] = 0x309B;\n t['voicedmarkkanahalfwidth'] = 0xFF9E;\n t['vokatakana'] = 0x30FA;\n t['vparen'] = 0x24B1;\n t['vtilde'] = 0x1E7D;\n t['vturned'] = 0x028C;\n t['vuhiragana'] = 0x3094;\n t['vukatakana'] = 0x30F4;\n t['w'] = 0x0077;\n t['wacute'] = 0x1E83;\n t['waekorean'] = 0x3159;\n t['wahiragana'] = 0x308F;\n t['wakatakana'] = 0x30EF;\n t['wakatakanahalfwidth'] = 0xFF9C;\n t['wakorean'] = 0x3158;\n t['wasmallhiragana'] = 0x308E;\n t['wasmallkatakana'] = 0x30EE;\n t['wattosquare'] = 0x3357;\n t['wavedash'] = 0x301C;\n t['wavyunderscorevertical'] = 0xFE34;\n t['wawarabic'] = 0x0648;\n t['wawfinalarabic'] = 0xFEEE;\n t['wawhamzaabovearabic'] = 0x0624;\n t['wawhamzaabovefinalarabic'] = 0xFE86;\n t['wbsquare'] = 0x33DD;\n t['wcircle'] = 0x24E6;\n t['wcircumflex'] = 0x0175;\n t['wdieresis'] = 0x1E85;\n t['wdotaccent'] = 0x1E87;\n t['wdotbelow'] = 0x1E89;\n t['wehiragana'] = 0x3091;\n t['weierstrass'] = 0x2118;\n t['wekatakana'] = 0x30F1;\n t['wekorean'] = 0x315E;\n t['weokorean'] = 0x315D;\n t['wgrave'] = 0x1E81;\n t['whitebullet'] = 0x25E6;\n t['whitecircle'] = 0x25CB;\n t['whitecircleinverse'] = 0x25D9;\n t['whitecornerbracketleft'] = 0x300E;\n t['whitecornerbracketleftvertical'] = 0xFE43;\n t['whitecornerbracketright'] = 0x300F;\n t['whitecornerbracketrightvertical'] = 0xFE44;\n t['whitediamond'] = 0x25C7;\n t['whitediamondcontainingblacksmalldiamond'] = 0x25C8;\n t['whitedownpointingsmalltriangle'] = 0x25BF;\n t['whitedownpointingtriangle'] = 0x25BD;\n t['whiteleftpointingsmalltriangle'] = 0x25C3;\n t['whiteleftpointingtriangle'] = 0x25C1;\n t['whitelenticularbracketleft'] = 0x3016;\n t['whitelenticularbracketright'] = 0x3017;\n t['whiterightpointingsmalltriangle'] = 0x25B9;\n t['whiterightpointingtriangle'] = 0x25B7;\n t['whitesmallsquare'] = 0x25AB;\n t['whitesmilingface'] = 0x263A;\n t['whitesquare'] = 0x25A1;\n t['whitestar'] = 0x2606;\n t['whitetelephone'] = 0x260F;\n t['whitetortoiseshellbracketleft'] = 0x3018;\n t['whitetortoiseshellbracketright'] = 0x3019;\n t['whiteuppointingsmalltriangle'] = 0x25B5;\n t['whiteuppointingtriangle'] = 0x25B3;\n t['wihiragana'] = 0x3090;\n t['wikatakana'] = 0x30F0;\n t['wikorean'] = 0x315F;\n t['wmonospace'] = 0xFF57;\n t['wohiragana'] = 0x3092;\n t['wokatakana'] = 0x30F2;\n t['wokatakanahalfwidth'] = 0xFF66;\n t['won'] = 0x20A9;\n t['wonmonospace'] = 0xFFE6;\n t['wowaenthai'] = 0x0E27;\n t['wparen'] = 0x24B2;\n t['wring'] = 0x1E98;\n t['wsuperior'] = 0x02B7;\n t['wturned'] = 0x028D;\n t['wynn'] = 0x01BF;\n t['x'] = 0x0078;\n t['xabovecmb'] = 0x033D;\n t['xbopomofo'] = 0x3112;\n t['xcircle'] = 0x24E7;\n t['xdieresis'] = 0x1E8D;\n t['xdotaccent'] = 0x1E8B;\n t['xeharmenian'] = 0x056D;\n t['xi'] = 0x03BE;\n t['xmonospace'] = 0xFF58;\n t['xparen'] = 0x24B3;\n t['xsuperior'] = 0x02E3;\n t['y'] = 0x0079;\n t['yaadosquare'] = 0x334E;\n t['yabengali'] = 0x09AF;\n t['yacute'] = 0x00FD;\n t['yadeva'] = 0x092F;\n t['yaekorean'] = 0x3152;\n t['yagujarati'] = 0x0AAF;\n t['yagurmukhi'] = 0x0A2F;\n t['yahiragana'] = 0x3084;\n t['yakatakana'] = 0x30E4;\n t['yakatakanahalfwidth'] = 0xFF94;\n t['yakorean'] = 0x3151;\n t['yamakkanthai'] = 0x0E4E;\n t['yasmallhiragana'] = 0x3083;\n t['yasmallkatakana'] = 0x30E3;\n t['yasmallkatakanahalfwidth'] = 0xFF6C;\n t['yatcyrillic'] = 0x0463;\n t['ycircle'] = 0x24E8;\n t['ycircumflex'] = 0x0177;\n t['ydieresis'] = 0x00FF;\n t['ydotaccent'] = 0x1E8F;\n t['ydotbelow'] = 0x1EF5;\n t['yeharabic'] = 0x064A;\n t['yehbarreearabic'] = 0x06D2;\n t['yehbarreefinalarabic'] = 0xFBAF;\n t['yehfinalarabic'] = 0xFEF2;\n t['yehhamzaabovearabic'] = 0x0626;\n t['yehhamzaabovefinalarabic'] = 0xFE8A;\n t['yehhamzaaboveinitialarabic'] = 0xFE8B;\n t['yehhamzaabovemedialarabic'] = 0xFE8C;\n t['yehinitialarabic'] = 0xFEF3;\n t['yehmedialarabic'] = 0xFEF4;\n t['yehmeeminitialarabic'] = 0xFCDD;\n t['yehmeemisolatedarabic'] = 0xFC58;\n t['yehnoonfinalarabic'] = 0xFC94;\n t['yehthreedotsbelowarabic'] = 0x06D1;\n t['yekorean'] = 0x3156;\n t['yen'] = 0x00A5;\n t['yenmonospace'] = 0xFFE5;\n t['yeokorean'] = 0x3155;\n t['yeorinhieuhkorean'] = 0x3186;\n t['yerahbenyomohebrew'] = 0x05AA;\n t['yerahbenyomolefthebrew'] = 0x05AA;\n t['yericyrillic'] = 0x044B;\n t['yerudieresiscyrillic'] = 0x04F9;\n t['yesieungkorean'] = 0x3181;\n t['yesieungpansioskorean'] = 0x3183;\n t['yesieungsioskorean'] = 0x3182;\n t['yetivhebrew'] = 0x059A;\n t['ygrave'] = 0x1EF3;\n t['yhook'] = 0x01B4;\n t['yhookabove'] = 0x1EF7;\n t['yiarmenian'] = 0x0575;\n t['yicyrillic'] = 0x0457;\n t['yikorean'] = 0x3162;\n t['yinyang'] = 0x262F;\n t['yiwnarmenian'] = 0x0582;\n t['ymonospace'] = 0xFF59;\n t['yod'] = 0x05D9;\n t['yoddagesh'] = 0xFB39;\n t['yoddageshhebrew'] = 0xFB39;\n t['yodhebrew'] = 0x05D9;\n t['yodyodhebrew'] = 0x05F2;\n t['yodyodpatahhebrew'] = 0xFB1F;\n t['yohiragana'] = 0x3088;\n t['yoikorean'] = 0x3189;\n t['yokatakana'] = 0x30E8;\n t['yokatakanahalfwidth'] = 0xFF96;\n t['yokorean'] = 0x315B;\n t['yosmallhiragana'] = 0x3087;\n t['yosmallkatakana'] = 0x30E7;\n t['yosmallkatakanahalfwidth'] = 0xFF6E;\n t['yotgreek'] = 0x03F3;\n t['yoyaekorean'] = 0x3188;\n t['yoyakorean'] = 0x3187;\n t['yoyakthai'] = 0x0E22;\n t['yoyingthai'] = 0x0E0D;\n t['yparen'] = 0x24B4;\n t['ypogegrammeni'] = 0x037A;\n t['ypogegrammenigreekcmb'] = 0x0345;\n t['yr'] = 0x01A6;\n t['yring'] = 0x1E99;\n t['ysuperior'] = 0x02B8;\n t['ytilde'] = 0x1EF9;\n t['yturned'] = 0x028E;\n t['yuhiragana'] = 0x3086;\n t['yuikorean'] = 0x318C;\n t['yukatakana'] = 0x30E6;\n t['yukatakanahalfwidth'] = 0xFF95;\n t['yukorean'] = 0x3160;\n t['yusbigcyrillic'] = 0x046B;\n t['yusbigiotifiedcyrillic'] = 0x046D;\n t['yuslittlecyrillic'] = 0x0467;\n t['yuslittleiotifiedcyrillic'] = 0x0469;\n t['yusmallhiragana'] = 0x3085;\n t['yusmallkatakana'] = 0x30E5;\n t['yusmallkatakanahalfwidth'] = 0xFF6D;\n t['yuyekorean'] = 0x318B;\n t['yuyeokorean'] = 0x318A;\n t['yyabengali'] = 0x09DF;\n t['yyadeva'] = 0x095F;\n t['z'] = 0x007A;\n t['zaarmenian'] = 0x0566;\n t['zacute'] = 0x017A;\n t['zadeva'] = 0x095B;\n t['zagurmukhi'] = 0x0A5B;\n t['zaharabic'] = 0x0638;\n t['zahfinalarabic'] = 0xFEC6;\n t['zahinitialarabic'] = 0xFEC7;\n t['zahiragana'] = 0x3056;\n t['zahmedialarabic'] = 0xFEC8;\n t['zainarabic'] = 0x0632;\n t['zainfinalarabic'] = 0xFEB0;\n t['zakatakana'] = 0x30B6;\n t['zaqefgadolhebrew'] = 0x0595;\n t['zaqefqatanhebrew'] = 0x0594;\n t['zarqahebrew'] = 0x0598;\n t['zayin'] = 0x05D6;\n t['zayindagesh'] = 0xFB36;\n t['zayindageshhebrew'] = 0xFB36;\n t['zayinhebrew'] = 0x05D6;\n t['zbopomofo'] = 0x3117;\n t['zcaron'] = 0x017E;\n t['zcircle'] = 0x24E9;\n t['zcircumflex'] = 0x1E91;\n t['zcurl'] = 0x0291;\n t['zdot'] = 0x017C;\n t['zdotaccent'] = 0x017C;\n t['zdotbelow'] = 0x1E93;\n t['zecyrillic'] = 0x0437;\n t['zedescendercyrillic'] = 0x0499;\n t['zedieresiscyrillic'] = 0x04DF;\n t['zehiragana'] = 0x305C;\n t['zekatakana'] = 0x30BC;\n t['zero'] = 0x0030;\n t['zeroarabic'] = 0x0660;\n t['zerobengali'] = 0x09E6;\n t['zerodeva'] = 0x0966;\n t['zerogujarati'] = 0x0AE6;\n t['zerogurmukhi'] = 0x0A66;\n t['zerohackarabic'] = 0x0660;\n t['zeroinferior'] = 0x2080;\n t['zeromonospace'] = 0xFF10;\n t['zerooldstyle'] = 0xF730;\n t['zeropersian'] = 0x06F0;\n t['zerosuperior'] = 0x2070;\n t['zerothai'] = 0x0E50;\n t['zerowidthjoiner'] = 0xFEFF;\n t['zerowidthnonjoiner'] = 0x200C;\n t['zerowidthspace'] = 0x200B;\n t['zeta'] = 0x03B6;\n t['zhbopomofo'] = 0x3113;\n t['zhearmenian'] = 0x056A;\n t['zhebrevecyrillic'] = 0x04C2;\n t['zhecyrillic'] = 0x0436;\n t['zhedescendercyrillic'] = 0x0497;\n t['zhedieresiscyrillic'] = 0x04DD;\n t['zihiragana'] = 0x3058;\n t['zikatakana'] = 0x30B8;\n t['zinorhebrew'] = 0x05AE;\n t['zlinebelow'] = 0x1E95;\n t['zmonospace'] = 0xFF5A;\n t['zohiragana'] = 0x305E;\n t['zokatakana'] = 0x30BE;\n t['zparen'] = 0x24B5;\n t['zretroflexhook'] = 0x0290;\n t['zstroke'] = 0x01B6;\n t['zuhiragana'] = 0x305A;\n t['zukatakana'] = 0x30BA;\n t['.notdef'] = 0x0000;\n t['angbracketleftbig'] = 0x2329;\n t['angbracketleftBig'] = 0x2329;\n t['angbracketleftbigg'] = 0x2329;\n t['angbracketleftBigg'] = 0x2329;\n t['angbracketrightBig'] = 0x232A;\n t['angbracketrightbig'] = 0x232A;\n t['angbracketrightBigg'] = 0x232A;\n t['angbracketrightbigg'] = 0x232A;\n t['arrowhookleft'] = 0x21AA;\n t['arrowhookright'] = 0x21A9;\n t['arrowlefttophalf'] = 0x21BC;\n t['arrowleftbothalf'] = 0x21BD;\n t['arrownortheast'] = 0x2197;\n t['arrownorthwest'] = 0x2196;\n t['arrowrighttophalf'] = 0x21C0;\n t['arrowrightbothalf'] = 0x21C1;\n t['arrowsoutheast'] = 0x2198;\n t['arrowsouthwest'] = 0x2199;\n t['backslashbig'] = 0x2216;\n t['backslashBig'] = 0x2216;\n t['backslashBigg'] = 0x2216;\n t['backslashbigg'] = 0x2216;\n t['bardbl'] = 0x2016;\n t['bracehtipdownleft'] = 0xFE37;\n t['bracehtipdownright'] = 0xFE37;\n t['bracehtipupleft'] = 0xFE38;\n t['bracehtipupright'] = 0xFE38;\n t['braceleftBig'] = 0x007B;\n t['braceleftbig'] = 0x007B;\n t['braceleftbigg'] = 0x007B;\n t['braceleftBigg'] = 0x007B;\n t['bracerightBig'] = 0x007D;\n t['bracerightbig'] = 0x007D;\n t['bracerightbigg'] = 0x007D;\n t['bracerightBigg'] = 0x007D;\n t['bracketleftbig'] = 0x005B;\n t['bracketleftBig'] = 0x005B;\n t['bracketleftbigg'] = 0x005B;\n t['bracketleftBigg'] = 0x005B;\n t['bracketrightBig'] = 0x005D;\n t['bracketrightbig'] = 0x005D;\n t['bracketrightbigg'] = 0x005D;\n t['bracketrightBigg'] = 0x005D;\n t['ceilingleftbig'] = 0x2308;\n t['ceilingleftBig'] = 0x2308;\n t['ceilingleftBigg'] = 0x2308;\n t['ceilingleftbigg'] = 0x2308;\n t['ceilingrightbig'] = 0x2309;\n t['ceilingrightBig'] = 0x2309;\n t['ceilingrightbigg'] = 0x2309;\n t['ceilingrightBigg'] = 0x2309;\n t['circledotdisplay'] = 0x2299;\n t['circledottext'] = 0x2299;\n t['circlemultiplydisplay'] = 0x2297;\n t['circlemultiplytext'] = 0x2297;\n t['circleplusdisplay'] = 0x2295;\n t['circleplustext'] = 0x2295;\n t['contintegraldisplay'] = 0x222E;\n t['contintegraltext'] = 0x222E;\n t['coproductdisplay'] = 0x2210;\n t['coproducttext'] = 0x2210;\n t['floorleftBig'] = 0x230A;\n t['floorleftbig'] = 0x230A;\n t['floorleftbigg'] = 0x230A;\n t['floorleftBigg'] = 0x230A;\n t['floorrightbig'] = 0x230B;\n t['floorrightBig'] = 0x230B;\n t['floorrightBigg'] = 0x230B;\n t['floorrightbigg'] = 0x230B;\n t['hatwide'] = 0x0302;\n t['hatwider'] = 0x0302;\n t['hatwidest'] = 0x0302;\n t['intercal'] = 0x1D40;\n t['integraldisplay'] = 0x222B;\n t['integraltext'] = 0x222B;\n t['intersectiondisplay'] = 0x22C2;\n t['intersectiontext'] = 0x22C2;\n t['logicalanddisplay'] = 0x2227;\n t['logicalandtext'] = 0x2227;\n t['logicalordisplay'] = 0x2228;\n t['logicalortext'] = 0x2228;\n t['parenleftBig'] = 0x0028;\n t['parenleftbig'] = 0x0028;\n t['parenleftBigg'] = 0x0028;\n t['parenleftbigg'] = 0x0028;\n t['parenrightBig'] = 0x0029;\n t['parenrightbig'] = 0x0029;\n t['parenrightBigg'] = 0x0029;\n t['parenrightbigg'] = 0x0029;\n t['prime'] = 0x2032;\n t['productdisplay'] = 0x220F;\n t['producttext'] = 0x220F;\n t['radicalbig'] = 0x221A;\n t['radicalBig'] = 0x221A;\n t['radicalBigg'] = 0x221A;\n t['radicalbigg'] = 0x221A;\n t['radicalbt'] = 0x221A;\n t['radicaltp'] = 0x221A;\n t['radicalvertex'] = 0x221A;\n t['slashbig'] = 0x002F;\n t['slashBig'] = 0x002F;\n t['slashBigg'] = 0x002F;\n t['slashbigg'] = 0x002F;\n t['summationdisplay'] = 0x2211;\n t['summationtext'] = 0x2211;\n t['tildewide'] = 0x02DC;\n t['tildewider'] = 0x02DC;\n t['tildewidest'] = 0x02DC;\n t['uniondisplay'] = 0x22C3;\n t['unionmultidisplay'] = 0x228E;\n t['unionmultitext'] = 0x228E;\n t['unionsqdisplay'] = 0x2294;\n t['unionsqtext'] = 0x2294;\n t['uniontext'] = 0x22C3;\n t['vextenddouble'] = 0x2225;\n t['vextendsingle'] = 0x2223;\n});\nvar getDingbatsGlyphsUnicode = getLookupTableFactory(function (t) {\n t['space'] = 0x0020;\n t['a1'] = 0x2701;\n t['a2'] = 0x2702;\n t['a202'] = 0x2703;\n t['a3'] = 0x2704;\n t['a4'] = 0x260E;\n t['a5'] = 0x2706;\n t['a119'] = 0x2707;\n t['a118'] = 0x2708;\n t['a117'] = 0x2709;\n t['a11'] = 0x261B;\n t['a12'] = 0x261E;\n t['a13'] = 0x270C;\n t['a14'] = 0x270D;\n t['a15'] = 0x270E;\n t['a16'] = 0x270F;\n t['a105'] = 0x2710;\n t['a17'] = 0x2711;\n t['a18'] = 0x2712;\n t['a19'] = 0x2713;\n t['a20'] = 0x2714;\n t['a21'] = 0x2715;\n t['a22'] = 0x2716;\n t['a23'] = 0x2717;\n t['a24'] = 0x2718;\n t['a25'] = 0x2719;\n t['a26'] = 0x271A;\n t['a27'] = 0x271B;\n t['a28'] = 0x271C;\n t['a6'] = 0x271D;\n t['a7'] = 0x271E;\n t['a8'] = 0x271F;\n t['a9'] = 0x2720;\n t['a10'] = 0x2721;\n t['a29'] = 0x2722;\n t['a30'] = 0x2723;\n t['a31'] = 0x2724;\n t['a32'] = 0x2725;\n t['a33'] = 0x2726;\n t['a34'] = 0x2727;\n t['a35'] = 0x2605;\n t['a36'] = 0x2729;\n t['a37'] = 0x272A;\n t['a38'] = 0x272B;\n t['a39'] = 0x272C;\n t['a40'] = 0x272D;\n t['a41'] = 0x272E;\n t['a42'] = 0x272F;\n t['a43'] = 0x2730;\n t['a44'] = 0x2731;\n t['a45'] = 0x2732;\n t['a46'] = 0x2733;\n t['a47'] = 0x2734;\n t['a48'] = 0x2735;\n t['a49'] = 0x2736;\n t['a50'] = 0x2737;\n t['a51'] = 0x2738;\n t['a52'] = 0x2739;\n t['a53'] = 0x273A;\n t['a54'] = 0x273B;\n t['a55'] = 0x273C;\n t['a56'] = 0x273D;\n t['a57'] = 0x273E;\n t['a58'] = 0x273F;\n t['a59'] = 0x2740;\n t['a60'] = 0x2741;\n t['a61'] = 0x2742;\n t['a62'] = 0x2743;\n t['a63'] = 0x2744;\n t['a64'] = 0x2745;\n t['a65'] = 0x2746;\n t['a66'] = 0x2747;\n t['a67'] = 0x2748;\n t['a68'] = 0x2749;\n t['a69'] = 0x274A;\n t['a70'] = 0x274B;\n t['a71'] = 0x25CF;\n t['a72'] = 0x274D;\n t['a73'] = 0x25A0;\n t['a74'] = 0x274F;\n t['a203'] = 0x2750;\n t['a75'] = 0x2751;\n t['a204'] = 0x2752;\n t['a76'] = 0x25B2;\n t['a77'] = 0x25BC;\n t['a78'] = 0x25C6;\n t['a79'] = 0x2756;\n t['a81'] = 0x25D7;\n t['a82'] = 0x2758;\n t['a83'] = 0x2759;\n t['a84'] = 0x275A;\n t['a97'] = 0x275B;\n t['a98'] = 0x275C;\n t['a99'] = 0x275D;\n t['a100'] = 0x275E;\n t['a101'] = 0x2761;\n t['a102'] = 0x2762;\n t['a103'] = 0x2763;\n t['a104'] = 0x2764;\n t['a106'] = 0x2765;\n t['a107'] = 0x2766;\n t['a108'] = 0x2767;\n t['a112'] = 0x2663;\n t['a111'] = 0x2666;\n t['a110'] = 0x2665;\n t['a109'] = 0x2660;\n t['a120'] = 0x2460;\n t['a121'] = 0x2461;\n t['a122'] = 0x2462;\n t['a123'] = 0x2463;\n t['a124'] = 0x2464;\n t['a125'] = 0x2465;\n t['a126'] = 0x2466;\n t['a127'] = 0x2467;\n t['a128'] = 0x2468;\n t['a129'] = 0x2469;\n t['a130'] = 0x2776;\n t['a131'] = 0x2777;\n t['a132'] = 0x2778;\n t['a133'] = 0x2779;\n t['a134'] = 0x277A;\n t['a135'] = 0x277B;\n t['a136'] = 0x277C;\n t['a137'] = 0x277D;\n t['a138'] = 0x277E;\n t['a139'] = 0x277F;\n t['a140'] = 0x2780;\n t['a141'] = 0x2781;\n t['a142'] = 0x2782;\n t['a143'] = 0x2783;\n t['a144'] = 0x2784;\n t['a145'] = 0x2785;\n t['a146'] = 0x2786;\n t['a147'] = 0x2787;\n t['a148'] = 0x2788;\n t['a149'] = 0x2789;\n t['a150'] = 0x278A;\n t['a151'] = 0x278B;\n t['a152'] = 0x278C;\n t['a153'] = 0x278D;\n t['a154'] = 0x278E;\n t['a155'] = 0x278F;\n t['a156'] = 0x2790;\n t['a157'] = 0x2791;\n t['a158'] = 0x2792;\n t['a159'] = 0x2793;\n t['a160'] = 0x2794;\n t['a161'] = 0x2192;\n t['a163'] = 0x2194;\n t['a164'] = 0x2195;\n t['a196'] = 0x2798;\n t['a165'] = 0x2799;\n t['a192'] = 0x279A;\n t['a166'] = 0x279B;\n t['a167'] = 0x279C;\n t['a168'] = 0x279D;\n t['a169'] = 0x279E;\n t['a170'] = 0x279F;\n t['a171'] = 0x27A0;\n t['a172'] = 0x27A1;\n t['a173'] = 0x27A2;\n t['a162'] = 0x27A3;\n t['a174'] = 0x27A4;\n t['a175'] = 0x27A5;\n t['a176'] = 0x27A6;\n t['a177'] = 0x27A7;\n t['a178'] = 0x27A8;\n t['a179'] = 0x27A9;\n t['a193'] = 0x27AA;\n t['a180'] = 0x27AB;\n t['a199'] = 0x27AC;\n t['a181'] = 0x27AD;\n t['a200'] = 0x27AE;\n t['a182'] = 0x27AF;\n t['a201'] = 0x27B1;\n t['a183'] = 0x27B2;\n t['a184'] = 0x27B3;\n t['a197'] = 0x27B4;\n t['a185'] = 0x27B5;\n t['a194'] = 0x27B6;\n t['a198'] = 0x27B7;\n t['a186'] = 0x27B8;\n t['a195'] = 0x27B9;\n t['a187'] = 0x27BA;\n t['a188'] = 0x27BB;\n t['a189'] = 0x27BC;\n t['a190'] = 0x27BD;\n t['a191'] = 0x27BE;\n t['a89'] = 0x2768;\n t['a90'] = 0x2769;\n t['a93'] = 0x276A;\n t['a94'] = 0x276B;\n t['a91'] = 0x276C;\n t['a92'] = 0x276D;\n t['a205'] = 0x276E;\n t['a85'] = 0x276F;\n t['a206'] = 0x2770;\n t['a86'] = 0x2771;\n t['a87'] = 0x2772;\n t['a88'] = 0x2773;\n t['a95'] = 0x2774;\n t['a96'] = 0x2775;\n t['.notdef'] = 0x0000;\n});\nexports.getGlyphsUnicode = getGlyphsUnicode;\nexports.getDingbatsGlyphsUnicode = getDingbatsGlyphsUnicode;\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getSupplementalGlyphMapForCalibri = exports.getSupplementalGlyphMapForArialBlack = exports.getGlyphMapForStandardFonts = exports.getSymbolsFonts = exports.getSerifFonts = exports.getNonStdFontMap = exports.getStdFontMap = void 0;\n\nvar _core_utils = __w_pdfjs_require__(154);\n\nvar getStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['ArialNarrow'] = 'Helvetica';\n t['ArialNarrow-Bold'] = 'Helvetica-Bold';\n t['ArialNarrow-BoldItalic'] = 'Helvetica-BoldOblique';\n t['ArialNarrow-Italic'] = 'Helvetica-Oblique';\n t['ArialBlack'] = 'Helvetica';\n t['ArialBlack-Bold'] = 'Helvetica-Bold';\n t['ArialBlack-BoldItalic'] = 'Helvetica-BoldOblique';\n t['ArialBlack-Italic'] = 'Helvetica-Oblique';\n t['Arial-Black'] = 'Helvetica';\n t['Arial-Black-Bold'] = 'Helvetica-Bold';\n t['Arial-Black-BoldItalic'] = 'Helvetica-BoldOblique';\n t['Arial-Black-Italic'] = 'Helvetica-Oblique';\n t['Arial'] = 'Helvetica';\n t['Arial-Bold'] = 'Helvetica-Bold';\n t['Arial-BoldItalic'] = 'Helvetica-BoldOblique';\n t['Arial-Italic'] = 'Helvetica-Oblique';\n t['Arial-BoldItalicMT'] = 'Helvetica-BoldOblique';\n t['Arial-BoldMT'] = 'Helvetica-Bold';\n t['Arial-ItalicMT'] = 'Helvetica-Oblique';\n t['ArialMT'] = 'Helvetica';\n t['Courier-Bold'] = 'Courier-Bold';\n t['Courier-BoldItalic'] = 'Courier-BoldOblique';\n t['Courier-Italic'] = 'Courier-Oblique';\n t['CourierNew'] = 'Courier';\n t['CourierNew-Bold'] = 'Courier-Bold';\n t['CourierNew-BoldItalic'] = 'Courier-BoldOblique';\n t['CourierNew-Italic'] = 'Courier-Oblique';\n t['CourierNewPS-BoldItalicMT'] = 'Courier-BoldOblique';\n t['CourierNewPS-BoldMT'] = 'Courier-Bold';\n t['CourierNewPS-ItalicMT'] = 'Courier-Oblique';\n t['CourierNewPSMT'] = 'Courier';\n t['Helvetica'] = 'Helvetica';\n t['Helvetica-Bold'] = 'Helvetica-Bold';\n t['Helvetica-BoldItalic'] = 'Helvetica-BoldOblique';\n t['Helvetica-BoldOblique'] = 'Helvetica-BoldOblique';\n t['Helvetica-Italic'] = 'Helvetica-Oblique';\n t['Helvetica-Oblique'] = 'Helvetica-Oblique';\n t['SegoeUISymbol'] = 'Helvetica';\n t['Symbol-Bold'] = 'Symbol';\n t['Symbol-BoldItalic'] = 'Symbol';\n t['Symbol-Italic'] = 'Symbol';\n t['TimesNewRoman'] = 'Times-Roman';\n t['TimesNewRoman-Bold'] = 'Times-Bold';\n t['TimesNewRoman-BoldItalic'] = 'Times-BoldItalic';\n t['TimesNewRoman-Italic'] = 'Times-Italic';\n t['TimesNewRomanPS'] = 'Times-Roman';\n t['TimesNewRomanPS-Bold'] = 'Times-Bold';\n t['TimesNewRomanPS-BoldItalic'] = 'Times-BoldItalic';\n t['TimesNewRomanPS-BoldItalicMT'] = 'Times-BoldItalic';\n t['TimesNewRomanPS-BoldMT'] = 'Times-Bold';\n t['TimesNewRomanPS-Italic'] = 'Times-Italic';\n t['TimesNewRomanPS-ItalicMT'] = 'Times-Italic';\n t['TimesNewRomanPSMT'] = 'Times-Roman';\n t['TimesNewRomanPSMT-Bold'] = 'Times-Bold';\n t['TimesNewRomanPSMT-BoldItalic'] = 'Times-BoldItalic';\n t['TimesNewRomanPSMT-Italic'] = 'Times-Italic';\n});\nexports.getStdFontMap = getStdFontMap;\nvar getNonStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['Calibri'] = 'Helvetica';\n t['Calibri-Bold'] = 'Helvetica-Bold';\n t['Calibri-BoldItalic'] = 'Helvetica-BoldOblique';\n t['Calibri-Italic'] = 'Helvetica-Oblique';\n t['CenturyGothic'] = 'Helvetica';\n t['CenturyGothic-Bold'] = 'Helvetica-Bold';\n t['CenturyGothic-BoldItalic'] = 'Helvetica-BoldOblique';\n t['CenturyGothic-Italic'] = 'Helvetica-Oblique';\n t['ComicSansMS'] = 'Comic Sans MS';\n t['ComicSansMS-Bold'] = 'Comic Sans MS-Bold';\n t['ComicSansMS-BoldItalic'] = 'Comic Sans MS-BoldItalic';\n t['ComicSansMS-Italic'] = 'Comic Sans MS-Italic';\n t['LucidaConsole'] = 'Courier';\n t['LucidaConsole-Bold'] = 'Courier-Bold';\n t['LucidaConsole-BoldItalic'] = 'Courier-BoldOblique';\n t['LucidaConsole-Italic'] = 'Courier-Oblique';\n t['LucidaSans-Demi'] = 'Helvetica-Bold';\n t['MS-Gothic'] = 'MS Gothic';\n t['MS-Gothic-Bold'] = 'MS Gothic-Bold';\n t['MS-Gothic-BoldItalic'] = 'MS Gothic-BoldItalic';\n t['MS-Gothic-Italic'] = 'MS Gothic-Italic';\n t['MS-Mincho'] = 'MS Mincho';\n t['MS-Mincho-Bold'] = 'MS Mincho-Bold';\n t['MS-Mincho-BoldItalic'] = 'MS Mincho-BoldItalic';\n t['MS-Mincho-Italic'] = 'MS Mincho-Italic';\n t['MS-PGothic'] = 'MS PGothic';\n t['MS-PGothic-Bold'] = 'MS PGothic-Bold';\n t['MS-PGothic-BoldItalic'] = 'MS PGothic-BoldItalic';\n t['MS-PGothic-Italic'] = 'MS PGothic-Italic';\n t['MS-PMincho'] = 'MS PMincho';\n t['MS-PMincho-Bold'] = 'MS PMincho-Bold';\n t['MS-PMincho-BoldItalic'] = 'MS PMincho-BoldItalic';\n t['MS-PMincho-Italic'] = 'MS PMincho-Italic';\n t['NuptialScript'] = 'Times-Italic';\n t['Wingdings'] = 'ZapfDingbats';\n});\nexports.getNonStdFontMap = getNonStdFontMap;\nvar getSerifFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['Adobe Jenson'] = true;\n t['Adobe Text'] = true;\n t['Albertus'] = true;\n t['Aldus'] = true;\n t['Alexandria'] = true;\n t['Algerian'] = true;\n t['American Typewriter'] = true;\n t['Antiqua'] = true;\n t['Apex'] = true;\n t['Arno'] = true;\n t['Aster'] = true;\n t['Aurora'] = true;\n t['Baskerville'] = true;\n t['Bell'] = true;\n t['Bembo'] = true;\n t['Bembo Schoolbook'] = true;\n t['Benguiat'] = true;\n t['Berkeley Old Style'] = true;\n t['Bernhard Modern'] = true;\n t['Berthold City'] = true;\n t['Bodoni'] = true;\n t['Bauer Bodoni'] = true;\n t['Book Antiqua'] = true;\n t['Bookman'] = true;\n t['Bordeaux Roman'] = true;\n t['Californian FB'] = true;\n t['Calisto'] = true;\n t['Calvert'] = true;\n t['Capitals'] = true;\n t['Cambria'] = true;\n t['Cartier'] = true;\n t['Caslon'] = true;\n t['Catull'] = true;\n t['Centaur'] = true;\n t['Century Old Style'] = true;\n t['Century Schoolbook'] = true;\n t['Chaparral'] = true;\n t['Charis SIL'] = true;\n t['Cheltenham'] = true;\n t['Cholla Slab'] = true;\n t['Clarendon'] = true;\n t['Clearface'] = true;\n t['Cochin'] = true;\n t['Colonna'] = true;\n t['Computer Modern'] = true;\n t['Concrete Roman'] = true;\n t['Constantia'] = true;\n t['Cooper Black'] = true;\n t['Corona'] = true;\n t['Ecotype'] = true;\n t['Egyptienne'] = true;\n t['Elephant'] = true;\n t['Excelsior'] = true;\n t['Fairfield'] = true;\n t['FF Scala'] = true;\n t['Folkard'] = true;\n t['Footlight'] = true;\n t['FreeSerif'] = true;\n t['Friz Quadrata'] = true;\n t['Garamond'] = true;\n t['Gentium'] = true;\n t['Georgia'] = true;\n t['Gloucester'] = true;\n t['Goudy Old Style'] = true;\n t['Goudy Schoolbook'] = true;\n t['Goudy Pro Font'] = true;\n t['Granjon'] = true;\n t['Guardian Egyptian'] = true;\n t['Heather'] = true;\n t['Hercules'] = true;\n t['High Tower Text'] = true;\n t['Hiroshige'] = true;\n t['Hoefler Text'] = true;\n t['Humana Serif'] = true;\n t['Imprint'] = true;\n t['Ionic No. 5'] = true;\n t['Janson'] = true;\n t['Joanna'] = true;\n t['Korinna'] = true;\n t['Lexicon'] = true;\n t['Liberation Serif'] = true;\n t['Linux Libertine'] = true;\n t['Literaturnaya'] = true;\n t['Lucida'] = true;\n t['Lucida Bright'] = true;\n t['Melior'] = true;\n t['Memphis'] = true;\n t['Miller'] = true;\n t['Minion'] = true;\n t['Modern'] = true;\n t['Mona Lisa'] = true;\n t['Mrs Eaves'] = true;\n t['MS Serif'] = true;\n t['Museo Slab'] = true;\n t['New York'] = true;\n t['Nimbus Roman'] = true;\n t['NPS Rawlinson Roadway'] = true;\n t['NuptialScript'] = true;\n t['Palatino'] = true;\n t['Perpetua'] = true;\n t['Plantin'] = true;\n t['Plantin Schoolbook'] = true;\n t['Playbill'] = true;\n t['Poor Richard'] = true;\n t['Rawlinson Roadway'] = true;\n t['Renault'] = true;\n t['Requiem'] = true;\n t['Rockwell'] = true;\n t['Roman'] = true;\n t['Rotis Serif'] = true;\n t['Sabon'] = true;\n t['Scala'] = true;\n t['Seagull'] = true;\n t['Sistina'] = true;\n t['Souvenir'] = true;\n t['STIX'] = true;\n t['Stone Informal'] = true;\n t['Stone Serif'] = true;\n t['Sylfaen'] = true;\n t['Times'] = true;\n t['Trajan'] = true;\n t['Trinité'] = true;\n t['Trump Mediaeval'] = true;\n t['Utopia'] = true;\n t['Vale Type'] = true;\n t['Bitstream Vera'] = true;\n t['Vera Serif'] = true;\n t['Versailles'] = true;\n t['Wanted'] = true;\n t['Weiss'] = true;\n t['Wide Latin'] = true;\n t['Windsor'] = true;\n t['XITS'] = true;\n});\nexports.getSerifFonts = getSerifFonts;\nvar getSymbolsFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['Dingbats'] = true;\n t['Symbol'] = true;\n t['ZapfDingbats'] = true;\n});\nexports.getSymbolsFonts = getSymbolsFonts;\nvar getGlyphMapForStandardFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[2] = 10;\n t[3] = 32;\n t[4] = 33;\n t[5] = 34;\n t[6] = 35;\n t[7] = 36;\n t[8] = 37;\n t[9] = 38;\n t[10] = 39;\n t[11] = 40;\n t[12] = 41;\n t[13] = 42;\n t[14] = 43;\n t[15] = 44;\n t[16] = 45;\n t[17] = 46;\n t[18] = 47;\n t[19] = 48;\n t[20] = 49;\n t[21] = 50;\n t[22] = 51;\n t[23] = 52;\n t[24] = 53;\n t[25] = 54;\n t[26] = 55;\n t[27] = 56;\n t[28] = 57;\n t[29] = 58;\n t[30] = 894;\n t[31] = 60;\n t[32] = 61;\n t[33] = 62;\n t[34] = 63;\n t[35] = 64;\n t[36] = 65;\n t[37] = 66;\n t[38] = 67;\n t[39] = 68;\n t[40] = 69;\n t[41] = 70;\n t[42] = 71;\n t[43] = 72;\n t[44] = 73;\n t[45] = 74;\n t[46] = 75;\n t[47] = 76;\n t[48] = 77;\n t[49] = 78;\n t[50] = 79;\n t[51] = 80;\n t[52] = 81;\n t[53] = 82;\n t[54] = 83;\n t[55] = 84;\n t[56] = 85;\n t[57] = 86;\n t[58] = 87;\n t[59] = 88;\n t[60] = 89;\n t[61] = 90;\n t[62] = 91;\n t[63] = 92;\n t[64] = 93;\n t[65] = 94;\n t[66] = 95;\n t[67] = 96;\n t[68] = 97;\n t[69] = 98;\n t[70] = 99;\n t[71] = 100;\n t[72] = 101;\n t[73] = 102;\n t[74] = 103;\n t[75] = 104;\n t[76] = 105;\n t[77] = 106;\n t[78] = 107;\n t[79] = 108;\n t[80] = 109;\n t[81] = 110;\n t[82] = 111;\n t[83] = 112;\n t[84] = 113;\n t[85] = 114;\n t[86] = 115;\n t[87] = 116;\n t[88] = 117;\n t[89] = 118;\n t[90] = 119;\n t[91] = 120;\n t[92] = 121;\n t[93] = 122;\n t[94] = 123;\n t[95] = 124;\n t[96] = 125;\n t[97] = 126;\n t[98] = 196;\n t[99] = 197;\n t[100] = 199;\n t[101] = 201;\n t[102] = 209;\n t[103] = 214;\n t[104] = 220;\n t[105] = 225;\n t[106] = 224;\n t[107] = 226;\n t[108] = 228;\n t[109] = 227;\n t[110] = 229;\n t[111] = 231;\n t[112] = 233;\n t[113] = 232;\n t[114] = 234;\n t[115] = 235;\n t[116] = 237;\n t[117] = 236;\n t[118] = 238;\n t[119] = 239;\n t[120] = 241;\n t[121] = 243;\n t[122] = 242;\n t[123] = 244;\n t[124] = 246;\n t[125] = 245;\n t[126] = 250;\n t[127] = 249;\n t[128] = 251;\n t[129] = 252;\n t[130] = 8224;\n t[131] = 176;\n t[132] = 162;\n t[133] = 163;\n t[134] = 167;\n t[135] = 8226;\n t[136] = 182;\n t[137] = 223;\n t[138] = 174;\n t[139] = 169;\n t[140] = 8482;\n t[141] = 180;\n t[142] = 168;\n t[143] = 8800;\n t[144] = 198;\n t[145] = 216;\n t[146] = 8734;\n t[147] = 177;\n t[148] = 8804;\n t[149] = 8805;\n t[150] = 165;\n t[151] = 181;\n t[152] = 8706;\n t[153] = 8721;\n t[154] = 8719;\n t[156] = 8747;\n t[157] = 170;\n t[158] = 186;\n t[159] = 8486;\n t[160] = 230;\n t[161] = 248;\n t[162] = 191;\n t[163] = 161;\n t[164] = 172;\n t[165] = 8730;\n t[166] = 402;\n t[167] = 8776;\n t[168] = 8710;\n t[169] = 171;\n t[170] = 187;\n t[171] = 8230;\n t[210] = 218;\n t[223] = 711;\n t[224] = 321;\n t[225] = 322;\n t[227] = 353;\n t[229] = 382;\n t[234] = 253;\n t[252] = 263;\n t[253] = 268;\n t[254] = 269;\n t[258] = 258;\n t[260] = 260;\n t[261] = 261;\n t[265] = 280;\n t[266] = 281;\n t[268] = 283;\n t[269] = 313;\n t[275] = 323;\n t[276] = 324;\n t[278] = 328;\n t[284] = 345;\n t[285] = 346;\n t[286] = 347;\n t[292] = 367;\n t[295] = 377;\n t[296] = 378;\n t[298] = 380;\n t[305] = 963;\n t[306] = 964;\n t[307] = 966;\n t[308] = 8215;\n t[309] = 8252;\n t[310] = 8319;\n t[311] = 8359;\n t[312] = 8592;\n t[313] = 8593;\n t[337] = 9552;\n t[493] = 1039;\n t[494] = 1040;\n t[705] = 1524;\n t[706] = 8362;\n t[710] = 64288;\n t[711] = 64298;\n t[759] = 1617;\n t[761] = 1776;\n t[763] = 1778;\n t[775] = 1652;\n t[777] = 1764;\n t[778] = 1780;\n t[779] = 1781;\n t[780] = 1782;\n t[782] = 771;\n t[783] = 64726;\n t[786] = 8363;\n t[788] = 8532;\n t[790] = 768;\n t[791] = 769;\n t[792] = 768;\n t[795] = 803;\n t[797] = 64336;\n t[798] = 64337;\n t[799] = 64342;\n t[800] = 64343;\n t[801] = 64344;\n t[802] = 64345;\n t[803] = 64362;\n t[804] = 64363;\n t[805] = 64364;\n t[2424] = 7821;\n t[2425] = 7822;\n t[2426] = 7823;\n t[2427] = 7824;\n t[2428] = 7825;\n t[2429] = 7826;\n t[2430] = 7827;\n t[2433] = 7682;\n t[2678] = 8045;\n t[2679] = 8046;\n t[2830] = 1552;\n t[2838] = 686;\n t[2840] = 751;\n t[2842] = 753;\n t[2843] = 754;\n t[2844] = 755;\n t[2846] = 757;\n t[2856] = 767;\n t[2857] = 848;\n t[2858] = 849;\n t[2862] = 853;\n t[2863] = 854;\n t[2864] = 855;\n t[2865] = 861;\n t[2866] = 862;\n t[2906] = 7460;\n t[2908] = 7462;\n t[2909] = 7463;\n t[2910] = 7464;\n t[2912] = 7466;\n t[2913] = 7467;\n t[2914] = 7468;\n t[2916] = 7470;\n t[2917] = 7471;\n t[2918] = 7472;\n t[2920] = 7474;\n t[2921] = 7475;\n t[2922] = 7476;\n t[2924] = 7478;\n t[2925] = 7479;\n t[2926] = 7480;\n t[2928] = 7482;\n t[2929] = 7483;\n t[2930] = 7484;\n t[2932] = 7486;\n t[2933] = 7487;\n t[2934] = 7488;\n t[2936] = 7490;\n t[2937] = 7491;\n t[2938] = 7492;\n t[2940] = 7494;\n t[2941] = 7495;\n t[2942] = 7496;\n t[2944] = 7498;\n t[2946] = 7500;\n t[2948] = 7502;\n t[2950] = 7504;\n t[2951] = 7505;\n t[2952] = 7506;\n t[2954] = 7508;\n t[2955] = 7509;\n t[2956] = 7510;\n t[2958] = 7512;\n t[2959] = 7513;\n t[2960] = 7514;\n t[2962] = 7516;\n t[2963] = 7517;\n t[2964] = 7518;\n t[2966] = 7520;\n t[2967] = 7521;\n t[2968] = 7522;\n t[2970] = 7524;\n t[2971] = 7525;\n t[2972] = 7526;\n t[2974] = 7528;\n t[2975] = 7529;\n t[2976] = 7530;\n t[2978] = 1537;\n t[2979] = 1538;\n t[2980] = 1539;\n t[2982] = 1549;\n t[2983] = 1551;\n t[2984] = 1552;\n t[2986] = 1554;\n t[2987] = 1555;\n t[2988] = 1556;\n t[2990] = 1623;\n t[2991] = 1624;\n t[2995] = 1775;\n t[2999] = 1791;\n t[3002] = 64290;\n t[3003] = 64291;\n t[3004] = 64292;\n t[3006] = 64294;\n t[3007] = 64295;\n t[3008] = 64296;\n t[3011] = 1900;\n t[3014] = 8223;\n t[3015] = 8244;\n t[3017] = 7532;\n t[3018] = 7533;\n t[3019] = 7534;\n t[3075] = 7590;\n t[3076] = 7591;\n t[3079] = 7594;\n t[3080] = 7595;\n t[3083] = 7598;\n t[3084] = 7599;\n t[3087] = 7602;\n t[3088] = 7603;\n t[3091] = 7606;\n t[3092] = 7607;\n t[3095] = 7610;\n t[3096] = 7611;\n t[3099] = 7614;\n t[3100] = 7615;\n t[3103] = 7618;\n t[3104] = 7619;\n t[3107] = 8337;\n t[3108] = 8338;\n t[3116] = 1884;\n t[3119] = 1885;\n t[3120] = 1885;\n t[3123] = 1886;\n t[3124] = 1886;\n t[3127] = 1887;\n t[3128] = 1887;\n t[3131] = 1888;\n t[3132] = 1888;\n t[3135] = 1889;\n t[3136] = 1889;\n t[3139] = 1890;\n t[3140] = 1890;\n t[3143] = 1891;\n t[3144] = 1891;\n t[3147] = 1892;\n t[3148] = 1892;\n t[3153] = 580;\n t[3154] = 581;\n t[3157] = 584;\n t[3158] = 585;\n t[3161] = 588;\n t[3162] = 589;\n t[3165] = 891;\n t[3166] = 892;\n t[3169] = 1274;\n t[3170] = 1275;\n t[3173] = 1278;\n t[3174] = 1279;\n t[3181] = 7622;\n t[3182] = 7623;\n t[3282] = 11799;\n t[3316] = 578;\n t[3379] = 42785;\n t[3393] = 1159;\n t[3416] = 8377;\n});\nexports.getGlyphMapForStandardFonts = getGlyphMapForStandardFonts;\nvar getSupplementalGlyphMapForArialBlack = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[227] = 322;\n t[264] = 261;\n t[291] = 346;\n});\nexports.getSupplementalGlyphMapForArialBlack = getSupplementalGlyphMapForArialBlack;\nvar getSupplementalGlyphMapForCalibri = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[1] = 32;\n t[4] = 65;\n t[17] = 66;\n t[18] = 67;\n t[24] = 68;\n t[28] = 69;\n t[38] = 70;\n t[39] = 71;\n t[44] = 72;\n t[47] = 73;\n t[58] = 74;\n t[60] = 75;\n t[62] = 76;\n t[68] = 77;\n t[69] = 78;\n t[75] = 79;\n t[87] = 80;\n t[89] = 81;\n t[90] = 82;\n t[94] = 83;\n t[100] = 84;\n t[104] = 85;\n t[115] = 86;\n t[116] = 87;\n t[121] = 88;\n t[122] = 89;\n t[127] = 90;\n t[258] = 97;\n t[268] = 261;\n t[271] = 98;\n t[272] = 99;\n t[273] = 263;\n t[282] = 100;\n t[286] = 101;\n t[295] = 281;\n t[296] = 102;\n t[336] = 103;\n t[346] = 104;\n t[349] = 105;\n t[361] = 106;\n t[364] = 107;\n t[367] = 108;\n t[371] = 322;\n t[373] = 109;\n t[374] = 110;\n t[381] = 111;\n t[383] = 243;\n t[393] = 112;\n t[395] = 113;\n t[396] = 114;\n t[400] = 115;\n t[401] = 347;\n t[410] = 116;\n t[437] = 117;\n t[448] = 118;\n t[449] = 119;\n t[454] = 120;\n t[455] = 121;\n t[460] = 122;\n t[463] = 380;\n t[853] = 44;\n t[855] = 58;\n t[856] = 46;\n t[876] = 47;\n t[878] = 45;\n t[882] = 45;\n t[894] = 40;\n t[895] = 41;\n t[896] = 91;\n t[897] = 93;\n t[923] = 64;\n t[1004] = 48;\n t[1005] = 49;\n t[1006] = 50;\n t[1007] = 51;\n t[1008] = 52;\n t[1009] = 53;\n t[1010] = 54;\n t[1011] = 55;\n t[1012] = 56;\n t[1013] = 57;\n t[1081] = 37;\n t[1085] = 43;\n t[1086] = 45;\n});\nexports.getSupplementalGlyphMapForCalibri = getSupplementalGlyphMapForCalibri;\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getLookupTableFactory = __w_pdfjs_require__(154).getLookupTableFactory;\nvar getSpecialPUASymbols = getLookupTableFactory(function (t) {\n t[63721] = 0x00A9;\n t[63193] = 0x00A9;\n t[63720] = 0x00AE;\n t[63194] = 0x00AE;\n t[63722] = 0x2122;\n t[63195] = 0x2122;\n t[63729] = 0x23A7;\n t[63730] = 0x23A8;\n t[63731] = 0x23A9;\n t[63740] = 0x23AB;\n t[63741] = 0x23AC;\n t[63742] = 0x23AD;\n t[63726] = 0x23A1;\n t[63727] = 0x23A2;\n t[63728] = 0x23A3;\n t[63737] = 0x23A4;\n t[63738] = 0x23A5;\n t[63739] = 0x23A6;\n t[63723] = 0x239B;\n t[63724] = 0x239C;\n t[63725] = 0x239D;\n t[63734] = 0x239E;\n t[63735] = 0x239F;\n t[63736] = 0x23A0;\n});\nfunction mapSpecialUnicodeValues(code) {\n if (code >= 0xFFF0 && code <= 0xFFFF) {\n return 0;\n } else if (code >= 0xF600 && code <= 0xF8FF) {\n return getSpecialPUASymbols()[code] || code;\n } else if (code === 0x00AD) {\n return 0x002D;\n }\n return code;\n}\nfunction getUnicodeForGlyph(name, glyphsUnicodeMap) {\n var unicode = glyphsUnicodeMap[name];\n if (unicode !== undefined) {\n return unicode;\n }\n if (!name) {\n return -1;\n }\n if (name[0] === 'u') {\n var nameLen = name.length, hexStr;\n if (nameLen === 7 && name[1] === 'n' && name[2] === 'i') {\n hexStr = name.substring(3);\n } else if (nameLen >= 5 && nameLen <= 7) {\n hexStr = name.substring(1);\n } else {\n return -1;\n }\n if (hexStr === hexStr.toUpperCase()) {\n unicode = parseInt(hexStr, 16);\n if (unicode >= 0) {\n return unicode;\n }\n }\n }\n return -1;\n}\nvar UnicodeRanges = [\n {\n 'begin': 0x0000,\n 'end': 0x007F\n },\n {\n 'begin': 0x0080,\n 'end': 0x00FF\n },\n {\n 'begin': 0x0100,\n 'end': 0x017F\n },\n {\n 'begin': 0x0180,\n 'end': 0x024F\n },\n {\n 'begin': 0x0250,\n 'end': 0x02AF\n },\n {\n 'begin': 0x02B0,\n 'end': 0x02FF\n },\n {\n 'begin': 0x0300,\n 'end': 0x036F\n },\n {\n 'begin': 0x0370,\n 'end': 0x03FF\n },\n {\n 'begin': 0x2C80,\n 'end': 0x2CFF\n },\n {\n 'begin': 0x0400,\n 'end': 0x04FF\n },\n {\n 'begin': 0x0530,\n 'end': 0x058F\n },\n {\n 'begin': 0x0590,\n 'end': 0x05FF\n },\n {\n 'begin': 0xA500,\n 'end': 0xA63F\n },\n {\n 'begin': 0x0600,\n 'end': 0x06FF\n },\n {\n 'begin': 0x07C0,\n 'end': 0x07FF\n },\n {\n 'begin': 0x0900,\n 'end': 0x097F\n },\n {\n 'begin': 0x0980,\n 'end': 0x09FF\n },\n {\n 'begin': 0x0A00,\n 'end': 0x0A7F\n },\n {\n 'begin': 0x0A80,\n 'end': 0x0AFF\n },\n {\n 'begin': 0x0B00,\n 'end': 0x0B7F\n },\n {\n 'begin': 0x0B80,\n 'end': 0x0BFF\n },\n {\n 'begin': 0x0C00,\n 'end': 0x0C7F\n },\n {\n 'begin': 0x0C80,\n 'end': 0x0CFF\n },\n {\n 'begin': 0x0D00,\n 'end': 0x0D7F\n },\n {\n 'begin': 0x0E00,\n 'end': 0x0E7F\n },\n {\n 'begin': 0x0E80,\n 'end': 0x0EFF\n },\n {\n 'begin': 0x10A0,\n 'end': 0x10FF\n },\n {\n 'begin': 0x1B00,\n 'end': 0x1B7F\n },\n {\n 'begin': 0x1100,\n 'end': 0x11FF\n },\n {\n 'begin': 0x1E00,\n 'end': 0x1EFF\n },\n {\n 'begin': 0x1F00,\n 'end': 0x1FFF\n },\n {\n 'begin': 0x2000,\n 'end': 0x206F\n },\n {\n 'begin': 0x2070,\n 'end': 0x209F\n },\n {\n 'begin': 0x20A0,\n 'end': 0x20CF\n },\n {\n 'begin': 0x20D0,\n 'end': 0x20FF\n },\n {\n 'begin': 0x2100,\n 'end': 0x214F\n },\n {\n 'begin': 0x2150,\n 'end': 0x218F\n },\n {\n 'begin': 0x2190,\n 'end': 0x21FF\n },\n {\n 'begin': 0x2200,\n 'end': 0x22FF\n },\n {\n 'begin': 0x2300,\n 'end': 0x23FF\n },\n {\n 'begin': 0x2400,\n 'end': 0x243F\n },\n {\n 'begin': 0x2440,\n 'end': 0x245F\n },\n {\n 'begin': 0x2460,\n 'end': 0x24FF\n },\n {\n 'begin': 0x2500,\n 'end': 0x257F\n },\n {\n 'begin': 0x2580,\n 'end': 0x259F\n },\n {\n 'begin': 0x25A0,\n 'end': 0x25FF\n },\n {\n 'begin': 0x2600,\n 'end': 0x26FF\n },\n {\n 'begin': 0x2700,\n 'end': 0x27BF\n },\n {\n 'begin': 0x3000,\n 'end': 0x303F\n },\n {\n 'begin': 0x3040,\n 'end': 0x309F\n },\n {\n 'begin': 0x30A0,\n 'end': 0x30FF\n },\n {\n 'begin': 0x3100,\n 'end': 0x312F\n },\n {\n 'begin': 0x3130,\n 'end': 0x318F\n },\n {\n 'begin': 0xA840,\n 'end': 0xA87F\n },\n {\n 'begin': 0x3200,\n 'end': 0x32FF\n },\n {\n 'begin': 0x3300,\n 'end': 0x33FF\n },\n {\n 'begin': 0xAC00,\n 'end': 0xD7AF\n },\n {\n 'begin': 0xD800,\n 'end': 0xDFFF\n },\n {\n 'begin': 0x10900,\n 'end': 0x1091F\n },\n {\n 'begin': 0x4E00,\n 'end': 0x9FFF\n },\n {\n 'begin': 0xE000,\n 'end': 0xF8FF\n },\n {\n 'begin': 0x31C0,\n 'end': 0x31EF\n },\n {\n 'begin': 0xFB00,\n 'end': 0xFB4F\n },\n {\n 'begin': 0xFB50,\n 'end': 0xFDFF\n },\n {\n 'begin': 0xFE20,\n 'end': 0xFE2F\n },\n {\n 'begin': 0xFE10,\n 'end': 0xFE1F\n },\n {\n 'begin': 0xFE50,\n 'end': 0xFE6F\n },\n {\n 'begin': 0xFE70,\n 'end': 0xFEFF\n },\n {\n 'begin': 0xFF00,\n 'end': 0xFFEF\n },\n {\n 'begin': 0xFFF0,\n 'end': 0xFFFF\n },\n {\n 'begin': 0x0F00,\n 'end': 0x0FFF\n },\n {\n 'begin': 0x0700,\n 'end': 0x074F\n },\n {\n 'begin': 0x0780,\n 'end': 0x07BF\n },\n {\n 'begin': 0x0D80,\n 'end': 0x0DFF\n },\n {\n 'begin': 0x1000,\n 'end': 0x109F\n },\n {\n 'begin': 0x1200,\n 'end': 0x137F\n },\n {\n 'begin': 0x13A0,\n 'end': 0x13FF\n },\n {\n 'begin': 0x1400,\n 'end': 0x167F\n },\n {\n 'begin': 0x1680,\n 'end': 0x169F\n },\n {\n 'begin': 0x16A0,\n 'end': 0x16FF\n },\n {\n 'begin': 0x1780,\n 'end': 0x17FF\n },\n {\n 'begin': 0x1800,\n 'end': 0x18AF\n },\n {\n 'begin': 0x2800,\n 'end': 0x28FF\n },\n {\n 'begin': 0xA000,\n 'end': 0xA48F\n },\n {\n 'begin': 0x1700,\n 'end': 0x171F\n },\n {\n 'begin': 0x10300,\n 'end': 0x1032F\n },\n {\n 'begin': 0x10330,\n 'end': 0x1034F\n },\n {\n 'begin': 0x10400,\n 'end': 0x1044F\n },\n {\n 'begin': 0x1D000,\n 'end': 0x1D0FF\n },\n {\n 'begin': 0x1D400,\n 'end': 0x1D7FF\n },\n {\n 'begin': 0xFF000,\n 'end': 0xFFFFD\n },\n {\n 'begin': 0xFE00,\n 'end': 0xFE0F\n },\n {\n 'begin': 0xE0000,\n 'end': 0xE007F\n },\n {\n 'begin': 0x1900,\n 'end': 0x194F\n },\n {\n 'begin': 0x1950,\n 'end': 0x197F\n },\n {\n 'begin': 0x1980,\n 'end': 0x19DF\n },\n {\n 'begin': 0x1A00,\n 'end': 0x1A1F\n },\n {\n 'begin': 0x2C00,\n 'end': 0x2C5F\n },\n {\n 'begin': 0x2D30,\n 'end': 0x2D7F\n },\n {\n 'begin': 0x4DC0,\n 'end': 0x4DFF\n },\n {\n 'begin': 0xA800,\n 'end': 0xA82F\n },\n {\n 'begin': 0x10000,\n 'end': 0x1007F\n },\n {\n 'begin': 0x10140,\n 'end': 0x1018F\n },\n {\n 'begin': 0x10380,\n 'end': 0x1039F\n },\n {\n 'begin': 0x103A0,\n 'end': 0x103DF\n },\n {\n 'begin': 0x10450,\n 'end': 0x1047F\n },\n {\n 'begin': 0x10480,\n 'end': 0x104AF\n },\n {\n 'begin': 0x10800,\n 'end': 0x1083F\n },\n {\n 'begin': 0x10A00,\n 'end': 0x10A5F\n },\n {\n 'begin': 0x1D300,\n 'end': 0x1D35F\n },\n {\n 'begin': 0x12000,\n 'end': 0x123FF\n },\n {\n 'begin': 0x1D360,\n 'end': 0x1D37F\n },\n {\n 'begin': 0x1B80,\n 'end': 0x1BBF\n },\n {\n 'begin': 0x1C00,\n 'end': 0x1C4F\n },\n {\n 'begin': 0x1C50,\n 'end': 0x1C7F\n },\n {\n 'begin': 0xA880,\n 'end': 0xA8DF\n },\n {\n 'begin': 0xA900,\n 'end': 0xA92F\n },\n {\n 'begin': 0xA930,\n 'end': 0xA95F\n },\n {\n 'begin': 0xAA00,\n 'end': 0xAA5F\n },\n {\n 'begin': 0x10190,\n 'end': 0x101CF\n },\n {\n 'begin': 0x101D0,\n 'end': 0x101FF\n },\n {\n 'begin': 0x102A0,\n 'end': 0x102DF\n },\n {\n 'begin': 0x1F030,\n 'end': 0x1F09F\n }\n];\nfunction getUnicodeRangeFor(value) {\n for (var i = 0, ii = UnicodeRanges.length; i < ii; i++) {\n var range = UnicodeRanges[i];\n if (value >= range.begin && value < range.end) {\n return i;\n }\n }\n return -1;\n}\nfunction isRTLRangeFor(value) {\n var range = UnicodeRanges[13];\n if (value >= range.begin && value < range.end) {\n return true;\n }\n range = UnicodeRanges[11];\n if (value >= range.begin && value < range.end) {\n return true;\n }\n return false;\n}\nvar getNormalizedUnicodes = getLookupTableFactory(function (t) {\n t['\\u00A8'] = '\\u0020\\u0308';\n t['\\u00AF'] = '\\u0020\\u0304';\n t['\\u00B4'] = '\\u0020\\u0301';\n t['\\u00B5'] = '\\u03BC';\n t['\\u00B8'] = '\\u0020\\u0327';\n t['\\u0132'] = '\\u0049\\u004A';\n t['\\u0133'] = '\\u0069\\u006A';\n t['\\u013F'] = '\\u004C\\u00B7';\n t['\\u0140'] = '\\u006C\\u00B7';\n t['\\u0149'] = '\\u02BC\\u006E';\n t['\\u017F'] = '\\u0073';\n t['\\u01C4'] = '\\u0044\\u017D';\n t['\\u01C5'] = '\\u0044\\u017E';\n t['\\u01C6'] = '\\u0064\\u017E';\n t['\\u01C7'] = '\\u004C\\u004A';\n t['\\u01C8'] = '\\u004C\\u006A';\n t['\\u01C9'] = '\\u006C\\u006A';\n t['\\u01CA'] = '\\u004E\\u004A';\n t['\\u01CB'] = '\\u004E\\u006A';\n t['\\u01CC'] = '\\u006E\\u006A';\n t['\\u01F1'] = '\\u0044\\u005A';\n t['\\u01F2'] = '\\u0044\\u007A';\n t['\\u01F3'] = '\\u0064\\u007A';\n t['\\u02D8'] = '\\u0020\\u0306';\n t['\\u02D9'] = '\\u0020\\u0307';\n t['\\u02DA'] = '\\u0020\\u030A';\n t['\\u02DB'] = '\\u0020\\u0328';\n t['\\u02DC'] = '\\u0020\\u0303';\n t['\\u02DD'] = '\\u0020\\u030B';\n t['\\u037A'] = '\\u0020\\u0345';\n t['\\u0384'] = '\\u0020\\u0301';\n t['\\u03D0'] = '\\u03B2';\n t['\\u03D1'] = '\\u03B8';\n t['\\u03D2'] = '\\u03A5';\n t['\\u03D5'] = '\\u03C6';\n t['\\u03D6'] = '\\u03C0';\n t['\\u03F0'] = '\\u03BA';\n t['\\u03F1'] = '\\u03C1';\n t['\\u03F2'] = '\\u03C2';\n t['\\u03F4'] = '\\u0398';\n t['\\u03F5'] = '\\u03B5';\n t['\\u03F9'] = '\\u03A3';\n t['\\u0587'] = '\\u0565\\u0582';\n t['\\u0675'] = '\\u0627\\u0674';\n t['\\u0676'] = '\\u0648\\u0674';\n t['\\u0677'] = '\\u06C7\\u0674';\n t['\\u0678'] = '\\u064A\\u0674';\n t['\\u0E33'] = '\\u0E4D\\u0E32';\n t['\\u0EB3'] = '\\u0ECD\\u0EB2';\n t['\\u0EDC'] = '\\u0EAB\\u0E99';\n t['\\u0EDD'] = '\\u0EAB\\u0EA1';\n t['\\u0F77'] = '\\u0FB2\\u0F81';\n t['\\u0F79'] = '\\u0FB3\\u0F81';\n t['\\u1E9A'] = '\\u0061\\u02BE';\n t['\\u1FBD'] = '\\u0020\\u0313';\n t['\\u1FBF'] = '\\u0020\\u0313';\n t['\\u1FC0'] = '\\u0020\\u0342';\n t['\\u1FFE'] = '\\u0020\\u0314';\n t['\\u2002'] = '\\u0020';\n t['\\u2003'] = '\\u0020';\n t['\\u2004'] = '\\u0020';\n t['\\u2005'] = '\\u0020';\n t['\\u2006'] = '\\u0020';\n t['\\u2008'] = '\\u0020';\n t['\\u2009'] = '\\u0020';\n t['\\u200A'] = '\\u0020';\n t['\\u2017'] = '\\u0020\\u0333';\n t['\\u2024'] = '\\u002E';\n t['\\u2025'] = '\\u002E\\u002E';\n t['\\u2026'] = '\\u002E\\u002E\\u002E';\n t['\\u2033'] = '\\u2032\\u2032';\n t['\\u2034'] = '\\u2032\\u2032\\u2032';\n t['\\u2036'] = '\\u2035\\u2035';\n t['\\u2037'] = '\\u2035\\u2035\\u2035';\n t['\\u203C'] = '\\u0021\\u0021';\n t['\\u203E'] = '\\u0020\\u0305';\n t['\\u2047'] = '\\u003F\\u003F';\n t['\\u2048'] = '\\u003F\\u0021';\n t['\\u2049'] = '\\u0021\\u003F';\n t['\\u2057'] = '\\u2032\\u2032\\u2032\\u2032';\n t['\\u205F'] = '\\u0020';\n t['\\u20A8'] = '\\u0052\\u0073';\n t['\\u2100'] = '\\u0061\\u002F\\u0063';\n t['\\u2101'] = '\\u0061\\u002F\\u0073';\n t['\\u2103'] = '\\u00B0\\u0043';\n t['\\u2105'] = '\\u0063\\u002F\\u006F';\n t['\\u2106'] = '\\u0063\\u002F\\u0075';\n t['\\u2107'] = '\\u0190';\n t['\\u2109'] = '\\u00B0\\u0046';\n t['\\u2116'] = '\\u004E\\u006F';\n t['\\u2121'] = '\\u0054\\u0045\\u004C';\n t['\\u2135'] = '\\u05D0';\n t['\\u2136'] = '\\u05D1';\n t['\\u2137'] = '\\u05D2';\n t['\\u2138'] = '\\u05D3';\n t['\\u213B'] = '\\u0046\\u0041\\u0058';\n t['\\u2160'] = '\\u0049';\n t['\\u2161'] = '\\u0049\\u0049';\n t['\\u2162'] = '\\u0049\\u0049\\u0049';\n t['\\u2163'] = '\\u0049\\u0056';\n t['\\u2164'] = '\\u0056';\n t['\\u2165'] = '\\u0056\\u0049';\n t['\\u2166'] = '\\u0056\\u0049\\u0049';\n t['\\u2167'] = '\\u0056\\u0049\\u0049\\u0049';\n t['\\u2168'] = '\\u0049\\u0058';\n t['\\u2169'] = '\\u0058';\n t['\\u216A'] = '\\u0058\\u0049';\n t['\\u216B'] = '\\u0058\\u0049\\u0049';\n t['\\u216C'] = '\\u004C';\n t['\\u216D'] = '\\u0043';\n t['\\u216E'] = '\\u0044';\n t['\\u216F'] = '\\u004D';\n t['\\u2170'] = '\\u0069';\n t['\\u2171'] = '\\u0069\\u0069';\n t['\\u2172'] = '\\u0069\\u0069\\u0069';\n t['\\u2173'] = '\\u0069\\u0076';\n t['\\u2174'] = '\\u0076';\n t['\\u2175'] = '\\u0076\\u0069';\n t['\\u2176'] = '\\u0076\\u0069\\u0069';\n t['\\u2177'] = '\\u0076\\u0069\\u0069\\u0069';\n t['\\u2178'] = '\\u0069\\u0078';\n t['\\u2179'] = '\\u0078';\n t['\\u217A'] = '\\u0078\\u0069';\n t['\\u217B'] = '\\u0078\\u0069\\u0069';\n t['\\u217C'] = '\\u006C';\n t['\\u217D'] = '\\u0063';\n t['\\u217E'] = '\\u0064';\n t['\\u217F'] = '\\u006D';\n t['\\u222C'] = '\\u222B\\u222B';\n t['\\u222D'] = '\\u222B\\u222B\\u222B';\n t['\\u222F'] = '\\u222E\\u222E';\n t['\\u2230'] = '\\u222E\\u222E\\u222E';\n t['\\u2474'] = '\\u0028\\u0031\\u0029';\n t['\\u2475'] = '\\u0028\\u0032\\u0029';\n t['\\u2476'] = '\\u0028\\u0033\\u0029';\n t['\\u2477'] = '\\u0028\\u0034\\u0029';\n t['\\u2478'] = '\\u0028\\u0035\\u0029';\n t['\\u2479'] = '\\u0028\\u0036\\u0029';\n t['\\u247A'] = '\\u0028\\u0037\\u0029';\n t['\\u247B'] = '\\u0028\\u0038\\u0029';\n t['\\u247C'] = '\\u0028\\u0039\\u0029';\n t['\\u247D'] = '\\u0028\\u0031\\u0030\\u0029';\n t['\\u247E'] = '\\u0028\\u0031\\u0031\\u0029';\n t['\\u247F'] = '\\u0028\\u0031\\u0032\\u0029';\n t['\\u2480'] = '\\u0028\\u0031\\u0033\\u0029';\n t['\\u2481'] = '\\u0028\\u0031\\u0034\\u0029';\n t['\\u2482'] = '\\u0028\\u0031\\u0035\\u0029';\n t['\\u2483'] = '\\u0028\\u0031\\u0036\\u0029';\n t['\\u2484'] = '\\u0028\\u0031\\u0037\\u0029';\n t['\\u2485'] = '\\u0028\\u0031\\u0038\\u0029';\n t['\\u2486'] = '\\u0028\\u0031\\u0039\\u0029';\n t['\\u2487'] = '\\u0028\\u0032\\u0030\\u0029';\n t['\\u2488'] = '\\u0031\\u002E';\n t['\\u2489'] = '\\u0032\\u002E';\n t['\\u248A'] = '\\u0033\\u002E';\n t['\\u248B'] = '\\u0034\\u002E';\n t['\\u248C'] = '\\u0035\\u002E';\n t['\\u248D'] = '\\u0036\\u002E';\n t['\\u248E'] = '\\u0037\\u002E';\n t['\\u248F'] = '\\u0038\\u002E';\n t['\\u2490'] = '\\u0039\\u002E';\n t['\\u2491'] = '\\u0031\\u0030\\u002E';\n t['\\u2492'] = '\\u0031\\u0031\\u002E';\n t['\\u2493'] = '\\u0031\\u0032\\u002E';\n t['\\u2494'] = '\\u0031\\u0033\\u002E';\n t['\\u2495'] = '\\u0031\\u0034\\u002E';\n t['\\u2496'] = '\\u0031\\u0035\\u002E';\n t['\\u2497'] = '\\u0031\\u0036\\u002E';\n t['\\u2498'] = '\\u0031\\u0037\\u002E';\n t['\\u2499'] = '\\u0031\\u0038\\u002E';\n t['\\u249A'] = '\\u0031\\u0039\\u002E';\n t['\\u249B'] = '\\u0032\\u0030\\u002E';\n t['\\u249C'] = '\\u0028\\u0061\\u0029';\n t['\\u249D'] = '\\u0028\\u0062\\u0029';\n t['\\u249E'] = '\\u0028\\u0063\\u0029';\n t['\\u249F'] = '\\u0028\\u0064\\u0029';\n t['\\u24A0'] = '\\u0028\\u0065\\u0029';\n t['\\u24A1'] = '\\u0028\\u0066\\u0029';\n t['\\u24A2'] = '\\u0028\\u0067\\u0029';\n t['\\u24A3'] = '\\u0028\\u0068\\u0029';\n t['\\u24A4'] = '\\u0028\\u0069\\u0029';\n t['\\u24A5'] = '\\u0028\\u006A\\u0029';\n t['\\u24A6'] = '\\u0028\\u006B\\u0029';\n t['\\u24A7'] = '\\u0028\\u006C\\u0029';\n t['\\u24A8'] = '\\u0028\\u006D\\u0029';\n t['\\u24A9'] = '\\u0028\\u006E\\u0029';\n t['\\u24AA'] = '\\u0028\\u006F\\u0029';\n t['\\u24AB'] = '\\u0028\\u0070\\u0029';\n t['\\u24AC'] = '\\u0028\\u0071\\u0029';\n t['\\u24AD'] = '\\u0028\\u0072\\u0029';\n t['\\u24AE'] = '\\u0028\\u0073\\u0029';\n t['\\u24AF'] = '\\u0028\\u0074\\u0029';\n t['\\u24B0'] = '\\u0028\\u0075\\u0029';\n t['\\u24B1'] = '\\u0028\\u0076\\u0029';\n t['\\u24B2'] = '\\u0028\\u0077\\u0029';\n t['\\u24B3'] = '\\u0028\\u0078\\u0029';\n t['\\u24B4'] = '\\u0028\\u0079\\u0029';\n t['\\u24B5'] = '\\u0028\\u007A\\u0029';\n t['\\u2A0C'] = '\\u222B\\u222B\\u222B\\u222B';\n t['\\u2A74'] = '\\u003A\\u003A\\u003D';\n t['\\u2A75'] = '\\u003D\\u003D';\n t['\\u2A76'] = '\\u003D\\u003D\\u003D';\n t['\\u2E9F'] = '\\u6BCD';\n t['\\u2EF3'] = '\\u9F9F';\n t['\\u2F00'] = '\\u4E00';\n t['\\u2F01'] = '\\u4E28';\n t['\\u2F02'] = '\\u4E36';\n t['\\u2F03'] = '\\u4E3F';\n t['\\u2F04'] = '\\u4E59';\n t['\\u2F05'] = '\\u4E85';\n t['\\u2F06'] = '\\u4E8C';\n t['\\u2F07'] = '\\u4EA0';\n t['\\u2F08'] = '\\u4EBA';\n t['\\u2F09'] = '\\u513F';\n t['\\u2F0A'] = '\\u5165';\n t['\\u2F0B'] = '\\u516B';\n t['\\u2F0C'] = '\\u5182';\n t['\\u2F0D'] = '\\u5196';\n t['\\u2F0E'] = '\\u51AB';\n t['\\u2F0F'] = '\\u51E0';\n t['\\u2F10'] = '\\u51F5';\n t['\\u2F11'] = '\\u5200';\n t['\\u2F12'] = '\\u529B';\n t['\\u2F13'] = '\\u52F9';\n t['\\u2F14'] = '\\u5315';\n t['\\u2F15'] = '\\u531A';\n t['\\u2F16'] = '\\u5338';\n t['\\u2F17'] = '\\u5341';\n t['\\u2F18'] = '\\u535C';\n t['\\u2F19'] = '\\u5369';\n t['\\u2F1A'] = '\\u5382';\n t['\\u2F1B'] = '\\u53B6';\n t['\\u2F1C'] = '\\u53C8';\n t['\\u2F1D'] = '\\u53E3';\n t['\\u2F1E'] = '\\u56D7';\n t['\\u2F1F'] = '\\u571F';\n t['\\u2F20'] = '\\u58EB';\n t['\\u2F21'] = '\\u5902';\n t['\\u2F22'] = '\\u590A';\n t['\\u2F23'] = '\\u5915';\n t['\\u2F24'] = '\\u5927';\n t['\\u2F25'] = '\\u5973';\n t['\\u2F26'] = '\\u5B50';\n t['\\u2F27'] = '\\u5B80';\n t['\\u2F28'] = '\\u5BF8';\n t['\\u2F29'] = '\\u5C0F';\n t['\\u2F2A'] = '\\u5C22';\n t['\\u2F2B'] = '\\u5C38';\n t['\\u2F2C'] = '\\u5C6E';\n t['\\u2F2D'] = '\\u5C71';\n t['\\u2F2E'] = '\\u5DDB';\n t['\\u2F2F'] = '\\u5DE5';\n t['\\u2F30'] = '\\u5DF1';\n t['\\u2F31'] = '\\u5DFE';\n t['\\u2F32'] = '\\u5E72';\n t['\\u2F33'] = '\\u5E7A';\n t['\\u2F34'] = '\\u5E7F';\n t['\\u2F35'] = '\\u5EF4';\n t['\\u2F36'] = '\\u5EFE';\n t['\\u2F37'] = '\\u5F0B';\n t['\\u2F38'] = '\\u5F13';\n t['\\u2F39'] = '\\u5F50';\n t['\\u2F3A'] = '\\u5F61';\n t['\\u2F3B'] = '\\u5F73';\n t['\\u2F3C'] = '\\u5FC3';\n t['\\u2F3D'] = '\\u6208';\n t['\\u2F3E'] = '\\u6236';\n t['\\u2F3F'] = '\\u624B';\n t['\\u2F40'] = '\\u652F';\n t['\\u2F41'] = '\\u6534';\n t['\\u2F42'] = '\\u6587';\n t['\\u2F43'] = '\\u6597';\n t['\\u2F44'] = '\\u65A4';\n t['\\u2F45'] = '\\u65B9';\n t['\\u2F46'] = '\\u65E0';\n t['\\u2F47'] = '\\u65E5';\n t['\\u2F48'] = '\\u66F0';\n t['\\u2F49'] = '\\u6708';\n t['\\u2F4A'] = '\\u6728';\n t['\\u2F4B'] = '\\u6B20';\n t['\\u2F4C'] = '\\u6B62';\n t['\\u2F4D'] = '\\u6B79';\n t['\\u2F4E'] = '\\u6BB3';\n t['\\u2F4F'] = '\\u6BCB';\n t['\\u2F50'] = '\\u6BD4';\n t['\\u2F51'] = '\\u6BDB';\n t['\\u2F52'] = '\\u6C0F';\n t['\\u2F53'] = '\\u6C14';\n t['\\u2F54'] = '\\u6C34';\n t['\\u2F55'] = '\\u706B';\n t['\\u2F56'] = '\\u722A';\n t['\\u2F57'] = '\\u7236';\n t['\\u2F58'] = '\\u723B';\n t['\\u2F59'] = '\\u723F';\n t['\\u2F5A'] = '\\u7247';\n t['\\u2F5B'] = '\\u7259';\n t['\\u2F5C'] = '\\u725B';\n t['\\u2F5D'] = '\\u72AC';\n t['\\u2F5E'] = '\\u7384';\n t['\\u2F5F'] = '\\u7389';\n t['\\u2F60'] = '\\u74DC';\n t['\\u2F61'] = '\\u74E6';\n t['\\u2F62'] = '\\u7518';\n t['\\u2F63'] = '\\u751F';\n t['\\u2F64'] = '\\u7528';\n t['\\u2F65'] = '\\u7530';\n t['\\u2F66'] = '\\u758B';\n t['\\u2F67'] = '\\u7592';\n t['\\u2F68'] = '\\u7676';\n t['\\u2F69'] = '\\u767D';\n t['\\u2F6A'] = '\\u76AE';\n t['\\u2F6B'] = '\\u76BF';\n t['\\u2F6C'] = '\\u76EE';\n t['\\u2F6D'] = '\\u77DB';\n t['\\u2F6E'] = '\\u77E2';\n t['\\u2F6F'] = '\\u77F3';\n t['\\u2F70'] = '\\u793A';\n t['\\u2F71'] = '\\u79B8';\n t['\\u2F72'] = '\\u79BE';\n t['\\u2F73'] = '\\u7A74';\n t['\\u2F74'] = '\\u7ACB';\n t['\\u2F75'] = '\\u7AF9';\n t['\\u2F76'] = '\\u7C73';\n t['\\u2F77'] = '\\u7CF8';\n t['\\u2F78'] = '\\u7F36';\n t['\\u2F79'] = '\\u7F51';\n t['\\u2F7A'] = '\\u7F8A';\n t['\\u2F7B'] = '\\u7FBD';\n t['\\u2F7C'] = '\\u8001';\n t['\\u2F7D'] = '\\u800C';\n t['\\u2F7E'] = '\\u8012';\n t['\\u2F7F'] = '\\u8033';\n t['\\u2F80'] = '\\u807F';\n t['\\u2F81'] = '\\u8089';\n t['\\u2F82'] = '\\u81E3';\n t['\\u2F83'] = '\\u81EA';\n t['\\u2F84'] = '\\u81F3';\n t['\\u2F85'] = '\\u81FC';\n t['\\u2F86'] = '\\u820C';\n t['\\u2F87'] = '\\u821B';\n t['\\u2F88'] = '\\u821F';\n t['\\u2F89'] = '\\u826E';\n t['\\u2F8A'] = '\\u8272';\n t['\\u2F8B'] = '\\u8278';\n t['\\u2F8C'] = '\\u864D';\n t['\\u2F8D'] = '\\u866B';\n t['\\u2F8E'] = '\\u8840';\n t['\\u2F8F'] = '\\u884C';\n t['\\u2F90'] = '\\u8863';\n t['\\u2F91'] = '\\u897E';\n t['\\u2F92'] = '\\u898B';\n t['\\u2F93'] = '\\u89D2';\n t['\\u2F94'] = '\\u8A00';\n t['\\u2F95'] = '\\u8C37';\n t['\\u2F96'] = '\\u8C46';\n t['\\u2F97'] = '\\u8C55';\n t['\\u2F98'] = '\\u8C78';\n t['\\u2F99'] = '\\u8C9D';\n t['\\u2F9A'] = '\\u8D64';\n t['\\u2F9B'] = '\\u8D70';\n t['\\u2F9C'] = '\\u8DB3';\n t['\\u2F9D'] = '\\u8EAB';\n t['\\u2F9E'] = '\\u8ECA';\n t['\\u2F9F'] = '\\u8F9B';\n t['\\u2FA0'] = '\\u8FB0';\n t['\\u2FA1'] = '\\u8FB5';\n t['\\u2FA2'] = '\\u9091';\n t['\\u2FA3'] = '\\u9149';\n t['\\u2FA4'] = '\\u91C6';\n t['\\u2FA5'] = '\\u91CC';\n t['\\u2FA6'] = '\\u91D1';\n t['\\u2FA7'] = '\\u9577';\n t['\\u2FA8'] = '\\u9580';\n t['\\u2FA9'] = '\\u961C';\n t['\\u2FAA'] = '\\u96B6';\n t['\\u2FAB'] = '\\u96B9';\n t['\\u2FAC'] = '\\u96E8';\n t['\\u2FAD'] = '\\u9751';\n t['\\u2FAE'] = '\\u975E';\n t['\\u2FAF'] = '\\u9762';\n t['\\u2FB0'] = '\\u9769';\n t['\\u2FB1'] = '\\u97CB';\n t['\\u2FB2'] = '\\u97ED';\n t['\\u2FB3'] = '\\u97F3';\n t['\\u2FB4'] = '\\u9801';\n t['\\u2FB5'] = '\\u98A8';\n t['\\u2FB6'] = '\\u98DB';\n t['\\u2FB7'] = '\\u98DF';\n t['\\u2FB8'] = '\\u9996';\n t['\\u2FB9'] = '\\u9999';\n t['\\u2FBA'] = '\\u99AC';\n t['\\u2FBB'] = '\\u9AA8';\n t['\\u2FBC'] = '\\u9AD8';\n t['\\u2FBD'] = '\\u9ADF';\n t['\\u2FBE'] = '\\u9B25';\n t['\\u2FBF'] = '\\u9B2F';\n t['\\u2FC0'] = '\\u9B32';\n t['\\u2FC1'] = '\\u9B3C';\n t['\\u2FC2'] = '\\u9B5A';\n t['\\u2FC3'] = '\\u9CE5';\n t['\\u2FC4'] = '\\u9E75';\n t['\\u2FC5'] = '\\u9E7F';\n t['\\u2FC6'] = '\\u9EA5';\n t['\\u2FC7'] = '\\u9EBB';\n t['\\u2FC8'] = '\\u9EC3';\n t['\\u2FC9'] = '\\u9ECD';\n t['\\u2FCA'] = '\\u9ED1';\n t['\\u2FCB'] = '\\u9EF9';\n t['\\u2FCC'] = '\\u9EFD';\n t['\\u2FCD'] = '\\u9F0E';\n t['\\u2FCE'] = '\\u9F13';\n t['\\u2FCF'] = '\\u9F20';\n t['\\u2FD0'] = '\\u9F3B';\n t['\\u2FD1'] = '\\u9F4A';\n t['\\u2FD2'] = '\\u9F52';\n t['\\u2FD3'] = '\\u9F8D';\n t['\\u2FD4'] = '\\u9F9C';\n t['\\u2FD5'] = '\\u9FA0';\n t['\\u3036'] = '\\u3012';\n t['\\u3038'] = '\\u5341';\n t['\\u3039'] = '\\u5344';\n t['\\u303A'] = '\\u5345';\n t['\\u309B'] = '\\u0020\\u3099';\n t['\\u309C'] = '\\u0020\\u309A';\n t['\\u3131'] = '\\u1100';\n t['\\u3132'] = '\\u1101';\n t['\\u3133'] = '\\u11AA';\n t['\\u3134'] = '\\u1102';\n t['\\u3135'] = '\\u11AC';\n t['\\u3136'] = '\\u11AD';\n t['\\u3137'] = '\\u1103';\n t['\\u3138'] = '\\u1104';\n t['\\u3139'] = '\\u1105';\n t['\\u313A'] = '\\u11B0';\n t['\\u313B'] = '\\u11B1';\n t['\\u313C'] = '\\u11B2';\n t['\\u313D'] = '\\u11B3';\n t['\\u313E'] = '\\u11B4';\n t['\\u313F'] = '\\u11B5';\n t['\\u3140'] = '\\u111A';\n t['\\u3141'] = '\\u1106';\n t['\\u3142'] = '\\u1107';\n t['\\u3143'] = '\\u1108';\n t['\\u3144'] = '\\u1121';\n t['\\u3145'] = '\\u1109';\n t['\\u3146'] = '\\u110A';\n t['\\u3147'] = '\\u110B';\n t['\\u3148'] = '\\u110C';\n t['\\u3149'] = '\\u110D';\n t['\\u314A'] = '\\u110E';\n t['\\u314B'] = '\\u110F';\n t['\\u314C'] = '\\u1110';\n t['\\u314D'] = '\\u1111';\n t['\\u314E'] = '\\u1112';\n t['\\u314F'] = '\\u1161';\n t['\\u3150'] = '\\u1162';\n t['\\u3151'] = '\\u1163';\n t['\\u3152'] = '\\u1164';\n t['\\u3153'] = '\\u1165';\n t['\\u3154'] = '\\u1166';\n t['\\u3155'] = '\\u1167';\n t['\\u3156'] = '\\u1168';\n t['\\u3157'] = '\\u1169';\n t['\\u3158'] = '\\u116A';\n t['\\u3159'] = '\\u116B';\n t['\\u315A'] = '\\u116C';\n t['\\u315B'] = '\\u116D';\n t['\\u315C'] = '\\u116E';\n t['\\u315D'] = '\\u116F';\n t['\\u315E'] = '\\u1170';\n t['\\u315F'] = '\\u1171';\n t['\\u3160'] = '\\u1172';\n t['\\u3161'] = '\\u1173';\n t['\\u3162'] = '\\u1174';\n t['\\u3163'] = '\\u1175';\n t['\\u3164'] = '\\u1160';\n t['\\u3165'] = '\\u1114';\n t['\\u3166'] = '\\u1115';\n t['\\u3167'] = '\\u11C7';\n t['\\u3168'] = '\\u11C8';\n t['\\u3169'] = '\\u11CC';\n t['\\u316A'] = '\\u11CE';\n t['\\u316B'] = '\\u11D3';\n t['\\u316C'] = '\\u11D7';\n t['\\u316D'] = '\\u11D9';\n t['\\u316E'] = '\\u111C';\n t['\\u316F'] = '\\u11DD';\n t['\\u3170'] = '\\u11DF';\n t['\\u3171'] = '\\u111D';\n t['\\u3172'] = '\\u111E';\n t['\\u3173'] = '\\u1120';\n t['\\u3174'] = '\\u1122';\n t['\\u3175'] = '\\u1123';\n t['\\u3176'] = '\\u1127';\n t['\\u3177'] = '\\u1129';\n t['\\u3178'] = '\\u112B';\n t['\\u3179'] = '\\u112C';\n t['\\u317A'] = '\\u112D';\n t['\\u317B'] = '\\u112E';\n t['\\u317C'] = '\\u112F';\n t['\\u317D'] = '\\u1132';\n t['\\u317E'] = '\\u1136';\n t['\\u317F'] = '\\u1140';\n t['\\u3180'] = '\\u1147';\n t['\\u3181'] = '\\u114C';\n t['\\u3182'] = '\\u11F1';\n t['\\u3183'] = '\\u11F2';\n t['\\u3184'] = '\\u1157';\n t['\\u3185'] = '\\u1158';\n t['\\u3186'] = '\\u1159';\n t['\\u3187'] = '\\u1184';\n t['\\u3188'] = '\\u1185';\n t['\\u3189'] = '\\u1188';\n t['\\u318A'] = '\\u1191';\n t['\\u318B'] = '\\u1192';\n t['\\u318C'] = '\\u1194';\n t['\\u318D'] = '\\u119E';\n t['\\u318E'] = '\\u11A1';\n t['\\u3200'] = '\\u0028\\u1100\\u0029';\n t['\\u3201'] = '\\u0028\\u1102\\u0029';\n t['\\u3202'] = '\\u0028\\u1103\\u0029';\n t['\\u3203'] = '\\u0028\\u1105\\u0029';\n t['\\u3204'] = '\\u0028\\u1106\\u0029';\n t['\\u3205'] = '\\u0028\\u1107\\u0029';\n t['\\u3206'] = '\\u0028\\u1109\\u0029';\n t['\\u3207'] = '\\u0028\\u110B\\u0029';\n t['\\u3208'] = '\\u0028\\u110C\\u0029';\n t['\\u3209'] = '\\u0028\\u110E\\u0029';\n t['\\u320A'] = '\\u0028\\u110F\\u0029';\n t['\\u320B'] = '\\u0028\\u1110\\u0029';\n t['\\u320C'] = '\\u0028\\u1111\\u0029';\n t['\\u320D'] = '\\u0028\\u1112\\u0029';\n t['\\u320E'] = '\\u0028\\u1100\\u1161\\u0029';\n t['\\u320F'] = '\\u0028\\u1102\\u1161\\u0029';\n t['\\u3210'] = '\\u0028\\u1103\\u1161\\u0029';\n t['\\u3211'] = '\\u0028\\u1105\\u1161\\u0029';\n t['\\u3212'] = '\\u0028\\u1106\\u1161\\u0029';\n t['\\u3213'] = '\\u0028\\u1107\\u1161\\u0029';\n t['\\u3214'] = '\\u0028\\u1109\\u1161\\u0029';\n t['\\u3215'] = '\\u0028\\u110B\\u1161\\u0029';\n t['\\u3216'] = '\\u0028\\u110C\\u1161\\u0029';\n t['\\u3217'] = '\\u0028\\u110E\\u1161\\u0029';\n t['\\u3218'] = '\\u0028\\u110F\\u1161\\u0029';\n t['\\u3219'] = '\\u0028\\u1110\\u1161\\u0029';\n t['\\u321A'] = '\\u0028\\u1111\\u1161\\u0029';\n t['\\u321B'] = '\\u0028\\u1112\\u1161\\u0029';\n t['\\u321C'] = '\\u0028\\u110C\\u116E\\u0029';\n t['\\u321D'] = '\\u0028\\u110B\\u1169\\u110C\\u1165\\u11AB\\u0029';\n t['\\u321E'] = '\\u0028\\u110B\\u1169\\u1112\\u116E\\u0029';\n t['\\u3220'] = '\\u0028\\u4E00\\u0029';\n t['\\u3221'] = '\\u0028\\u4E8C\\u0029';\n t['\\u3222'] = '\\u0028\\u4E09\\u0029';\n t['\\u3223'] = '\\u0028\\u56DB\\u0029';\n t['\\u3224'] = '\\u0028\\u4E94\\u0029';\n t['\\u3225'] = '\\u0028\\u516D\\u0029';\n t['\\u3226'] = '\\u0028\\u4E03\\u0029';\n t['\\u3227'] = '\\u0028\\u516B\\u0029';\n t['\\u3228'] = '\\u0028\\u4E5D\\u0029';\n t['\\u3229'] = '\\u0028\\u5341\\u0029';\n t['\\u322A'] = '\\u0028\\u6708\\u0029';\n t['\\u322B'] = '\\u0028\\u706B\\u0029';\n t['\\u322C'] = '\\u0028\\u6C34\\u0029';\n t['\\u322D'] = '\\u0028\\u6728\\u0029';\n t['\\u322E'] = '\\u0028\\u91D1\\u0029';\n t['\\u322F'] = '\\u0028\\u571F\\u0029';\n t['\\u3230'] = '\\u0028\\u65E5\\u0029';\n t['\\u3231'] = '\\u0028\\u682A\\u0029';\n t['\\u3232'] = '\\u0028\\u6709\\u0029';\n t['\\u3233'] = '\\u0028\\u793E\\u0029';\n t['\\u3234'] = '\\u0028\\u540D\\u0029';\n t['\\u3235'] = '\\u0028\\u7279\\u0029';\n t['\\u3236'] = '\\u0028\\u8CA1\\u0029';\n t['\\u3237'] = '\\u0028\\u795D\\u0029';\n t['\\u3238'] = '\\u0028\\u52B4\\u0029';\n t['\\u3239'] = '\\u0028\\u4EE3\\u0029';\n t['\\u323A'] = '\\u0028\\u547C\\u0029';\n t['\\u323B'] = '\\u0028\\u5B66\\u0029';\n t['\\u323C'] = '\\u0028\\u76E3\\u0029';\n t['\\u323D'] = '\\u0028\\u4F01\\u0029';\n t['\\u323E'] = '\\u0028\\u8CC7\\u0029';\n t['\\u323F'] = '\\u0028\\u5354\\u0029';\n t['\\u3240'] = '\\u0028\\u796D\\u0029';\n t['\\u3241'] = '\\u0028\\u4F11\\u0029';\n t['\\u3242'] = '\\u0028\\u81EA\\u0029';\n t['\\u3243'] = '\\u0028\\u81F3\\u0029';\n t['\\u32C0'] = '\\u0031\\u6708';\n t['\\u32C1'] = '\\u0032\\u6708';\n t['\\u32C2'] = '\\u0033\\u6708';\n t['\\u32C3'] = '\\u0034\\u6708';\n t['\\u32C4'] = '\\u0035\\u6708';\n t['\\u32C5'] = '\\u0036\\u6708';\n t['\\u32C6'] = '\\u0037\\u6708';\n t['\\u32C7'] = '\\u0038\\u6708';\n t['\\u32C8'] = '\\u0039\\u6708';\n t['\\u32C9'] = '\\u0031\\u0030\\u6708';\n t['\\u32CA'] = '\\u0031\\u0031\\u6708';\n t['\\u32CB'] = '\\u0031\\u0032\\u6708';\n t['\\u3358'] = '\\u0030\\u70B9';\n t['\\u3359'] = '\\u0031\\u70B9';\n t['\\u335A'] = '\\u0032\\u70B9';\n t['\\u335B'] = '\\u0033\\u70B9';\n t['\\u335C'] = '\\u0034\\u70B9';\n t['\\u335D'] = '\\u0035\\u70B9';\n t['\\u335E'] = '\\u0036\\u70B9';\n t['\\u335F'] = '\\u0037\\u70B9';\n t['\\u3360'] = '\\u0038\\u70B9';\n t['\\u3361'] = '\\u0039\\u70B9';\n t['\\u3362'] = '\\u0031\\u0030\\u70B9';\n t['\\u3363'] = '\\u0031\\u0031\\u70B9';\n t['\\u3364'] = '\\u0031\\u0032\\u70B9';\n t['\\u3365'] = '\\u0031\\u0033\\u70B9';\n t['\\u3366'] = '\\u0031\\u0034\\u70B9';\n t['\\u3367'] = '\\u0031\\u0035\\u70B9';\n t['\\u3368'] = '\\u0031\\u0036\\u70B9';\n t['\\u3369'] = '\\u0031\\u0037\\u70B9';\n t['\\u336A'] = '\\u0031\\u0038\\u70B9';\n t['\\u336B'] = '\\u0031\\u0039\\u70B9';\n t['\\u336C'] = '\\u0032\\u0030\\u70B9';\n t['\\u336D'] = '\\u0032\\u0031\\u70B9';\n t['\\u336E'] = '\\u0032\\u0032\\u70B9';\n t['\\u336F'] = '\\u0032\\u0033\\u70B9';\n t['\\u3370'] = '\\u0032\\u0034\\u70B9';\n t['\\u33E0'] = '\\u0031\\u65E5';\n t['\\u33E1'] = '\\u0032\\u65E5';\n t['\\u33E2'] = '\\u0033\\u65E5';\n t['\\u33E3'] = '\\u0034\\u65E5';\n t['\\u33E4'] = '\\u0035\\u65E5';\n t['\\u33E5'] = '\\u0036\\u65E5';\n t['\\u33E6'] = '\\u0037\\u65E5';\n t['\\u33E7'] = '\\u0038\\u65E5';\n t['\\u33E8'] = '\\u0039\\u65E5';\n t['\\u33E9'] = '\\u0031\\u0030\\u65E5';\n t['\\u33EA'] = '\\u0031\\u0031\\u65E5';\n t['\\u33EB'] = '\\u0031\\u0032\\u65E5';\n t['\\u33EC'] = '\\u0031\\u0033\\u65E5';\n t['\\u33ED'] = '\\u0031\\u0034\\u65E5';\n t['\\u33EE'] = '\\u0031\\u0035\\u65E5';\n t['\\u33EF'] = '\\u0031\\u0036\\u65E5';\n t['\\u33F0'] = '\\u0031\\u0037\\u65E5';\n t['\\u33F1'] = '\\u0031\\u0038\\u65E5';\n t['\\u33F2'] = '\\u0031\\u0039\\u65E5';\n t['\\u33F3'] = '\\u0032\\u0030\\u65E5';\n t['\\u33F4'] = '\\u0032\\u0031\\u65E5';\n t['\\u33F5'] = '\\u0032\\u0032\\u65E5';\n t['\\u33F6'] = '\\u0032\\u0033\\u65E5';\n t['\\u33F7'] = '\\u0032\\u0034\\u65E5';\n t['\\u33F8'] = '\\u0032\\u0035\\u65E5';\n t['\\u33F9'] = '\\u0032\\u0036\\u65E5';\n t['\\u33FA'] = '\\u0032\\u0037\\u65E5';\n t['\\u33FB'] = '\\u0032\\u0038\\u65E5';\n t['\\u33FC'] = '\\u0032\\u0039\\u65E5';\n t['\\u33FD'] = '\\u0033\\u0030\\u65E5';\n t['\\u33FE'] = '\\u0033\\u0031\\u65E5';\n t['\\uFB00'] = '\\u0066\\u0066';\n t['\\uFB01'] = '\\u0066\\u0069';\n t['\\uFB02'] = '\\u0066\\u006C';\n t['\\uFB03'] = '\\u0066\\u0066\\u0069';\n t['\\uFB04'] = '\\u0066\\u0066\\u006C';\n t['\\uFB05'] = '\\u017F\\u0074';\n t['\\uFB06'] = '\\u0073\\u0074';\n t['\\uFB13'] = '\\u0574\\u0576';\n t['\\uFB14'] = '\\u0574\\u0565';\n t['\\uFB15'] = '\\u0574\\u056B';\n t['\\uFB16'] = '\\u057E\\u0576';\n t['\\uFB17'] = '\\u0574\\u056D';\n t['\\uFB4F'] = '\\u05D0\\u05DC';\n t['\\uFB50'] = '\\u0671';\n t['\\uFB51'] = '\\u0671';\n t['\\uFB52'] = '\\u067B';\n t['\\uFB53'] = '\\u067B';\n t['\\uFB54'] = '\\u067B';\n t['\\uFB55'] = '\\u067B';\n t['\\uFB56'] = '\\u067E';\n t['\\uFB57'] = '\\u067E';\n t['\\uFB58'] = '\\u067E';\n t['\\uFB59'] = '\\u067E';\n t['\\uFB5A'] = '\\u0680';\n t['\\uFB5B'] = '\\u0680';\n t['\\uFB5C'] = '\\u0680';\n t['\\uFB5D'] = '\\u0680';\n t['\\uFB5E'] = '\\u067A';\n t['\\uFB5F'] = '\\u067A';\n t['\\uFB60'] = '\\u067A';\n t['\\uFB61'] = '\\u067A';\n t['\\uFB62'] = '\\u067F';\n t['\\uFB63'] = '\\u067F';\n t['\\uFB64'] = '\\u067F';\n t['\\uFB65'] = '\\u067F';\n t['\\uFB66'] = '\\u0679';\n t['\\uFB67'] = '\\u0679';\n t['\\uFB68'] = '\\u0679';\n t['\\uFB69'] = '\\u0679';\n t['\\uFB6A'] = '\\u06A4';\n t['\\uFB6B'] = '\\u06A4';\n t['\\uFB6C'] = '\\u06A4';\n t['\\uFB6D'] = '\\u06A4';\n t['\\uFB6E'] = '\\u06A6';\n t['\\uFB6F'] = '\\u06A6';\n t['\\uFB70'] = '\\u06A6';\n t['\\uFB71'] = '\\u06A6';\n t['\\uFB72'] = '\\u0684';\n t['\\uFB73'] = '\\u0684';\n t['\\uFB74'] = '\\u0684';\n t['\\uFB75'] = '\\u0684';\n t['\\uFB76'] = '\\u0683';\n t['\\uFB77'] = '\\u0683';\n t['\\uFB78'] = '\\u0683';\n t['\\uFB79'] = '\\u0683';\n t['\\uFB7A'] = '\\u0686';\n t['\\uFB7B'] = '\\u0686';\n t['\\uFB7C'] = '\\u0686';\n t['\\uFB7D'] = '\\u0686';\n t['\\uFB7E'] = '\\u0687';\n t['\\uFB7F'] = '\\u0687';\n t['\\uFB80'] = '\\u0687';\n t['\\uFB81'] = '\\u0687';\n t['\\uFB82'] = '\\u068D';\n t['\\uFB83'] = '\\u068D';\n t['\\uFB84'] = '\\u068C';\n t['\\uFB85'] = '\\u068C';\n t['\\uFB86'] = '\\u068E';\n t['\\uFB87'] = '\\u068E';\n t['\\uFB88'] = '\\u0688';\n t['\\uFB89'] = '\\u0688';\n t['\\uFB8A'] = '\\u0698';\n t['\\uFB8B'] = '\\u0698';\n t['\\uFB8C'] = '\\u0691';\n t['\\uFB8D'] = '\\u0691';\n t['\\uFB8E'] = '\\u06A9';\n t['\\uFB8F'] = '\\u06A9';\n t['\\uFB90'] = '\\u06A9';\n t['\\uFB91'] = '\\u06A9';\n t['\\uFB92'] = '\\u06AF';\n t['\\uFB93'] = '\\u06AF';\n t['\\uFB94'] = '\\u06AF';\n t['\\uFB95'] = '\\u06AF';\n t['\\uFB96'] = '\\u06B3';\n t['\\uFB97'] = '\\u06B3';\n t['\\uFB98'] = '\\u06B3';\n t['\\uFB99'] = '\\u06B3';\n t['\\uFB9A'] = '\\u06B1';\n t['\\uFB9B'] = '\\u06B1';\n t['\\uFB9C'] = '\\u06B1';\n t['\\uFB9D'] = '\\u06B1';\n t['\\uFB9E'] = '\\u06BA';\n t['\\uFB9F'] = '\\u06BA';\n t['\\uFBA0'] = '\\u06BB';\n t['\\uFBA1'] = '\\u06BB';\n t['\\uFBA2'] = '\\u06BB';\n t['\\uFBA3'] = '\\u06BB';\n t['\\uFBA4'] = '\\u06C0';\n t['\\uFBA5'] = '\\u06C0';\n t['\\uFBA6'] = '\\u06C1';\n t['\\uFBA7'] = '\\u06C1';\n t['\\uFBA8'] = '\\u06C1';\n t['\\uFBA9'] = '\\u06C1';\n t['\\uFBAA'] = '\\u06BE';\n t['\\uFBAB'] = '\\u06BE';\n t['\\uFBAC'] = '\\u06BE';\n t['\\uFBAD'] = '\\u06BE';\n t['\\uFBAE'] = '\\u06D2';\n t['\\uFBAF'] = '\\u06D2';\n t['\\uFBB0'] = '\\u06D3';\n t['\\uFBB1'] = '\\u06D3';\n t['\\uFBD3'] = '\\u06AD';\n t['\\uFBD4'] = '\\u06AD';\n t['\\uFBD5'] = '\\u06AD';\n t['\\uFBD6'] = '\\u06AD';\n t['\\uFBD7'] = '\\u06C7';\n t['\\uFBD8'] = '\\u06C7';\n t['\\uFBD9'] = '\\u06C6';\n t['\\uFBDA'] = '\\u06C6';\n t['\\uFBDB'] = '\\u06C8';\n t['\\uFBDC'] = '\\u06C8';\n t['\\uFBDD'] = '\\u0677';\n t['\\uFBDE'] = '\\u06CB';\n t['\\uFBDF'] = '\\u06CB';\n t['\\uFBE0'] = '\\u06C5';\n t['\\uFBE1'] = '\\u06C5';\n t['\\uFBE2'] = '\\u06C9';\n t['\\uFBE3'] = '\\u06C9';\n t['\\uFBE4'] = '\\u06D0';\n t['\\uFBE5'] = '\\u06D0';\n t['\\uFBE6'] = '\\u06D0';\n t['\\uFBE7'] = '\\u06D0';\n t['\\uFBE8'] = '\\u0649';\n t['\\uFBE9'] = '\\u0649';\n t['\\uFBEA'] = '\\u0626\\u0627';\n t['\\uFBEB'] = '\\u0626\\u0627';\n t['\\uFBEC'] = '\\u0626\\u06D5';\n t['\\uFBED'] = '\\u0626\\u06D5';\n t['\\uFBEE'] = '\\u0626\\u0648';\n t['\\uFBEF'] = '\\u0626\\u0648';\n t['\\uFBF0'] = '\\u0626\\u06C7';\n t['\\uFBF1'] = '\\u0626\\u06C7';\n t['\\uFBF2'] = '\\u0626\\u06C6';\n t['\\uFBF3'] = '\\u0626\\u06C6';\n t['\\uFBF4'] = '\\u0626\\u06C8';\n t['\\uFBF5'] = '\\u0626\\u06C8';\n t['\\uFBF6'] = '\\u0626\\u06D0';\n t['\\uFBF7'] = '\\u0626\\u06D0';\n t['\\uFBF8'] = '\\u0626\\u06D0';\n t['\\uFBF9'] = '\\u0626\\u0649';\n t['\\uFBFA'] = '\\u0626\\u0649';\n t['\\uFBFB'] = '\\u0626\\u0649';\n t['\\uFBFC'] = '\\u06CC';\n t['\\uFBFD'] = '\\u06CC';\n t['\\uFBFE'] = '\\u06CC';\n t['\\uFBFF'] = '\\u06CC';\n t['\\uFC00'] = '\\u0626\\u062C';\n t['\\uFC01'] = '\\u0626\\u062D';\n t['\\uFC02'] = '\\u0626\\u0645';\n t['\\uFC03'] = '\\u0626\\u0649';\n t['\\uFC04'] = '\\u0626\\u064A';\n t['\\uFC05'] = '\\u0628\\u062C';\n t['\\uFC06'] = '\\u0628\\u062D';\n t['\\uFC07'] = '\\u0628\\u062E';\n t['\\uFC08'] = '\\u0628\\u0645';\n t['\\uFC09'] = '\\u0628\\u0649';\n t['\\uFC0A'] = '\\u0628\\u064A';\n t['\\uFC0B'] = '\\u062A\\u062C';\n t['\\uFC0C'] = '\\u062A\\u062D';\n t['\\uFC0D'] = '\\u062A\\u062E';\n t['\\uFC0E'] = '\\u062A\\u0645';\n t['\\uFC0F'] = '\\u062A\\u0649';\n t['\\uFC10'] = '\\u062A\\u064A';\n t['\\uFC11'] = '\\u062B\\u062C';\n t['\\uFC12'] = '\\u062B\\u0645';\n t['\\uFC13'] = '\\u062B\\u0649';\n t['\\uFC14'] = '\\u062B\\u064A';\n t['\\uFC15'] = '\\u062C\\u062D';\n t['\\uFC16'] = '\\u062C\\u0645';\n t['\\uFC17'] = '\\u062D\\u062C';\n t['\\uFC18'] = '\\u062D\\u0645';\n t['\\uFC19'] = '\\u062E\\u062C';\n t['\\uFC1A'] = '\\u062E\\u062D';\n t['\\uFC1B'] = '\\u062E\\u0645';\n t['\\uFC1C'] = '\\u0633\\u062C';\n t['\\uFC1D'] = '\\u0633\\u062D';\n t['\\uFC1E'] = '\\u0633\\u062E';\n t['\\uFC1F'] = '\\u0633\\u0645';\n t['\\uFC20'] = '\\u0635\\u062D';\n t['\\uFC21'] = '\\u0635\\u0645';\n t['\\uFC22'] = '\\u0636\\u062C';\n t['\\uFC23'] = '\\u0636\\u062D';\n t['\\uFC24'] = '\\u0636\\u062E';\n t['\\uFC25'] = '\\u0636\\u0645';\n t['\\uFC26'] = '\\u0637\\u062D';\n t['\\uFC27'] = '\\u0637\\u0645';\n t['\\uFC28'] = '\\u0638\\u0645';\n t['\\uFC29'] = '\\u0639\\u062C';\n t['\\uFC2A'] = '\\u0639\\u0645';\n t['\\uFC2B'] = '\\u063A\\u062C';\n t['\\uFC2C'] = '\\u063A\\u0645';\n t['\\uFC2D'] = '\\u0641\\u062C';\n t['\\uFC2E'] = '\\u0641\\u062D';\n t['\\uFC2F'] = '\\u0641\\u062E';\n t['\\uFC30'] = '\\u0641\\u0645';\n t['\\uFC31'] = '\\u0641\\u0649';\n t['\\uFC32'] = '\\u0641\\u064A';\n t['\\uFC33'] = '\\u0642\\u062D';\n t['\\uFC34'] = '\\u0642\\u0645';\n t['\\uFC35'] = '\\u0642\\u0649';\n t['\\uFC36'] = '\\u0642\\u064A';\n t['\\uFC37'] = '\\u0643\\u0627';\n t['\\uFC38'] = '\\u0643\\u062C';\n t['\\uFC39'] = '\\u0643\\u062D';\n t['\\uFC3A'] = '\\u0643\\u062E';\n t['\\uFC3B'] = '\\u0643\\u0644';\n t['\\uFC3C'] = '\\u0643\\u0645';\n t['\\uFC3D'] = '\\u0643\\u0649';\n t['\\uFC3E'] = '\\u0643\\u064A';\n t['\\uFC3F'] = '\\u0644\\u062C';\n t['\\uFC40'] = '\\u0644\\u062D';\n t['\\uFC41'] = '\\u0644\\u062E';\n t['\\uFC42'] = '\\u0644\\u0645';\n t['\\uFC43'] = '\\u0644\\u0649';\n t['\\uFC44'] = '\\u0644\\u064A';\n t['\\uFC45'] = '\\u0645\\u062C';\n t['\\uFC46'] = '\\u0645\\u062D';\n t['\\uFC47'] = '\\u0645\\u062E';\n t['\\uFC48'] = '\\u0645\\u0645';\n t['\\uFC49'] = '\\u0645\\u0649';\n t['\\uFC4A'] = '\\u0645\\u064A';\n t['\\uFC4B'] = '\\u0646\\u062C';\n t['\\uFC4C'] = '\\u0646\\u062D';\n t['\\uFC4D'] = '\\u0646\\u062E';\n t['\\uFC4E'] = '\\u0646\\u0645';\n t['\\uFC4F'] = '\\u0646\\u0649';\n t['\\uFC50'] = '\\u0646\\u064A';\n t['\\uFC51'] = '\\u0647\\u062C';\n t['\\uFC52'] = '\\u0647\\u0645';\n t['\\uFC53'] = '\\u0647\\u0649';\n t['\\uFC54'] = '\\u0647\\u064A';\n t['\\uFC55'] = '\\u064A\\u062C';\n t['\\uFC56'] = '\\u064A\\u062D';\n t['\\uFC57'] = '\\u064A\\u062E';\n t['\\uFC58'] = '\\u064A\\u0645';\n t['\\uFC59'] = '\\u064A\\u0649';\n t['\\uFC5A'] = '\\u064A\\u064A';\n t['\\uFC5B'] = '\\u0630\\u0670';\n t['\\uFC5C'] = '\\u0631\\u0670';\n t['\\uFC5D'] = '\\u0649\\u0670';\n t['\\uFC5E'] = '\\u0020\\u064C\\u0651';\n t['\\uFC5F'] = '\\u0020\\u064D\\u0651';\n t['\\uFC60'] = '\\u0020\\u064E\\u0651';\n t['\\uFC61'] = '\\u0020\\u064F\\u0651';\n t['\\uFC62'] = '\\u0020\\u0650\\u0651';\n t['\\uFC63'] = '\\u0020\\u0651\\u0670';\n t['\\uFC64'] = '\\u0626\\u0631';\n t['\\uFC65'] = '\\u0626\\u0632';\n t['\\uFC66'] = '\\u0626\\u0645';\n t['\\uFC67'] = '\\u0626\\u0646';\n t['\\uFC68'] = '\\u0626\\u0649';\n t['\\uFC69'] = '\\u0626\\u064A';\n t['\\uFC6A'] = '\\u0628\\u0631';\n t['\\uFC6B'] = '\\u0628\\u0632';\n t['\\uFC6C'] = '\\u0628\\u0645';\n t['\\uFC6D'] = '\\u0628\\u0646';\n t['\\uFC6E'] = '\\u0628\\u0649';\n t['\\uFC6F'] = '\\u0628\\u064A';\n t['\\uFC70'] = '\\u062A\\u0631';\n t['\\uFC71'] = '\\u062A\\u0632';\n t['\\uFC72'] = '\\u062A\\u0645';\n t['\\uFC73'] = '\\u062A\\u0646';\n t['\\uFC74'] = '\\u062A\\u0649';\n t['\\uFC75'] = '\\u062A\\u064A';\n t['\\uFC76'] = '\\u062B\\u0631';\n t['\\uFC77'] = '\\u062B\\u0632';\n t['\\uFC78'] = '\\u062B\\u0645';\n t['\\uFC79'] = '\\u062B\\u0646';\n t['\\uFC7A'] = '\\u062B\\u0649';\n t['\\uFC7B'] = '\\u062B\\u064A';\n t['\\uFC7C'] = '\\u0641\\u0649';\n t['\\uFC7D'] = '\\u0641\\u064A';\n t['\\uFC7E'] = '\\u0642\\u0649';\n t['\\uFC7F'] = '\\u0642\\u064A';\n t['\\uFC80'] = '\\u0643\\u0627';\n t['\\uFC81'] = '\\u0643\\u0644';\n t['\\uFC82'] = '\\u0643\\u0645';\n t['\\uFC83'] = '\\u0643\\u0649';\n t['\\uFC84'] = '\\u0643\\u064A';\n t['\\uFC85'] = '\\u0644\\u0645';\n t['\\uFC86'] = '\\u0644\\u0649';\n t['\\uFC87'] = '\\u0644\\u064A';\n t['\\uFC88'] = '\\u0645\\u0627';\n t['\\uFC89'] = '\\u0645\\u0645';\n t['\\uFC8A'] = '\\u0646\\u0631';\n t['\\uFC8B'] = '\\u0646\\u0632';\n t['\\uFC8C'] = '\\u0646\\u0645';\n t['\\uFC8D'] = '\\u0646\\u0646';\n t['\\uFC8E'] = '\\u0646\\u0649';\n t['\\uFC8F'] = '\\u0646\\u064A';\n t['\\uFC90'] = '\\u0649\\u0670';\n t['\\uFC91'] = '\\u064A\\u0631';\n t['\\uFC92'] = '\\u064A\\u0632';\n t['\\uFC93'] = '\\u064A\\u0645';\n t['\\uFC94'] = '\\u064A\\u0646';\n t['\\uFC95'] = '\\u064A\\u0649';\n t['\\uFC96'] = '\\u064A\\u064A';\n t['\\uFC97'] = '\\u0626\\u062C';\n t['\\uFC98'] = '\\u0626\\u062D';\n t['\\uFC99'] = '\\u0626\\u062E';\n t['\\uFC9A'] = '\\u0626\\u0645';\n t['\\uFC9B'] = '\\u0626\\u0647';\n t['\\uFC9C'] = '\\u0628\\u062C';\n t['\\uFC9D'] = '\\u0628\\u062D';\n t['\\uFC9E'] = '\\u0628\\u062E';\n t['\\uFC9F'] = '\\u0628\\u0645';\n t['\\uFCA0'] = '\\u0628\\u0647';\n t['\\uFCA1'] = '\\u062A\\u062C';\n t['\\uFCA2'] = '\\u062A\\u062D';\n t['\\uFCA3'] = '\\u062A\\u062E';\n t['\\uFCA4'] = '\\u062A\\u0645';\n t['\\uFCA5'] = '\\u062A\\u0647';\n t['\\uFCA6'] = '\\u062B\\u0645';\n t['\\uFCA7'] = '\\u062C\\u062D';\n t['\\uFCA8'] = '\\u062C\\u0645';\n t['\\uFCA9'] = '\\u062D\\u062C';\n t['\\uFCAA'] = '\\u062D\\u0645';\n t['\\uFCAB'] = '\\u062E\\u062C';\n t['\\uFCAC'] = '\\u062E\\u0645';\n t['\\uFCAD'] = '\\u0633\\u062C';\n t['\\uFCAE'] = '\\u0633\\u062D';\n t['\\uFCAF'] = '\\u0633\\u062E';\n t['\\uFCB0'] = '\\u0633\\u0645';\n t['\\uFCB1'] = '\\u0635\\u062D';\n t['\\uFCB2'] = '\\u0635\\u062E';\n t['\\uFCB3'] = '\\u0635\\u0645';\n t['\\uFCB4'] = '\\u0636\\u062C';\n t['\\uFCB5'] = '\\u0636\\u062D';\n t['\\uFCB6'] = '\\u0636\\u062E';\n t['\\uFCB7'] = '\\u0636\\u0645';\n t['\\uFCB8'] = '\\u0637\\u062D';\n t['\\uFCB9'] = '\\u0638\\u0645';\n t['\\uFCBA'] = '\\u0639\\u062C';\n t['\\uFCBB'] = '\\u0639\\u0645';\n t['\\uFCBC'] = '\\u063A\\u062C';\n t['\\uFCBD'] = '\\u063A\\u0645';\n t['\\uFCBE'] = '\\u0641\\u062C';\n t['\\uFCBF'] = '\\u0641\\u062D';\n t['\\uFCC0'] = '\\u0641\\u062E';\n t['\\uFCC1'] = '\\u0641\\u0645';\n t['\\uFCC2'] = '\\u0642\\u062D';\n t['\\uFCC3'] = '\\u0642\\u0645';\n t['\\uFCC4'] = '\\u0643\\u062C';\n t['\\uFCC5'] = '\\u0643\\u062D';\n t['\\uFCC6'] = '\\u0643\\u062E';\n t['\\uFCC7'] = '\\u0643\\u0644';\n t['\\uFCC8'] = '\\u0643\\u0645';\n t['\\uFCC9'] = '\\u0644\\u062C';\n t['\\uFCCA'] = '\\u0644\\u062D';\n t['\\uFCCB'] = '\\u0644\\u062E';\n t['\\uFCCC'] = '\\u0644\\u0645';\n t['\\uFCCD'] = '\\u0644\\u0647';\n t['\\uFCCE'] = '\\u0645\\u062C';\n t['\\uFCCF'] = '\\u0645\\u062D';\n t['\\uFCD0'] = '\\u0645\\u062E';\n t['\\uFCD1'] = '\\u0645\\u0645';\n t['\\uFCD2'] = '\\u0646\\u062C';\n t['\\uFCD3'] = '\\u0646\\u062D';\n t['\\uFCD4'] = '\\u0646\\u062E';\n t['\\uFCD5'] = '\\u0646\\u0645';\n t['\\uFCD6'] = '\\u0646\\u0647';\n t['\\uFCD7'] = '\\u0647\\u062C';\n t['\\uFCD8'] = '\\u0647\\u0645';\n t['\\uFCD9'] = '\\u0647\\u0670';\n t['\\uFCDA'] = '\\u064A\\u062C';\n t['\\uFCDB'] = '\\u064A\\u062D';\n t['\\uFCDC'] = '\\u064A\\u062E';\n t['\\uFCDD'] = '\\u064A\\u0645';\n t['\\uFCDE'] = '\\u064A\\u0647';\n t['\\uFCDF'] = '\\u0626\\u0645';\n t['\\uFCE0'] = '\\u0626\\u0647';\n t['\\uFCE1'] = '\\u0628\\u0645';\n t['\\uFCE2'] = '\\u0628\\u0647';\n t['\\uFCE3'] = '\\u062A\\u0645';\n t['\\uFCE4'] = '\\u062A\\u0647';\n t['\\uFCE5'] = '\\u062B\\u0645';\n t['\\uFCE6'] = '\\u062B\\u0647';\n t['\\uFCE7'] = '\\u0633\\u0645';\n t['\\uFCE8'] = '\\u0633\\u0647';\n t['\\uFCE9'] = '\\u0634\\u0645';\n t['\\uFCEA'] = '\\u0634\\u0647';\n t['\\uFCEB'] = '\\u0643\\u0644';\n t['\\uFCEC'] = '\\u0643\\u0645';\n t['\\uFCED'] = '\\u0644\\u0645';\n t['\\uFCEE'] = '\\u0646\\u0645';\n t['\\uFCEF'] = '\\u0646\\u0647';\n t['\\uFCF0'] = '\\u064A\\u0645';\n t['\\uFCF1'] = '\\u064A\\u0647';\n t['\\uFCF2'] = '\\u0640\\u064E\\u0651';\n t['\\uFCF3'] = '\\u0640\\u064F\\u0651';\n t['\\uFCF4'] = '\\u0640\\u0650\\u0651';\n t['\\uFCF5'] = '\\u0637\\u0649';\n t['\\uFCF6'] = '\\u0637\\u064A';\n t['\\uFCF7'] = '\\u0639\\u0649';\n t['\\uFCF8'] = '\\u0639\\u064A';\n t['\\uFCF9'] = '\\u063A\\u0649';\n t['\\uFCFA'] = '\\u063A\\u064A';\n t['\\uFCFB'] = '\\u0633\\u0649';\n t['\\uFCFC'] = '\\u0633\\u064A';\n t['\\uFCFD'] = '\\u0634\\u0649';\n t['\\uFCFE'] = '\\u0634\\u064A';\n t['\\uFCFF'] = '\\u062D\\u0649';\n t['\\uFD00'] = '\\u062D\\u064A';\n t['\\uFD01'] = '\\u062C\\u0649';\n t['\\uFD02'] = '\\u062C\\u064A';\n t['\\uFD03'] = '\\u062E\\u0649';\n t['\\uFD04'] = '\\u062E\\u064A';\n t['\\uFD05'] = '\\u0635\\u0649';\n t['\\uFD06'] = '\\u0635\\u064A';\n t['\\uFD07'] = '\\u0636\\u0649';\n t['\\uFD08'] = '\\u0636\\u064A';\n t['\\uFD09'] = '\\u0634\\u062C';\n t['\\uFD0A'] = '\\u0634\\u062D';\n t['\\uFD0B'] = '\\u0634\\u062E';\n t['\\uFD0C'] = '\\u0634\\u0645';\n t['\\uFD0D'] = '\\u0634\\u0631';\n t['\\uFD0E'] = '\\u0633\\u0631';\n t['\\uFD0F'] = '\\u0635\\u0631';\n t['\\uFD10'] = '\\u0636\\u0631';\n t['\\uFD11'] = '\\u0637\\u0649';\n t['\\uFD12'] = '\\u0637\\u064A';\n t['\\uFD13'] = '\\u0639\\u0649';\n t['\\uFD14'] = '\\u0639\\u064A';\n t['\\uFD15'] = '\\u063A\\u0649';\n t['\\uFD16'] = '\\u063A\\u064A';\n t['\\uFD17'] = '\\u0633\\u0649';\n t['\\uFD18'] = '\\u0633\\u064A';\n t['\\uFD19'] = '\\u0634\\u0649';\n t['\\uFD1A'] = '\\u0634\\u064A';\n t['\\uFD1B'] = '\\u062D\\u0649';\n t['\\uFD1C'] = '\\u062D\\u064A';\n t['\\uFD1D'] = '\\u062C\\u0649';\n t['\\uFD1E'] = '\\u062C\\u064A';\n t['\\uFD1F'] = '\\u062E\\u0649';\n t['\\uFD20'] = '\\u062E\\u064A';\n t['\\uFD21'] = '\\u0635\\u0649';\n t['\\uFD22'] = '\\u0635\\u064A';\n t['\\uFD23'] = '\\u0636\\u0649';\n t['\\uFD24'] = '\\u0636\\u064A';\n t['\\uFD25'] = '\\u0634\\u062C';\n t['\\uFD26'] = '\\u0634\\u062D';\n t['\\uFD27'] = '\\u0634\\u062E';\n t['\\uFD28'] = '\\u0634\\u0645';\n t['\\uFD29'] = '\\u0634\\u0631';\n t['\\uFD2A'] = '\\u0633\\u0631';\n t['\\uFD2B'] = '\\u0635\\u0631';\n t['\\uFD2C'] = '\\u0636\\u0631';\n t['\\uFD2D'] = '\\u0634\\u062C';\n t['\\uFD2E'] = '\\u0634\\u062D';\n t['\\uFD2F'] = '\\u0634\\u062E';\n t['\\uFD30'] = '\\u0634\\u0645';\n t['\\uFD31'] = '\\u0633\\u0647';\n t['\\uFD32'] = '\\u0634\\u0647';\n t['\\uFD33'] = '\\u0637\\u0645';\n t['\\uFD34'] = '\\u0633\\u062C';\n t['\\uFD35'] = '\\u0633\\u062D';\n t['\\uFD36'] = '\\u0633\\u062E';\n t['\\uFD37'] = '\\u0634\\u062C';\n t['\\uFD38'] = '\\u0634\\u062D';\n t['\\uFD39'] = '\\u0634\\u062E';\n t['\\uFD3A'] = '\\u0637\\u0645';\n t['\\uFD3B'] = '\\u0638\\u0645';\n t['\\uFD3C'] = '\\u0627\\u064B';\n t['\\uFD3D'] = '\\u0627\\u064B';\n t['\\uFD50'] = '\\u062A\\u062C\\u0645';\n t['\\uFD51'] = '\\u062A\\u062D\\u062C';\n t['\\uFD52'] = '\\u062A\\u062D\\u062C';\n t['\\uFD53'] = '\\u062A\\u062D\\u0645';\n t['\\uFD54'] = '\\u062A\\u062E\\u0645';\n t['\\uFD55'] = '\\u062A\\u0645\\u062C';\n t['\\uFD56'] = '\\u062A\\u0645\\u062D';\n t['\\uFD57'] = '\\u062A\\u0645\\u062E';\n t['\\uFD58'] = '\\u062C\\u0645\\u062D';\n t['\\uFD59'] = '\\u062C\\u0645\\u062D';\n t['\\uFD5A'] = '\\u062D\\u0645\\u064A';\n t['\\uFD5B'] = '\\u062D\\u0645\\u0649';\n t['\\uFD5C'] = '\\u0633\\u062D\\u062C';\n t['\\uFD5D'] = '\\u0633\\u062C\\u062D';\n t['\\uFD5E'] = '\\u0633\\u062C\\u0649';\n t['\\uFD5F'] = '\\u0633\\u0645\\u062D';\n t['\\uFD60'] = '\\u0633\\u0645\\u062D';\n t['\\uFD61'] = '\\u0633\\u0645\\u062C';\n t['\\uFD62'] = '\\u0633\\u0645\\u0645';\n t['\\uFD63'] = '\\u0633\\u0645\\u0645';\n t['\\uFD64'] = '\\u0635\\u062D\\u062D';\n t['\\uFD65'] = '\\u0635\\u062D\\u062D';\n t['\\uFD66'] = '\\u0635\\u0645\\u0645';\n t['\\uFD67'] = '\\u0634\\u062D\\u0645';\n t['\\uFD68'] = '\\u0634\\u062D\\u0645';\n t['\\uFD69'] = '\\u0634\\u062C\\u064A';\n t['\\uFD6A'] = '\\u0634\\u0645\\u062E';\n t['\\uFD6B'] = '\\u0634\\u0645\\u062E';\n t['\\uFD6C'] = '\\u0634\\u0645\\u0645';\n t['\\uFD6D'] = '\\u0634\\u0645\\u0645';\n t['\\uFD6E'] = '\\u0636\\u062D\\u0649';\n t['\\uFD6F'] = '\\u0636\\u062E\\u0645';\n t['\\uFD70'] = '\\u0636\\u062E\\u0645';\n t['\\uFD71'] = '\\u0637\\u0645\\u062D';\n t['\\uFD72'] = '\\u0637\\u0645\\u062D';\n t['\\uFD73'] = '\\u0637\\u0645\\u0645';\n t['\\uFD74'] = '\\u0637\\u0645\\u064A';\n t['\\uFD75'] = '\\u0639\\u062C\\u0645';\n t['\\uFD76'] = '\\u0639\\u0645\\u0645';\n t['\\uFD77'] = '\\u0639\\u0645\\u0645';\n t['\\uFD78'] = '\\u0639\\u0645\\u0649';\n t['\\uFD79'] = '\\u063A\\u0645\\u0645';\n t['\\uFD7A'] = '\\u063A\\u0645\\u064A';\n t['\\uFD7B'] = '\\u063A\\u0645\\u0649';\n t['\\uFD7C'] = '\\u0641\\u062E\\u0645';\n t['\\uFD7D'] = '\\u0641\\u062E\\u0645';\n t['\\uFD7E'] = '\\u0642\\u0645\\u062D';\n t['\\uFD7F'] = '\\u0642\\u0645\\u0645';\n t['\\uFD80'] = '\\u0644\\u062D\\u0645';\n t['\\uFD81'] = '\\u0644\\u062D\\u064A';\n t['\\uFD82'] = '\\u0644\\u062D\\u0649';\n t['\\uFD83'] = '\\u0644\\u062C\\u062C';\n t['\\uFD84'] = '\\u0644\\u062C\\u062C';\n t['\\uFD85'] = '\\u0644\\u062E\\u0645';\n t['\\uFD86'] = '\\u0644\\u062E\\u0645';\n t['\\uFD87'] = '\\u0644\\u0645\\u062D';\n t['\\uFD88'] = '\\u0644\\u0645\\u062D';\n t['\\uFD89'] = '\\u0645\\u062D\\u062C';\n t['\\uFD8A'] = '\\u0645\\u062D\\u0645';\n t['\\uFD8B'] = '\\u0645\\u062D\\u064A';\n t['\\uFD8C'] = '\\u0645\\u062C\\u062D';\n t['\\uFD8D'] = '\\u0645\\u062C\\u0645';\n t['\\uFD8E'] = '\\u0645\\u062E\\u062C';\n t['\\uFD8F'] = '\\u0645\\u062E\\u0645';\n t['\\uFD92'] = '\\u0645\\u062C\\u062E';\n t['\\uFD93'] = '\\u0647\\u0645\\u062C';\n t['\\uFD94'] = '\\u0647\\u0645\\u0645';\n t['\\uFD95'] = '\\u0646\\u062D\\u0645';\n t['\\uFD96'] = '\\u0646\\u062D\\u0649';\n t['\\uFD97'] = '\\u0646\\u062C\\u0645';\n t['\\uFD98'] = '\\u0646\\u062C\\u0645';\n t['\\uFD99'] = '\\u0646\\u062C\\u0649';\n t['\\uFD9A'] = '\\u0646\\u0645\\u064A';\n t['\\uFD9B'] = '\\u0646\\u0645\\u0649';\n t['\\uFD9C'] = '\\u064A\\u0645\\u0645';\n t['\\uFD9D'] = '\\u064A\\u0645\\u0645';\n t['\\uFD9E'] = '\\u0628\\u062E\\u064A';\n t['\\uFD9F'] = '\\u062A\\u062C\\u064A';\n t['\\uFDA0'] = '\\u062A\\u062C\\u0649';\n t['\\uFDA1'] = '\\u062A\\u062E\\u064A';\n t['\\uFDA2'] = '\\u062A\\u062E\\u0649';\n t['\\uFDA3'] = '\\u062A\\u0645\\u064A';\n t['\\uFDA4'] = '\\u062A\\u0645\\u0649';\n t['\\uFDA5'] = '\\u062C\\u0645\\u064A';\n t['\\uFDA6'] = '\\u062C\\u062D\\u0649';\n t['\\uFDA7'] = '\\u062C\\u0645\\u0649';\n t['\\uFDA8'] = '\\u0633\\u062E\\u0649';\n t['\\uFDA9'] = '\\u0635\\u062D\\u064A';\n t['\\uFDAA'] = '\\u0634\\u062D\\u064A';\n t['\\uFDAB'] = '\\u0636\\u062D\\u064A';\n t['\\uFDAC'] = '\\u0644\\u062C\\u064A';\n t['\\uFDAD'] = '\\u0644\\u0645\\u064A';\n t['\\uFDAE'] = '\\u064A\\u062D\\u064A';\n t['\\uFDAF'] = '\\u064A\\u062C\\u064A';\n t['\\uFDB0'] = '\\u064A\\u0645\\u064A';\n t['\\uFDB1'] = '\\u0645\\u0645\\u064A';\n t['\\uFDB2'] = '\\u0642\\u0645\\u064A';\n t['\\uFDB3'] = '\\u0646\\u062D\\u064A';\n t['\\uFDB4'] = '\\u0642\\u0645\\u062D';\n t['\\uFDB5'] = '\\u0644\\u062D\\u0645';\n t['\\uFDB6'] = '\\u0639\\u0645\\u064A';\n t['\\uFDB7'] = '\\u0643\\u0645\\u064A';\n t['\\uFDB8'] = '\\u0646\\u062C\\u062D';\n t['\\uFDB9'] = '\\u0645\\u062E\\u064A';\n t['\\uFDBA'] = '\\u0644\\u062C\\u0645';\n t['\\uFDBB'] = '\\u0643\\u0645\\u0645';\n t['\\uFDBC'] = '\\u0644\\u062C\\u0645';\n t['\\uFDBD'] = '\\u0646\\u062C\\u062D';\n t['\\uFDBE'] = '\\u062C\\u062D\\u064A';\n t['\\uFDBF'] = '\\u062D\\u062C\\u064A';\n t['\\uFDC0'] = '\\u0645\\u062C\\u064A';\n t['\\uFDC1'] = '\\u0641\\u0645\\u064A';\n t['\\uFDC2'] = '\\u0628\\u062D\\u064A';\n t['\\uFDC3'] = '\\u0643\\u0645\\u0645';\n t['\\uFDC4'] = '\\u0639\\u062C\\u0645';\n t['\\uFDC5'] = '\\u0635\\u0645\\u0645';\n t['\\uFDC6'] = '\\u0633\\u062E\\u064A';\n t['\\uFDC7'] = '\\u0646\\u062C\\u064A';\n t['\\uFE49'] = '\\u203E';\n t['\\uFE4A'] = '\\u203E';\n t['\\uFE4B'] = '\\u203E';\n t['\\uFE4C'] = '\\u203E';\n t['\\uFE4D'] = '\\u005F';\n t['\\uFE4E'] = '\\u005F';\n t['\\uFE4F'] = '\\u005F';\n t['\\uFE80'] = '\\u0621';\n t['\\uFE81'] = '\\u0622';\n t['\\uFE82'] = '\\u0622';\n t['\\uFE83'] = '\\u0623';\n t['\\uFE84'] = '\\u0623';\n t['\\uFE85'] = '\\u0624';\n t['\\uFE86'] = '\\u0624';\n t['\\uFE87'] = '\\u0625';\n t['\\uFE88'] = '\\u0625';\n t['\\uFE89'] = '\\u0626';\n t['\\uFE8A'] = '\\u0626';\n t['\\uFE8B'] = '\\u0626';\n t['\\uFE8C'] = '\\u0626';\n t['\\uFE8D'] = '\\u0627';\n t['\\uFE8E'] = '\\u0627';\n t['\\uFE8F'] = '\\u0628';\n t['\\uFE90'] = '\\u0628';\n t['\\uFE91'] = '\\u0628';\n t['\\uFE92'] = '\\u0628';\n t['\\uFE93'] = '\\u0629';\n t['\\uFE94'] = '\\u0629';\n t['\\uFE95'] = '\\u062A';\n t['\\uFE96'] = '\\u062A';\n t['\\uFE97'] = '\\u062A';\n t['\\uFE98'] = '\\u062A';\n t['\\uFE99'] = '\\u062B';\n t['\\uFE9A'] = '\\u062B';\n t['\\uFE9B'] = '\\u062B';\n t['\\uFE9C'] = '\\u062B';\n t['\\uFE9D'] = '\\u062C';\n t['\\uFE9E'] = '\\u062C';\n t['\\uFE9F'] = '\\u062C';\n t['\\uFEA0'] = '\\u062C';\n t['\\uFEA1'] = '\\u062D';\n t['\\uFEA2'] = '\\u062D';\n t['\\uFEA3'] = '\\u062D';\n t['\\uFEA4'] = '\\u062D';\n t['\\uFEA5'] = '\\u062E';\n t['\\uFEA6'] = '\\u062E';\n t['\\uFEA7'] = '\\u062E';\n t['\\uFEA8'] = '\\u062E';\n t['\\uFEA9'] = '\\u062F';\n t['\\uFEAA'] = '\\u062F';\n t['\\uFEAB'] = '\\u0630';\n t['\\uFEAC'] = '\\u0630';\n t['\\uFEAD'] = '\\u0631';\n t['\\uFEAE'] = '\\u0631';\n t['\\uFEAF'] = '\\u0632';\n t['\\uFEB0'] = '\\u0632';\n t['\\uFEB1'] = '\\u0633';\n t['\\uFEB2'] = '\\u0633';\n t['\\uFEB3'] = '\\u0633';\n t['\\uFEB4'] = '\\u0633';\n t['\\uFEB5'] = '\\u0634';\n t['\\uFEB6'] = '\\u0634';\n t['\\uFEB7'] = '\\u0634';\n t['\\uFEB8'] = '\\u0634';\n t['\\uFEB9'] = '\\u0635';\n t['\\uFEBA'] = '\\u0635';\n t['\\uFEBB'] = '\\u0635';\n t['\\uFEBC'] = '\\u0635';\n t['\\uFEBD'] = '\\u0636';\n t['\\uFEBE'] = '\\u0636';\n t['\\uFEBF'] = '\\u0636';\n t['\\uFEC0'] = '\\u0636';\n t['\\uFEC1'] = '\\u0637';\n t['\\uFEC2'] = '\\u0637';\n t['\\uFEC3'] = '\\u0637';\n t['\\uFEC4'] = '\\u0637';\n t['\\uFEC5'] = '\\u0638';\n t['\\uFEC6'] = '\\u0638';\n t['\\uFEC7'] = '\\u0638';\n t['\\uFEC8'] = '\\u0638';\n t['\\uFEC9'] = '\\u0639';\n t['\\uFECA'] = '\\u0639';\n t['\\uFECB'] = '\\u0639';\n t['\\uFECC'] = '\\u0639';\n t['\\uFECD'] = '\\u063A';\n t['\\uFECE'] = '\\u063A';\n t['\\uFECF'] = '\\u063A';\n t['\\uFED0'] = '\\u063A';\n t['\\uFED1'] = '\\u0641';\n t['\\uFED2'] = '\\u0641';\n t['\\uFED3'] = '\\u0641';\n t['\\uFED4'] = '\\u0641';\n t['\\uFED5'] = '\\u0642';\n t['\\uFED6'] = '\\u0642';\n t['\\uFED7'] = '\\u0642';\n t['\\uFED8'] = '\\u0642';\n t['\\uFED9'] = '\\u0643';\n t['\\uFEDA'] = '\\u0643';\n t['\\uFEDB'] = '\\u0643';\n t['\\uFEDC'] = '\\u0643';\n t['\\uFEDD'] = '\\u0644';\n t['\\uFEDE'] = '\\u0644';\n t['\\uFEDF'] = '\\u0644';\n t['\\uFEE0'] = '\\u0644';\n t['\\uFEE1'] = '\\u0645';\n t['\\uFEE2'] = '\\u0645';\n t['\\uFEE3'] = '\\u0645';\n t['\\uFEE4'] = '\\u0645';\n t['\\uFEE5'] = '\\u0646';\n t['\\uFEE6'] = '\\u0646';\n t['\\uFEE7'] = '\\u0646';\n t['\\uFEE8'] = '\\u0646';\n t['\\uFEE9'] = '\\u0647';\n t['\\uFEEA'] = '\\u0647';\n t['\\uFEEB'] = '\\u0647';\n t['\\uFEEC'] = '\\u0647';\n t['\\uFEED'] = '\\u0648';\n t['\\uFEEE'] = '\\u0648';\n t['\\uFEEF'] = '\\u0649';\n t['\\uFEF0'] = '\\u0649';\n t['\\uFEF1'] = '\\u064A';\n t['\\uFEF2'] = '\\u064A';\n t['\\uFEF3'] = '\\u064A';\n t['\\uFEF4'] = '\\u064A';\n t['\\uFEF5'] = '\\u0644\\u0622';\n t['\\uFEF6'] = '\\u0644\\u0622';\n t['\\uFEF7'] = '\\u0644\\u0623';\n t['\\uFEF8'] = '\\u0644\\u0623';\n t['\\uFEF9'] = '\\u0644\\u0625';\n t['\\uFEFA'] = '\\u0644\\u0625';\n t['\\uFEFB'] = '\\u0644\\u0627';\n t['\\uFEFC'] = '\\u0644\\u0627';\n});\nfunction reverseIfRtl(chars) {\n var charsLength = chars.length;\n if (charsLength <= 1 || !isRTLRangeFor(chars.charCodeAt(0))) {\n return chars;\n }\n var s = '';\n for (var ii = charsLength - 1; ii >= 0; ii--) {\n s += chars[ii];\n }\n return s;\n}\nexports.mapSpecialUnicodeValues = mapSpecialUnicodeValues;\nexports.reverseIfRtl = reverseIfRtl;\nexports.getUnicodeRangeFor = getUnicodeRangeFor;\nexports.getNormalizedUnicodes = getNormalizedUnicodes;\nexports.getUnicodeForGlyph = getUnicodeForGlyph;\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontRendererFactory = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _cff_parser = __w_pdfjs_require__(175);\n\nvar _glyphlist = __w_pdfjs_require__(178);\n\nvar _encodings = __w_pdfjs_require__(177);\n\nvar _stream = __w_pdfjs_require__(158);\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar FontRendererFactory = function FontRendererFactoryClosure() {\n function getLong(data, offset) {\n return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n }\n\n function getUshort(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n }\n\n function parseCmap(data, start, end) {\n var offset = getUshort(data, start + 2) === 1 ? getLong(data, start + 8) : getLong(data, start + 16);\n var format = getUshort(data, start + offset);\n var ranges, p, i;\n\n if (format === 4) {\n getUshort(data, start + offset + 2);\n var segCount = getUshort(data, start + offset + 6) >> 1;\n p = start + offset + 14;\n ranges = [];\n\n for (i = 0; i < segCount; i++, p += 2) {\n ranges[i] = {\n end: getUshort(data, p)\n };\n }\n\n p += 2;\n\n for (i = 0; i < segCount; i++, p += 2) {\n ranges[i].start = getUshort(data, p);\n }\n\n for (i = 0; i < segCount; i++, p += 2) {\n ranges[i].idDelta = getUshort(data, p);\n }\n\n for (i = 0; i < segCount; i++, p += 2) {\n var idOffset = getUshort(data, p);\n\n if (idOffset === 0) {\n continue;\n }\n\n ranges[i].ids = [];\n\n for (var j = 0, jj = ranges[i].end - ranges[i].start + 1; j < jj; j++) {\n ranges[i].ids[j] = getUshort(data, p + idOffset);\n idOffset += 2;\n }\n }\n\n return ranges;\n } else if (format === 12) {\n getLong(data, start + offset + 4);\n var groups = getLong(data, start + offset + 12);\n p = start + offset + 16;\n ranges = [];\n\n for (i = 0; i < groups; i++) {\n ranges.push({\n start: getLong(data, p),\n end: getLong(data, p + 4),\n idDelta: getLong(data, p + 8) - getLong(data, p)\n });\n p += 12;\n }\n\n return ranges;\n }\n\n throw new _util.FormatError(\"unsupported cmap: \".concat(format));\n }\n\n function parseCff(data, start, end, seacAnalysisEnabled) {\n var properties = {};\n var parser = new _cff_parser.CFFParser(new _stream.Stream(data, start, end - start), properties, seacAnalysisEnabled);\n var cff = parser.parse();\n return {\n glyphs: cff.charStrings.objects,\n subrs: cff.topDict.privateDict && cff.topDict.privateDict.subrsIndex && cff.topDict.privateDict.subrsIndex.objects,\n gsubrs: cff.globalSubrIndex && cff.globalSubrIndex.objects,\n isCFFCIDFont: cff.isCIDFont,\n fdSelect: cff.fdSelect,\n fdArray: cff.fdArray\n };\n }\n\n function parseGlyfTable(glyf, loca, isGlyphLocationsLong) {\n var itemSize, itemDecode;\n\n if (isGlyphLocationsLong) {\n itemSize = 4;\n\n itemDecode = function fontItemDecodeLong(data, offset) {\n return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n };\n } else {\n itemSize = 2;\n\n itemDecode = function fontItemDecode(data, offset) {\n return data[offset] << 9 | data[offset + 1] << 1;\n };\n }\n\n var glyphs = [];\n var startOffset = itemDecode(loca, 0);\n\n for (var j = itemSize; j < loca.length; j += itemSize) {\n var endOffset = itemDecode(loca, j);\n glyphs.push(glyf.subarray(startOffset, endOffset));\n startOffset = endOffset;\n }\n\n return glyphs;\n }\n\n function lookupCmap(ranges, unicode) {\n var code = unicode.codePointAt(0),\n gid = 0;\n var l = 0,\n r = ranges.length - 1;\n\n while (l < r) {\n var c = l + r + 1 >> 1;\n\n if (code < ranges[c].start) {\n r = c - 1;\n } else {\n l = c;\n }\n }\n\n if (ranges[l].start <= code && code <= ranges[l].end) {\n gid = ranges[l].idDelta + (ranges[l].ids ? ranges[l].ids[code - ranges[l].start] : code) & 0xFFFF;\n }\n\n return {\n charCode: code,\n glyphId: gid\n };\n }\n\n function compileGlyf(code, cmds, font) {\n function moveTo(x, y) {\n cmds.push({\n cmd: 'moveTo',\n args: [x, y]\n });\n }\n\n function lineTo(x, y) {\n cmds.push({\n cmd: 'lineTo',\n args: [x, y]\n });\n }\n\n function quadraticCurveTo(xa, ya, x, y) {\n cmds.push({\n cmd: 'quadraticCurveTo',\n args: [xa, ya, x, y]\n });\n }\n\n var i = 0;\n var numberOfContours = (code[i] << 24 | code[i + 1] << 16) >> 16;\n var flags;\n var x = 0,\n y = 0;\n i += 10;\n\n if (numberOfContours < 0) {\n do {\n flags = code[i] << 8 | code[i + 1];\n var glyphIndex = code[i + 2] << 8 | code[i + 3];\n i += 4;\n var arg1, arg2;\n\n if (flags & 0x01) {\n arg1 = (code[i] << 24 | code[i + 1] << 16) >> 16;\n arg2 = (code[i + 2] << 24 | code[i + 3] << 16) >> 16;\n i += 4;\n } else {\n arg1 = code[i++];\n arg2 = code[i++];\n }\n\n if (flags & 0x02) {\n x = arg1;\n y = arg2;\n } else {\n x = 0;\n y = 0;\n }\n\n var scaleX = 1,\n scaleY = 1,\n scale01 = 0,\n scale10 = 0;\n\n if (flags & 0x08) {\n scaleX = scaleY = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n i += 2;\n } else if (flags & 0x40) {\n scaleX = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n scaleY = (code[i + 2] << 24 | code[i + 3] << 16) / 1073741824;\n i += 4;\n } else if (flags & 0x80) {\n scaleX = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n scale01 = (code[i + 2] << 24 | code[i + 3] << 16) / 1073741824;\n scale10 = (code[i + 4] << 24 | code[i + 5] << 16) / 1073741824;\n scaleY = (code[i + 6] << 24 | code[i + 7] << 16) / 1073741824;\n i += 8;\n }\n\n var subglyph = font.glyphs[glyphIndex];\n\n if (subglyph) {\n cmds.push({\n cmd: 'save'\n });\n cmds.push({\n cmd: 'transform',\n args: [scaleX, scale01, scale10, scaleY, x, y]\n });\n compileGlyf(subglyph, cmds, font);\n cmds.push({\n cmd: 'restore'\n });\n }\n } while (flags & 0x20);\n } else {\n var endPtsOfContours = [];\n var j, jj;\n\n for (j = 0; j < numberOfContours; j++) {\n endPtsOfContours.push(code[i] << 8 | code[i + 1]);\n i += 2;\n }\n\n var instructionLength = code[i] << 8 | code[i + 1];\n i += 2 + instructionLength;\n var numberOfPoints = endPtsOfContours[endPtsOfContours.length - 1] + 1;\n var points = [];\n\n while (points.length < numberOfPoints) {\n flags = code[i++];\n var repeat = 1;\n\n if (flags & 0x08) {\n repeat += code[i++];\n }\n\n while (repeat-- > 0) {\n points.push({\n flags: flags\n });\n }\n }\n\n for (j = 0; j < numberOfPoints; j++) {\n switch (points[j].flags & 0x12) {\n case 0x00:\n x += (code[i] << 24 | code[i + 1] << 16) >> 16;\n i += 2;\n break;\n\n case 0x02:\n x -= code[i++];\n break;\n\n case 0x12:\n x += code[i++];\n break;\n }\n\n points[j].x = x;\n }\n\n for (j = 0; j < numberOfPoints; j++) {\n switch (points[j].flags & 0x24) {\n case 0x00:\n y += (code[i] << 24 | code[i + 1] << 16) >> 16;\n i += 2;\n break;\n\n case 0x04:\n y -= code[i++];\n break;\n\n case 0x24:\n y += code[i++];\n break;\n }\n\n points[j].y = y;\n }\n\n var startPoint = 0;\n\n for (i = 0; i < numberOfContours; i++) {\n var endPoint = endPtsOfContours[i];\n var contour = points.slice(startPoint, endPoint + 1);\n\n if (contour[0].flags & 1) {\n contour.push(contour[0]);\n } else if (contour[contour.length - 1].flags & 1) {\n contour.unshift(contour[contour.length - 1]);\n } else {\n var p = {\n flags: 1,\n x: (contour[0].x + contour[contour.length - 1].x) / 2,\n y: (contour[0].y + contour[contour.length - 1].y) / 2\n };\n contour.unshift(p);\n contour.push(p);\n }\n\n moveTo(contour[0].x, contour[0].y);\n\n for (j = 1, jj = contour.length; j < jj; j++) {\n if (contour[j].flags & 1) {\n lineTo(contour[j].x, contour[j].y);\n } else if (contour[j + 1].flags & 1) {\n quadraticCurveTo(contour[j].x, contour[j].y, contour[j + 1].x, contour[j + 1].y);\n j++;\n } else {\n quadraticCurveTo(contour[j].x, contour[j].y, (contour[j].x + contour[j + 1].x) / 2, (contour[j].y + contour[j + 1].y) / 2);\n }\n }\n\n startPoint = endPoint + 1;\n }\n }\n }\n\n function compileCharString(code, cmds, font, glyphId) {\n var stack = [];\n var x = 0,\n y = 0;\n var stems = 0;\n\n function moveTo(x, y) {\n cmds.push({\n cmd: 'moveTo',\n args: [x, y]\n });\n }\n\n function lineTo(x, y) {\n cmds.push({\n cmd: 'lineTo',\n args: [x, y]\n });\n }\n\n function bezierCurveTo(x1, y1, x2, y2, x, y) {\n cmds.push({\n cmd: 'bezierCurveTo',\n args: [x1, y1, x2, y2, x, y]\n });\n }\n\n function parse(code) {\n var i = 0;\n\n while (i < code.length) {\n var stackClean = false;\n var v = code[i++];\n var xa, xb, ya, yb, y1, y2, y3, n, subrCode;\n\n switch (v) {\n case 1:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 3:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 4:\n y += stack.pop();\n moveTo(x, y);\n stackClean = true;\n break;\n\n case 5:\n while (stack.length > 0) {\n x += stack.shift();\n y += stack.shift();\n lineTo(x, y);\n }\n\n break;\n\n case 6:\n while (stack.length > 0) {\n x += stack.shift();\n lineTo(x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n y += stack.shift();\n lineTo(x, y);\n }\n\n break;\n\n case 7:\n while (stack.length > 0) {\n y += stack.shift();\n lineTo(x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n x += stack.shift();\n lineTo(x, y);\n }\n\n break;\n\n case 8:\n while (stack.length > 0) {\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 10:\n n = stack.pop();\n subrCode = null;\n\n if (font.isCFFCIDFont) {\n var fdIndex = font.fdSelect.getFDIndex(glyphId);\n\n if (fdIndex >= 0 && fdIndex < font.fdArray.length) {\n var fontDict = font.fdArray[fdIndex],\n subrs = void 0;\n\n if (fontDict.privateDict && fontDict.privateDict.subrsIndex) {\n subrs = fontDict.privateDict.subrsIndex.objects;\n }\n\n if (subrs) {\n var numSubrs = subrs.length;\n n += numSubrs < 1240 ? 107 : numSubrs < 33900 ? 1131 : 32768;\n subrCode = subrs[n];\n }\n } else {\n (0, _util.warn)('Invalid fd index for glyph index.');\n }\n } else {\n subrCode = font.subrs[n + font.subrsBias];\n }\n\n if (subrCode) {\n parse(subrCode);\n }\n\n break;\n\n case 11:\n return;\n\n case 12:\n v = code[i++];\n\n switch (v) {\n case 34:\n xa = x + stack.shift();\n xb = xa + stack.shift();\n y1 = y + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y, xb, y1, x, y1);\n xa = x + stack.shift();\n xb = xa + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y1, xb, y, x, y);\n break;\n\n case 35:\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n stack.pop();\n break;\n\n case 36:\n xa = x + stack.shift();\n y1 = y + stack.shift();\n xb = xa + stack.shift();\n y2 = y1 + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y1, xb, y2, x, y2);\n xa = x + stack.shift();\n xb = xa + stack.shift();\n y3 = y2 + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y2, xb, y3, x, y);\n break;\n\n case 37:\n var x0 = x,\n y0 = y;\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb;\n y = yb;\n\n if (Math.abs(x - x0) > Math.abs(y - y0)) {\n x += stack.shift();\n } else {\n y += stack.shift();\n }\n\n bezierCurveTo(xa, ya, xb, yb, x, y);\n break;\n\n default:\n throw new _util.FormatError(\"unknown operator: 12 \".concat(v));\n }\n\n break;\n\n case 14:\n if (stack.length >= 4) {\n var achar = stack.pop();\n var bchar = stack.pop();\n y = stack.pop();\n x = stack.pop();\n cmds.push({\n cmd: 'save'\n });\n cmds.push({\n cmd: 'translate',\n args: [x, y]\n });\n var cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[achar]]));\n compileCharString(font.glyphs[cmap.glyphId], cmds, font, cmap.glyphId);\n cmds.push({\n cmd: 'restore'\n });\n cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[bchar]]));\n compileCharString(font.glyphs[cmap.glyphId], cmds, font, cmap.glyphId);\n }\n\n return;\n\n case 18:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 19:\n stems += stack.length >> 1;\n i += stems + 7 >> 3;\n stackClean = true;\n break;\n\n case 20:\n stems += stack.length >> 1;\n i += stems + 7 >> 3;\n stackClean = true;\n break;\n\n case 21:\n y += stack.pop();\n x += stack.pop();\n moveTo(x, y);\n stackClean = true;\n break;\n\n case 22:\n x += stack.pop();\n moveTo(x, y);\n stackClean = true;\n break;\n\n case 23:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 24:\n while (stack.length > 2) {\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n x += stack.shift();\n y += stack.shift();\n lineTo(x, y);\n break;\n\n case 25:\n while (stack.length > 6) {\n x += stack.shift();\n y += stack.shift();\n lineTo(x, y);\n }\n\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n break;\n\n case 26:\n if (stack.length % 2) {\n x += stack.shift();\n }\n\n while (stack.length > 0) {\n xa = x;\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb;\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 27:\n if (stack.length % 2) {\n y += stack.shift();\n }\n\n while (stack.length > 0) {\n xa = x + stack.shift();\n ya = y;\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb;\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 28:\n stack.push((code[i] << 24 | code[i + 1] << 16) >> 16);\n i += 2;\n break;\n\n case 29:\n n = stack.pop() + font.gsubrsBias;\n subrCode = font.gsubrs[n];\n\n if (subrCode) {\n parse(subrCode);\n }\n\n break;\n\n case 30:\n while (stack.length > 0) {\n xa = x;\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n xa = x + stack.shift();\n ya = y;\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n y = yb + stack.shift();\n x = xb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 31:\n while (stack.length > 0) {\n xa = x + stack.shift();\n ya = y;\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n y = yb + stack.shift();\n x = xb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n xa = x;\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n default:\n if (v < 32) {\n throw new _util.FormatError(\"unknown operator: \".concat(v));\n }\n\n if (v < 247) {\n stack.push(v - 139);\n } else if (v < 251) {\n stack.push((v - 247) * 256 + code[i++] + 108);\n } else if (v < 255) {\n stack.push(-(v - 251) * 256 - code[i++] - 108);\n } else {\n stack.push((code[i] << 24 | code[i + 1] << 16 | code[i + 2] << 8 | code[i + 3]) / 65536);\n i += 4;\n }\n\n break;\n }\n\n if (stackClean) {\n stack.length = 0;\n }\n }\n }\n\n parse(code);\n }\n\n var NOOP = [];\n\n var CompiledFont =\n /*#__PURE__*/\n function () {\n function CompiledFont(fontMatrix) {\n _classCallCheck(this, CompiledFont);\n\n if (this.constructor === CompiledFont) {\n (0, _util.unreachable)('Cannot initialize CompiledFont.');\n }\n\n this.fontMatrix = fontMatrix;\n this.compiledGlyphs = Object.create(null);\n this.compiledCharCodeToGlyphId = Object.create(null);\n }\n\n _createClass(CompiledFont, [{\n key: \"getPathJs\",\n value: function getPathJs(unicode) {\n var cmap = lookupCmap(this.cmap, unicode);\n var fn = this.compiledGlyphs[cmap.glyphId];\n\n if (!fn) {\n fn = this.compileGlyph(this.glyphs[cmap.glyphId], cmap.glyphId);\n this.compiledGlyphs[cmap.glyphId] = fn;\n }\n\n if (this.compiledCharCodeToGlyphId[cmap.charCode] === undefined) {\n this.compiledCharCodeToGlyphId[cmap.charCode] = cmap.glyphId;\n }\n\n return fn;\n }\n }, {\n key: \"compileGlyph\",\n value: function compileGlyph(code, glyphId) {\n if (!code || code.length === 0 || code[0] === 14) {\n return NOOP;\n }\n\n var fontMatrix = this.fontMatrix;\n\n if (this.isCFFCIDFont) {\n var fdIndex = this.fdSelect.getFDIndex(glyphId);\n\n if (fdIndex >= 0 && fdIndex < this.fdArray.length) {\n var fontDict = this.fdArray[fdIndex];\n fontMatrix = fontDict.getByName('FontMatrix') || _util.FONT_IDENTITY_MATRIX;\n } else {\n (0, _util.warn)('Invalid fd index for glyph index.');\n }\n }\n\n var cmds = [];\n cmds.push({\n cmd: 'save'\n });\n cmds.push({\n cmd: 'transform',\n args: fontMatrix.slice()\n });\n cmds.push({\n cmd: 'scale',\n args: ['size', '-size']\n });\n this.compileGlyphImpl(code, cmds, glyphId);\n cmds.push({\n cmd: 'restore'\n });\n return cmds;\n }\n }, {\n key: \"compileGlyphImpl\",\n value: function compileGlyphImpl() {\n (0, _util.unreachable)('Children classes should implement this.');\n }\n }, {\n key: \"hasBuiltPath\",\n value: function hasBuiltPath(unicode) {\n var cmap = lookupCmap(this.cmap, unicode);\n return this.compiledGlyphs[cmap.glyphId] !== undefined && this.compiledCharCodeToGlyphId[cmap.charCode] !== undefined;\n }\n }]);\n\n return CompiledFont;\n }();\n\n var TrueTypeCompiled =\n /*#__PURE__*/\n function (_CompiledFont) {\n _inherits(TrueTypeCompiled, _CompiledFont);\n\n function TrueTypeCompiled(glyphs, cmap, fontMatrix) {\n var _this;\n\n _classCallCheck(this, TrueTypeCompiled);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(TrueTypeCompiled).call(this, fontMatrix || [0.000488, 0, 0, 0.000488, 0, 0]));\n _this.glyphs = glyphs;\n _this.cmap = cmap;\n return _this;\n }\n\n _createClass(TrueTypeCompiled, [{\n key: \"compileGlyphImpl\",\n value: function compileGlyphImpl(code, cmds) {\n compileGlyf(code, cmds, this);\n }\n }]);\n\n return TrueTypeCompiled;\n }(CompiledFont);\n\n var Type2Compiled =\n /*#__PURE__*/\n function (_CompiledFont2) {\n _inherits(Type2Compiled, _CompiledFont2);\n\n function Type2Compiled(cffInfo, cmap, fontMatrix, glyphNameMap) {\n var _this2;\n\n _classCallCheck(this, Type2Compiled);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(Type2Compiled).call(this, fontMatrix || [0.001, 0, 0, 0.001, 0, 0]));\n _this2.glyphs = cffInfo.glyphs;\n _this2.gsubrs = cffInfo.gsubrs || [];\n _this2.subrs = cffInfo.subrs || [];\n _this2.cmap = cmap;\n _this2.glyphNameMap = glyphNameMap || (0, _glyphlist.getGlyphsUnicode)();\n _this2.gsubrsBias = _this2.gsubrs.length < 1240 ? 107 : _this2.gsubrs.length < 33900 ? 1131 : 32768;\n _this2.subrsBias = _this2.subrs.length < 1240 ? 107 : _this2.subrs.length < 33900 ? 1131 : 32768;\n _this2.isCFFCIDFont = cffInfo.isCFFCIDFont;\n _this2.fdSelect = cffInfo.fdSelect;\n _this2.fdArray = cffInfo.fdArray;\n return _this2;\n }\n\n _createClass(Type2Compiled, [{\n key: \"compileGlyphImpl\",\n value: function compileGlyphImpl(code, cmds, glyphId) {\n compileCharString(code, cmds, this, glyphId);\n }\n }]);\n\n return Type2Compiled;\n }(CompiledFont);\n\n return {\n create: function FontRendererFactory_create(font, seacAnalysisEnabled) {\n var data = new Uint8Array(font.data);\n var cmap, glyf, loca, cff, indexToLocFormat, unitsPerEm;\n var numTables = getUshort(data, 4);\n\n for (var i = 0, p = 12; i < numTables; i++, p += 16) {\n var tag = (0, _util.bytesToString)(data.subarray(p, p + 4));\n var offset = getLong(data, p + 8);\n var length = getLong(data, p + 12);\n\n switch (tag) {\n case 'cmap':\n cmap = parseCmap(data, offset, offset + length);\n break;\n\n case 'glyf':\n glyf = data.subarray(offset, offset + length);\n break;\n\n case 'loca':\n loca = data.subarray(offset, offset + length);\n break;\n\n case 'head':\n unitsPerEm = getUshort(data, offset + 18);\n indexToLocFormat = getUshort(data, offset + 50);\n break;\n\n case 'CFF ':\n cff = parseCff(data, offset, offset + length, seacAnalysisEnabled);\n break;\n }\n }\n\n if (glyf) {\n var fontMatrix = !unitsPerEm ? font.fontMatrix : [1 / unitsPerEm, 0, 0, 1 / unitsPerEm, 0, 0];\n return new TrueTypeCompiled(parseGlyfTable(glyf, loca, indexToLocFormat), cmap, fontMatrix);\n }\n\n return new Type2Compiled(cff, cmap, font.fontMatrix, font.glyphNameMap);\n }\n };\n}();\n\nexports.FontRendererFactory = FontRendererFactory;\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Type1Parser = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _encodings = __w_pdfjs_require__(177);\n\nvar _stream = __w_pdfjs_require__(158);\n\nvar HINTING_ENABLED = false;\n\nvar Type1CharString = function Type1CharStringClosure() {\n var COMMAND_MAP = {\n 'hstem': [1],\n 'vstem': [3],\n 'vmoveto': [4],\n 'rlineto': [5],\n 'hlineto': [6],\n 'vlineto': [7],\n 'rrcurveto': [8],\n 'callsubr': [10],\n 'flex': [12, 35],\n 'drop': [12, 18],\n 'endchar': [14],\n 'rmoveto': [21],\n 'hmoveto': [22],\n 'vhcurveto': [30],\n 'hvcurveto': [31]\n };\n\n function Type1CharString() {\n this.width = 0;\n this.lsb = 0;\n this.flexing = false;\n this.output = [];\n this.stack = [];\n }\n\n Type1CharString.prototype = {\n convert: function Type1CharString_convert(encoded, subrs, seacAnalysisEnabled) {\n var count = encoded.length;\n var error = false;\n var wx, sbx, subrNumber;\n\n for (var i = 0; i < count; i++) {\n var value = encoded[i];\n\n if (value < 32) {\n if (value === 12) {\n value = (value << 8) + encoded[++i];\n }\n\n switch (value) {\n case 1:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.hstem);\n break;\n\n case 3:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.vstem);\n break;\n\n case 4:\n if (this.flexing) {\n if (this.stack.length < 1) {\n error = true;\n break;\n }\n\n var dy = this.stack.pop();\n this.stack.push(0, dy);\n break;\n }\n\n error = this.executeCommand(1, COMMAND_MAP.vmoveto);\n break;\n\n case 5:\n error = this.executeCommand(2, COMMAND_MAP.rlineto);\n break;\n\n case 6:\n error = this.executeCommand(1, COMMAND_MAP.hlineto);\n break;\n\n case 7:\n error = this.executeCommand(1, COMMAND_MAP.vlineto);\n break;\n\n case 8:\n error = this.executeCommand(6, COMMAND_MAP.rrcurveto);\n break;\n\n case 9:\n this.stack = [];\n break;\n\n case 10:\n if (this.stack.length < 1) {\n error = true;\n break;\n }\n\n subrNumber = this.stack.pop();\n\n if (!subrs[subrNumber]) {\n error = true;\n break;\n }\n\n error = this.convert(subrs[subrNumber], subrs, seacAnalysisEnabled);\n break;\n\n case 11:\n return error;\n\n case 13:\n if (this.stack.length < 2) {\n error = true;\n break;\n }\n\n wx = this.stack.pop();\n sbx = this.stack.pop();\n this.lsb = sbx;\n this.width = wx;\n this.stack.push(wx, sbx);\n error = this.executeCommand(2, COMMAND_MAP.hmoveto);\n break;\n\n case 14:\n this.output.push(COMMAND_MAP.endchar[0]);\n break;\n\n case 21:\n if (this.flexing) {\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.rmoveto);\n break;\n\n case 22:\n if (this.flexing) {\n this.stack.push(0);\n break;\n }\n\n error = this.executeCommand(1, COMMAND_MAP.hmoveto);\n break;\n\n case 30:\n error = this.executeCommand(4, COMMAND_MAP.vhcurveto);\n break;\n\n case 31:\n error = this.executeCommand(4, COMMAND_MAP.hvcurveto);\n break;\n\n case (12 << 8) + 0:\n this.stack = [];\n break;\n\n case (12 << 8) + 1:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.vstem);\n break;\n\n case (12 << 8) + 2:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.hstem);\n break;\n\n case (12 << 8) + 6:\n if (seacAnalysisEnabled) {\n this.seac = this.stack.splice(-4, 4);\n error = this.executeCommand(0, COMMAND_MAP.endchar);\n } else {\n error = this.executeCommand(4, COMMAND_MAP.endchar);\n }\n\n break;\n\n case (12 << 8) + 7:\n if (this.stack.length < 4) {\n error = true;\n break;\n }\n\n this.stack.pop();\n wx = this.stack.pop();\n var sby = this.stack.pop();\n sbx = this.stack.pop();\n this.lsb = sbx;\n this.width = wx;\n this.stack.push(wx, sbx, sby);\n error = this.executeCommand(3, COMMAND_MAP.rmoveto);\n break;\n\n case (12 << 8) + 12:\n if (this.stack.length < 2) {\n error = true;\n break;\n }\n\n var num2 = this.stack.pop();\n var num1 = this.stack.pop();\n this.stack.push(num1 / num2);\n break;\n\n case (12 << 8) + 16:\n if (this.stack.length < 2) {\n error = true;\n break;\n }\n\n subrNumber = this.stack.pop();\n var numArgs = this.stack.pop();\n\n if (subrNumber === 0 && numArgs === 3) {\n var flexArgs = this.stack.splice(this.stack.length - 17, 17);\n this.stack.push(flexArgs[2] + flexArgs[0], flexArgs[3] + flexArgs[1], flexArgs[4], flexArgs[5], flexArgs[6], flexArgs[7], flexArgs[8], flexArgs[9], flexArgs[10], flexArgs[11], flexArgs[12], flexArgs[13], flexArgs[14]);\n error = this.executeCommand(13, COMMAND_MAP.flex, true);\n this.flexing = false;\n this.stack.push(flexArgs[15], flexArgs[16]);\n } else if (subrNumber === 1 && numArgs === 0) {\n this.flexing = true;\n }\n\n break;\n\n case (12 << 8) + 17:\n break;\n\n case (12 << 8) + 33:\n this.stack = [];\n break;\n\n default:\n (0, _util.warn)('Unknown type 1 charstring command of \"' + value + '\"');\n break;\n }\n\n if (error) {\n break;\n }\n\n continue;\n } else if (value <= 246) {\n value = value - 139;\n } else if (value <= 250) {\n value = (value - 247) * 256 + encoded[++i] + 108;\n } else if (value <= 254) {\n value = -((value - 251) * 256) - encoded[++i] - 108;\n } else {\n value = (encoded[++i] & 0xff) << 24 | (encoded[++i] & 0xff) << 16 | (encoded[++i] & 0xff) << 8 | (encoded[++i] & 0xff) << 0;\n }\n\n this.stack.push(value);\n }\n\n return error;\n },\n executeCommand: function executeCommand(howManyArgs, command, keepStack) {\n var stackLength = this.stack.length;\n\n if (howManyArgs > stackLength) {\n return true;\n }\n\n var start = stackLength - howManyArgs;\n\n for (var i = start; i < stackLength; i++) {\n var value = this.stack[i];\n\n if (Number.isInteger(value)) {\n this.output.push(28, value >> 8 & 0xff, value & 0xff);\n } else {\n value = 65536 * value | 0;\n this.output.push(255, value >> 24 & 0xFF, value >> 16 & 0xFF, value >> 8 & 0xFF, value & 0xFF);\n }\n }\n\n this.output.push.apply(this.output, command);\n\n if (keepStack) {\n this.stack.splice(start, howManyArgs);\n } else {\n this.stack.length = 0;\n }\n\n return false;\n }\n };\n return Type1CharString;\n}();\n\nvar Type1Parser = function Type1ParserClosure() {\n var EEXEC_ENCRYPT_KEY = 55665;\n var CHAR_STRS_ENCRYPT_KEY = 4330;\n\n function isHexDigit(code) {\n return code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102;\n }\n\n function decrypt(data, key, discardNumber) {\n if (discardNumber >= data.length) {\n return new Uint8Array(0);\n }\n\n var r = key | 0,\n c1 = 52845,\n c2 = 22719,\n i,\n j;\n\n for (i = 0; i < discardNumber; i++) {\n r = (data[i] + r) * c1 + c2 & (1 << 16) - 1;\n }\n\n var count = data.length - discardNumber;\n var decrypted = new Uint8Array(count);\n\n for (i = discardNumber, j = 0; j < count; i++, j++) {\n var value = data[i];\n decrypted[j] = value ^ r >> 8;\n r = (value + r) * c1 + c2 & (1 << 16) - 1;\n }\n\n return decrypted;\n }\n\n function decryptAscii(data, key, discardNumber) {\n var r = key | 0,\n c1 = 52845,\n c2 = 22719;\n var count = data.length,\n maybeLength = count >>> 1;\n var decrypted = new Uint8Array(maybeLength);\n var i, j;\n\n for (i = 0, j = 0; i < count; i++) {\n var digit1 = data[i];\n\n if (!isHexDigit(digit1)) {\n continue;\n }\n\n i++;\n var digit2;\n\n while (i < count && !isHexDigit(digit2 = data[i])) {\n i++;\n }\n\n if (i < count) {\n var value = parseInt(String.fromCharCode(digit1, digit2), 16);\n decrypted[j++] = value ^ r >> 8;\n r = (value + r) * c1 + c2 & (1 << 16) - 1;\n }\n }\n\n return Array.prototype.slice.call(decrypted, discardNumber, j);\n }\n\n function isSpecial(c) {\n return c === 0x2F || c === 0x5B || c === 0x5D || c === 0x7B || c === 0x7D || c === 0x28 || c === 0x29;\n }\n\n function Type1Parser(stream, encrypted, seacAnalysisEnabled) {\n if (encrypted) {\n var data = stream.getBytes();\n var isBinary = !(isHexDigit(data[0]) && isHexDigit(data[1]) && isHexDigit(data[2]) && isHexDigit(data[3]));\n stream = new _stream.Stream(isBinary ? decrypt(data, EEXEC_ENCRYPT_KEY, 4) : decryptAscii(data, EEXEC_ENCRYPT_KEY, 4));\n }\n\n this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n this.stream = stream;\n this.nextChar();\n }\n\n Type1Parser.prototype = {\n readNumberArray: function Type1Parser_readNumberArray() {\n this.getToken();\n var array = [];\n\n while (true) {\n var token = this.getToken();\n\n if (token === null || token === ']' || token === '}') {\n break;\n }\n\n array.push(parseFloat(token || 0));\n }\n\n return array;\n },\n readNumber: function Type1Parser_readNumber() {\n var token = this.getToken();\n return parseFloat(token || 0);\n },\n readInt: function Type1Parser_readInt() {\n var token = this.getToken();\n return parseInt(token || 0, 10) | 0;\n },\n readBoolean: function Type1Parser_readBoolean() {\n var token = this.getToken();\n return token === 'true' ? 1 : 0;\n },\n nextChar: function Type1_nextChar() {\n return this.currentChar = this.stream.getByte();\n },\n getToken: function Type1Parser_getToken() {\n var comment = false;\n var ch = this.currentChar;\n\n while (true) {\n if (ch === -1) {\n return null;\n }\n\n if (comment) {\n if (ch === 0x0A || ch === 0x0D) {\n comment = false;\n }\n } else if (ch === 0x25) {\n comment = true;\n } else if (!(0, _util.isSpace)(ch)) {\n break;\n }\n\n ch = this.nextChar();\n }\n\n if (isSpecial(ch)) {\n this.nextChar();\n return String.fromCharCode(ch);\n }\n\n var token = '';\n\n do {\n token += String.fromCharCode(ch);\n ch = this.nextChar();\n } while (ch >= 0 && !(0, _util.isSpace)(ch) && !isSpecial(ch));\n\n return token;\n },\n readCharStrings: function Type1Parser_readCharStrings(bytes, lenIV) {\n if (lenIV === -1) {\n return bytes;\n }\n\n return decrypt(bytes, CHAR_STRS_ENCRYPT_KEY, lenIV);\n },\n extractFontProgram: function Type1Parser_extractFontProgram() {\n var stream = this.stream;\n var subrs = [],\n charstrings = [];\n var privateData = Object.create(null);\n privateData['lenIV'] = 4;\n var program = {\n subrs: [],\n charstrings: [],\n properties: {\n 'privateData': privateData\n }\n };\n var token, length, data, lenIV, encoded;\n\n while ((token = this.getToken()) !== null) {\n if (token !== '/') {\n continue;\n }\n\n token = this.getToken();\n\n switch (token) {\n case 'CharStrings':\n this.getToken();\n this.getToken();\n this.getToken();\n this.getToken();\n\n while (true) {\n token = this.getToken();\n\n if (token === null || token === 'end') {\n break;\n }\n\n if (token !== '/') {\n continue;\n }\n\n var glyph = this.getToken();\n length = this.readInt();\n this.getToken();\n data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);\n lenIV = program.properties.privateData['lenIV'];\n encoded = this.readCharStrings(data, lenIV);\n this.nextChar();\n token = this.getToken();\n\n if (token === 'noaccess') {\n this.getToken();\n }\n\n charstrings.push({\n glyph: glyph,\n encoded: encoded\n });\n }\n\n break;\n\n case 'Subrs':\n this.readInt();\n this.getToken();\n\n while (this.getToken() === 'dup') {\n var index = this.readInt();\n length = this.readInt();\n this.getToken();\n data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);\n lenIV = program.properties.privateData['lenIV'];\n encoded = this.readCharStrings(data, lenIV);\n this.nextChar();\n token = this.getToken();\n\n if (token === 'noaccess') {\n this.getToken();\n }\n\n subrs[index] = encoded;\n }\n\n break;\n\n case 'BlueValues':\n case 'OtherBlues':\n case 'FamilyBlues':\n case 'FamilyOtherBlues':\n var blueArray = this.readNumberArray();\n\n if (blueArray.length > 0 && blueArray.length % 2 === 0 && HINTING_ENABLED) {\n program.properties.privateData[token] = blueArray;\n }\n\n break;\n\n case 'StemSnapH':\n case 'StemSnapV':\n program.properties.privateData[token] = this.readNumberArray();\n break;\n\n case 'StdHW':\n case 'StdVW':\n program.properties.privateData[token] = this.readNumberArray()[0];\n break;\n\n case 'BlueShift':\n case 'lenIV':\n case 'BlueFuzz':\n case 'BlueScale':\n case 'LanguageGroup':\n case 'ExpansionFactor':\n program.properties.privateData[token] = this.readNumber();\n break;\n\n case 'ForceBold':\n program.properties.privateData[token] = this.readBoolean();\n break;\n }\n }\n\n for (var i = 0; i < charstrings.length; i++) {\n glyph = charstrings[i].glyph;\n encoded = charstrings[i].encoded;\n var charString = new Type1CharString();\n var error = charString.convert(encoded, subrs, this.seacAnalysisEnabled);\n var output = charString.output;\n\n if (error) {\n output = [14];\n }\n\n program.charstrings.push({\n glyphName: glyph,\n charstring: output,\n width: charString.width,\n lsb: charString.lsb,\n seac: charString.seac\n });\n }\n\n return program;\n },\n extractFontHeader: function Type1Parser_extractFontHeader(properties) {\n var token;\n\n while ((token = this.getToken()) !== null) {\n if (token !== '/') {\n continue;\n }\n\n token = this.getToken();\n\n switch (token) {\n case 'FontMatrix':\n var matrix = this.readNumberArray();\n properties.fontMatrix = matrix;\n break;\n\n case 'Encoding':\n var encodingArg = this.getToken();\n var encoding;\n\n if (!/^\\d+$/.test(encodingArg)) {\n encoding = (0, _encodings.getEncoding)(encodingArg);\n } else {\n encoding = [];\n var size = parseInt(encodingArg, 10) | 0;\n this.getToken();\n\n for (var j = 0; j < size; j++) {\n token = this.getToken();\n\n while (token !== 'dup' && token !== 'def') {\n token = this.getToken();\n\n if (token === null) {\n return;\n }\n }\n\n if (token === 'def') {\n break;\n }\n\n var index = this.readInt();\n this.getToken();\n var glyph = this.getToken();\n encoding[index] = glyph;\n this.getToken();\n }\n }\n\n properties.builtInEncoding = encoding;\n break;\n\n case 'FontBBox':\n var fontBBox = this.readNumberArray();\n properties.ascent = Math.max(fontBBox[3], fontBBox[1]);\n properties.descent = Math.min(fontBBox[1], fontBBox[3]);\n properties.ascentScaled = true;\n break;\n }\n }\n }\n };\n return Type1Parser;\n}();\n\nexports.Type1Parser = Type1Parser;\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getTilingPatternIR = getTilingPatternIR;\nexports.Pattern = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _colorspace = __w_pdfjs_require__(169);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _core_utils = __w_pdfjs_require__(154);\n\nvar ShadingType = {\n FUNCTION_BASED: 1,\n AXIAL: 2,\n RADIAL: 3,\n FREE_FORM_MESH: 4,\n LATTICE_FORM_MESH: 5,\n COONS_PATCH_MESH: 6,\n TENSOR_PATCH_MESH: 7\n};\n\nvar Pattern = function PatternClosure() {\n function Pattern() {\n (0, _util.unreachable)('should not call Pattern constructor');\n }\n\n Pattern.prototype = {\n getPattern: function Pattern_getPattern(ctx) {\n (0, _util.unreachable)(\"Should not call Pattern.getStyle: \".concat(ctx));\n }\n };\n\n Pattern.parseShading = function (shading, matrix, xref, res, handler, pdfFunctionFactory) {\n var dict = (0, _primitives.isStream)(shading) ? shading.dict : shading;\n var type = dict.get('ShadingType');\n\n try {\n switch (type) {\n case ShadingType.AXIAL:\n case ShadingType.RADIAL:\n return new Shadings.RadialAxial(dict, matrix, xref, res, pdfFunctionFactory);\n\n case ShadingType.FREE_FORM_MESH:\n case ShadingType.LATTICE_FORM_MESH:\n case ShadingType.COONS_PATCH_MESH:\n case ShadingType.TENSOR_PATCH_MESH:\n return new Shadings.Mesh(shading, matrix, xref, res, pdfFunctionFactory);\n\n default:\n throw new _util.FormatError('Unsupported ShadingType: ' + type);\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n handler.send('UnsupportedFeature', {\n featureId: _util.UNSUPPORTED_FEATURES.shadingPattern\n });\n (0, _util.warn)(ex);\n return new Shadings.Dummy();\n }\n };\n\n return Pattern;\n}();\n\nexports.Pattern = Pattern;\nvar Shadings = {};\nShadings.SMALL_NUMBER = 1e-6;\n\nShadings.RadialAxial = function RadialAxialClosure() {\n function RadialAxial(dict, matrix, xref, res, pdfFunctionFactory) {\n this.matrix = matrix;\n this.coordsArr = dict.getArray('Coords');\n this.shadingType = dict.get('ShadingType');\n this.type = 'Pattern';\n var cs = dict.get('ColorSpace', 'CS');\n cs = _colorspace.ColorSpace.parse(cs, xref, res, pdfFunctionFactory);\n this.cs = cs;\n var t0 = 0.0,\n t1 = 1.0;\n\n if (dict.has('Domain')) {\n var domainArr = dict.getArray('Domain');\n t0 = domainArr[0];\n t1 = domainArr[1];\n }\n\n var extendStart = false,\n extendEnd = false;\n\n if (dict.has('Extend')) {\n var extendArr = dict.getArray('Extend');\n extendStart = extendArr[0];\n extendEnd = extendArr[1];\n }\n\n if (this.shadingType === ShadingType.RADIAL && (!extendStart || !extendEnd)) {\n var x1 = this.coordsArr[0];\n var y1 = this.coordsArr[1];\n var r1 = this.coordsArr[2];\n var x2 = this.coordsArr[3];\n var y2 = this.coordsArr[4];\n var r2 = this.coordsArr[5];\n var distance = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));\n\n if (r1 <= r2 + distance && r2 <= r1 + distance) {\n (0, _util.warn)('Unsupported radial gradient.');\n }\n }\n\n this.extendStart = extendStart;\n this.extendEnd = extendEnd;\n var fnObj = dict.get('Function');\n var fn = pdfFunctionFactory.createFromArray(fnObj);\n var diff = t1 - t0;\n var step = diff / 10;\n var colorStops = this.colorStops = [];\n\n if (t0 >= t1 || step <= 0) {\n (0, _util.info)('Bad shading domain.');\n return;\n }\n\n var color = new Float32Array(cs.numComps),\n ratio = new Float32Array(1);\n var rgbColor;\n\n for (var i = t0; i <= t1; i += step) {\n ratio[0] = i;\n fn(ratio, 0, color, 0);\n rgbColor = cs.getRgb(color, 0);\n\n var cssColor = _util.Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);\n\n colorStops.push([(i - t0) / diff, cssColor]);\n }\n\n var background = 'transparent';\n\n if (dict.has('Background')) {\n rgbColor = cs.getRgb(dict.get('Background'), 0);\n background = _util.Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);\n }\n\n if (!extendStart) {\n colorStops.unshift([0, background]);\n colorStops[1][0] += Shadings.SMALL_NUMBER;\n }\n\n if (!extendEnd) {\n colorStops[colorStops.length - 1][0] -= Shadings.SMALL_NUMBER;\n colorStops.push([1, background]);\n }\n\n this.colorStops = colorStops;\n }\n\n RadialAxial.prototype = {\n getIR: function RadialAxial_getIR() {\n var coordsArr = this.coordsArr;\n var shadingType = this.shadingType;\n var type, p0, p1, r0, r1;\n\n if (shadingType === ShadingType.AXIAL) {\n p0 = [coordsArr[0], coordsArr[1]];\n p1 = [coordsArr[2], coordsArr[3]];\n r0 = null;\n r1 = null;\n type = 'axial';\n } else if (shadingType === ShadingType.RADIAL) {\n p0 = [coordsArr[0], coordsArr[1]];\n p1 = [coordsArr[3], coordsArr[4]];\n r0 = coordsArr[2];\n r1 = coordsArr[5];\n type = 'radial';\n } else {\n (0, _util.unreachable)(\"getPattern type unknown: \".concat(shadingType));\n }\n\n var matrix = this.matrix;\n\n if (matrix) {\n p0 = _util.Util.applyTransform(p0, matrix);\n p1 = _util.Util.applyTransform(p1, matrix);\n\n if (shadingType === ShadingType.RADIAL) {\n var scale = _util.Util.singularValueDecompose2dScale(matrix);\n\n r0 *= scale[0];\n r1 *= scale[1];\n }\n }\n\n return ['RadialAxial', type, this.colorStops, p0, p1, r0, r1];\n }\n };\n return RadialAxial;\n}();\n\nShadings.Mesh = function MeshClosure() {\n function MeshStreamReader(stream, context) {\n this.stream = stream;\n this.context = context;\n this.buffer = 0;\n this.bufferLength = 0;\n var numComps = context.numComps;\n this.tmpCompsBuf = new Float32Array(numComps);\n var csNumComps = context.colorSpace.numComps;\n this.tmpCsCompsBuf = context.colorFn ? new Float32Array(csNumComps) : this.tmpCompsBuf;\n }\n\n MeshStreamReader.prototype = {\n get hasData() {\n if (this.stream.end) {\n return this.stream.pos < this.stream.end;\n }\n\n if (this.bufferLength > 0) {\n return true;\n }\n\n var nextByte = this.stream.getByte();\n\n if (nextByte < 0) {\n return false;\n }\n\n this.buffer = nextByte;\n this.bufferLength = 8;\n return true;\n },\n\n readBits: function MeshStreamReader_readBits(n) {\n var buffer = this.buffer;\n var bufferLength = this.bufferLength;\n\n if (n === 32) {\n if (bufferLength === 0) {\n return (this.stream.getByte() << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte()) >>> 0;\n }\n\n buffer = buffer << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte();\n var nextByte = this.stream.getByte();\n this.buffer = nextByte & (1 << bufferLength) - 1;\n return (buffer << 8 - bufferLength | (nextByte & 0xFF) >> bufferLength) >>> 0;\n }\n\n if (n === 8 && bufferLength === 0) {\n return this.stream.getByte();\n }\n\n while (bufferLength < n) {\n buffer = buffer << 8 | this.stream.getByte();\n bufferLength += 8;\n }\n\n bufferLength -= n;\n this.bufferLength = bufferLength;\n this.buffer = buffer & (1 << bufferLength) - 1;\n return buffer >> bufferLength;\n },\n align: function MeshStreamReader_align() {\n this.buffer = 0;\n this.bufferLength = 0;\n },\n readFlag: function MeshStreamReader_readFlag() {\n return this.readBits(this.context.bitsPerFlag);\n },\n readCoordinate: function MeshStreamReader_readCoordinate() {\n var bitsPerCoordinate = this.context.bitsPerCoordinate;\n var xi = this.readBits(bitsPerCoordinate);\n var yi = this.readBits(bitsPerCoordinate);\n var decode = this.context.decode;\n var scale = bitsPerCoordinate < 32 ? 1 / ((1 << bitsPerCoordinate) - 1) : 2.3283064365386963e-10;\n return [xi * scale * (decode[1] - decode[0]) + decode[0], yi * scale * (decode[3] - decode[2]) + decode[2]];\n },\n readComponents: function MeshStreamReader_readComponents() {\n var numComps = this.context.numComps;\n var bitsPerComponent = this.context.bitsPerComponent;\n var scale = bitsPerComponent < 32 ? 1 / ((1 << bitsPerComponent) - 1) : 2.3283064365386963e-10;\n var decode = this.context.decode;\n var components = this.tmpCompsBuf;\n\n for (var i = 0, j = 4; i < numComps; i++, j += 2) {\n var ci = this.readBits(bitsPerComponent);\n components[i] = ci * scale * (decode[j + 1] - decode[j]) + decode[j];\n }\n\n var color = this.tmpCsCompsBuf;\n\n if (this.context.colorFn) {\n this.context.colorFn(components, 0, color, 0);\n }\n\n return this.context.colorSpace.getRgb(color, 0);\n }\n };\n\n function decodeType4Shading(mesh, reader) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var operators = [];\n var ps = [];\n var verticesLeft = 0;\n\n while (reader.hasData) {\n var f = reader.readFlag();\n var coord = reader.readCoordinate();\n var color = reader.readComponents();\n\n if (verticesLeft === 0) {\n if (!(0 <= f && f <= 2)) {\n throw new _util.FormatError('Unknown type4 flag');\n }\n\n switch (f) {\n case 0:\n verticesLeft = 3;\n break;\n\n case 1:\n ps.push(ps[ps.length - 2], ps[ps.length - 1]);\n verticesLeft = 1;\n break;\n\n case 2:\n ps.push(ps[ps.length - 3], ps[ps.length - 1]);\n verticesLeft = 1;\n break;\n }\n\n operators.push(f);\n }\n\n ps.push(coords.length);\n coords.push(coord);\n colors.push(color);\n verticesLeft--;\n reader.align();\n }\n\n mesh.figures.push({\n type: 'triangles',\n coords: new Int32Array(ps),\n colors: new Int32Array(ps)\n });\n }\n\n function decodeType5Shading(mesh, reader, verticesPerRow) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var ps = [];\n\n while (reader.hasData) {\n var coord = reader.readCoordinate();\n var color = reader.readComponents();\n ps.push(coords.length);\n coords.push(coord);\n colors.push(color);\n }\n\n mesh.figures.push({\n type: 'lattice',\n coords: new Int32Array(ps),\n colors: new Int32Array(ps),\n verticesPerRow: verticesPerRow\n });\n }\n\n var MIN_SPLIT_PATCH_CHUNKS_AMOUNT = 3;\n var MAX_SPLIT_PATCH_CHUNKS_AMOUNT = 20;\n var TRIANGLE_DENSITY = 20;\n\n var getB = function getBClosure() {\n function buildB(count) {\n var lut = [];\n\n for (var i = 0; i <= count; i++) {\n var t = i / count,\n t_ = 1 - t;\n lut.push(new Float32Array([t_ * t_ * t_, 3 * t * t_ * t_, 3 * t * t * t_, t * t * t]));\n }\n\n return lut;\n }\n\n var cache = [];\n return function getB(count) {\n if (!cache[count]) {\n cache[count] = buildB(count);\n }\n\n return cache[count];\n };\n }();\n\n function buildFigureFromPatch(mesh, index) {\n var figure = mesh.figures[index];\n (0, _util.assert)(figure.type === 'patch', 'Unexpected patch mesh figure');\n var coords = mesh.coords,\n colors = mesh.colors;\n var pi = figure.coords;\n var ci = figure.colors;\n var figureMinX = Math.min(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);\n var figureMinY = Math.min(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);\n var figureMaxX = Math.max(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);\n var figureMaxY = Math.max(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);\n var splitXBy = Math.ceil((figureMaxX - figureMinX) * TRIANGLE_DENSITY / (mesh.bounds[2] - mesh.bounds[0]));\n splitXBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitXBy));\n var splitYBy = Math.ceil((figureMaxY - figureMinY) * TRIANGLE_DENSITY / (mesh.bounds[3] - mesh.bounds[1]));\n splitYBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitYBy));\n var verticesPerRow = splitXBy + 1;\n var figureCoords = new Int32Array((splitYBy + 1) * verticesPerRow);\n var figureColors = new Int32Array((splitYBy + 1) * verticesPerRow);\n var k = 0;\n var cl = new Uint8Array(3),\n cr = new Uint8Array(3);\n var c0 = colors[ci[0]],\n c1 = colors[ci[1]],\n c2 = colors[ci[2]],\n c3 = colors[ci[3]];\n var bRow = getB(splitYBy),\n bCol = getB(splitXBy);\n\n for (var row = 0; row <= splitYBy; row++) {\n cl[0] = (c0[0] * (splitYBy - row) + c2[0] * row) / splitYBy | 0;\n cl[1] = (c0[1] * (splitYBy - row) + c2[1] * row) / splitYBy | 0;\n cl[2] = (c0[2] * (splitYBy - row) + c2[2] * row) / splitYBy | 0;\n cr[0] = (c1[0] * (splitYBy - row) + c3[0] * row) / splitYBy | 0;\n cr[1] = (c1[1] * (splitYBy - row) + c3[1] * row) / splitYBy | 0;\n cr[2] = (c1[2] * (splitYBy - row) + c3[2] * row) / splitYBy | 0;\n\n for (var col = 0; col <= splitXBy; col++, k++) {\n if ((row === 0 || row === splitYBy) && (col === 0 || col === splitXBy)) {\n continue;\n }\n\n var x = 0,\n y = 0;\n var q = 0;\n\n for (var i = 0; i <= 3; i++) {\n for (var j = 0; j <= 3; j++, q++) {\n var m = bRow[row][i] * bCol[col][j];\n x += coords[pi[q]][0] * m;\n y += coords[pi[q]][1] * m;\n }\n }\n\n figureCoords[k] = coords.length;\n coords.push([x, y]);\n figureColors[k] = colors.length;\n var newColor = new Uint8Array(3);\n newColor[0] = (cl[0] * (splitXBy - col) + cr[0] * col) / splitXBy | 0;\n newColor[1] = (cl[1] * (splitXBy - col) + cr[1] * col) / splitXBy | 0;\n newColor[2] = (cl[2] * (splitXBy - col) + cr[2] * col) / splitXBy | 0;\n colors.push(newColor);\n }\n }\n\n figureCoords[0] = pi[0];\n figureColors[0] = ci[0];\n figureCoords[splitXBy] = pi[3];\n figureColors[splitXBy] = ci[1];\n figureCoords[verticesPerRow * splitYBy] = pi[12];\n figureColors[verticesPerRow * splitYBy] = ci[2];\n figureCoords[verticesPerRow * splitYBy + splitXBy] = pi[15];\n figureColors[verticesPerRow * splitYBy + splitXBy] = ci[3];\n mesh.figures[index] = {\n type: 'lattice',\n coords: figureCoords,\n colors: figureColors,\n verticesPerRow: verticesPerRow\n };\n }\n\n function decodeType6Shading(mesh, reader) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var ps = new Int32Array(16);\n var cs = new Int32Array(4);\n\n while (reader.hasData) {\n var f = reader.readFlag();\n\n if (!(0 <= f && f <= 3)) {\n throw new _util.FormatError('Unknown type6 flag');\n }\n\n var i, ii;\n var pi = coords.length;\n\n for (i = 0, ii = f !== 0 ? 8 : 12; i < ii; i++) {\n coords.push(reader.readCoordinate());\n }\n\n var ci = colors.length;\n\n for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n colors.push(reader.readComponents());\n }\n\n var tmp1, tmp2, tmp3, tmp4;\n\n switch (f) {\n case 0:\n ps[12] = pi + 3;\n ps[13] = pi + 4;\n ps[14] = pi + 5;\n ps[15] = pi + 6;\n ps[8] = pi + 2;\n ps[11] = pi + 7;\n ps[4] = pi + 1;\n ps[7] = pi + 8;\n ps[0] = pi;\n ps[1] = pi + 11;\n ps[2] = pi + 10;\n ps[3] = pi + 9;\n cs[2] = ci + 1;\n cs[3] = ci + 2;\n cs[0] = ci;\n cs[1] = ci + 3;\n break;\n\n case 1:\n tmp1 = ps[12];\n tmp2 = ps[13];\n tmp3 = ps[14];\n tmp4 = ps[15];\n ps[12] = tmp4;\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = tmp3;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[2];\n tmp2 = cs[3];\n cs[2] = tmp2;\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 2:\n tmp1 = ps[15];\n tmp2 = ps[11];\n ps[12] = ps[3];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[7];\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[3];\n cs[2] = cs[1];\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 3:\n ps[12] = ps[0];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[1];\n ps[11] = pi + 3;\n ps[4] = ps[2];\n ps[7] = pi + 4;\n ps[0] = ps[3];\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n cs[2] = cs[0];\n cs[3] = ci;\n cs[0] = cs[1];\n cs[1] = ci + 1;\n break;\n }\n\n ps[5] = coords.length;\n coords.push([(-4 * coords[ps[0]][0] - coords[ps[15]][0] + 6 * (coords[ps[4]][0] + coords[ps[1]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[13]][0] + coords[ps[7]][0])) / 9, (-4 * coords[ps[0]][1] - coords[ps[15]][1] + 6 * (coords[ps[4]][1] + coords[ps[1]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[13]][1] + coords[ps[7]][1])) / 9]);\n ps[6] = coords.length;\n coords.push([(-4 * coords[ps[3]][0] - coords[ps[12]][0] + 6 * (coords[ps[2]][0] + coords[ps[7]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[4]][0] + coords[ps[14]][0])) / 9, (-4 * coords[ps[3]][1] - coords[ps[12]][1] + 6 * (coords[ps[2]][1] + coords[ps[7]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[4]][1] + coords[ps[14]][1])) / 9]);\n ps[9] = coords.length;\n coords.push([(-4 * coords[ps[12]][0] - coords[ps[3]][0] + 6 * (coords[ps[8]][0] + coords[ps[13]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[11]][0] + coords[ps[1]][0])) / 9, (-4 * coords[ps[12]][1] - coords[ps[3]][1] + 6 * (coords[ps[8]][1] + coords[ps[13]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[11]][1] + coords[ps[1]][1])) / 9]);\n ps[10] = coords.length;\n coords.push([(-4 * coords[ps[15]][0] - coords[ps[0]][0] + 6 * (coords[ps[11]][0] + coords[ps[14]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[2]][0] + coords[ps[8]][0])) / 9, (-4 * coords[ps[15]][1] - coords[ps[0]][1] + 6 * (coords[ps[11]][1] + coords[ps[14]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[2]][1] + coords[ps[8]][1])) / 9]);\n mesh.figures.push({\n type: 'patch',\n coords: new Int32Array(ps),\n colors: new Int32Array(cs)\n });\n }\n }\n\n function decodeType7Shading(mesh, reader) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var ps = new Int32Array(16);\n var cs = new Int32Array(4);\n\n while (reader.hasData) {\n var f = reader.readFlag();\n\n if (!(0 <= f && f <= 3)) {\n throw new _util.FormatError('Unknown type7 flag');\n }\n\n var i, ii;\n var pi = coords.length;\n\n for (i = 0, ii = f !== 0 ? 12 : 16; i < ii; i++) {\n coords.push(reader.readCoordinate());\n }\n\n var ci = colors.length;\n\n for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n colors.push(reader.readComponents());\n }\n\n var tmp1, tmp2, tmp3, tmp4;\n\n switch (f) {\n case 0:\n ps[12] = pi + 3;\n ps[13] = pi + 4;\n ps[14] = pi + 5;\n ps[15] = pi + 6;\n ps[8] = pi + 2;\n ps[9] = pi + 13;\n ps[10] = pi + 14;\n ps[11] = pi + 7;\n ps[4] = pi + 1;\n ps[5] = pi + 12;\n ps[6] = pi + 15;\n ps[7] = pi + 8;\n ps[0] = pi;\n ps[1] = pi + 11;\n ps[2] = pi + 10;\n ps[3] = pi + 9;\n cs[2] = ci + 1;\n cs[3] = ci + 2;\n cs[0] = ci;\n cs[1] = ci + 3;\n break;\n\n case 1:\n tmp1 = ps[12];\n tmp2 = ps[13];\n tmp3 = ps[14];\n tmp4 = ps[15];\n ps[12] = tmp4;\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = tmp3;\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[2];\n tmp2 = cs[3];\n cs[2] = tmp2;\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 2:\n tmp1 = ps[15];\n tmp2 = ps[11];\n ps[12] = ps[3];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[7];\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[3];\n cs[2] = cs[1];\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 3:\n ps[12] = ps[0];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[1];\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = ps[2];\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = ps[3];\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n cs[2] = cs[0];\n cs[3] = ci;\n cs[0] = cs[1];\n cs[1] = ci + 1;\n break;\n }\n\n mesh.figures.push({\n type: 'patch',\n coords: new Int32Array(ps),\n colors: new Int32Array(cs)\n });\n }\n }\n\n function updateBounds(mesh) {\n var minX = mesh.coords[0][0],\n minY = mesh.coords[0][1],\n maxX = minX,\n maxY = minY;\n\n for (var i = 1, ii = mesh.coords.length; i < ii; i++) {\n var x = mesh.coords[i][0],\n y = mesh.coords[i][1];\n minX = minX > x ? x : minX;\n minY = minY > y ? y : minY;\n maxX = maxX < x ? x : maxX;\n maxY = maxY < y ? y : maxY;\n }\n\n mesh.bounds = [minX, minY, maxX, maxY];\n }\n\n function packData(mesh) {\n var i, ii, j, jj;\n var coords = mesh.coords;\n var coordsPacked = new Float32Array(coords.length * 2);\n\n for (i = 0, j = 0, ii = coords.length; i < ii; i++) {\n var xy = coords[i];\n coordsPacked[j++] = xy[0];\n coordsPacked[j++] = xy[1];\n }\n\n mesh.coords = coordsPacked;\n var colors = mesh.colors;\n var colorsPacked = new Uint8Array(colors.length * 3);\n\n for (i = 0, j = 0, ii = colors.length; i < ii; i++) {\n var c = colors[i];\n colorsPacked[j++] = c[0];\n colorsPacked[j++] = c[1];\n colorsPacked[j++] = c[2];\n }\n\n mesh.colors = colorsPacked;\n var figures = mesh.figures;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n\n for (j = 0, jj = ps.length; j < jj; j++) {\n ps[j] *= 2;\n cs[j] *= 3;\n }\n }\n }\n\n function Mesh(stream, matrix, xref, res, pdfFunctionFactory) {\n if (!(0, _primitives.isStream)(stream)) {\n throw new _util.FormatError('Mesh data is not a stream');\n }\n\n var dict = stream.dict;\n this.matrix = matrix;\n this.shadingType = dict.get('ShadingType');\n this.type = 'Pattern';\n this.bbox = dict.getArray('BBox');\n var cs = dict.get('ColorSpace', 'CS');\n cs = _colorspace.ColorSpace.parse(cs, xref, res, pdfFunctionFactory);\n this.cs = cs;\n this.background = dict.has('Background') ? cs.getRgb(dict.get('Background'), 0) : null;\n var fnObj = dict.get('Function');\n var fn = fnObj ? pdfFunctionFactory.createFromArray(fnObj) : null;\n this.coords = [];\n this.colors = [];\n this.figures = [];\n var decodeContext = {\n bitsPerCoordinate: dict.get('BitsPerCoordinate'),\n bitsPerComponent: dict.get('BitsPerComponent'),\n bitsPerFlag: dict.get('BitsPerFlag'),\n decode: dict.getArray('Decode'),\n colorFn: fn,\n colorSpace: cs,\n numComps: fn ? 1 : cs.numComps\n };\n var reader = new MeshStreamReader(stream, decodeContext);\n var patchMesh = false;\n\n switch (this.shadingType) {\n case ShadingType.FREE_FORM_MESH:\n decodeType4Shading(this, reader);\n break;\n\n case ShadingType.LATTICE_FORM_MESH:\n var verticesPerRow = dict.get('VerticesPerRow') | 0;\n\n if (verticesPerRow < 2) {\n throw new _util.FormatError('Invalid VerticesPerRow');\n }\n\n decodeType5Shading(this, reader, verticesPerRow);\n break;\n\n case ShadingType.COONS_PATCH_MESH:\n decodeType6Shading(this, reader);\n patchMesh = true;\n break;\n\n case ShadingType.TENSOR_PATCH_MESH:\n decodeType7Shading(this, reader);\n patchMesh = true;\n break;\n\n default:\n (0, _util.unreachable)('Unsupported mesh type.');\n break;\n }\n\n if (patchMesh) {\n updateBounds(this);\n\n for (var i = 0, ii = this.figures.length; i < ii; i++) {\n buildFigureFromPatch(this, i);\n }\n }\n\n updateBounds(this);\n packData(this);\n }\n\n Mesh.prototype = {\n getIR: function Mesh_getIR() {\n return ['Mesh', this.shadingType, this.coords, this.colors, this.figures, this.bounds, this.matrix, this.bbox, this.background];\n }\n };\n return Mesh;\n}();\n\nShadings.Dummy = function DummyClosure() {\n function Dummy() {\n this.type = 'Pattern';\n }\n\n Dummy.prototype = {\n getIR: function Dummy_getIR() {\n return ['Dummy'];\n }\n };\n return Dummy;\n}();\n\nfunction getTilingPatternIR(operatorList, dict, args) {\n var matrix = dict.getArray('Matrix');\n\n var bbox = _util.Util.normalizeRect(dict.getArray('BBox'));\n\n var xstep = dict.get('XStep');\n var ystep = dict.get('YStep');\n var paintType = dict.get('PaintType');\n var tilingType = dict.get('TilingType');\n\n if (bbox[2] - bbox[0] === 0 || bbox[3] - bbox[1] === 0) {\n throw new _util.FormatError(\"Invalid getTilingPatternIR /BBox array: [\".concat(bbox, \"].\"));\n }\n\n return ['TilingPattern', args, operatorList, matrix, bbox, xstep, ystep, paintType, tilingType];\n}\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bidi = bidi;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar baseTypes = ['BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'S', 'B', 'S', 'WS', 'B', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'B', 'B', 'B', 'S', 'WS', 'ON', 'ON', 'ET', 'ET', 'ET', 'ON', 'ON', 'ON', 'ON', 'ON', 'ES', 'CS', 'ES', 'CS', 'CS', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'CS', 'ON', 'ON', 'ON', 'ON', 'ON', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'ON', 'ON', 'ON', 'ON', 'ON', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'ON', 'ON', 'ON', 'ON', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'B', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'BN', 'CS', 'ON', 'ET', 'ET', 'ET', 'ET', 'ON', 'ON', 'ON', 'ON', 'L', 'ON', 'ON', 'BN', 'ON', 'ON', 'ET', 'ET', 'EN', 'EN', 'ON', 'L', 'ON', 'ON', 'ON', 'EN', 'L', 'ON', 'ON', 'ON', 'ON', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'ON', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L'];\nvar arabicTypes = ['AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'ON', 'ON', 'AL', 'ET', 'ET', 'AL', 'CS', 'AL', 'ON', 'ON', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'AL', 'AL', '', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'AN', 'ET', 'AN', 'AN', 'AL', 'AL', 'AL', 'NSM', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'AN', 'ON', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'NSM', 'AL', 'AL', 'NSM', 'NSM', 'ON', 'NSM', 'NSM', 'NSM', 'NSM', 'AL', 'AL', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'EN', 'AL', 'AL', 'AL', 'AL', 'AL', 'AL'];\n\nfunction isOdd(i) {\n return (i & 1) !== 0;\n}\n\nfunction isEven(i) {\n return (i & 1) === 0;\n}\n\nfunction findUnequal(arr, start, value) {\n for (var j = start, jj = arr.length; j < jj; ++j) {\n if (arr[j] !== value) {\n return j;\n }\n }\n\n return j;\n}\n\nfunction setValues(arr, start, end, value) {\n for (var j = start; j < end; ++j) {\n arr[j] = value;\n }\n}\n\nfunction reverseValues(arr, start, end) {\n for (var i = start, j = end - 1; i < j; ++i, --j) {\n var temp = arr[i];\n arr[i] = arr[j];\n arr[j] = temp;\n }\n}\n\nfunction createBidiText(str, isLTR, vertical) {\n return {\n str: str,\n dir: vertical ? 'ttb' : isLTR ? 'ltr' : 'rtl'\n };\n}\n\nvar chars = [];\nvar types = [];\n\nfunction bidi(str, startLevel, vertical) {\n var isLTR = true;\n var strLength = str.length;\n\n if (strLength === 0 || vertical) {\n return createBidiText(str, isLTR, vertical);\n }\n\n chars.length = strLength;\n types.length = strLength;\n var numBidi = 0;\n var i, ii;\n\n for (i = 0; i < strLength; ++i) {\n chars[i] = str.charAt(i);\n var charCode = str.charCodeAt(i);\n var charType = 'L';\n\n if (charCode <= 0x00ff) {\n charType = baseTypes[charCode];\n } else if (0x0590 <= charCode && charCode <= 0x05f4) {\n charType = 'R';\n } else if (0x0600 <= charCode && charCode <= 0x06ff) {\n charType = arabicTypes[charCode & 0xff];\n\n if (!charType) {\n (0, _util.warn)('Bidi: invalid Unicode character ' + charCode.toString(16));\n }\n } else if (0x0700 <= charCode && charCode <= 0x08AC) {\n charType = 'AL';\n }\n\n if (charType === 'R' || charType === 'AL' || charType === 'AN') {\n numBidi++;\n }\n\n types[i] = charType;\n }\n\n if (numBidi === 0) {\n isLTR = true;\n return createBidiText(str, isLTR);\n }\n\n if (startLevel === -1) {\n if (numBidi / strLength < 0.3) {\n isLTR = true;\n startLevel = 0;\n } else {\n isLTR = false;\n startLevel = 1;\n }\n }\n\n var levels = [];\n\n for (i = 0; i < strLength; ++i) {\n levels[i] = startLevel;\n }\n\n var e = isOdd(startLevel) ? 'R' : 'L';\n var sor = e;\n var eor = sor;\n var lastType = sor;\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === 'NSM') {\n types[i] = lastType;\n } else {\n lastType = types[i];\n }\n }\n\n lastType = sor;\n var t;\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === 'EN') {\n types[i] = lastType === 'AL' ? 'AN' : 'EN';\n } else if (t === 'R' || t === 'L' || t === 'AL') {\n lastType = t;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === 'AL') {\n types[i] = 'R';\n }\n }\n\n for (i = 1; i < strLength - 1; ++i) {\n if (types[i] === 'ES' && types[i - 1] === 'EN' && types[i + 1] === 'EN') {\n types[i] = 'EN';\n }\n\n if (types[i] === 'CS' && (types[i - 1] === 'EN' || types[i - 1] === 'AN') && types[i + 1] === types[i - 1]) {\n types[i] = types[i - 1];\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === 'EN') {\n var j;\n\n for (j = i - 1; j >= 0; --j) {\n if (types[j] !== 'ET') {\n break;\n }\n\n types[j] = 'EN';\n }\n\n for (j = i + 1; j < strLength; ++j) {\n if (types[j] !== 'ET') {\n break;\n }\n\n types[j] = 'EN';\n }\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === 'WS' || t === 'ES' || t === 'ET' || t === 'CS') {\n types[i] = 'ON';\n }\n }\n\n lastType = sor;\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === 'EN') {\n types[i] = lastType === 'L' ? 'L' : 'EN';\n } else if (t === 'R' || t === 'L') {\n lastType = t;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === 'ON') {\n var end = findUnequal(types, i + 1, 'ON');\n var before = sor;\n\n if (i > 0) {\n before = types[i - 1];\n }\n\n var after = eor;\n\n if (end + 1 < strLength) {\n after = types[end + 1];\n }\n\n if (before !== 'L') {\n before = 'R';\n }\n\n if (after !== 'L') {\n after = 'R';\n }\n\n if (before === after) {\n setValues(types, i, end, before);\n }\n\n i = end - 1;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === 'ON') {\n types[i] = e;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (isEven(levels[i])) {\n if (t === 'R') {\n levels[i] += 1;\n } else if (t === 'AN' || t === 'EN') {\n levels[i] += 2;\n }\n } else {\n if (t === 'L' || t === 'AN' || t === 'EN') {\n levels[i] += 1;\n }\n }\n }\n\n var highestLevel = -1;\n var lowestOddLevel = 99;\n var level;\n\n for (i = 0, ii = levels.length; i < ii; ++i) {\n level = levels[i];\n\n if (highestLevel < level) {\n highestLevel = level;\n }\n\n if (lowestOddLevel > level && isOdd(level)) {\n lowestOddLevel = level;\n }\n }\n\n for (level = highestLevel; level >= lowestOddLevel; --level) {\n var start = -1;\n\n for (i = 0, ii = levels.length; i < ii; ++i) {\n if (levels[i] < level) {\n if (start >= 0) {\n reverseValues(chars, start, i);\n start = -1;\n }\n } else if (start < 0) {\n start = i;\n }\n }\n\n if (start >= 0) {\n reverseValues(chars, start, levels.length);\n }\n }\n\n for (i = 0, ii = chars.length; i < ii; ++i) {\n var ch = chars[i];\n\n if (ch === '<' || ch === '>') {\n chars[i] = '';\n }\n }\n\n return createBidiText(chars.join(''), isLTR);\n}\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getMetrics = void 0;\n\nvar _core_utils = __w_pdfjs_require__(154);\n\nvar getMetrics = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['Courier'] = 600;\n t['Courier-Bold'] = 600;\n t['Courier-BoldOblique'] = 600;\n t['Courier-Oblique'] = 600;\n t['Helvetica'] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['space'] = 278;\n t['exclam'] = 278;\n t['quotedbl'] = 355;\n t['numbersign'] = 556;\n t['dollar'] = 556;\n t['percent'] = 889;\n t['ampersand'] = 667;\n t['quoteright'] = 222;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 389;\n t['plus'] = 584;\n t['comma'] = 278;\n t['hyphen'] = 333;\n t['period'] = 278;\n t['slash'] = 278;\n t['zero'] = 556;\n t['one'] = 556;\n t['two'] = 556;\n t['three'] = 556;\n t['four'] = 556;\n t['five'] = 556;\n t['six'] = 556;\n t['seven'] = 556;\n t['eight'] = 556;\n t['nine'] = 556;\n t['colon'] = 278;\n t['semicolon'] = 278;\n t['less'] = 584;\n t['equal'] = 584;\n t['greater'] = 584;\n t['question'] = 556;\n t['at'] = 1015;\n t['A'] = 667;\n t['B'] = 667;\n t['C'] = 722;\n t['D'] = 722;\n t['E'] = 667;\n t['F'] = 611;\n t['G'] = 778;\n t['H'] = 722;\n t['I'] = 278;\n t['J'] = 500;\n t['K'] = 667;\n t['L'] = 556;\n t['M'] = 833;\n t['N'] = 722;\n t['O'] = 778;\n t['P'] = 667;\n t['Q'] = 778;\n t['R'] = 722;\n t['S'] = 667;\n t['T'] = 611;\n t['U'] = 722;\n t['V'] = 667;\n t['W'] = 944;\n t['X'] = 667;\n t['Y'] = 667;\n t['Z'] = 611;\n t['bracketleft'] = 278;\n t['backslash'] = 278;\n t['bracketright'] = 278;\n t['asciicircum'] = 469;\n t['underscore'] = 556;\n t['quoteleft'] = 222;\n t['a'] = 556;\n t['b'] = 556;\n t['c'] = 500;\n t['d'] = 556;\n t['e'] = 556;\n t['f'] = 278;\n t['g'] = 556;\n t['h'] = 556;\n t['i'] = 222;\n t['j'] = 222;\n t['k'] = 500;\n t['l'] = 222;\n t['m'] = 833;\n t['n'] = 556;\n t['o'] = 556;\n t['p'] = 556;\n t['q'] = 556;\n t['r'] = 333;\n t['s'] = 500;\n t['t'] = 278;\n t['u'] = 556;\n t['v'] = 500;\n t['w'] = 722;\n t['x'] = 500;\n t['y'] = 500;\n t['z'] = 500;\n t['braceleft'] = 334;\n t['bar'] = 260;\n t['braceright'] = 334;\n t['asciitilde'] = 584;\n t['exclamdown'] = 333;\n t['cent'] = 556;\n t['sterling'] = 556;\n t['fraction'] = 167;\n t['yen'] = 556;\n t['florin'] = 556;\n t['section'] = 556;\n t['currency'] = 556;\n t['quotesingle'] = 191;\n t['quotedblleft'] = 333;\n t['guillemotleft'] = 556;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 500;\n t['fl'] = 500;\n t['endash'] = 556;\n t['dagger'] = 556;\n t['daggerdbl'] = 556;\n t['periodcentered'] = 278;\n t['paragraph'] = 537;\n t['bullet'] = 350;\n t['quotesinglbase'] = 222;\n t['quotedblbase'] = 333;\n t['quotedblright'] = 333;\n t['guillemotright'] = 556;\n t['ellipsis'] = 1000;\n t['perthousand'] = 1000;\n t['questiondown'] = 611;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 1000;\n t['AE'] = 1000;\n t['ordfeminine'] = 370;\n t['Lslash'] = 556;\n t['Oslash'] = 778;\n t['OE'] = 1000;\n t['ordmasculine'] = 365;\n t['ae'] = 889;\n t['dotlessi'] = 278;\n t['lslash'] = 222;\n t['oslash'] = 611;\n t['oe'] = 944;\n t['germandbls'] = 611;\n t['Idieresis'] = 278;\n t['eacute'] = 556;\n t['abreve'] = 556;\n t['uhungarumlaut'] = 556;\n t['ecaron'] = 556;\n t['Ydieresis'] = 667;\n t['divide'] = 584;\n t['Yacute'] = 667;\n t['Acircumflex'] = 667;\n t['aacute'] = 556;\n t['Ucircumflex'] = 722;\n t['yacute'] = 500;\n t['scommaaccent'] = 500;\n t['ecircumflex'] = 556;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 556;\n t['Uacute'] = 722;\n t['uogonek'] = 556;\n t['Edieresis'] = 667;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 737;\n t['Emacron'] = 667;\n t['ccaron'] = 500;\n t['aring'] = 556;\n t['Ncommaaccent'] = 722;\n t['lacute'] = 222;\n t['agrave'] = 556;\n t['Tcommaaccent'] = 611;\n t['Cacute'] = 722;\n t['atilde'] = 556;\n t['Edotaccent'] = 667;\n t['scaron'] = 500;\n t['scedilla'] = 500;\n t['iacute'] = 278;\n t['lozenge'] = 471;\n t['Rcaron'] = 722;\n t['Gcommaaccent'] = 778;\n t['ucircumflex'] = 556;\n t['acircumflex'] = 556;\n t['Amacron'] = 667;\n t['rcaron'] = 333;\n t['ccedilla'] = 500;\n t['Zdotaccent'] = 611;\n t['Thorn'] = 667;\n t['Omacron'] = 778;\n t['Racute'] = 722;\n t['Sacute'] = 667;\n t['dcaron'] = 643;\n t['Umacron'] = 722;\n t['uring'] = 556;\n t['threesuperior'] = 333;\n t['Ograve'] = 778;\n t['Agrave'] = 667;\n t['Abreve'] = 667;\n t['multiply'] = 584;\n t['uacute'] = 556;\n t['Tcaron'] = 611;\n t['partialdiff'] = 476;\n t['ydieresis'] = 500;\n t['Nacute'] = 722;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 667;\n t['adieresis'] = 556;\n t['edieresis'] = 556;\n t['cacute'] = 500;\n t['nacute'] = 556;\n t['umacron'] = 556;\n t['Ncaron'] = 722;\n t['Iacute'] = 278;\n t['plusminus'] = 584;\n t['brokenbar'] = 260;\n t['registered'] = 737;\n t['Gbreve'] = 778;\n t['Idotaccent'] = 278;\n t['summation'] = 600;\n t['Egrave'] = 667;\n t['racute'] = 333;\n t['omacron'] = 556;\n t['Zacute'] = 611;\n t['Zcaron'] = 611;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 722;\n t['lcommaaccent'] = 222;\n t['tcaron'] = 317;\n t['eogonek'] = 556;\n t['Uogonek'] = 722;\n t['Aacute'] = 667;\n t['Adieresis'] = 667;\n t['egrave'] = 556;\n t['zacute'] = 500;\n t['iogonek'] = 222;\n t['Oacute'] = 778;\n t['oacute'] = 556;\n t['amacron'] = 556;\n t['sacute'] = 500;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 778;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 556;\n t['twosuperior'] = 333;\n t['Odieresis'] = 778;\n t['mu'] = 556;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 556;\n t['Eogonek'] = 667;\n t['dcroat'] = 556;\n t['threequarters'] = 834;\n t['Scedilla'] = 667;\n t['lcaron'] = 299;\n t['Kcommaaccent'] = 667;\n t['Lacute'] = 556;\n t['trademark'] = 1000;\n t['edotaccent'] = 556;\n t['Igrave'] = 278;\n t['Imacron'] = 278;\n t['Lcaron'] = 556;\n t['onehalf'] = 834;\n t['lessequal'] = 549;\n t['ocircumflex'] = 556;\n t['ntilde'] = 556;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 667;\n t['emacron'] = 556;\n t['gbreve'] = 556;\n t['onequarter'] = 834;\n t['Scaron'] = 667;\n t['Scommaaccent'] = 667;\n t['Ohungarumlaut'] = 778;\n t['degree'] = 400;\n t['ograve'] = 556;\n t['Ccaron'] = 722;\n t['ugrave'] = 556;\n t['radical'] = 453;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 333;\n t['Ntilde'] = 722;\n t['otilde'] = 556;\n t['Rcommaaccent'] = 722;\n t['Lcommaaccent'] = 556;\n t['Atilde'] = 667;\n t['Aogonek'] = 667;\n t['Aring'] = 667;\n t['Otilde'] = 778;\n t['zdotaccent'] = 500;\n t['Ecaron'] = 667;\n t['Iogonek'] = 278;\n t['kcommaaccent'] = 500;\n t['minus'] = 584;\n t['Icircumflex'] = 278;\n t['ncaron'] = 556;\n t['tcommaaccent'] = 278;\n t['logicalnot'] = 584;\n t['odieresis'] = 556;\n t['udieresis'] = 556;\n t['notequal'] = 549;\n t['gcommaaccent'] = 556;\n t['eth'] = 556;\n t['zcaron'] = 500;\n t['ncommaaccent'] = 556;\n t['onesuperior'] = 333;\n t['imacron'] = 278;\n t['Euro'] = 556;\n });\n t['Helvetica-Bold'] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['space'] = 278;\n t['exclam'] = 333;\n t['quotedbl'] = 474;\n t['numbersign'] = 556;\n t['dollar'] = 556;\n t['percent'] = 889;\n t['ampersand'] = 722;\n t['quoteright'] = 278;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 389;\n t['plus'] = 584;\n t['comma'] = 278;\n t['hyphen'] = 333;\n t['period'] = 278;\n t['slash'] = 278;\n t['zero'] = 556;\n t['one'] = 556;\n t['two'] = 556;\n t['three'] = 556;\n t['four'] = 556;\n t['five'] = 556;\n t['six'] = 556;\n t['seven'] = 556;\n t['eight'] = 556;\n t['nine'] = 556;\n t['colon'] = 333;\n t['semicolon'] = 333;\n t['less'] = 584;\n t['equal'] = 584;\n t['greater'] = 584;\n t['question'] = 611;\n t['at'] = 975;\n t['A'] = 722;\n t['B'] = 722;\n t['C'] = 722;\n t['D'] = 722;\n t['E'] = 667;\n t['F'] = 611;\n t['G'] = 778;\n t['H'] = 722;\n t['I'] = 278;\n t['J'] = 556;\n t['K'] = 722;\n t['L'] = 611;\n t['M'] = 833;\n t['N'] = 722;\n t['O'] = 778;\n t['P'] = 667;\n t['Q'] = 778;\n t['R'] = 722;\n t['S'] = 667;\n t['T'] = 611;\n t['U'] = 722;\n t['V'] = 667;\n t['W'] = 944;\n t['X'] = 667;\n t['Y'] = 667;\n t['Z'] = 611;\n t['bracketleft'] = 333;\n t['backslash'] = 278;\n t['bracketright'] = 333;\n t['asciicircum'] = 584;\n t['underscore'] = 556;\n t['quoteleft'] = 278;\n t['a'] = 556;\n t['b'] = 611;\n t['c'] = 556;\n t['d'] = 611;\n t['e'] = 556;\n t['f'] = 333;\n t['g'] = 611;\n t['h'] = 611;\n t['i'] = 278;\n t['j'] = 278;\n t['k'] = 556;\n t['l'] = 278;\n t['m'] = 889;\n t['n'] = 611;\n t['o'] = 611;\n t['p'] = 611;\n t['q'] = 611;\n t['r'] = 389;\n t['s'] = 556;\n t['t'] = 333;\n t['u'] = 611;\n t['v'] = 556;\n t['w'] = 778;\n t['x'] = 556;\n t['y'] = 556;\n t['z'] = 500;\n t['braceleft'] = 389;\n t['bar'] = 280;\n t['braceright'] = 389;\n t['asciitilde'] = 584;\n t['exclamdown'] = 333;\n t['cent'] = 556;\n t['sterling'] = 556;\n t['fraction'] = 167;\n t['yen'] = 556;\n t['florin'] = 556;\n t['section'] = 556;\n t['currency'] = 556;\n t['quotesingle'] = 238;\n t['quotedblleft'] = 500;\n t['guillemotleft'] = 556;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 611;\n t['fl'] = 611;\n t['endash'] = 556;\n t['dagger'] = 556;\n t['daggerdbl'] = 556;\n t['periodcentered'] = 278;\n t['paragraph'] = 556;\n t['bullet'] = 350;\n t['quotesinglbase'] = 278;\n t['quotedblbase'] = 500;\n t['quotedblright'] = 500;\n t['guillemotright'] = 556;\n t['ellipsis'] = 1000;\n t['perthousand'] = 1000;\n t['questiondown'] = 611;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 1000;\n t['AE'] = 1000;\n t['ordfeminine'] = 370;\n t['Lslash'] = 611;\n t['Oslash'] = 778;\n t['OE'] = 1000;\n t['ordmasculine'] = 365;\n t['ae'] = 889;\n t['dotlessi'] = 278;\n t['lslash'] = 278;\n t['oslash'] = 611;\n t['oe'] = 944;\n t['germandbls'] = 611;\n t['Idieresis'] = 278;\n t['eacute'] = 556;\n t['abreve'] = 556;\n t['uhungarumlaut'] = 611;\n t['ecaron'] = 556;\n t['Ydieresis'] = 667;\n t['divide'] = 584;\n t['Yacute'] = 667;\n t['Acircumflex'] = 722;\n t['aacute'] = 556;\n t['Ucircumflex'] = 722;\n t['yacute'] = 556;\n t['scommaaccent'] = 556;\n t['ecircumflex'] = 556;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 556;\n t['Uacute'] = 722;\n t['uogonek'] = 611;\n t['Edieresis'] = 667;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 737;\n t['Emacron'] = 667;\n t['ccaron'] = 556;\n t['aring'] = 556;\n t['Ncommaaccent'] = 722;\n t['lacute'] = 278;\n t['agrave'] = 556;\n t['Tcommaaccent'] = 611;\n t['Cacute'] = 722;\n t['atilde'] = 556;\n t['Edotaccent'] = 667;\n t['scaron'] = 556;\n t['scedilla'] = 556;\n t['iacute'] = 278;\n t['lozenge'] = 494;\n t['Rcaron'] = 722;\n t['Gcommaaccent'] = 778;\n t['ucircumflex'] = 611;\n t['acircumflex'] = 556;\n t['Amacron'] = 722;\n t['rcaron'] = 389;\n t['ccedilla'] = 556;\n t['Zdotaccent'] = 611;\n t['Thorn'] = 667;\n t['Omacron'] = 778;\n t['Racute'] = 722;\n t['Sacute'] = 667;\n t['dcaron'] = 743;\n t['Umacron'] = 722;\n t['uring'] = 611;\n t['threesuperior'] = 333;\n t['Ograve'] = 778;\n t['Agrave'] = 722;\n t['Abreve'] = 722;\n t['multiply'] = 584;\n t['uacute'] = 611;\n t['Tcaron'] = 611;\n t['partialdiff'] = 494;\n t['ydieresis'] = 556;\n t['Nacute'] = 722;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 667;\n t['adieresis'] = 556;\n t['edieresis'] = 556;\n t['cacute'] = 556;\n t['nacute'] = 611;\n t['umacron'] = 611;\n t['Ncaron'] = 722;\n t['Iacute'] = 278;\n t['plusminus'] = 584;\n t['brokenbar'] = 280;\n t['registered'] = 737;\n t['Gbreve'] = 778;\n t['Idotaccent'] = 278;\n t['summation'] = 600;\n t['Egrave'] = 667;\n t['racute'] = 389;\n t['omacron'] = 611;\n t['Zacute'] = 611;\n t['Zcaron'] = 611;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 722;\n t['lcommaaccent'] = 278;\n t['tcaron'] = 389;\n t['eogonek'] = 556;\n t['Uogonek'] = 722;\n t['Aacute'] = 722;\n t['Adieresis'] = 722;\n t['egrave'] = 556;\n t['zacute'] = 500;\n t['iogonek'] = 278;\n t['Oacute'] = 778;\n t['oacute'] = 611;\n t['amacron'] = 556;\n t['sacute'] = 556;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 778;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 611;\n t['twosuperior'] = 333;\n t['Odieresis'] = 778;\n t['mu'] = 611;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 611;\n t['Eogonek'] = 667;\n t['dcroat'] = 611;\n t['threequarters'] = 834;\n t['Scedilla'] = 667;\n t['lcaron'] = 400;\n t['Kcommaaccent'] = 722;\n t['Lacute'] = 611;\n t['trademark'] = 1000;\n t['edotaccent'] = 556;\n t['Igrave'] = 278;\n t['Imacron'] = 278;\n t['Lcaron'] = 611;\n t['onehalf'] = 834;\n t['lessequal'] = 549;\n t['ocircumflex'] = 611;\n t['ntilde'] = 611;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 667;\n t['emacron'] = 556;\n t['gbreve'] = 611;\n t['onequarter'] = 834;\n t['Scaron'] = 667;\n t['Scommaaccent'] = 667;\n t['Ohungarumlaut'] = 778;\n t['degree'] = 400;\n t['ograve'] = 611;\n t['Ccaron'] = 722;\n t['ugrave'] = 611;\n t['radical'] = 549;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 389;\n t['Ntilde'] = 722;\n t['otilde'] = 611;\n t['Rcommaaccent'] = 722;\n t['Lcommaaccent'] = 611;\n t['Atilde'] = 722;\n t['Aogonek'] = 722;\n t['Aring'] = 722;\n t['Otilde'] = 778;\n t['zdotaccent'] = 500;\n t['Ecaron'] = 667;\n t['Iogonek'] = 278;\n t['kcommaaccent'] = 556;\n t['minus'] = 584;\n t['Icircumflex'] = 278;\n t['ncaron'] = 611;\n t['tcommaaccent'] = 333;\n t['logicalnot'] = 584;\n t['odieresis'] = 611;\n t['udieresis'] = 611;\n t['notequal'] = 549;\n t['gcommaaccent'] = 611;\n t['eth'] = 611;\n t['zcaron'] = 500;\n t['ncommaaccent'] = 611;\n t['onesuperior'] = 333;\n t['imacron'] = 278;\n t['Euro'] = 556;\n });\n t['Helvetica-BoldOblique'] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['space'] = 278;\n t['exclam'] = 333;\n t['quotedbl'] = 474;\n t['numbersign'] = 556;\n t['dollar'] = 556;\n t['percent'] = 889;\n t['ampersand'] = 722;\n t['quoteright'] = 278;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 389;\n t['plus'] = 584;\n t['comma'] = 278;\n t['hyphen'] = 333;\n t['period'] = 278;\n t['slash'] = 278;\n t['zero'] = 556;\n t['one'] = 556;\n t['two'] = 556;\n t['three'] = 556;\n t['four'] = 556;\n t['five'] = 556;\n t['six'] = 556;\n t['seven'] = 556;\n t['eight'] = 556;\n t['nine'] = 556;\n t['colon'] = 333;\n t['semicolon'] = 333;\n t['less'] = 584;\n t['equal'] = 584;\n t['greater'] = 584;\n t['question'] = 611;\n t['at'] = 975;\n t['A'] = 722;\n t['B'] = 722;\n t['C'] = 722;\n t['D'] = 722;\n t['E'] = 667;\n t['F'] = 611;\n t['G'] = 778;\n t['H'] = 722;\n t['I'] = 278;\n t['J'] = 556;\n t['K'] = 722;\n t['L'] = 611;\n t['M'] = 833;\n t['N'] = 722;\n t['O'] = 778;\n t['P'] = 667;\n t['Q'] = 778;\n t['R'] = 722;\n t['S'] = 667;\n t['T'] = 611;\n t['U'] = 722;\n t['V'] = 667;\n t['W'] = 944;\n t['X'] = 667;\n t['Y'] = 667;\n t['Z'] = 611;\n t['bracketleft'] = 333;\n t['backslash'] = 278;\n t['bracketright'] = 333;\n t['asciicircum'] = 584;\n t['underscore'] = 556;\n t['quoteleft'] = 278;\n t['a'] = 556;\n t['b'] = 611;\n t['c'] = 556;\n t['d'] = 611;\n t['e'] = 556;\n t['f'] = 333;\n t['g'] = 611;\n t['h'] = 611;\n t['i'] = 278;\n t['j'] = 278;\n t['k'] = 556;\n t['l'] = 278;\n t['m'] = 889;\n t['n'] = 611;\n t['o'] = 611;\n t['p'] = 611;\n t['q'] = 611;\n t['r'] = 389;\n t['s'] = 556;\n t['t'] = 333;\n t['u'] = 611;\n t['v'] = 556;\n t['w'] = 778;\n t['x'] = 556;\n t['y'] = 556;\n t['z'] = 500;\n t['braceleft'] = 389;\n t['bar'] = 280;\n t['braceright'] = 389;\n t['asciitilde'] = 584;\n t['exclamdown'] = 333;\n t['cent'] = 556;\n t['sterling'] = 556;\n t['fraction'] = 167;\n t['yen'] = 556;\n t['florin'] = 556;\n t['section'] = 556;\n t['currency'] = 556;\n t['quotesingle'] = 238;\n t['quotedblleft'] = 500;\n t['guillemotleft'] = 556;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 611;\n t['fl'] = 611;\n t['endash'] = 556;\n t['dagger'] = 556;\n t['daggerdbl'] = 556;\n t['periodcentered'] = 278;\n t['paragraph'] = 556;\n t['bullet'] = 350;\n t['quotesinglbase'] = 278;\n t['quotedblbase'] = 500;\n t['quotedblright'] = 500;\n t['guillemotright'] = 556;\n t['ellipsis'] = 1000;\n t['perthousand'] = 1000;\n t['questiondown'] = 611;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 1000;\n t['AE'] = 1000;\n t['ordfeminine'] = 370;\n t['Lslash'] = 611;\n t['Oslash'] = 778;\n t['OE'] = 1000;\n t['ordmasculine'] = 365;\n t['ae'] = 889;\n t['dotlessi'] = 278;\n t['lslash'] = 278;\n t['oslash'] = 611;\n t['oe'] = 944;\n t['germandbls'] = 611;\n t['Idieresis'] = 278;\n t['eacute'] = 556;\n t['abreve'] = 556;\n t['uhungarumlaut'] = 611;\n t['ecaron'] = 556;\n t['Ydieresis'] = 667;\n t['divide'] = 584;\n t['Yacute'] = 667;\n t['Acircumflex'] = 722;\n t['aacute'] = 556;\n t['Ucircumflex'] = 722;\n t['yacute'] = 556;\n t['scommaaccent'] = 556;\n t['ecircumflex'] = 556;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 556;\n t['Uacute'] = 722;\n t['uogonek'] = 611;\n t['Edieresis'] = 667;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 737;\n t['Emacron'] = 667;\n t['ccaron'] = 556;\n t['aring'] = 556;\n t['Ncommaaccent'] = 722;\n t['lacute'] = 278;\n t['agrave'] = 556;\n t['Tcommaaccent'] = 611;\n t['Cacute'] = 722;\n t['atilde'] = 556;\n t['Edotaccent'] = 667;\n t['scaron'] = 556;\n t['scedilla'] = 556;\n t['iacute'] = 278;\n t['lozenge'] = 494;\n t['Rcaron'] = 722;\n t['Gcommaaccent'] = 778;\n t['ucircumflex'] = 611;\n t['acircumflex'] = 556;\n t['Amacron'] = 722;\n t['rcaron'] = 389;\n t['ccedilla'] = 556;\n t['Zdotaccent'] = 611;\n t['Thorn'] = 667;\n t['Omacron'] = 778;\n t['Racute'] = 722;\n t['Sacute'] = 667;\n t['dcaron'] = 743;\n t['Umacron'] = 722;\n t['uring'] = 611;\n t['threesuperior'] = 333;\n t['Ograve'] = 778;\n t['Agrave'] = 722;\n t['Abreve'] = 722;\n t['multiply'] = 584;\n t['uacute'] = 611;\n t['Tcaron'] = 611;\n t['partialdiff'] = 494;\n t['ydieresis'] = 556;\n t['Nacute'] = 722;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 667;\n t['adieresis'] = 556;\n t['edieresis'] = 556;\n t['cacute'] = 556;\n t['nacute'] = 611;\n t['umacron'] = 611;\n t['Ncaron'] = 722;\n t['Iacute'] = 278;\n t['plusminus'] = 584;\n t['brokenbar'] = 280;\n t['registered'] = 737;\n t['Gbreve'] = 778;\n t['Idotaccent'] = 278;\n t['summation'] = 600;\n t['Egrave'] = 667;\n t['racute'] = 389;\n t['omacron'] = 611;\n t['Zacute'] = 611;\n t['Zcaron'] = 611;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 722;\n t['lcommaaccent'] = 278;\n t['tcaron'] = 389;\n t['eogonek'] = 556;\n t['Uogonek'] = 722;\n t['Aacute'] = 722;\n t['Adieresis'] = 722;\n t['egrave'] = 556;\n t['zacute'] = 500;\n t['iogonek'] = 278;\n t['Oacute'] = 778;\n t['oacute'] = 611;\n t['amacron'] = 556;\n t['sacute'] = 556;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 778;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 611;\n t['twosuperior'] = 333;\n t['Odieresis'] = 778;\n t['mu'] = 611;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 611;\n t['Eogonek'] = 667;\n t['dcroat'] = 611;\n t['threequarters'] = 834;\n t['Scedilla'] = 667;\n t['lcaron'] = 400;\n t['Kcommaaccent'] = 722;\n t['Lacute'] = 611;\n t['trademark'] = 1000;\n t['edotaccent'] = 556;\n t['Igrave'] = 278;\n t['Imacron'] = 278;\n t['Lcaron'] = 611;\n t['onehalf'] = 834;\n t['lessequal'] = 549;\n t['ocircumflex'] = 611;\n t['ntilde'] = 611;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 667;\n t['emacron'] = 556;\n t['gbreve'] = 611;\n t['onequarter'] = 834;\n t['Scaron'] = 667;\n t['Scommaaccent'] = 667;\n t['Ohungarumlaut'] = 778;\n t['degree'] = 400;\n t['ograve'] = 611;\n t['Ccaron'] = 722;\n t['ugrave'] = 611;\n t['radical'] = 549;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 389;\n t['Ntilde'] = 722;\n t['otilde'] = 611;\n t['Rcommaaccent'] = 722;\n t['Lcommaaccent'] = 611;\n t['Atilde'] = 722;\n t['Aogonek'] = 722;\n t['Aring'] = 722;\n t['Otilde'] = 778;\n t['zdotaccent'] = 500;\n t['Ecaron'] = 667;\n t['Iogonek'] = 278;\n t['kcommaaccent'] = 556;\n t['minus'] = 584;\n t['Icircumflex'] = 278;\n t['ncaron'] = 611;\n t['tcommaaccent'] = 333;\n t['logicalnot'] = 584;\n t['odieresis'] = 611;\n t['udieresis'] = 611;\n t['notequal'] = 549;\n t['gcommaaccent'] = 611;\n t['eth'] = 611;\n t['zcaron'] = 500;\n t['ncommaaccent'] = 611;\n t['onesuperior'] = 333;\n t['imacron'] = 278;\n t['Euro'] = 556;\n });\n t['Helvetica-Oblique'] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['space'] = 278;\n t['exclam'] = 278;\n t['quotedbl'] = 355;\n t['numbersign'] = 556;\n t['dollar'] = 556;\n t['percent'] = 889;\n t['ampersand'] = 667;\n t['quoteright'] = 222;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 389;\n t['plus'] = 584;\n t['comma'] = 278;\n t['hyphen'] = 333;\n t['period'] = 278;\n t['slash'] = 278;\n t['zero'] = 556;\n t['one'] = 556;\n t['two'] = 556;\n t['three'] = 556;\n t['four'] = 556;\n t['five'] = 556;\n t['six'] = 556;\n t['seven'] = 556;\n t['eight'] = 556;\n t['nine'] = 556;\n t['colon'] = 278;\n t['semicolon'] = 278;\n t['less'] = 584;\n t['equal'] = 584;\n t['greater'] = 584;\n t['question'] = 556;\n t['at'] = 1015;\n t['A'] = 667;\n t['B'] = 667;\n t['C'] = 722;\n t['D'] = 722;\n t['E'] = 667;\n t['F'] = 611;\n t['G'] = 778;\n t['H'] = 722;\n t['I'] = 278;\n t['J'] = 500;\n t['K'] = 667;\n t['L'] = 556;\n t['M'] = 833;\n t['N'] = 722;\n t['O'] = 778;\n t['P'] = 667;\n t['Q'] = 778;\n t['R'] = 722;\n t['S'] = 667;\n t['T'] = 611;\n t['U'] = 722;\n t['V'] = 667;\n t['W'] = 944;\n t['X'] = 667;\n t['Y'] = 667;\n t['Z'] = 611;\n t['bracketleft'] = 278;\n t['backslash'] = 278;\n t['bracketright'] = 278;\n t['asciicircum'] = 469;\n t['underscore'] = 556;\n t['quoteleft'] = 222;\n t['a'] = 556;\n t['b'] = 556;\n t['c'] = 500;\n t['d'] = 556;\n t['e'] = 556;\n t['f'] = 278;\n t['g'] = 556;\n t['h'] = 556;\n t['i'] = 222;\n t['j'] = 222;\n t['k'] = 500;\n t['l'] = 222;\n t['m'] = 833;\n t['n'] = 556;\n t['o'] = 556;\n t['p'] = 556;\n t['q'] = 556;\n t['r'] = 333;\n t['s'] = 500;\n t['t'] = 278;\n t['u'] = 556;\n t['v'] = 500;\n t['w'] = 722;\n t['x'] = 500;\n t['y'] = 500;\n t['z'] = 500;\n t['braceleft'] = 334;\n t['bar'] = 260;\n t['braceright'] = 334;\n t['asciitilde'] = 584;\n t['exclamdown'] = 333;\n t['cent'] = 556;\n t['sterling'] = 556;\n t['fraction'] = 167;\n t['yen'] = 556;\n t['florin'] = 556;\n t['section'] = 556;\n t['currency'] = 556;\n t['quotesingle'] = 191;\n t['quotedblleft'] = 333;\n t['guillemotleft'] = 556;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 500;\n t['fl'] = 500;\n t['endash'] = 556;\n t['dagger'] = 556;\n t['daggerdbl'] = 556;\n t['periodcentered'] = 278;\n t['paragraph'] = 537;\n t['bullet'] = 350;\n t['quotesinglbase'] = 222;\n t['quotedblbase'] = 333;\n t['quotedblright'] = 333;\n t['guillemotright'] = 556;\n t['ellipsis'] = 1000;\n t['perthousand'] = 1000;\n t['questiondown'] = 611;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 1000;\n t['AE'] = 1000;\n t['ordfeminine'] = 370;\n t['Lslash'] = 556;\n t['Oslash'] = 778;\n t['OE'] = 1000;\n t['ordmasculine'] = 365;\n t['ae'] = 889;\n t['dotlessi'] = 278;\n t['lslash'] = 222;\n t['oslash'] = 611;\n t['oe'] = 944;\n t['germandbls'] = 611;\n t['Idieresis'] = 278;\n t['eacute'] = 556;\n t['abreve'] = 556;\n t['uhungarumlaut'] = 556;\n t['ecaron'] = 556;\n t['Ydieresis'] = 667;\n t['divide'] = 584;\n t['Yacute'] = 667;\n t['Acircumflex'] = 667;\n t['aacute'] = 556;\n t['Ucircumflex'] = 722;\n t['yacute'] = 500;\n t['scommaaccent'] = 500;\n t['ecircumflex'] = 556;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 556;\n t['Uacute'] = 722;\n t['uogonek'] = 556;\n t['Edieresis'] = 667;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 737;\n t['Emacron'] = 667;\n t['ccaron'] = 500;\n t['aring'] = 556;\n t['Ncommaaccent'] = 722;\n t['lacute'] = 222;\n t['agrave'] = 556;\n t['Tcommaaccent'] = 611;\n t['Cacute'] = 722;\n t['atilde'] = 556;\n t['Edotaccent'] = 667;\n t['scaron'] = 500;\n t['scedilla'] = 500;\n t['iacute'] = 278;\n t['lozenge'] = 471;\n t['Rcaron'] = 722;\n t['Gcommaaccent'] = 778;\n t['ucircumflex'] = 556;\n t['acircumflex'] = 556;\n t['Amacron'] = 667;\n t['rcaron'] = 333;\n t['ccedilla'] = 500;\n t['Zdotaccent'] = 611;\n t['Thorn'] = 667;\n t['Omacron'] = 778;\n t['Racute'] = 722;\n t['Sacute'] = 667;\n t['dcaron'] = 643;\n t['Umacron'] = 722;\n t['uring'] = 556;\n t['threesuperior'] = 333;\n t['Ograve'] = 778;\n t['Agrave'] = 667;\n t['Abreve'] = 667;\n t['multiply'] = 584;\n t['uacute'] = 556;\n t['Tcaron'] = 611;\n t['partialdiff'] = 476;\n t['ydieresis'] = 500;\n t['Nacute'] = 722;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 667;\n t['adieresis'] = 556;\n t['edieresis'] = 556;\n t['cacute'] = 500;\n t['nacute'] = 556;\n t['umacron'] = 556;\n t['Ncaron'] = 722;\n t['Iacute'] = 278;\n t['plusminus'] = 584;\n t['brokenbar'] = 260;\n t['registered'] = 737;\n t['Gbreve'] = 778;\n t['Idotaccent'] = 278;\n t['summation'] = 600;\n t['Egrave'] = 667;\n t['racute'] = 333;\n t['omacron'] = 556;\n t['Zacute'] = 611;\n t['Zcaron'] = 611;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 722;\n t['lcommaaccent'] = 222;\n t['tcaron'] = 317;\n t['eogonek'] = 556;\n t['Uogonek'] = 722;\n t['Aacute'] = 667;\n t['Adieresis'] = 667;\n t['egrave'] = 556;\n t['zacute'] = 500;\n t['iogonek'] = 222;\n t['Oacute'] = 778;\n t['oacute'] = 556;\n t['amacron'] = 556;\n t['sacute'] = 500;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 778;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 556;\n t['twosuperior'] = 333;\n t['Odieresis'] = 778;\n t['mu'] = 556;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 556;\n t['Eogonek'] = 667;\n t['dcroat'] = 556;\n t['threequarters'] = 834;\n t['Scedilla'] = 667;\n t['lcaron'] = 299;\n t['Kcommaaccent'] = 667;\n t['Lacute'] = 556;\n t['trademark'] = 1000;\n t['edotaccent'] = 556;\n t['Igrave'] = 278;\n t['Imacron'] = 278;\n t['Lcaron'] = 556;\n t['onehalf'] = 834;\n t['lessequal'] = 549;\n t['ocircumflex'] = 556;\n t['ntilde'] = 556;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 667;\n t['emacron'] = 556;\n t['gbreve'] = 556;\n t['onequarter'] = 834;\n t['Scaron'] = 667;\n t['Scommaaccent'] = 667;\n t['Ohungarumlaut'] = 778;\n t['degree'] = 400;\n t['ograve'] = 556;\n t['Ccaron'] = 722;\n t['ugrave'] = 556;\n t['radical'] = 453;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 333;\n t['Ntilde'] = 722;\n t['otilde'] = 556;\n t['Rcommaaccent'] = 722;\n t['Lcommaaccent'] = 556;\n t['Atilde'] = 667;\n t['Aogonek'] = 667;\n t['Aring'] = 667;\n t['Otilde'] = 778;\n t['zdotaccent'] = 500;\n t['Ecaron'] = 667;\n t['Iogonek'] = 278;\n t['kcommaaccent'] = 500;\n t['minus'] = 584;\n t['Icircumflex'] = 278;\n t['ncaron'] = 556;\n t['tcommaaccent'] = 278;\n t['logicalnot'] = 584;\n t['odieresis'] = 556;\n t['udieresis'] = 556;\n t['notequal'] = 549;\n t['gcommaaccent'] = 556;\n t['eth'] = 556;\n t['zcaron'] = 500;\n t['ncommaaccent'] = 556;\n t['onesuperior'] = 333;\n t['imacron'] = 278;\n t['Euro'] = 556;\n });\n t['Symbol'] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['space'] = 250;\n t['exclam'] = 333;\n t['universal'] = 713;\n t['numbersign'] = 500;\n t['existential'] = 549;\n t['percent'] = 833;\n t['ampersand'] = 778;\n t['suchthat'] = 439;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asteriskmath'] = 500;\n t['plus'] = 549;\n t['comma'] = 250;\n t['minus'] = 549;\n t['period'] = 250;\n t['slash'] = 278;\n t['zero'] = 500;\n t['one'] = 500;\n t['two'] = 500;\n t['three'] = 500;\n t['four'] = 500;\n t['five'] = 500;\n t['six'] = 500;\n t['seven'] = 500;\n t['eight'] = 500;\n t['nine'] = 500;\n t['colon'] = 278;\n t['semicolon'] = 278;\n t['less'] = 549;\n t['equal'] = 549;\n t['greater'] = 549;\n t['question'] = 444;\n t['congruent'] = 549;\n t['Alpha'] = 722;\n t['Beta'] = 667;\n t['Chi'] = 722;\n t['Delta'] = 612;\n t['Epsilon'] = 611;\n t['Phi'] = 763;\n t['Gamma'] = 603;\n t['Eta'] = 722;\n t['Iota'] = 333;\n t['theta1'] = 631;\n t['Kappa'] = 722;\n t['Lambda'] = 686;\n t['Mu'] = 889;\n t['Nu'] = 722;\n t['Omicron'] = 722;\n t['Pi'] = 768;\n t['Theta'] = 741;\n t['Rho'] = 556;\n t['Sigma'] = 592;\n t['Tau'] = 611;\n t['Upsilon'] = 690;\n t['sigma1'] = 439;\n t['Omega'] = 768;\n t['Xi'] = 645;\n t['Psi'] = 795;\n t['Zeta'] = 611;\n t['bracketleft'] = 333;\n t['therefore'] = 863;\n t['bracketright'] = 333;\n t['perpendicular'] = 658;\n t['underscore'] = 500;\n t['radicalex'] = 500;\n t['alpha'] = 631;\n t['beta'] = 549;\n t['chi'] = 549;\n t['delta'] = 494;\n t['epsilon'] = 439;\n t['phi'] = 521;\n t['gamma'] = 411;\n t['eta'] = 603;\n t['iota'] = 329;\n t['phi1'] = 603;\n t['kappa'] = 549;\n t['lambda'] = 549;\n t['mu'] = 576;\n t['nu'] = 521;\n t['omicron'] = 549;\n t['pi'] = 549;\n t['theta'] = 521;\n t['rho'] = 549;\n t['sigma'] = 603;\n t['tau'] = 439;\n t['upsilon'] = 576;\n t['omega1'] = 713;\n t['omega'] = 686;\n t['xi'] = 493;\n t['psi'] = 686;\n t['zeta'] = 494;\n t['braceleft'] = 480;\n t['bar'] = 200;\n t['braceright'] = 480;\n t['similar'] = 549;\n t['Euro'] = 750;\n t['Upsilon1'] = 620;\n t['minute'] = 247;\n t['lessequal'] = 549;\n t['fraction'] = 167;\n t['infinity'] = 713;\n t['florin'] = 500;\n t['club'] = 753;\n t['diamond'] = 753;\n t['heart'] = 753;\n t['spade'] = 753;\n t['arrowboth'] = 1042;\n t['arrowleft'] = 987;\n t['arrowup'] = 603;\n t['arrowright'] = 987;\n t['arrowdown'] = 603;\n t['degree'] = 400;\n t['plusminus'] = 549;\n t['second'] = 411;\n t['greaterequal'] = 549;\n t['multiply'] = 549;\n t['proportional'] = 713;\n t['partialdiff'] = 494;\n t['bullet'] = 460;\n t['divide'] = 549;\n t['notequal'] = 549;\n t['equivalence'] = 549;\n t['approxequal'] = 549;\n t['ellipsis'] = 1000;\n t['arrowvertex'] = 603;\n t['arrowhorizex'] = 1000;\n t['carriagereturn'] = 658;\n t['aleph'] = 823;\n t['Ifraktur'] = 686;\n t['Rfraktur'] = 795;\n t['weierstrass'] = 987;\n t['circlemultiply'] = 768;\n t['circleplus'] = 768;\n t['emptyset'] = 823;\n t['intersection'] = 768;\n t['union'] = 768;\n t['propersuperset'] = 713;\n t['reflexsuperset'] = 713;\n t['notsubset'] = 713;\n t['propersubset'] = 713;\n t['reflexsubset'] = 713;\n t['element'] = 713;\n t['notelement'] = 713;\n t['angle'] = 768;\n t['gradient'] = 713;\n t['registerserif'] = 790;\n t['copyrightserif'] = 790;\n t['trademarkserif'] = 890;\n t['product'] = 823;\n t['radical'] = 549;\n t['dotmath'] = 250;\n t['logicalnot'] = 713;\n t['logicaland'] = 603;\n t['logicalor'] = 603;\n t['arrowdblboth'] = 1042;\n t['arrowdblleft'] = 987;\n t['arrowdblup'] = 603;\n t['arrowdblright'] = 987;\n t['arrowdbldown'] = 603;\n t['lozenge'] = 494;\n t['angleleft'] = 329;\n t['registersans'] = 790;\n t['copyrightsans'] = 790;\n t['trademarksans'] = 786;\n t['summation'] = 713;\n t['parenlefttp'] = 384;\n t['parenleftex'] = 384;\n t['parenleftbt'] = 384;\n t['bracketlefttp'] = 384;\n t['bracketleftex'] = 384;\n t['bracketleftbt'] = 384;\n t['bracelefttp'] = 494;\n t['braceleftmid'] = 494;\n t['braceleftbt'] = 494;\n t['braceex'] = 494;\n t['angleright'] = 329;\n t['integral'] = 274;\n t['integraltp'] = 686;\n t['integralex'] = 686;\n t['integralbt'] = 686;\n t['parenrighttp'] = 384;\n t['parenrightex'] = 384;\n t['parenrightbt'] = 384;\n t['bracketrighttp'] = 384;\n t['bracketrightex'] = 384;\n t['bracketrightbt'] = 384;\n t['bracerighttp'] = 494;\n t['bracerightmid'] = 494;\n t['bracerightbt'] = 494;\n t['apple'] = 790;\n });\n t['Times-Roman'] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['space'] = 250;\n t['exclam'] = 333;\n t['quotedbl'] = 408;\n t['numbersign'] = 500;\n t['dollar'] = 500;\n t['percent'] = 833;\n t['ampersand'] = 778;\n t['quoteright'] = 333;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 500;\n t['plus'] = 564;\n t['comma'] = 250;\n t['hyphen'] = 333;\n t['period'] = 250;\n t['slash'] = 278;\n t['zero'] = 500;\n t['one'] = 500;\n t['two'] = 500;\n t['three'] = 500;\n t['four'] = 500;\n t['five'] = 500;\n t['six'] = 500;\n t['seven'] = 500;\n t['eight'] = 500;\n t['nine'] = 500;\n t['colon'] = 278;\n t['semicolon'] = 278;\n t['less'] = 564;\n t['equal'] = 564;\n t['greater'] = 564;\n t['question'] = 444;\n t['at'] = 921;\n t['A'] = 722;\n t['B'] = 667;\n t['C'] = 667;\n t['D'] = 722;\n t['E'] = 611;\n t['F'] = 556;\n t['G'] = 722;\n t['H'] = 722;\n t['I'] = 333;\n t['J'] = 389;\n t['K'] = 722;\n t['L'] = 611;\n t['M'] = 889;\n t['N'] = 722;\n t['O'] = 722;\n t['P'] = 556;\n t['Q'] = 722;\n t['R'] = 667;\n t['S'] = 556;\n t['T'] = 611;\n t['U'] = 722;\n t['V'] = 722;\n t['W'] = 944;\n t['X'] = 722;\n t['Y'] = 722;\n t['Z'] = 611;\n t['bracketleft'] = 333;\n t['backslash'] = 278;\n t['bracketright'] = 333;\n t['asciicircum'] = 469;\n t['underscore'] = 500;\n t['quoteleft'] = 333;\n t['a'] = 444;\n t['b'] = 500;\n t['c'] = 444;\n t['d'] = 500;\n t['e'] = 444;\n t['f'] = 333;\n t['g'] = 500;\n t['h'] = 500;\n t['i'] = 278;\n t['j'] = 278;\n t['k'] = 500;\n t['l'] = 278;\n t['m'] = 778;\n t['n'] = 500;\n t['o'] = 500;\n t['p'] = 500;\n t['q'] = 500;\n t['r'] = 333;\n t['s'] = 389;\n t['t'] = 278;\n t['u'] = 500;\n t['v'] = 500;\n t['w'] = 722;\n t['x'] = 500;\n t['y'] = 500;\n t['z'] = 444;\n t['braceleft'] = 480;\n t['bar'] = 200;\n t['braceright'] = 480;\n t['asciitilde'] = 541;\n t['exclamdown'] = 333;\n t['cent'] = 500;\n t['sterling'] = 500;\n t['fraction'] = 167;\n t['yen'] = 500;\n t['florin'] = 500;\n t['section'] = 500;\n t['currency'] = 500;\n t['quotesingle'] = 180;\n t['quotedblleft'] = 444;\n t['guillemotleft'] = 500;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 556;\n t['fl'] = 556;\n t['endash'] = 500;\n t['dagger'] = 500;\n t['daggerdbl'] = 500;\n t['periodcentered'] = 250;\n t['paragraph'] = 453;\n t['bullet'] = 350;\n t['quotesinglbase'] = 333;\n t['quotedblbase'] = 444;\n t['quotedblright'] = 444;\n t['guillemotright'] = 500;\n t['ellipsis'] = 1000;\n t['perthousand'] = 1000;\n t['questiondown'] = 444;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 1000;\n t['AE'] = 889;\n t['ordfeminine'] = 276;\n t['Lslash'] = 611;\n t['Oslash'] = 722;\n t['OE'] = 889;\n t['ordmasculine'] = 310;\n t['ae'] = 667;\n t['dotlessi'] = 278;\n t['lslash'] = 278;\n t['oslash'] = 500;\n t['oe'] = 722;\n t['germandbls'] = 500;\n t['Idieresis'] = 333;\n t['eacute'] = 444;\n t['abreve'] = 444;\n t['uhungarumlaut'] = 500;\n t['ecaron'] = 444;\n t['Ydieresis'] = 722;\n t['divide'] = 564;\n t['Yacute'] = 722;\n t['Acircumflex'] = 722;\n t['aacute'] = 444;\n t['Ucircumflex'] = 722;\n t['yacute'] = 500;\n t['scommaaccent'] = 389;\n t['ecircumflex'] = 444;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 444;\n t['Uacute'] = 722;\n t['uogonek'] = 500;\n t['Edieresis'] = 611;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 760;\n t['Emacron'] = 611;\n t['ccaron'] = 444;\n t['aring'] = 444;\n t['Ncommaaccent'] = 722;\n t['lacute'] = 278;\n t['agrave'] = 444;\n t['Tcommaaccent'] = 611;\n t['Cacute'] = 667;\n t['atilde'] = 444;\n t['Edotaccent'] = 611;\n t['scaron'] = 389;\n t['scedilla'] = 389;\n t['iacute'] = 278;\n t['lozenge'] = 471;\n t['Rcaron'] = 667;\n t['Gcommaaccent'] = 722;\n t['ucircumflex'] = 500;\n t['acircumflex'] = 444;\n t['Amacron'] = 722;\n t['rcaron'] = 333;\n t['ccedilla'] = 444;\n t['Zdotaccent'] = 611;\n t['Thorn'] = 556;\n t['Omacron'] = 722;\n t['Racute'] = 667;\n t['Sacute'] = 556;\n t['dcaron'] = 588;\n t['Umacron'] = 722;\n t['uring'] = 500;\n t['threesuperior'] = 300;\n t['Ograve'] = 722;\n t['Agrave'] = 722;\n t['Abreve'] = 722;\n t['multiply'] = 564;\n t['uacute'] = 500;\n t['Tcaron'] = 611;\n t['partialdiff'] = 476;\n t['ydieresis'] = 500;\n t['Nacute'] = 722;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 611;\n t['adieresis'] = 444;\n t['edieresis'] = 444;\n t['cacute'] = 444;\n t['nacute'] = 500;\n t['umacron'] = 500;\n t['Ncaron'] = 722;\n t['Iacute'] = 333;\n t['plusminus'] = 564;\n t['brokenbar'] = 200;\n t['registered'] = 760;\n t['Gbreve'] = 722;\n t['Idotaccent'] = 333;\n t['summation'] = 600;\n t['Egrave'] = 611;\n t['racute'] = 333;\n t['omacron'] = 500;\n t['Zacute'] = 611;\n t['Zcaron'] = 611;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 667;\n t['lcommaaccent'] = 278;\n t['tcaron'] = 326;\n t['eogonek'] = 444;\n t['Uogonek'] = 722;\n t['Aacute'] = 722;\n t['Adieresis'] = 722;\n t['egrave'] = 444;\n t['zacute'] = 444;\n t['iogonek'] = 278;\n t['Oacute'] = 722;\n t['oacute'] = 500;\n t['amacron'] = 444;\n t['sacute'] = 389;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 722;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 500;\n t['twosuperior'] = 300;\n t['Odieresis'] = 722;\n t['mu'] = 500;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 500;\n t['Eogonek'] = 611;\n t['dcroat'] = 500;\n t['threequarters'] = 750;\n t['Scedilla'] = 556;\n t['lcaron'] = 344;\n t['Kcommaaccent'] = 722;\n t['Lacute'] = 611;\n t['trademark'] = 980;\n t['edotaccent'] = 444;\n t['Igrave'] = 333;\n t['Imacron'] = 333;\n t['Lcaron'] = 611;\n t['onehalf'] = 750;\n t['lessequal'] = 549;\n t['ocircumflex'] = 500;\n t['ntilde'] = 500;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 611;\n t['emacron'] = 444;\n t['gbreve'] = 500;\n t['onequarter'] = 750;\n t['Scaron'] = 556;\n t['Scommaaccent'] = 556;\n t['Ohungarumlaut'] = 722;\n t['degree'] = 400;\n t['ograve'] = 500;\n t['Ccaron'] = 667;\n t['ugrave'] = 500;\n t['radical'] = 453;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 333;\n t['Ntilde'] = 722;\n t['otilde'] = 500;\n t['Rcommaaccent'] = 667;\n t['Lcommaaccent'] = 611;\n t['Atilde'] = 722;\n t['Aogonek'] = 722;\n t['Aring'] = 722;\n t['Otilde'] = 722;\n t['zdotaccent'] = 444;\n t['Ecaron'] = 611;\n t['Iogonek'] = 333;\n t['kcommaaccent'] = 500;\n t['minus'] = 564;\n t['Icircumflex'] = 333;\n t['ncaron'] = 500;\n t['tcommaaccent'] = 278;\n t['logicalnot'] = 564;\n t['odieresis'] = 500;\n t['udieresis'] = 500;\n t['notequal'] = 549;\n t['gcommaaccent'] = 500;\n t['eth'] = 500;\n t['zcaron'] = 444;\n t['ncommaaccent'] = 500;\n t['onesuperior'] = 300;\n t['imacron'] = 278;\n t['Euro'] = 500;\n });\n t['Times-Bold'] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['space'] = 250;\n t['exclam'] = 333;\n t['quotedbl'] = 555;\n t['numbersign'] = 500;\n t['dollar'] = 500;\n t['percent'] = 1000;\n t['ampersand'] = 833;\n t['quoteright'] = 333;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 500;\n t['plus'] = 570;\n t['comma'] = 250;\n t['hyphen'] = 333;\n t['period'] = 250;\n t['slash'] = 278;\n t['zero'] = 500;\n t['one'] = 500;\n t['two'] = 500;\n t['three'] = 500;\n t['four'] = 500;\n t['five'] = 500;\n t['six'] = 500;\n t['seven'] = 500;\n t['eight'] = 500;\n t['nine'] = 500;\n t['colon'] = 333;\n t['semicolon'] = 333;\n t['less'] = 570;\n t['equal'] = 570;\n t['greater'] = 570;\n t['question'] = 500;\n t['at'] = 930;\n t['A'] = 722;\n t['B'] = 667;\n t['C'] = 722;\n t['D'] = 722;\n t['E'] = 667;\n t['F'] = 611;\n t['G'] = 778;\n t['H'] = 778;\n t['I'] = 389;\n t['J'] = 500;\n t['K'] = 778;\n t['L'] = 667;\n t['M'] = 944;\n t['N'] = 722;\n t['O'] = 778;\n t['P'] = 611;\n t['Q'] = 778;\n t['R'] = 722;\n t['S'] = 556;\n t['T'] = 667;\n t['U'] = 722;\n t['V'] = 722;\n t['W'] = 1000;\n t['X'] = 722;\n t['Y'] = 722;\n t['Z'] = 667;\n t['bracketleft'] = 333;\n t['backslash'] = 278;\n t['bracketright'] = 333;\n t['asciicircum'] = 581;\n t['underscore'] = 500;\n t['quoteleft'] = 333;\n t['a'] = 500;\n t['b'] = 556;\n t['c'] = 444;\n t['d'] = 556;\n t['e'] = 444;\n t['f'] = 333;\n t['g'] = 500;\n t['h'] = 556;\n t['i'] = 278;\n t['j'] = 333;\n t['k'] = 556;\n t['l'] = 278;\n t['m'] = 833;\n t['n'] = 556;\n t['o'] = 500;\n t['p'] = 556;\n t['q'] = 556;\n t['r'] = 444;\n t['s'] = 389;\n t['t'] = 333;\n t['u'] = 556;\n t['v'] = 500;\n t['w'] = 722;\n t['x'] = 500;\n t['y'] = 500;\n t['z'] = 444;\n t['braceleft'] = 394;\n t['bar'] = 220;\n t['braceright'] = 394;\n t['asciitilde'] = 520;\n t['exclamdown'] = 333;\n t['cent'] = 500;\n t['sterling'] = 500;\n t['fraction'] = 167;\n t['yen'] = 500;\n t['florin'] = 500;\n t['section'] = 500;\n t['currency'] = 500;\n t['quotesingle'] = 278;\n t['quotedblleft'] = 500;\n t['guillemotleft'] = 500;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 556;\n t['fl'] = 556;\n t['endash'] = 500;\n t['dagger'] = 500;\n t['daggerdbl'] = 500;\n t['periodcentered'] = 250;\n t['paragraph'] = 540;\n t['bullet'] = 350;\n t['quotesinglbase'] = 333;\n t['quotedblbase'] = 500;\n t['quotedblright'] = 500;\n t['guillemotright'] = 500;\n t['ellipsis'] = 1000;\n t['perthousand'] = 1000;\n t['questiondown'] = 500;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 1000;\n t['AE'] = 1000;\n t['ordfeminine'] = 300;\n t['Lslash'] = 667;\n t['Oslash'] = 778;\n t['OE'] = 1000;\n t['ordmasculine'] = 330;\n t['ae'] = 722;\n t['dotlessi'] = 278;\n t['lslash'] = 278;\n t['oslash'] = 500;\n t['oe'] = 722;\n t['germandbls'] = 556;\n t['Idieresis'] = 389;\n t['eacute'] = 444;\n t['abreve'] = 500;\n t['uhungarumlaut'] = 556;\n t['ecaron'] = 444;\n t['Ydieresis'] = 722;\n t['divide'] = 570;\n t['Yacute'] = 722;\n t['Acircumflex'] = 722;\n t['aacute'] = 500;\n t['Ucircumflex'] = 722;\n t['yacute'] = 500;\n t['scommaaccent'] = 389;\n t['ecircumflex'] = 444;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 500;\n t['Uacute'] = 722;\n t['uogonek'] = 556;\n t['Edieresis'] = 667;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 747;\n t['Emacron'] = 667;\n t['ccaron'] = 444;\n t['aring'] = 500;\n t['Ncommaaccent'] = 722;\n t['lacute'] = 278;\n t['agrave'] = 500;\n t['Tcommaaccent'] = 667;\n t['Cacute'] = 722;\n t['atilde'] = 500;\n t['Edotaccent'] = 667;\n t['scaron'] = 389;\n t['scedilla'] = 389;\n t['iacute'] = 278;\n t['lozenge'] = 494;\n t['Rcaron'] = 722;\n t['Gcommaaccent'] = 778;\n t['ucircumflex'] = 556;\n t['acircumflex'] = 500;\n t['Amacron'] = 722;\n t['rcaron'] = 444;\n t['ccedilla'] = 444;\n t['Zdotaccent'] = 667;\n t['Thorn'] = 611;\n t['Omacron'] = 778;\n t['Racute'] = 722;\n t['Sacute'] = 556;\n t['dcaron'] = 672;\n t['Umacron'] = 722;\n t['uring'] = 556;\n t['threesuperior'] = 300;\n t['Ograve'] = 778;\n t['Agrave'] = 722;\n t['Abreve'] = 722;\n t['multiply'] = 570;\n t['uacute'] = 556;\n t['Tcaron'] = 667;\n t['partialdiff'] = 494;\n t['ydieresis'] = 500;\n t['Nacute'] = 722;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 667;\n t['adieresis'] = 500;\n t['edieresis'] = 444;\n t['cacute'] = 444;\n t['nacute'] = 556;\n t['umacron'] = 556;\n t['Ncaron'] = 722;\n t['Iacute'] = 389;\n t['plusminus'] = 570;\n t['brokenbar'] = 220;\n t['registered'] = 747;\n t['Gbreve'] = 778;\n t['Idotaccent'] = 389;\n t['summation'] = 600;\n t['Egrave'] = 667;\n t['racute'] = 444;\n t['omacron'] = 500;\n t['Zacute'] = 667;\n t['Zcaron'] = 667;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 722;\n t['lcommaaccent'] = 278;\n t['tcaron'] = 416;\n t['eogonek'] = 444;\n t['Uogonek'] = 722;\n t['Aacute'] = 722;\n t['Adieresis'] = 722;\n t['egrave'] = 444;\n t['zacute'] = 444;\n t['iogonek'] = 278;\n t['Oacute'] = 778;\n t['oacute'] = 500;\n t['amacron'] = 500;\n t['sacute'] = 389;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 778;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 556;\n t['twosuperior'] = 300;\n t['Odieresis'] = 778;\n t['mu'] = 556;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 500;\n t['Eogonek'] = 667;\n t['dcroat'] = 556;\n t['threequarters'] = 750;\n t['Scedilla'] = 556;\n t['lcaron'] = 394;\n t['Kcommaaccent'] = 778;\n t['Lacute'] = 667;\n t['trademark'] = 1000;\n t['edotaccent'] = 444;\n t['Igrave'] = 389;\n t['Imacron'] = 389;\n t['Lcaron'] = 667;\n t['onehalf'] = 750;\n t['lessequal'] = 549;\n t['ocircumflex'] = 500;\n t['ntilde'] = 556;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 667;\n t['emacron'] = 444;\n t['gbreve'] = 500;\n t['onequarter'] = 750;\n t['Scaron'] = 556;\n t['Scommaaccent'] = 556;\n t['Ohungarumlaut'] = 778;\n t['degree'] = 400;\n t['ograve'] = 500;\n t['Ccaron'] = 722;\n t['ugrave'] = 556;\n t['radical'] = 549;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 444;\n t['Ntilde'] = 722;\n t['otilde'] = 500;\n t['Rcommaaccent'] = 722;\n t['Lcommaaccent'] = 667;\n t['Atilde'] = 722;\n t['Aogonek'] = 722;\n t['Aring'] = 722;\n t['Otilde'] = 778;\n t['zdotaccent'] = 444;\n t['Ecaron'] = 667;\n t['Iogonek'] = 389;\n t['kcommaaccent'] = 556;\n t['minus'] = 570;\n t['Icircumflex'] = 389;\n t['ncaron'] = 556;\n t['tcommaaccent'] = 333;\n t['logicalnot'] = 570;\n t['odieresis'] = 500;\n t['udieresis'] = 556;\n t['notequal'] = 549;\n t['gcommaaccent'] = 500;\n t['eth'] = 500;\n t['zcaron'] = 444;\n t['ncommaaccent'] = 556;\n t['onesuperior'] = 300;\n t['imacron'] = 278;\n t['Euro'] = 500;\n });\n t['Times-BoldItalic'] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['space'] = 250;\n t['exclam'] = 389;\n t['quotedbl'] = 555;\n t['numbersign'] = 500;\n t['dollar'] = 500;\n t['percent'] = 833;\n t['ampersand'] = 778;\n t['quoteright'] = 333;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 500;\n t['plus'] = 570;\n t['comma'] = 250;\n t['hyphen'] = 333;\n t['period'] = 250;\n t['slash'] = 278;\n t['zero'] = 500;\n t['one'] = 500;\n t['two'] = 500;\n t['three'] = 500;\n t['four'] = 500;\n t['five'] = 500;\n t['six'] = 500;\n t['seven'] = 500;\n t['eight'] = 500;\n t['nine'] = 500;\n t['colon'] = 333;\n t['semicolon'] = 333;\n t['less'] = 570;\n t['equal'] = 570;\n t['greater'] = 570;\n t['question'] = 500;\n t['at'] = 832;\n t['A'] = 667;\n t['B'] = 667;\n t['C'] = 667;\n t['D'] = 722;\n t['E'] = 667;\n t['F'] = 667;\n t['G'] = 722;\n t['H'] = 778;\n t['I'] = 389;\n t['J'] = 500;\n t['K'] = 667;\n t['L'] = 611;\n t['M'] = 889;\n t['N'] = 722;\n t['O'] = 722;\n t['P'] = 611;\n t['Q'] = 722;\n t['R'] = 667;\n t['S'] = 556;\n t['T'] = 611;\n t['U'] = 722;\n t['V'] = 667;\n t['W'] = 889;\n t['X'] = 667;\n t['Y'] = 611;\n t['Z'] = 611;\n t['bracketleft'] = 333;\n t['backslash'] = 278;\n t['bracketright'] = 333;\n t['asciicircum'] = 570;\n t['underscore'] = 500;\n t['quoteleft'] = 333;\n t['a'] = 500;\n t['b'] = 500;\n t['c'] = 444;\n t['d'] = 500;\n t['e'] = 444;\n t['f'] = 333;\n t['g'] = 500;\n t['h'] = 556;\n t['i'] = 278;\n t['j'] = 278;\n t['k'] = 500;\n t['l'] = 278;\n t['m'] = 778;\n t['n'] = 556;\n t['o'] = 500;\n t['p'] = 500;\n t['q'] = 500;\n t['r'] = 389;\n t['s'] = 389;\n t['t'] = 278;\n t['u'] = 556;\n t['v'] = 444;\n t['w'] = 667;\n t['x'] = 500;\n t['y'] = 444;\n t['z'] = 389;\n t['braceleft'] = 348;\n t['bar'] = 220;\n t['braceright'] = 348;\n t['asciitilde'] = 570;\n t['exclamdown'] = 389;\n t['cent'] = 500;\n t['sterling'] = 500;\n t['fraction'] = 167;\n t['yen'] = 500;\n t['florin'] = 500;\n t['section'] = 500;\n t['currency'] = 500;\n t['quotesingle'] = 278;\n t['quotedblleft'] = 500;\n t['guillemotleft'] = 500;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 556;\n t['fl'] = 556;\n t['endash'] = 500;\n t['dagger'] = 500;\n t['daggerdbl'] = 500;\n t['periodcentered'] = 250;\n t['paragraph'] = 500;\n t['bullet'] = 350;\n t['quotesinglbase'] = 333;\n t['quotedblbase'] = 500;\n t['quotedblright'] = 500;\n t['guillemotright'] = 500;\n t['ellipsis'] = 1000;\n t['perthousand'] = 1000;\n t['questiondown'] = 500;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 1000;\n t['AE'] = 944;\n t['ordfeminine'] = 266;\n t['Lslash'] = 611;\n t['Oslash'] = 722;\n t['OE'] = 944;\n t['ordmasculine'] = 300;\n t['ae'] = 722;\n t['dotlessi'] = 278;\n t['lslash'] = 278;\n t['oslash'] = 500;\n t['oe'] = 722;\n t['germandbls'] = 500;\n t['Idieresis'] = 389;\n t['eacute'] = 444;\n t['abreve'] = 500;\n t['uhungarumlaut'] = 556;\n t['ecaron'] = 444;\n t['Ydieresis'] = 611;\n t['divide'] = 570;\n t['Yacute'] = 611;\n t['Acircumflex'] = 667;\n t['aacute'] = 500;\n t['Ucircumflex'] = 722;\n t['yacute'] = 444;\n t['scommaaccent'] = 389;\n t['ecircumflex'] = 444;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 500;\n t['Uacute'] = 722;\n t['uogonek'] = 556;\n t['Edieresis'] = 667;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 747;\n t['Emacron'] = 667;\n t['ccaron'] = 444;\n t['aring'] = 500;\n t['Ncommaaccent'] = 722;\n t['lacute'] = 278;\n t['agrave'] = 500;\n t['Tcommaaccent'] = 611;\n t['Cacute'] = 667;\n t['atilde'] = 500;\n t['Edotaccent'] = 667;\n t['scaron'] = 389;\n t['scedilla'] = 389;\n t['iacute'] = 278;\n t['lozenge'] = 494;\n t['Rcaron'] = 667;\n t['Gcommaaccent'] = 722;\n t['ucircumflex'] = 556;\n t['acircumflex'] = 500;\n t['Amacron'] = 667;\n t['rcaron'] = 389;\n t['ccedilla'] = 444;\n t['Zdotaccent'] = 611;\n t['Thorn'] = 611;\n t['Omacron'] = 722;\n t['Racute'] = 667;\n t['Sacute'] = 556;\n t['dcaron'] = 608;\n t['Umacron'] = 722;\n t['uring'] = 556;\n t['threesuperior'] = 300;\n t['Ograve'] = 722;\n t['Agrave'] = 667;\n t['Abreve'] = 667;\n t['multiply'] = 570;\n t['uacute'] = 556;\n t['Tcaron'] = 611;\n t['partialdiff'] = 494;\n t['ydieresis'] = 444;\n t['Nacute'] = 722;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 667;\n t['adieresis'] = 500;\n t['edieresis'] = 444;\n t['cacute'] = 444;\n t['nacute'] = 556;\n t['umacron'] = 556;\n t['Ncaron'] = 722;\n t['Iacute'] = 389;\n t['plusminus'] = 570;\n t['brokenbar'] = 220;\n t['registered'] = 747;\n t['Gbreve'] = 722;\n t['Idotaccent'] = 389;\n t['summation'] = 600;\n t['Egrave'] = 667;\n t['racute'] = 389;\n t['omacron'] = 500;\n t['Zacute'] = 611;\n t['Zcaron'] = 611;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 667;\n t['lcommaaccent'] = 278;\n t['tcaron'] = 366;\n t['eogonek'] = 444;\n t['Uogonek'] = 722;\n t['Aacute'] = 667;\n t['Adieresis'] = 667;\n t['egrave'] = 444;\n t['zacute'] = 389;\n t['iogonek'] = 278;\n t['Oacute'] = 722;\n t['oacute'] = 500;\n t['amacron'] = 500;\n t['sacute'] = 389;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 722;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 500;\n t['twosuperior'] = 300;\n t['Odieresis'] = 722;\n t['mu'] = 576;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 500;\n t['Eogonek'] = 667;\n t['dcroat'] = 500;\n t['threequarters'] = 750;\n t['Scedilla'] = 556;\n t['lcaron'] = 382;\n t['Kcommaaccent'] = 667;\n t['Lacute'] = 611;\n t['trademark'] = 1000;\n t['edotaccent'] = 444;\n t['Igrave'] = 389;\n t['Imacron'] = 389;\n t['Lcaron'] = 611;\n t['onehalf'] = 750;\n t['lessequal'] = 549;\n t['ocircumflex'] = 500;\n t['ntilde'] = 556;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 667;\n t['emacron'] = 444;\n t['gbreve'] = 500;\n t['onequarter'] = 750;\n t['Scaron'] = 556;\n t['Scommaaccent'] = 556;\n t['Ohungarumlaut'] = 722;\n t['degree'] = 400;\n t['ograve'] = 500;\n t['Ccaron'] = 667;\n t['ugrave'] = 556;\n t['radical'] = 549;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 389;\n t['Ntilde'] = 722;\n t['otilde'] = 500;\n t['Rcommaaccent'] = 667;\n t['Lcommaaccent'] = 611;\n t['Atilde'] = 667;\n t['Aogonek'] = 667;\n t['Aring'] = 667;\n t['Otilde'] = 722;\n t['zdotaccent'] = 389;\n t['Ecaron'] = 667;\n t['Iogonek'] = 389;\n t['kcommaaccent'] = 500;\n t['minus'] = 606;\n t['Icircumflex'] = 389;\n t['ncaron'] = 556;\n t['tcommaaccent'] = 278;\n t['logicalnot'] = 606;\n t['odieresis'] = 500;\n t['udieresis'] = 556;\n t['notequal'] = 549;\n t['gcommaaccent'] = 500;\n t['eth'] = 500;\n t['zcaron'] = 389;\n t['ncommaaccent'] = 556;\n t['onesuperior'] = 300;\n t['imacron'] = 278;\n t['Euro'] = 500;\n });\n t['Times-Italic'] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['space'] = 250;\n t['exclam'] = 333;\n t['quotedbl'] = 420;\n t['numbersign'] = 500;\n t['dollar'] = 500;\n t['percent'] = 833;\n t['ampersand'] = 778;\n t['quoteright'] = 333;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 500;\n t['plus'] = 675;\n t['comma'] = 250;\n t['hyphen'] = 333;\n t['period'] = 250;\n t['slash'] = 278;\n t['zero'] = 500;\n t['one'] = 500;\n t['two'] = 500;\n t['three'] = 500;\n t['four'] = 500;\n t['five'] = 500;\n t['six'] = 500;\n t['seven'] = 500;\n t['eight'] = 500;\n t['nine'] = 500;\n t['colon'] = 333;\n t['semicolon'] = 333;\n t['less'] = 675;\n t['equal'] = 675;\n t['greater'] = 675;\n t['question'] = 500;\n t['at'] = 920;\n t['A'] = 611;\n t['B'] = 611;\n t['C'] = 667;\n t['D'] = 722;\n t['E'] = 611;\n t['F'] = 611;\n t['G'] = 722;\n t['H'] = 722;\n t['I'] = 333;\n t['J'] = 444;\n t['K'] = 667;\n t['L'] = 556;\n t['M'] = 833;\n t['N'] = 667;\n t['O'] = 722;\n t['P'] = 611;\n t['Q'] = 722;\n t['R'] = 611;\n t['S'] = 500;\n t['T'] = 556;\n t['U'] = 722;\n t['V'] = 611;\n t['W'] = 833;\n t['X'] = 611;\n t['Y'] = 556;\n t['Z'] = 556;\n t['bracketleft'] = 389;\n t['backslash'] = 278;\n t['bracketright'] = 389;\n t['asciicircum'] = 422;\n t['underscore'] = 500;\n t['quoteleft'] = 333;\n t['a'] = 500;\n t['b'] = 500;\n t['c'] = 444;\n t['d'] = 500;\n t['e'] = 444;\n t['f'] = 278;\n t['g'] = 500;\n t['h'] = 500;\n t['i'] = 278;\n t['j'] = 278;\n t['k'] = 444;\n t['l'] = 278;\n t['m'] = 722;\n t['n'] = 500;\n t['o'] = 500;\n t['p'] = 500;\n t['q'] = 500;\n t['r'] = 389;\n t['s'] = 389;\n t['t'] = 278;\n t['u'] = 500;\n t['v'] = 444;\n t['w'] = 667;\n t['x'] = 444;\n t['y'] = 444;\n t['z'] = 389;\n t['braceleft'] = 400;\n t['bar'] = 275;\n t['braceright'] = 400;\n t['asciitilde'] = 541;\n t['exclamdown'] = 389;\n t['cent'] = 500;\n t['sterling'] = 500;\n t['fraction'] = 167;\n t['yen'] = 500;\n t['florin'] = 500;\n t['section'] = 500;\n t['currency'] = 500;\n t['quotesingle'] = 214;\n t['quotedblleft'] = 556;\n t['guillemotleft'] = 500;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 500;\n t['fl'] = 500;\n t['endash'] = 500;\n t['dagger'] = 500;\n t['daggerdbl'] = 500;\n t['periodcentered'] = 250;\n t['paragraph'] = 523;\n t['bullet'] = 350;\n t['quotesinglbase'] = 333;\n t['quotedblbase'] = 556;\n t['quotedblright'] = 556;\n t['guillemotright'] = 500;\n t['ellipsis'] = 889;\n t['perthousand'] = 1000;\n t['questiondown'] = 500;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 889;\n t['AE'] = 889;\n t['ordfeminine'] = 276;\n t['Lslash'] = 556;\n t['Oslash'] = 722;\n t['OE'] = 944;\n t['ordmasculine'] = 310;\n t['ae'] = 667;\n t['dotlessi'] = 278;\n t['lslash'] = 278;\n t['oslash'] = 500;\n t['oe'] = 667;\n t['germandbls'] = 500;\n t['Idieresis'] = 333;\n t['eacute'] = 444;\n t['abreve'] = 500;\n t['uhungarumlaut'] = 500;\n t['ecaron'] = 444;\n t['Ydieresis'] = 556;\n t['divide'] = 675;\n t['Yacute'] = 556;\n t['Acircumflex'] = 611;\n t['aacute'] = 500;\n t['Ucircumflex'] = 722;\n t['yacute'] = 444;\n t['scommaaccent'] = 389;\n t['ecircumflex'] = 444;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 500;\n t['Uacute'] = 722;\n t['uogonek'] = 500;\n t['Edieresis'] = 611;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 760;\n t['Emacron'] = 611;\n t['ccaron'] = 444;\n t['aring'] = 500;\n t['Ncommaaccent'] = 667;\n t['lacute'] = 278;\n t['agrave'] = 500;\n t['Tcommaaccent'] = 556;\n t['Cacute'] = 667;\n t['atilde'] = 500;\n t['Edotaccent'] = 611;\n t['scaron'] = 389;\n t['scedilla'] = 389;\n t['iacute'] = 278;\n t['lozenge'] = 471;\n t['Rcaron'] = 611;\n t['Gcommaaccent'] = 722;\n t['ucircumflex'] = 500;\n t['acircumflex'] = 500;\n t['Amacron'] = 611;\n t['rcaron'] = 389;\n t['ccedilla'] = 444;\n t['Zdotaccent'] = 556;\n t['Thorn'] = 611;\n t['Omacron'] = 722;\n t['Racute'] = 611;\n t['Sacute'] = 500;\n t['dcaron'] = 544;\n t['Umacron'] = 722;\n t['uring'] = 500;\n t['threesuperior'] = 300;\n t['Ograve'] = 722;\n t['Agrave'] = 611;\n t['Abreve'] = 611;\n t['multiply'] = 675;\n t['uacute'] = 500;\n t['Tcaron'] = 556;\n t['partialdiff'] = 476;\n t['ydieresis'] = 444;\n t['Nacute'] = 667;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 611;\n t['adieresis'] = 500;\n t['edieresis'] = 444;\n t['cacute'] = 444;\n t['nacute'] = 500;\n t['umacron'] = 500;\n t['Ncaron'] = 667;\n t['Iacute'] = 333;\n t['plusminus'] = 675;\n t['brokenbar'] = 275;\n t['registered'] = 760;\n t['Gbreve'] = 722;\n t['Idotaccent'] = 333;\n t['summation'] = 600;\n t['Egrave'] = 611;\n t['racute'] = 389;\n t['omacron'] = 500;\n t['Zacute'] = 556;\n t['Zcaron'] = 556;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 667;\n t['lcommaaccent'] = 278;\n t['tcaron'] = 300;\n t['eogonek'] = 444;\n t['Uogonek'] = 722;\n t['Aacute'] = 611;\n t['Adieresis'] = 611;\n t['egrave'] = 444;\n t['zacute'] = 389;\n t['iogonek'] = 278;\n t['Oacute'] = 722;\n t['oacute'] = 500;\n t['amacron'] = 500;\n t['sacute'] = 389;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 722;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 500;\n t['twosuperior'] = 300;\n t['Odieresis'] = 722;\n t['mu'] = 500;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 500;\n t['Eogonek'] = 611;\n t['dcroat'] = 500;\n t['threequarters'] = 750;\n t['Scedilla'] = 500;\n t['lcaron'] = 300;\n t['Kcommaaccent'] = 667;\n t['Lacute'] = 556;\n t['trademark'] = 980;\n t['edotaccent'] = 444;\n t['Igrave'] = 333;\n t['Imacron'] = 333;\n t['Lcaron'] = 611;\n t['onehalf'] = 750;\n t['lessequal'] = 549;\n t['ocircumflex'] = 500;\n t['ntilde'] = 500;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 611;\n t['emacron'] = 444;\n t['gbreve'] = 500;\n t['onequarter'] = 750;\n t['Scaron'] = 500;\n t['Scommaaccent'] = 500;\n t['Ohungarumlaut'] = 722;\n t['degree'] = 400;\n t['ograve'] = 500;\n t['Ccaron'] = 667;\n t['ugrave'] = 500;\n t['radical'] = 453;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 389;\n t['Ntilde'] = 667;\n t['otilde'] = 500;\n t['Rcommaaccent'] = 611;\n t['Lcommaaccent'] = 556;\n t['Atilde'] = 611;\n t['Aogonek'] = 611;\n t['Aring'] = 611;\n t['Otilde'] = 722;\n t['zdotaccent'] = 389;\n t['Ecaron'] = 611;\n t['Iogonek'] = 333;\n t['kcommaaccent'] = 444;\n t['minus'] = 675;\n t['Icircumflex'] = 333;\n t['ncaron'] = 500;\n t['tcommaaccent'] = 278;\n t['logicalnot'] = 675;\n t['odieresis'] = 500;\n t['udieresis'] = 500;\n t['notequal'] = 549;\n t['gcommaaccent'] = 500;\n t['eth'] = 500;\n t['zcaron'] = 389;\n t['ncommaaccent'] = 500;\n t['onesuperior'] = 300;\n t['imacron'] = 278;\n t['Euro'] = 500;\n });\n t['ZapfDingbats'] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t['space'] = 278;\n t['a1'] = 974;\n t['a2'] = 961;\n t['a202'] = 974;\n t['a3'] = 980;\n t['a4'] = 719;\n t['a5'] = 789;\n t['a119'] = 790;\n t['a118'] = 791;\n t['a117'] = 690;\n t['a11'] = 960;\n t['a12'] = 939;\n t['a13'] = 549;\n t['a14'] = 855;\n t['a15'] = 911;\n t['a16'] = 933;\n t['a105'] = 911;\n t['a17'] = 945;\n t['a18'] = 974;\n t['a19'] = 755;\n t['a20'] = 846;\n t['a21'] = 762;\n t['a22'] = 761;\n t['a23'] = 571;\n t['a24'] = 677;\n t['a25'] = 763;\n t['a26'] = 760;\n t['a27'] = 759;\n t['a28'] = 754;\n t['a6'] = 494;\n t['a7'] = 552;\n t['a8'] = 537;\n t['a9'] = 577;\n t['a10'] = 692;\n t['a29'] = 786;\n t['a30'] = 788;\n t['a31'] = 788;\n t['a32'] = 790;\n t['a33'] = 793;\n t['a34'] = 794;\n t['a35'] = 816;\n t['a36'] = 823;\n t['a37'] = 789;\n t['a38'] = 841;\n t['a39'] = 823;\n t['a40'] = 833;\n t['a41'] = 816;\n t['a42'] = 831;\n t['a43'] = 923;\n t['a44'] = 744;\n t['a45'] = 723;\n t['a46'] = 749;\n t['a47'] = 790;\n t['a48'] = 792;\n t['a49'] = 695;\n t['a50'] = 776;\n t['a51'] = 768;\n t['a52'] = 792;\n t['a53'] = 759;\n t['a54'] = 707;\n t['a55'] = 708;\n t['a56'] = 682;\n t['a57'] = 701;\n t['a58'] = 826;\n t['a59'] = 815;\n t['a60'] = 789;\n t['a61'] = 789;\n t['a62'] = 707;\n t['a63'] = 687;\n t['a64'] = 696;\n t['a65'] = 689;\n t['a66'] = 786;\n t['a67'] = 787;\n t['a68'] = 713;\n t['a69'] = 791;\n t['a70'] = 785;\n t['a71'] = 791;\n t['a72'] = 873;\n t['a73'] = 761;\n t['a74'] = 762;\n t['a203'] = 762;\n t['a75'] = 759;\n t['a204'] = 759;\n t['a76'] = 892;\n t['a77'] = 892;\n t['a78'] = 788;\n t['a79'] = 784;\n t['a81'] = 438;\n t['a82'] = 138;\n t['a83'] = 277;\n t['a84'] = 415;\n t['a97'] = 392;\n t['a98'] = 392;\n t['a99'] = 668;\n t['a100'] = 668;\n t['a89'] = 390;\n t['a90'] = 390;\n t['a93'] = 317;\n t['a94'] = 317;\n t['a91'] = 276;\n t['a92'] = 276;\n t['a205'] = 509;\n t['a85'] = 509;\n t['a206'] = 410;\n t['a86'] = 410;\n t['a87'] = 234;\n t['a88'] = 234;\n t['a95'] = 334;\n t['a96'] = 334;\n t['a101'] = 732;\n t['a102'] = 544;\n t['a103'] = 544;\n t['a104'] = 910;\n t['a106'] = 667;\n t['a107'] = 760;\n t['a108'] = 760;\n t['a112'] = 776;\n t['a111'] = 595;\n t['a110'] = 694;\n t['a109'] = 626;\n t['a120'] = 788;\n t['a121'] = 788;\n t['a122'] = 788;\n t['a123'] = 788;\n t['a124'] = 788;\n t['a125'] = 788;\n t['a126'] = 788;\n t['a127'] = 788;\n t['a128'] = 788;\n t['a129'] = 788;\n t['a130'] = 788;\n t['a131'] = 788;\n t['a132'] = 788;\n t['a133'] = 788;\n t['a134'] = 788;\n t['a135'] = 788;\n t['a136'] = 788;\n t['a137'] = 788;\n t['a138'] = 788;\n t['a139'] = 788;\n t['a140'] = 788;\n t['a141'] = 788;\n t['a142'] = 788;\n t['a143'] = 788;\n t['a144'] = 788;\n t['a145'] = 788;\n t['a146'] = 788;\n t['a147'] = 788;\n t['a148'] = 788;\n t['a149'] = 788;\n t['a150'] = 788;\n t['a151'] = 788;\n t['a152'] = 788;\n t['a153'] = 788;\n t['a154'] = 788;\n t['a155'] = 788;\n t['a156'] = 788;\n t['a157'] = 788;\n t['a158'] = 788;\n t['a159'] = 788;\n t['a160'] = 894;\n t['a161'] = 838;\n t['a163'] = 1016;\n t['a164'] = 458;\n t['a196'] = 748;\n t['a165'] = 924;\n t['a192'] = 748;\n t['a166'] = 918;\n t['a167'] = 927;\n t['a168'] = 928;\n t['a169'] = 928;\n t['a170'] = 834;\n t['a171'] = 873;\n t['a172'] = 828;\n t['a173'] = 924;\n t['a162'] = 924;\n t['a174'] = 917;\n t['a175'] = 930;\n t['a176'] = 931;\n t['a177'] = 463;\n t['a178'] = 883;\n t['a179'] = 836;\n t['a193'] = 836;\n t['a180'] = 867;\n t['a199'] = 867;\n t['a181'] = 696;\n t['a200'] = 696;\n t['a182'] = 874;\n t['a201'] = 874;\n t['a183'] = 760;\n t['a184'] = 946;\n t['a197'] = 771;\n t['a185'] = 865;\n t['a194'] = 771;\n t['a198'] = 888;\n t['a186'] = 967;\n t['a195'] = 888;\n t['a187'] = 831;\n t['a188'] = 873;\n t['a189'] = 927;\n t['a190'] = 970;\n t['a191'] = 918;\n });\n});\nexports.getMetrics = getMetrics;\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isPDFFunction = isPDFFunction;\nexports.PostScriptCompiler = exports.PostScriptEvaluator = exports.PDFFunctionFactory = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _ps_parser = __w_pdfjs_require__(187);\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar IsEvalSupportedCached = {\n get value() {\n return (0, _util.shadow)(this, 'value', (0, _util.isEvalSupported)());\n }\n\n};\n\nvar PDFFunctionFactory =\n/*#__PURE__*/\nfunction () {\n function PDFFunctionFactory(_ref) {\n var xref = _ref.xref,\n _ref$isEvalSupported = _ref.isEvalSupported,\n isEvalSupported = _ref$isEvalSupported === void 0 ? true : _ref$isEvalSupported;\n\n _classCallCheck(this, PDFFunctionFactory);\n\n this.xref = xref;\n this.isEvalSupported = isEvalSupported !== false;\n }\n\n _createClass(PDFFunctionFactory, [{\n key: \"create\",\n value: function create(fn) {\n return PDFFunction.parse({\n xref: this.xref,\n isEvalSupported: this.isEvalSupported,\n fn: fn\n });\n }\n }, {\n key: \"createFromArray\",\n value: function createFromArray(fnObj) {\n return PDFFunction.parseArray({\n xref: this.xref,\n isEvalSupported: this.isEvalSupported,\n fnObj: fnObj\n });\n }\n }]);\n\n return PDFFunctionFactory;\n}();\n\nexports.PDFFunctionFactory = PDFFunctionFactory;\n\nfunction toNumberArray(arr) {\n if (!Array.isArray(arr)) {\n return null;\n }\n\n var length = arr.length;\n\n for (var i = 0; i < length; i++) {\n if (typeof arr[i] !== 'number') {\n var result = new Array(length);\n\n for (var _i = 0; _i < length; _i++) {\n result[_i] = +arr[_i];\n }\n\n return result;\n }\n }\n\n return arr;\n}\n\nvar PDFFunction = function PDFFunctionClosure() {\n var CONSTRUCT_SAMPLED = 0;\n var CONSTRUCT_INTERPOLATED = 2;\n var CONSTRUCT_STICHED = 3;\n var CONSTRUCT_POSTSCRIPT = 4;\n return {\n getSampleArray: function getSampleArray(size, outputSize, bps, stream) {\n var i, ii;\n var length = 1;\n\n for (i = 0, ii = size.length; i < ii; i++) {\n length *= size[i];\n }\n\n length *= outputSize;\n var array = new Array(length);\n var codeSize = 0;\n var codeBuf = 0;\n var sampleMul = 1.0 / (Math.pow(2.0, bps) - 1);\n var strBytes = stream.getBytes((length * bps + 7) / 8);\n var strIdx = 0;\n\n for (i = 0; i < length; i++) {\n while (codeSize < bps) {\n codeBuf <<= 8;\n codeBuf |= strBytes[strIdx++];\n codeSize += 8;\n }\n\n codeSize -= bps;\n array[i] = (codeBuf >> codeSize) * sampleMul;\n codeBuf &= (1 << codeSize) - 1;\n }\n\n return array;\n },\n getIR: function getIR(_ref2) {\n var xref = _ref2.xref,\n isEvalSupported = _ref2.isEvalSupported,\n fn = _ref2.fn;\n var dict = fn.dict;\n\n if (!dict) {\n dict = fn;\n }\n\n var types = [this.constructSampled, null, this.constructInterpolated, this.constructStiched, this.constructPostScript];\n var typeNum = dict.get('FunctionType');\n var typeFn = types[typeNum];\n\n if (!typeFn) {\n throw new _util.FormatError('Unknown type of function');\n }\n\n return typeFn.call(this, {\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: fn,\n dict: dict\n });\n },\n fromIR: function fromIR(_ref3) {\n var xref = _ref3.xref,\n isEvalSupported = _ref3.isEvalSupported,\n IR = _ref3.IR;\n var type = IR[0];\n\n switch (type) {\n case CONSTRUCT_SAMPLED:\n return this.constructSampledFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n\n case CONSTRUCT_INTERPOLATED:\n return this.constructInterpolatedFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n\n case CONSTRUCT_STICHED:\n return this.constructStichedFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n\n default:\n return this.constructPostScriptFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n }\n },\n parse: function parse(_ref4) {\n var xref = _ref4.xref,\n isEvalSupported = _ref4.isEvalSupported,\n fn = _ref4.fn;\n var IR = this.getIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: fn\n });\n return this.fromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n },\n parseArray: function parseArray(_ref5) {\n var xref = _ref5.xref,\n isEvalSupported = _ref5.isEvalSupported,\n fnObj = _ref5.fnObj;\n\n if (!Array.isArray(fnObj)) {\n return this.parse({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: fnObj\n });\n }\n\n var fnArray = [];\n\n for (var j = 0, jj = fnObj.length; j < jj; j++) {\n fnArray.push(this.parse({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: xref.fetchIfRef(fnObj[j])\n }));\n }\n\n return function (src, srcOffset, dest, destOffset) {\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n fnArray[i](src, srcOffset, dest, destOffset + i);\n }\n };\n },\n constructSampled: function constructSampled(_ref6) {\n var xref = _ref6.xref,\n isEvalSupported = _ref6.isEvalSupported,\n fn = _ref6.fn,\n dict = _ref6.dict;\n\n function toMultiArray(arr) {\n var inputLength = arr.length;\n var out = [];\n var index = 0;\n\n for (var i = 0; i < inputLength; i += 2) {\n out[index] = [arr[i], arr[i + 1]];\n ++index;\n }\n\n return out;\n }\n\n var domain = toNumberArray(dict.getArray('Domain'));\n var range = toNumberArray(dict.getArray('Range'));\n\n if (!domain || !range) {\n throw new _util.FormatError('No domain or range');\n }\n\n var inputSize = domain.length / 2;\n var outputSize = range.length / 2;\n domain = toMultiArray(domain);\n range = toMultiArray(range);\n var size = toNumberArray(dict.getArray('Size'));\n var bps = dict.get('BitsPerSample');\n var order = dict.get('Order') || 1;\n\n if (order !== 1) {\n (0, _util.info)('No support for cubic spline interpolation: ' + order);\n }\n\n var encode = toNumberArray(dict.getArray('Encode'));\n\n if (!encode) {\n encode = [];\n\n for (var i = 0; i < inputSize; ++i) {\n encode.push([0, size[i] - 1]);\n }\n } else {\n encode = toMultiArray(encode);\n }\n\n var decode = toNumberArray(dict.getArray('Decode'));\n\n if (!decode) {\n decode = range;\n } else {\n decode = toMultiArray(decode);\n }\n\n var samples = this.getSampleArray(size, outputSize, bps, fn);\n return [CONSTRUCT_SAMPLED, inputSize, domain, encode, decode, samples, size, outputSize, Math.pow(2, bps) - 1, range];\n },\n constructSampledFromIR: function constructSampledFromIR(_ref7) {\n var xref = _ref7.xref,\n isEvalSupported = _ref7.isEvalSupported,\n IR = _ref7.IR;\n\n function interpolate(x, xmin, xmax, ymin, ymax) {\n return ymin + (x - xmin) * ((ymax - ymin) / (xmax - xmin));\n }\n\n return function constructSampledFromIRResult(src, srcOffset, dest, destOffset) {\n var m = IR[1];\n var domain = IR[2];\n var encode = IR[3];\n var decode = IR[4];\n var samples = IR[5];\n var size = IR[6];\n var n = IR[7];\n var range = IR[9];\n var cubeVertices = 1 << m;\n var cubeN = new Float64Array(cubeVertices);\n var cubeVertex = new Uint32Array(cubeVertices);\n var i, j;\n\n for (j = 0; j < cubeVertices; j++) {\n cubeN[j] = 1;\n }\n\n var k = n,\n pos = 1;\n\n for (i = 0; i < m; ++i) {\n var domain_2i = domain[i][0];\n var domain_2i_1 = domain[i][1];\n var xi = Math.min(Math.max(src[srcOffset + i], domain_2i), domain_2i_1);\n var e = interpolate(xi, domain_2i, domain_2i_1, encode[i][0], encode[i][1]);\n var size_i = size[i];\n e = Math.min(Math.max(e, 0), size_i - 1);\n var e0 = e < size_i - 1 ? Math.floor(e) : e - 1;\n var n0 = e0 + 1 - e;\n var n1 = e - e0;\n var offset0 = e0 * k;\n var offset1 = offset0 + k;\n\n for (j = 0; j < cubeVertices; j++) {\n if (j & pos) {\n cubeN[j] *= n1;\n cubeVertex[j] += offset1;\n } else {\n cubeN[j] *= n0;\n cubeVertex[j] += offset0;\n }\n }\n\n k *= size_i;\n pos <<= 1;\n }\n\n for (j = 0; j < n; ++j) {\n var rj = 0;\n\n for (i = 0; i < cubeVertices; i++) {\n rj += samples[cubeVertex[i] + j] * cubeN[i];\n }\n\n rj = interpolate(rj, 0, 1, decode[j][0], decode[j][1]);\n dest[destOffset + j] = Math.min(Math.max(rj, range[j][0]), range[j][1]);\n }\n };\n },\n constructInterpolated: function constructInterpolated(_ref8) {\n var xref = _ref8.xref,\n isEvalSupported = _ref8.isEvalSupported,\n fn = _ref8.fn,\n dict = _ref8.dict;\n var c0 = toNumberArray(dict.getArray('C0')) || [0];\n var c1 = toNumberArray(dict.getArray('C1')) || [1];\n var n = dict.get('N');\n var length = c0.length;\n var diff = [];\n\n for (var i = 0; i < length; ++i) {\n diff.push(c1[i] - c0[i]);\n }\n\n return [CONSTRUCT_INTERPOLATED, c0, diff, n];\n },\n constructInterpolatedFromIR: function constructInterpolatedFromIR(_ref9) {\n var xref = _ref9.xref,\n isEvalSupported = _ref9.isEvalSupported,\n IR = _ref9.IR;\n var c0 = IR[1];\n var diff = IR[2];\n var n = IR[3];\n var length = diff.length;\n return function constructInterpolatedFromIRResult(src, srcOffset, dest, destOffset) {\n var x = n === 1 ? src[srcOffset] : Math.pow(src[srcOffset], n);\n\n for (var j = 0; j < length; ++j) {\n dest[destOffset + j] = c0[j] + x * diff[j];\n }\n };\n },\n constructStiched: function constructStiched(_ref10) {\n var xref = _ref10.xref,\n isEvalSupported = _ref10.isEvalSupported,\n fn = _ref10.fn,\n dict = _ref10.dict;\n var domain = toNumberArray(dict.getArray('Domain'));\n\n if (!domain) {\n throw new _util.FormatError('No domain');\n }\n\n var inputSize = domain.length / 2;\n\n if (inputSize !== 1) {\n throw new _util.FormatError('Bad domain for stiched function');\n }\n\n var fnRefs = dict.get('Functions');\n var fns = [];\n\n for (var i = 0, ii = fnRefs.length; i < ii; ++i) {\n fns.push(this.parse({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: xref.fetchIfRef(fnRefs[i])\n }));\n }\n\n var bounds = toNumberArray(dict.getArray('Bounds'));\n var encode = toNumberArray(dict.getArray('Encode'));\n return [CONSTRUCT_STICHED, domain, bounds, encode, fns];\n },\n constructStichedFromIR: function constructStichedFromIR(_ref11) {\n var xref = _ref11.xref,\n isEvalSupported = _ref11.isEvalSupported,\n IR = _ref11.IR;\n var domain = IR[1];\n var bounds = IR[2];\n var encode = IR[3];\n var fns = IR[4];\n var tmpBuf = new Float32Array(1);\n return function constructStichedFromIRResult(src, srcOffset, dest, destOffset) {\n var clip = function constructStichedFromIRClip(v, min, max) {\n if (v > max) {\n v = max;\n } else if (v < min) {\n v = min;\n }\n\n return v;\n };\n\n var v = clip(src[srcOffset], domain[0], domain[1]);\n\n for (var i = 0, ii = bounds.length; i < ii; ++i) {\n if (v < bounds[i]) {\n break;\n }\n }\n\n var dmin = domain[0];\n\n if (i > 0) {\n dmin = bounds[i - 1];\n }\n\n var dmax = domain[1];\n\n if (i < bounds.length) {\n dmax = bounds[i];\n }\n\n var rmin = encode[2 * i];\n var rmax = encode[2 * i + 1];\n tmpBuf[0] = dmin === dmax ? rmin : rmin + (v - dmin) * (rmax - rmin) / (dmax - dmin);\n fns[i](tmpBuf, 0, dest, destOffset);\n };\n },\n constructPostScript: function constructPostScript(_ref12) {\n var xref = _ref12.xref,\n isEvalSupported = _ref12.isEvalSupported,\n fn = _ref12.fn,\n dict = _ref12.dict;\n var domain = toNumberArray(dict.getArray('Domain'));\n var range = toNumberArray(dict.getArray('Range'));\n\n if (!domain) {\n throw new _util.FormatError('No domain.');\n }\n\n if (!range) {\n throw new _util.FormatError('No range.');\n }\n\n var lexer = new _ps_parser.PostScriptLexer(fn);\n var parser = new _ps_parser.PostScriptParser(lexer);\n var code = parser.parse();\n return [CONSTRUCT_POSTSCRIPT, domain, range, code];\n },\n constructPostScriptFromIR: function constructPostScriptFromIR(_ref13) {\n var xref = _ref13.xref,\n isEvalSupported = _ref13.isEvalSupported,\n IR = _ref13.IR;\n var domain = IR[1];\n var range = IR[2];\n var code = IR[3];\n\n if (isEvalSupported && IsEvalSupportedCached.value) {\n var compiled = new PostScriptCompiler().compile(code, domain, range);\n\n if (compiled) {\n return new Function('src', 'srcOffset', 'dest', 'destOffset', compiled);\n }\n }\n\n (0, _util.info)('Unable to compile PS function');\n var numOutputs = range.length >> 1;\n var numInputs = domain.length >> 1;\n var evaluator = new PostScriptEvaluator(code);\n var cache = Object.create(null);\n var MAX_CACHE_SIZE = 2048 * 4;\n var cache_available = MAX_CACHE_SIZE;\n var tmpBuf = new Float32Array(numInputs);\n return function constructPostScriptFromIRResult(src, srcOffset, dest, destOffset) {\n var i, value;\n var key = '';\n var input = tmpBuf;\n\n for (i = 0; i < numInputs; i++) {\n value = src[srcOffset + i];\n input[i] = value;\n key += value + '_';\n }\n\n var cachedValue = cache[key];\n\n if (cachedValue !== undefined) {\n dest.set(cachedValue, destOffset);\n return;\n }\n\n var output = new Float32Array(numOutputs);\n var stack = evaluator.execute(input);\n var stackIndex = stack.length - numOutputs;\n\n for (i = 0; i < numOutputs; i++) {\n value = stack[stackIndex + i];\n var bound = range[i * 2];\n\n if (value < bound) {\n value = bound;\n } else {\n bound = range[i * 2 + 1];\n\n if (value > bound) {\n value = bound;\n }\n }\n\n output[i] = value;\n }\n\n if (cache_available > 0) {\n cache_available--;\n cache[key] = output;\n }\n\n dest.set(output, destOffset);\n };\n }\n };\n}();\n\nfunction isPDFFunction(v) {\n var fnDict;\n\n if (_typeof(v) !== 'object') {\n return false;\n } else if ((0, _primitives.isDict)(v)) {\n fnDict = v;\n } else if ((0, _primitives.isStream)(v)) {\n fnDict = v.dict;\n } else {\n return false;\n }\n\n return fnDict.has('FunctionType');\n}\n\nvar PostScriptStack = function PostScriptStackClosure() {\n var MAX_STACK_SIZE = 100;\n\n function PostScriptStack(initialStack) {\n this.stack = !initialStack ? [] : Array.prototype.slice.call(initialStack, 0);\n }\n\n PostScriptStack.prototype = {\n push: function PostScriptStack_push(value) {\n if (this.stack.length >= MAX_STACK_SIZE) {\n throw new Error('PostScript function stack overflow.');\n }\n\n this.stack.push(value);\n },\n pop: function PostScriptStack_pop() {\n if (this.stack.length <= 0) {\n throw new Error('PostScript function stack underflow.');\n }\n\n return this.stack.pop();\n },\n copy: function PostScriptStack_copy(n) {\n if (this.stack.length + n >= MAX_STACK_SIZE) {\n throw new Error('PostScript function stack overflow.');\n }\n\n var stack = this.stack;\n\n for (var i = stack.length - n, j = n - 1; j >= 0; j--, i++) {\n stack.push(stack[i]);\n }\n },\n index: function PostScriptStack_index(n) {\n this.push(this.stack[this.stack.length - n - 1]);\n },\n roll: function PostScriptStack_roll(n, p) {\n var stack = this.stack;\n var l = stack.length - n;\n var r = stack.length - 1,\n c = l + (p - Math.floor(p / n) * n),\n i,\n j,\n t;\n\n for (i = l, j = r; i < j; i++, j--) {\n t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n\n for (i = l, j = c - 1; i < j; i++, j--) {\n t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n\n for (i = c, j = r; i < j; i++, j--) {\n t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n }\n };\n return PostScriptStack;\n}();\n\nvar PostScriptEvaluator = function PostScriptEvaluatorClosure() {\n function PostScriptEvaluator(operators) {\n this.operators = operators;\n }\n\n PostScriptEvaluator.prototype = {\n execute: function PostScriptEvaluator_execute(initialStack) {\n var stack = new PostScriptStack(initialStack);\n var counter = 0;\n var operators = this.operators;\n var length = operators.length;\n var operator, a, b;\n\n while (counter < length) {\n operator = operators[counter++];\n\n if (typeof operator === 'number') {\n stack.push(operator);\n continue;\n }\n\n switch (operator) {\n case 'jz':\n b = stack.pop();\n a = stack.pop();\n\n if (!a) {\n counter = b;\n }\n\n break;\n\n case 'j':\n a = stack.pop();\n counter = a;\n break;\n\n case 'abs':\n a = stack.pop();\n stack.push(Math.abs(a));\n break;\n\n case 'add':\n b = stack.pop();\n a = stack.pop();\n stack.push(a + b);\n break;\n\n case 'and':\n b = stack.pop();\n a = stack.pop();\n\n if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n stack.push(a && b);\n } else {\n stack.push(a & b);\n }\n\n break;\n\n case 'atan':\n a = stack.pop();\n stack.push(Math.atan(a));\n break;\n\n case 'bitshift':\n b = stack.pop();\n a = stack.pop();\n\n if (a > 0) {\n stack.push(a << b);\n } else {\n stack.push(a >> b);\n }\n\n break;\n\n case 'ceiling':\n a = stack.pop();\n stack.push(Math.ceil(a));\n break;\n\n case 'copy':\n a = stack.pop();\n stack.copy(a);\n break;\n\n case 'cos':\n a = stack.pop();\n stack.push(Math.cos(a));\n break;\n\n case 'cvi':\n a = stack.pop() | 0;\n stack.push(a);\n break;\n\n case 'cvr':\n break;\n\n case 'div':\n b = stack.pop();\n a = stack.pop();\n stack.push(a / b);\n break;\n\n case 'dup':\n stack.copy(1);\n break;\n\n case 'eq':\n b = stack.pop();\n a = stack.pop();\n stack.push(a === b);\n break;\n\n case 'exch':\n stack.roll(2, 1);\n break;\n\n case 'exp':\n b = stack.pop();\n a = stack.pop();\n stack.push(Math.pow(a, b));\n break;\n\n case 'false':\n stack.push(false);\n break;\n\n case 'floor':\n a = stack.pop();\n stack.push(Math.floor(a));\n break;\n\n case 'ge':\n b = stack.pop();\n a = stack.pop();\n stack.push(a >= b);\n break;\n\n case 'gt':\n b = stack.pop();\n a = stack.pop();\n stack.push(a > b);\n break;\n\n case 'idiv':\n b = stack.pop();\n a = stack.pop();\n stack.push(a / b | 0);\n break;\n\n case 'index':\n a = stack.pop();\n stack.index(a);\n break;\n\n case 'le':\n b = stack.pop();\n a = stack.pop();\n stack.push(a <= b);\n break;\n\n case 'ln':\n a = stack.pop();\n stack.push(Math.log(a));\n break;\n\n case 'log':\n a = stack.pop();\n stack.push(Math.log(a) / Math.LN10);\n break;\n\n case 'lt':\n b = stack.pop();\n a = stack.pop();\n stack.push(a < b);\n break;\n\n case 'mod':\n b = stack.pop();\n a = stack.pop();\n stack.push(a % b);\n break;\n\n case 'mul':\n b = stack.pop();\n a = stack.pop();\n stack.push(a * b);\n break;\n\n case 'ne':\n b = stack.pop();\n a = stack.pop();\n stack.push(a !== b);\n break;\n\n case 'neg':\n a = stack.pop();\n stack.push(-a);\n break;\n\n case 'not':\n a = stack.pop();\n\n if ((0, _util.isBool)(a)) {\n stack.push(!a);\n } else {\n stack.push(~a);\n }\n\n break;\n\n case 'or':\n b = stack.pop();\n a = stack.pop();\n\n if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n stack.push(a || b);\n } else {\n stack.push(a | b);\n }\n\n break;\n\n case 'pop':\n stack.pop();\n break;\n\n case 'roll':\n b = stack.pop();\n a = stack.pop();\n stack.roll(a, b);\n break;\n\n case 'round':\n a = stack.pop();\n stack.push(Math.round(a));\n break;\n\n case 'sin':\n a = stack.pop();\n stack.push(Math.sin(a));\n break;\n\n case 'sqrt':\n a = stack.pop();\n stack.push(Math.sqrt(a));\n break;\n\n case 'sub':\n b = stack.pop();\n a = stack.pop();\n stack.push(a - b);\n break;\n\n case 'true':\n stack.push(true);\n break;\n\n case 'truncate':\n a = stack.pop();\n a = a < 0 ? Math.ceil(a) : Math.floor(a);\n stack.push(a);\n break;\n\n case 'xor':\n b = stack.pop();\n a = stack.pop();\n\n if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n stack.push(a !== b);\n } else {\n stack.push(a ^ b);\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unknown operator \".concat(operator));\n }\n }\n\n return stack.stack;\n }\n };\n return PostScriptEvaluator;\n}();\n\nexports.PostScriptEvaluator = PostScriptEvaluator;\n\nvar PostScriptCompiler = function PostScriptCompilerClosure() {\n function AstNode(type) {\n this.type = type;\n }\n\n AstNode.prototype.visit = function (visitor) {\n (0, _util.unreachable)('abstract method');\n };\n\n function AstArgument(index, min, max) {\n AstNode.call(this, 'args');\n this.index = index;\n this.min = min;\n this.max = max;\n }\n\n AstArgument.prototype = Object.create(AstNode.prototype);\n\n AstArgument.prototype.visit = function (visitor) {\n visitor.visitArgument(this);\n };\n\n function AstLiteral(number) {\n AstNode.call(this, 'literal');\n this.number = number;\n this.min = number;\n this.max = number;\n }\n\n AstLiteral.prototype = Object.create(AstNode.prototype);\n\n AstLiteral.prototype.visit = function (visitor) {\n visitor.visitLiteral(this);\n };\n\n function AstBinaryOperation(op, arg1, arg2, min, max) {\n AstNode.call(this, 'binary');\n this.op = op;\n this.arg1 = arg1;\n this.arg2 = arg2;\n this.min = min;\n this.max = max;\n }\n\n AstBinaryOperation.prototype = Object.create(AstNode.prototype);\n\n AstBinaryOperation.prototype.visit = function (visitor) {\n visitor.visitBinaryOperation(this);\n };\n\n function AstMin(arg, max) {\n AstNode.call(this, 'max');\n this.arg = arg;\n this.min = arg.min;\n this.max = max;\n }\n\n AstMin.prototype = Object.create(AstNode.prototype);\n\n AstMin.prototype.visit = function (visitor) {\n visitor.visitMin(this);\n };\n\n function AstVariable(index, min, max) {\n AstNode.call(this, 'var');\n this.index = index;\n this.min = min;\n this.max = max;\n }\n\n AstVariable.prototype = Object.create(AstNode.prototype);\n\n AstVariable.prototype.visit = function (visitor) {\n visitor.visitVariable(this);\n };\n\n function AstVariableDefinition(variable, arg) {\n AstNode.call(this, 'definition');\n this.variable = variable;\n this.arg = arg;\n }\n\n AstVariableDefinition.prototype = Object.create(AstNode.prototype);\n\n AstVariableDefinition.prototype.visit = function (visitor) {\n visitor.visitVariableDefinition(this);\n };\n\n function ExpressionBuilderVisitor() {\n this.parts = [];\n }\n\n ExpressionBuilderVisitor.prototype = {\n visitArgument: function visitArgument(arg) {\n this.parts.push('Math.max(', arg.min, ', Math.min(', arg.max, ', src[srcOffset + ', arg.index, ']))');\n },\n visitVariable: function visitVariable(variable) {\n this.parts.push('v', variable.index);\n },\n visitLiteral: function visitLiteral(literal) {\n this.parts.push(literal.number);\n },\n visitBinaryOperation: function visitBinaryOperation(operation) {\n this.parts.push('(');\n operation.arg1.visit(this);\n this.parts.push(' ', operation.op, ' ');\n operation.arg2.visit(this);\n this.parts.push(')');\n },\n visitVariableDefinition: function visitVariableDefinition(definition) {\n this.parts.push('var ');\n definition.variable.visit(this);\n this.parts.push(' = ');\n definition.arg.visit(this);\n this.parts.push(';');\n },\n visitMin: function visitMin(max) {\n this.parts.push('Math.min(');\n max.arg.visit(this);\n this.parts.push(', ', max.max, ')');\n },\n toString: function toString() {\n return this.parts.join('');\n }\n };\n\n function buildAddOperation(num1, num2) {\n if (num2.type === 'literal' && num2.number === 0) {\n return num1;\n }\n\n if (num1.type === 'literal' && num1.number === 0) {\n return num2;\n }\n\n if (num2.type === 'literal' && num1.type === 'literal') {\n return new AstLiteral(num1.number + num2.number);\n }\n\n return new AstBinaryOperation('+', num1, num2, num1.min + num2.min, num1.max + num2.max);\n }\n\n function buildMulOperation(num1, num2) {\n if (num2.type === 'literal') {\n if (num2.number === 0) {\n return new AstLiteral(0);\n } else if (num2.number === 1) {\n return num1;\n } else if (num1.type === 'literal') {\n return new AstLiteral(num1.number * num2.number);\n }\n }\n\n if (num1.type === 'literal') {\n if (num1.number === 0) {\n return new AstLiteral(0);\n } else if (num1.number === 1) {\n return num2;\n }\n }\n\n var min = Math.min(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);\n var max = Math.max(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);\n return new AstBinaryOperation('*', num1, num2, min, max);\n }\n\n function buildSubOperation(num1, num2) {\n if (num2.type === 'literal') {\n if (num2.number === 0) {\n return num1;\n } else if (num1.type === 'literal') {\n return new AstLiteral(num1.number - num2.number);\n }\n }\n\n if (num2.type === 'binary' && num2.op === '-' && num1.type === 'literal' && num1.number === 1 && num2.arg1.type === 'literal' && num2.arg1.number === 1) {\n return num2.arg2;\n }\n\n return new AstBinaryOperation('-', num1, num2, num1.min - num2.max, num1.max - num2.min);\n }\n\n function buildMinOperation(num1, max) {\n if (num1.min >= max) {\n return new AstLiteral(max);\n } else if (num1.max <= max) {\n return num1;\n }\n\n return new AstMin(num1, max);\n }\n\n function PostScriptCompiler() {}\n\n PostScriptCompiler.prototype = {\n compile: function PostScriptCompiler_compile(code, domain, range) {\n var stack = [];\n var i, ii;\n var instructions = [];\n var inputSize = domain.length >> 1,\n outputSize = range.length >> 1;\n var lastRegister = 0;\n var n, j;\n var num1, num2, ast1, ast2, tmpVar, item;\n\n for (i = 0; i < inputSize; i++) {\n stack.push(new AstArgument(i, domain[i * 2], domain[i * 2 + 1]));\n }\n\n for (i = 0, ii = code.length; i < ii; i++) {\n item = code[i];\n\n if (typeof item === 'number') {\n stack.push(new AstLiteral(item));\n continue;\n }\n\n switch (item) {\n case 'add':\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n stack.push(buildAddOperation(num1, num2));\n break;\n\n case 'cvr':\n if (stack.length < 1) {\n return null;\n }\n\n break;\n\n case 'mul':\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n stack.push(buildMulOperation(num1, num2));\n break;\n\n case 'sub':\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n stack.push(buildSubOperation(num1, num2));\n break;\n\n case 'exch':\n if (stack.length < 2) {\n return null;\n }\n\n ast1 = stack.pop();\n ast2 = stack.pop();\n stack.push(ast1, ast2);\n break;\n\n case 'pop':\n if (stack.length < 1) {\n return null;\n }\n\n stack.pop();\n break;\n\n case 'index':\n if (stack.length < 1) {\n return null;\n }\n\n num1 = stack.pop();\n\n if (num1.type !== 'literal') {\n return null;\n }\n\n n = num1.number;\n\n if (n < 0 || !Number.isInteger(n) || stack.length < n) {\n return null;\n }\n\n ast1 = stack[stack.length - n - 1];\n\n if (ast1.type === 'literal' || ast1.type === 'var') {\n stack.push(ast1);\n break;\n }\n\n tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);\n stack[stack.length - n - 1] = tmpVar;\n stack.push(tmpVar);\n instructions.push(new AstVariableDefinition(tmpVar, ast1));\n break;\n\n case 'dup':\n if (stack.length < 1) {\n return null;\n }\n\n if (typeof code[i + 1] === 'number' && code[i + 2] === 'gt' && code[i + 3] === i + 7 && code[i + 4] === 'jz' && code[i + 5] === 'pop' && code[i + 6] === code[i + 1]) {\n num1 = stack.pop();\n stack.push(buildMinOperation(num1, code[i + 1]));\n i += 6;\n break;\n }\n\n ast1 = stack[stack.length - 1];\n\n if (ast1.type === 'literal' || ast1.type === 'var') {\n stack.push(ast1);\n break;\n }\n\n tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);\n stack[stack.length - 1] = tmpVar;\n stack.push(tmpVar);\n instructions.push(new AstVariableDefinition(tmpVar, ast1));\n break;\n\n case 'roll':\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n\n if (num2.type !== 'literal' || num1.type !== 'literal') {\n return null;\n }\n\n j = num2.number;\n n = num1.number;\n\n if (n <= 0 || !Number.isInteger(n) || !Number.isInteger(j) || stack.length < n) {\n return null;\n }\n\n j = (j % n + n) % n;\n\n if (j === 0) {\n break;\n }\n\n Array.prototype.push.apply(stack, stack.splice(stack.length - n, n - j));\n break;\n\n default:\n return null;\n }\n }\n\n if (stack.length !== outputSize) {\n return null;\n }\n\n var result = [];\n instructions.forEach(function (instruction) {\n var statementBuilder = new ExpressionBuilderVisitor();\n instruction.visit(statementBuilder);\n result.push(statementBuilder.toString());\n });\n stack.forEach(function (expr, i) {\n var statementBuilder = new ExpressionBuilderVisitor();\n expr.visit(statementBuilder);\n var min = range[i * 2],\n max = range[i * 2 + 1];\n var out = [statementBuilder.toString()];\n\n if (min > expr.min) {\n out.unshift('Math.max(', min, ', ');\n out.push(')');\n }\n\n if (max < expr.max) {\n out.unshift('Math.min(', max, ', ');\n out.push(')');\n }\n\n out.unshift('dest[destOffset + ', i, '] = ');\n out.push(';');\n result.push(out.join(''));\n });\n return result.join('\\n');\n }\n };\n return PostScriptCompiler;\n}();\n\nexports.PostScriptCompiler = PostScriptCompiler;\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PostScriptParser = exports.PostScriptLexer = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PostScriptParser =\n/*#__PURE__*/\nfunction () {\n function PostScriptParser(lexer) {\n _classCallCheck(this, PostScriptParser);\n\n this.lexer = lexer;\n this.operators = [];\n this.token = null;\n this.prev = null;\n }\n\n _createClass(PostScriptParser, [{\n key: \"nextToken\",\n value: function nextToken() {\n this.prev = this.token;\n this.token = this.lexer.getToken();\n }\n }, {\n key: \"accept\",\n value: function accept(type) {\n if (this.token.type === type) {\n this.nextToken();\n return true;\n }\n\n return false;\n }\n }, {\n key: \"expect\",\n value: function expect(type) {\n if (this.accept(type)) {\n return true;\n }\n\n throw new _util.FormatError(\"Unexpected symbol: found \".concat(this.token.type, \" expected \").concat(type, \".\"));\n }\n }, {\n key: \"parse\",\n value: function parse() {\n this.nextToken();\n this.expect(PostScriptTokenTypes.LBRACE);\n this.parseBlock();\n this.expect(PostScriptTokenTypes.RBRACE);\n return this.operators;\n }\n }, {\n key: \"parseBlock\",\n value: function parseBlock() {\n while (true) {\n if (this.accept(PostScriptTokenTypes.NUMBER)) {\n this.operators.push(this.prev.value);\n } else if (this.accept(PostScriptTokenTypes.OPERATOR)) {\n this.operators.push(this.prev.value);\n } else if (this.accept(PostScriptTokenTypes.LBRACE)) {\n this.parseCondition();\n } else {\n return;\n }\n }\n }\n }, {\n key: \"parseCondition\",\n value: function parseCondition() {\n var conditionLocation = this.operators.length;\n this.operators.push(null, null);\n this.parseBlock();\n this.expect(PostScriptTokenTypes.RBRACE);\n\n if (this.accept(PostScriptTokenTypes.IF)) {\n this.operators[conditionLocation] = this.operators.length;\n this.operators[conditionLocation + 1] = 'jz';\n } else if (this.accept(PostScriptTokenTypes.LBRACE)) {\n var jumpLocation = this.operators.length;\n this.operators.push(null, null);\n var endOfTrue = this.operators.length;\n this.parseBlock();\n this.expect(PostScriptTokenTypes.RBRACE);\n this.expect(PostScriptTokenTypes.IFELSE);\n this.operators[jumpLocation] = this.operators.length;\n this.operators[jumpLocation + 1] = 'j';\n this.operators[conditionLocation] = endOfTrue;\n this.operators[conditionLocation + 1] = 'jz';\n } else {\n throw new _util.FormatError('PS Function: error parsing conditional.');\n }\n }\n }]);\n\n return PostScriptParser;\n}();\n\nexports.PostScriptParser = PostScriptParser;\nvar PostScriptTokenTypes = {\n LBRACE: 0,\n RBRACE: 1,\n NUMBER: 2,\n OPERATOR: 3,\n IF: 4,\n IFELSE: 5\n};\n\nvar PostScriptToken = function PostScriptTokenClosure() {\n var opCache = Object.create(null);\n\n var PostScriptToken =\n /*#__PURE__*/\n function () {\n function PostScriptToken(type, value) {\n _classCallCheck(this, PostScriptToken);\n\n this.type = type;\n this.value = value;\n }\n\n _createClass(PostScriptToken, null, [{\n key: \"getOperator\",\n value: function getOperator(op) {\n var opValue = opCache[op];\n\n if (opValue) {\n return opValue;\n }\n\n return opCache[op] = new PostScriptToken(PostScriptTokenTypes.OPERATOR, op);\n }\n }, {\n key: \"LBRACE\",\n get: function get() {\n return (0, _util.shadow)(this, 'LBRACE', new PostScriptToken(PostScriptTokenTypes.LBRACE, '{'));\n }\n }, {\n key: \"RBRACE\",\n get: function get() {\n return (0, _util.shadow)(this, 'RBRACE', new PostScriptToken(PostScriptTokenTypes.RBRACE, '}'));\n }\n }, {\n key: \"IF\",\n get: function get() {\n return (0, _util.shadow)(this, 'IF', new PostScriptToken(PostScriptTokenTypes.IF, 'IF'));\n }\n }, {\n key: \"IFELSE\",\n get: function get() {\n return (0, _util.shadow)(this, 'IFELSE', new PostScriptToken(PostScriptTokenTypes.IFELSE, 'IFELSE'));\n }\n }]);\n\n return PostScriptToken;\n }();\n\n return PostScriptToken;\n}();\n\nvar PostScriptLexer =\n/*#__PURE__*/\nfunction () {\n function PostScriptLexer(stream) {\n _classCallCheck(this, PostScriptLexer);\n\n this.stream = stream;\n this.nextChar();\n this.strBuf = [];\n }\n\n _createClass(PostScriptLexer, [{\n key: \"nextChar\",\n value: function nextChar() {\n return this.currentChar = this.stream.getByte();\n }\n }, {\n key: \"getToken\",\n value: function getToken() {\n var comment = false;\n var ch = this.currentChar;\n\n while (true) {\n if (ch < 0) {\n return _primitives.EOF;\n }\n\n if (comment) {\n if (ch === 0x0A || ch === 0x0D) {\n comment = false;\n }\n } else if (ch === 0x25) {\n comment = true;\n } else if (!(0, _util.isSpace)(ch)) {\n break;\n }\n\n ch = this.nextChar();\n }\n\n switch (ch | 0) {\n case 0x30:\n case 0x31:\n case 0x32:\n case 0x33:\n case 0x34:\n case 0x35:\n case 0x36:\n case 0x37:\n case 0x38:\n case 0x39:\n case 0x2B:\n case 0x2D:\n case 0x2E:\n return new PostScriptToken(PostScriptTokenTypes.NUMBER, this.getNumber());\n\n case 0x7B:\n this.nextChar();\n return PostScriptToken.LBRACE;\n\n case 0x7D:\n this.nextChar();\n return PostScriptToken.RBRACE;\n }\n\n var strBuf = this.strBuf;\n strBuf.length = 0;\n strBuf[0] = String.fromCharCode(ch);\n\n while ((ch = this.nextChar()) >= 0 && (ch >= 0x41 && ch <= 0x5A || ch >= 0x61 && ch <= 0x7A)) {\n strBuf.push(String.fromCharCode(ch));\n }\n\n var str = strBuf.join('');\n\n switch (str.toLowerCase()) {\n case 'if':\n return PostScriptToken.IF;\n\n case 'ifelse':\n return PostScriptToken.IFELSE;\n\n default:\n return PostScriptToken.getOperator(str);\n }\n }\n }, {\n key: \"getNumber\",\n value: function getNumber() {\n var ch = this.currentChar;\n var strBuf = this.strBuf;\n strBuf.length = 0;\n strBuf[0] = String.fromCharCode(ch);\n\n while ((ch = this.nextChar()) >= 0) {\n if (ch >= 0x30 && ch <= 0x39 || ch === 0x2D || ch === 0x2E) {\n strBuf.push(String.fromCharCode(ch));\n } else {\n break;\n }\n }\n\n var value = parseFloat(strBuf.join(''));\n\n if (isNaN(value)) {\n throw new _util.FormatError(\"Invalid floating point number: \".concat(value));\n }\n\n return value;\n }\n }]);\n\n return PostScriptLexer;\n}();\n\nexports.PostScriptLexer = PostScriptLexer;\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MurmurHash3_64 = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar SEED = 0xc3d2e1f0;\nvar MASK_HIGH = 0xffff0000;\nvar MASK_LOW = 0xffff;\n\nvar MurmurHash3_64 =\n/*#__PURE__*/\nfunction () {\n function MurmurHash3_64(seed) {\n _classCallCheck(this, MurmurHash3_64);\n\n this.h1 = seed ? seed & 0xffffffff : SEED;\n this.h2 = seed ? seed & 0xffffffff : SEED;\n }\n\n _createClass(MurmurHash3_64, [{\n key: \"update\",\n value: function update(input) {\n var data, length;\n\n if ((0, _util.isString)(input)) {\n data = new Uint8Array(input.length * 2);\n length = 0;\n\n for (var i = 0, ii = input.length; i < ii; i++) {\n var code = input.charCodeAt(i);\n\n if (code <= 0xff) {\n data[length++] = code;\n } else {\n data[length++] = code >>> 8;\n data[length++] = code & 0xff;\n }\n }\n } else if ((0, _util.isArrayBuffer)(input)) {\n data = input;\n length = data.byteLength;\n } else {\n throw new Error('Wrong data format in MurmurHash3_64_update. ' + 'Input must be a string or array.');\n }\n\n var blockCounts = length >> 2;\n var tailLength = length - blockCounts * 4;\n var dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);\n var k1 = 0,\n k2 = 0;\n var h1 = this.h1,\n h2 = this.h2;\n var C1 = 0xcc9e2d51,\n C2 = 0x1b873593;\n var C1_LOW = C1 & MASK_LOW,\n C2_LOW = C2 & MASK_LOW;\n\n for (var _i = 0; _i < blockCounts; _i++) {\n if (_i & 1) {\n k1 = dataUint32[_i];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n h1 ^= k1;\n h1 = h1 << 13 | h1 >>> 19;\n h1 = h1 * 5 + 0xe6546b64;\n } else {\n k2 = dataUint32[_i];\n k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;\n k2 = k2 << 15 | k2 >>> 17;\n k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;\n h2 ^= k2;\n h2 = h2 << 13 | h2 >>> 19;\n h2 = h2 * 5 + 0xe6546b64;\n }\n }\n\n k1 = 0;\n\n switch (tailLength) {\n case 3:\n k1 ^= data[blockCounts * 4 + 2] << 16;\n\n case 2:\n k1 ^= data[blockCounts * 4 + 1] << 8;\n\n case 1:\n k1 ^= data[blockCounts * 4];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n\n if (blockCounts & 1) {\n h1 ^= k1;\n } else {\n h2 ^= k1;\n }\n\n }\n\n this.h1 = h1;\n this.h2 = h2;\n }\n }, {\n key: \"hexdigest\",\n value: function hexdigest() {\n var h1 = this.h1,\n h2 = this.h2;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;\n h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;\n h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n var hex1 = (h1 >>> 0).toString(16),\n hex2 = (h2 >>> 0).toString(16);\n return hex1.padStart(8, '0') + hex2.padStart(8, '0');\n }\n }]);\n\n return MurmurHash3_64;\n}();\n\nexports.MurmurHash3_64 = MurmurHash3_64;\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NativeImageDecoder = void 0;\n\nvar _colorspace = __w_pdfjs_require__(169);\n\nvar _jpeg_stream = __w_pdfjs_require__(164);\n\nvar _stream = __w_pdfjs_require__(158);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar NativeImageDecoder =\n/*#__PURE__*/\nfunction () {\n function NativeImageDecoder(_ref) {\n var xref = _ref.xref,\n resources = _ref.resources,\n handler = _ref.handler,\n _ref$forceDataSchema = _ref.forceDataSchema,\n forceDataSchema = _ref$forceDataSchema === void 0 ? false : _ref$forceDataSchema,\n pdfFunctionFactory = _ref.pdfFunctionFactory;\n\n _classCallCheck(this, NativeImageDecoder);\n\n this.xref = xref;\n this.resources = resources;\n this.handler = handler;\n this.forceDataSchema = forceDataSchema;\n this.pdfFunctionFactory = pdfFunctionFactory;\n }\n\n _createClass(NativeImageDecoder, [{\n key: \"canDecode\",\n value: function canDecode(image) {\n return image instanceof _jpeg_stream.JpegStream && NativeImageDecoder.isDecodable(image, this.xref, this.resources, this.pdfFunctionFactory);\n }\n }, {\n key: \"decode\",\n value: function decode(image) {\n var dict = image.dict;\n var colorSpace = dict.get('ColorSpace', 'CS');\n colorSpace = _colorspace.ColorSpace.parse(colorSpace, this.xref, this.resources, this.pdfFunctionFactory);\n return this.handler.sendWithPromise('JpegDecode', [image.getIR(this.forceDataSchema), colorSpace.numComps]).then(function (_ref2) {\n var data = _ref2.data,\n width = _ref2.width,\n height = _ref2.height;\n return new _stream.Stream(data, 0, data.length, dict);\n });\n }\n }], [{\n key: \"isSupported\",\n value: function isSupported(image, xref, res, pdfFunctionFactory) {\n var dict = image.dict;\n\n if (dict.has('DecodeParms') || dict.has('DP')) {\n return false;\n }\n\n var cs = _colorspace.ColorSpace.parse(dict.get('ColorSpace', 'CS'), xref, res, pdfFunctionFactory);\n\n return (cs.name === 'DeviceGray' || cs.name === 'DeviceRGB') && cs.isDefaultDecode(dict.getArray('Decode', 'D'));\n }\n }, {\n key: \"isDecodable\",\n value: function isDecodable(image, xref, res, pdfFunctionFactory) {\n var dict = image.dict;\n\n if (dict.has('DecodeParms') || dict.has('DP')) {\n return false;\n }\n\n var cs = _colorspace.ColorSpace.parse(dict.get('ColorSpace', 'CS'), xref, res, pdfFunctionFactory);\n\n var bpc = dict.get('BitsPerComponent', 'BPC') || 1;\n return (cs.numComps === 1 || cs.numComps === 3) && cs.isDefaultDecode(dict.getArray('Decode', 'D'), bpc);\n }\n }]);\n\n return NativeImageDecoder;\n}();\n\nexports.NativeImageDecoder = NativeImageDecoder;\n\n/***/ }),\n/* 190 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFImage = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _colorspace = __w_pdfjs_require__(169);\n\nvar _stream = __w_pdfjs_require__(158);\n\nvar _jpeg_stream = __w_pdfjs_require__(164);\n\nvar _jpx = __w_pdfjs_require__(167);\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar PDFImage = function PDFImageClosure() {\n function handleImageData(image, nativeDecoder) {\n if (nativeDecoder && nativeDecoder.canDecode(image)) {\n return nativeDecoder.decode(image)[\"catch\"](function (reason) {\n (0, _util.warn)('Native image decoding failed -- trying to recover: ' + (reason && reason.message));\n return image;\n });\n }\n\n return Promise.resolve(image);\n }\n\n function decodeAndClamp(value, addend, coefficient, max) {\n value = addend + value * coefficient;\n return value < 0 ? 0 : value > max ? max : value;\n }\n\n function resizeImageMask(src, bpc, w1, h1, w2, h2) {\n var length = w2 * h2;\n var dest = bpc <= 8 ? new Uint8Array(length) : bpc <= 16 ? new Uint16Array(length) : new Uint32Array(length);\n var xRatio = w1 / w2;\n var yRatio = h1 / h2;\n var i,\n j,\n py,\n newIndex = 0,\n oldIndex;\n var xScaled = new Uint16Array(w2);\n var w1Scanline = w1;\n\n for (i = 0; i < w2; i++) {\n xScaled[i] = Math.floor(i * xRatio);\n }\n\n for (i = 0; i < h2; i++) {\n py = Math.floor(i * yRatio) * w1Scanline;\n\n for (j = 0; j < w2; j++) {\n oldIndex = py + xScaled[j];\n dest[newIndex++] = src[oldIndex];\n }\n }\n\n return dest;\n }\n\n function PDFImage(_ref) {\n var xref = _ref.xref,\n res = _ref.res,\n image = _ref.image,\n _ref$isInline = _ref.isInline,\n isInline = _ref$isInline === void 0 ? false : _ref$isInline,\n _ref$smask = _ref.smask,\n smask = _ref$smask === void 0 ? null : _ref$smask,\n _ref$mask = _ref.mask,\n mask = _ref$mask === void 0 ? null : _ref$mask,\n _ref$isMask = _ref.isMask,\n isMask = _ref$isMask === void 0 ? false : _ref$isMask,\n pdfFunctionFactory = _ref.pdfFunctionFactory;\n this.image = image;\n var dict = image.dict;\n var filter = dict.get('Filter');\n\n if ((0, _primitives.isName)(filter)) {\n switch (filter.name) {\n case 'JPXDecode':\n var jpxImage = new _jpx.JpxImage();\n jpxImage.parseImageProperties(image.stream);\n image.stream.reset();\n image.width = jpxImage.width;\n image.height = jpxImage.height;\n image.bitsPerComponent = jpxImage.bitsPerComponent;\n image.numComps = jpxImage.componentsCount;\n break;\n\n case 'JBIG2Decode':\n image.bitsPerComponent = 1;\n image.numComps = 1;\n break;\n }\n }\n\n var width = dict.get('Width', 'W');\n var height = dict.get('Height', 'H');\n\n if (Number.isInteger(image.width) && image.width > 0 && Number.isInteger(image.height) && image.height > 0 && (image.width !== width || image.height !== height)) {\n (0, _util.warn)('PDFImage - using the Width/Height of the image data, ' + 'rather than the image dictionary.');\n width = image.width;\n height = image.height;\n }\n\n if (width < 1 || height < 1) {\n throw new _util.FormatError(\"Invalid image width: \".concat(width, \" or \") + \"height: \".concat(height));\n }\n\n this.width = width;\n this.height = height;\n this.interpolate = dict.get('Interpolate', 'I') || false;\n this.imageMask = dict.get('ImageMask', 'IM') || false;\n this.matte = dict.get('Matte') || false;\n var bitsPerComponent = image.bitsPerComponent;\n\n if (!bitsPerComponent) {\n bitsPerComponent = dict.get('BitsPerComponent', 'BPC');\n\n if (!bitsPerComponent) {\n if (this.imageMask) {\n bitsPerComponent = 1;\n } else {\n throw new _util.FormatError(\"Bits per component missing in image: \".concat(this.imageMask));\n }\n }\n }\n\n this.bpc = bitsPerComponent;\n\n if (!this.imageMask) {\n var colorSpace = dict.get('ColorSpace', 'CS');\n\n if (!colorSpace) {\n (0, _util.info)('JPX images (which do not require color spaces)');\n\n switch (image.numComps) {\n case 1:\n colorSpace = _primitives.Name.get('DeviceGray');\n break;\n\n case 3:\n colorSpace = _primitives.Name.get('DeviceRGB');\n break;\n\n case 4:\n colorSpace = _primitives.Name.get('DeviceCMYK');\n break;\n\n default:\n throw new Error(\"JPX images with \".concat(image.numComps, \" \") + 'color components not supported.');\n }\n }\n\n var resources = isInline ? res : null;\n this.colorSpace = _colorspace.ColorSpace.parse(colorSpace, xref, resources, pdfFunctionFactory);\n this.numComps = this.colorSpace.numComps;\n }\n\n this.decode = dict.getArray('Decode', 'D');\n this.needsDecode = false;\n\n if (this.decode && (this.colorSpace && !this.colorSpace.isDefaultDecode(this.decode, bitsPerComponent) || isMask && !_colorspace.ColorSpace.isDefaultDecode(this.decode, 1))) {\n this.needsDecode = true;\n var max = (1 << bitsPerComponent) - 1;\n this.decodeCoefficients = [];\n this.decodeAddends = [];\n var isIndexed = this.colorSpace && this.colorSpace.name === 'Indexed';\n\n for (var i = 0, j = 0; i < this.decode.length; i += 2, ++j) {\n var dmin = this.decode[i];\n var dmax = this.decode[i + 1];\n this.decodeCoefficients[j] = isIndexed ? (dmax - dmin) / max : dmax - dmin;\n this.decodeAddends[j] = isIndexed ? dmin : max * dmin;\n }\n }\n\n if (smask) {\n this.smask = new PDFImage({\n xref: xref,\n res: res,\n image: smask,\n isInline: isInline,\n pdfFunctionFactory: pdfFunctionFactory\n });\n } else if (mask) {\n if ((0, _primitives.isStream)(mask)) {\n var maskDict = mask.dict,\n imageMask = maskDict.get('ImageMask', 'IM');\n\n if (!imageMask) {\n (0, _util.warn)('Ignoring /Mask in image without /ImageMask.');\n } else {\n this.mask = new PDFImage({\n xref: xref,\n res: res,\n image: mask,\n isInline: isInline,\n isMask: true,\n pdfFunctionFactory: pdfFunctionFactory\n });\n }\n } else {\n this.mask = mask;\n }\n }\n }\n\n PDFImage.buildImage = function (_ref2) {\n var handler = _ref2.handler,\n xref = _ref2.xref,\n res = _ref2.res,\n image = _ref2.image,\n _ref2$isInline = _ref2.isInline,\n isInline = _ref2$isInline === void 0 ? false : _ref2$isInline,\n _ref2$nativeDecoder = _ref2.nativeDecoder,\n nativeDecoder = _ref2$nativeDecoder === void 0 ? null : _ref2$nativeDecoder,\n pdfFunctionFactory = _ref2.pdfFunctionFactory;\n var imagePromise = handleImageData(image, nativeDecoder);\n var smaskPromise;\n var maskPromise;\n var smask = image.dict.get('SMask');\n var mask = image.dict.get('Mask');\n\n if (smask) {\n smaskPromise = handleImageData(smask, nativeDecoder);\n maskPromise = Promise.resolve(null);\n } else {\n smaskPromise = Promise.resolve(null);\n\n if (mask) {\n if ((0, _primitives.isStream)(mask)) {\n maskPromise = handleImageData(mask, nativeDecoder);\n } else if (Array.isArray(mask)) {\n maskPromise = Promise.resolve(mask);\n } else {\n (0, _util.warn)('Unsupported mask format.');\n maskPromise = Promise.resolve(null);\n }\n } else {\n maskPromise = Promise.resolve(null);\n }\n }\n\n return Promise.all([imagePromise, smaskPromise, maskPromise]).then(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 3),\n imageData = _ref4[0],\n smaskData = _ref4[1],\n maskData = _ref4[2];\n\n return new PDFImage({\n xref: xref,\n res: res,\n image: imageData,\n isInline: isInline,\n smask: smaskData,\n mask: maskData,\n pdfFunctionFactory: pdfFunctionFactory\n });\n });\n };\n\n PDFImage.createMask = function (_ref5) {\n var imgArray = _ref5.imgArray,\n width = _ref5.width,\n height = _ref5.height,\n imageIsFromDecodeStream = _ref5.imageIsFromDecodeStream,\n inverseDecode = _ref5.inverseDecode;\n var computedLength = (width + 7 >> 3) * height;\n var actualLength = imgArray.byteLength;\n var haveFullData = computedLength === actualLength;\n var data, i;\n\n if (imageIsFromDecodeStream && (!inverseDecode || haveFullData)) {\n data = imgArray;\n } else if (!inverseDecode) {\n data = new Uint8ClampedArray(actualLength);\n data.set(imgArray);\n } else {\n data = new Uint8ClampedArray(computedLength);\n data.set(imgArray);\n\n for (i = actualLength; i < computedLength; i++) {\n data[i] = 0xff;\n }\n }\n\n if (inverseDecode) {\n for (i = 0; i < actualLength; i++) {\n data[i] ^= 0xFF;\n }\n }\n\n return {\n data: data,\n width: width,\n height: height\n };\n };\n\n PDFImage.prototype = {\n get drawWidth() {\n return Math.max(this.width, this.smask && this.smask.width || 0, this.mask && this.mask.width || 0);\n },\n\n get drawHeight() {\n return Math.max(this.height, this.smask && this.smask.height || 0, this.mask && this.mask.height || 0);\n },\n\n decodeBuffer: function decodeBuffer(buffer) {\n var bpc = this.bpc;\n var numComps = this.numComps;\n var decodeAddends = this.decodeAddends;\n var decodeCoefficients = this.decodeCoefficients;\n var max = (1 << bpc) - 1;\n var i, ii;\n\n if (bpc === 1) {\n for (i = 0, ii = buffer.length; i < ii; i++) {\n buffer[i] = +!buffer[i];\n }\n\n return;\n }\n\n var index = 0;\n\n for (i = 0, ii = this.width * this.height; i < ii; i++) {\n for (var j = 0; j < numComps; j++) {\n buffer[index] = decodeAndClamp(buffer[index], decodeAddends[j], decodeCoefficients[j], max);\n index++;\n }\n }\n },\n getComponents: function getComponents(buffer) {\n var bpc = this.bpc;\n\n if (bpc === 8) {\n return buffer;\n }\n\n var width = this.width;\n var height = this.height;\n var numComps = this.numComps;\n var length = width * height * numComps;\n var bufferPos = 0;\n var output = bpc <= 8 ? new Uint8Array(length) : bpc <= 16 ? new Uint16Array(length) : new Uint32Array(length);\n var rowComps = width * numComps;\n var max = (1 << bpc) - 1;\n var i = 0,\n ii,\n buf;\n\n if (bpc === 1) {\n var mask, loop1End, loop2End;\n\n for (var j = 0; j < height; j++) {\n loop1End = i + (rowComps & ~7);\n loop2End = i + rowComps;\n\n while (i < loop1End) {\n buf = buffer[bufferPos++];\n output[i] = buf >> 7 & 1;\n output[i + 1] = buf >> 6 & 1;\n output[i + 2] = buf >> 5 & 1;\n output[i + 3] = buf >> 4 & 1;\n output[i + 4] = buf >> 3 & 1;\n output[i + 5] = buf >> 2 & 1;\n output[i + 6] = buf >> 1 & 1;\n output[i + 7] = buf & 1;\n i += 8;\n }\n\n if (i < loop2End) {\n buf = buffer[bufferPos++];\n mask = 128;\n\n while (i < loop2End) {\n output[i++] = +!!(buf & mask);\n mask >>= 1;\n }\n }\n }\n } else {\n var bits = 0;\n buf = 0;\n\n for (i = 0, ii = length; i < ii; ++i) {\n if (i % rowComps === 0) {\n buf = 0;\n bits = 0;\n }\n\n while (bits < bpc) {\n buf = buf << 8 | buffer[bufferPos++];\n bits += 8;\n }\n\n var remainingBits = bits - bpc;\n var value = buf >> remainingBits;\n output[i] = value < 0 ? 0 : value > max ? max : value;\n buf = buf & (1 << remainingBits) - 1;\n bits = remainingBits;\n }\n }\n\n return output;\n },\n fillOpacity: function fillOpacity(rgbaBuf, width, height, actualHeight, image) {\n var smask = this.smask;\n var mask = this.mask;\n var alphaBuf, sw, sh, i, ii, j;\n\n if (smask) {\n sw = smask.width;\n sh = smask.height;\n alphaBuf = new Uint8ClampedArray(sw * sh);\n smask.fillGrayBuffer(alphaBuf);\n\n if (sw !== width || sh !== height) {\n alphaBuf = resizeImageMask(alphaBuf, smask.bpc, sw, sh, width, height);\n }\n } else if (mask) {\n if (mask instanceof PDFImage) {\n sw = mask.width;\n sh = mask.height;\n alphaBuf = new Uint8ClampedArray(sw * sh);\n mask.numComps = 1;\n mask.fillGrayBuffer(alphaBuf);\n\n for (i = 0, ii = sw * sh; i < ii; ++i) {\n alphaBuf[i] = 255 - alphaBuf[i];\n }\n\n if (sw !== width || sh !== height) {\n alphaBuf = resizeImageMask(alphaBuf, mask.bpc, sw, sh, width, height);\n }\n } else if (Array.isArray(mask)) {\n alphaBuf = new Uint8ClampedArray(width * height);\n var numComps = this.numComps;\n\n for (i = 0, ii = width * height; i < ii; ++i) {\n var opacity = 0;\n var imageOffset = i * numComps;\n\n for (j = 0; j < numComps; ++j) {\n var color = image[imageOffset + j];\n var maskOffset = j * 2;\n\n if (color < mask[maskOffset] || color > mask[maskOffset + 1]) {\n opacity = 255;\n break;\n }\n }\n\n alphaBuf[i] = opacity;\n }\n } else {\n throw new _util.FormatError('Unknown mask format.');\n }\n }\n\n if (alphaBuf) {\n for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {\n rgbaBuf[j] = alphaBuf[i];\n }\n } else {\n for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {\n rgbaBuf[j] = 255;\n }\n }\n },\n undoPreblend: function undoPreblend(buffer, width, height) {\n var matte = this.smask && this.smask.matte;\n\n if (!matte) {\n return;\n }\n\n var matteRgb = this.colorSpace.getRgb(matte, 0);\n var matteR = matteRgb[0];\n var matteG = matteRgb[1];\n var matteB = matteRgb[2];\n var length = width * height * 4;\n\n for (var i = 0; i < length; i += 4) {\n var alpha = buffer[i + 3];\n\n if (alpha === 0) {\n buffer[i] = 255;\n buffer[i + 1] = 255;\n buffer[i + 2] = 255;\n continue;\n }\n\n var k = 255 / alpha;\n buffer[i] = (buffer[i] - matteR) * k + matteR;\n buffer[i + 1] = (buffer[i + 1] - matteG) * k + matteG;\n buffer[i + 2] = (buffer[i + 2] - matteB) * k + matteB;\n }\n },\n createImageData: function createImageData() {\n var forceRGBA = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var drawWidth = this.drawWidth;\n var drawHeight = this.drawHeight;\n var imgData = {\n width: drawWidth,\n height: drawHeight,\n kind: 0,\n data: null\n };\n var numComps = this.numComps;\n var originalWidth = this.width;\n var originalHeight = this.height;\n var bpc = this.bpc;\n var rowBytes = originalWidth * numComps * bpc + 7 >> 3;\n var imgArray;\n\n if (!forceRGBA) {\n var kind;\n\n if (this.colorSpace.name === 'DeviceGray' && bpc === 1) {\n kind = _util.ImageKind.GRAYSCALE_1BPP;\n } else if (this.colorSpace.name === 'DeviceRGB' && bpc === 8 && !this.needsDecode) {\n kind = _util.ImageKind.RGB_24BPP;\n }\n\n if (kind && !this.smask && !this.mask && drawWidth === originalWidth && drawHeight === originalHeight) {\n imgData.kind = kind;\n imgArray = this.getImageBytes(originalHeight * rowBytes);\n\n if (this.image instanceof _stream.DecodeStream) {\n imgData.data = imgArray;\n } else {\n var newArray = new Uint8ClampedArray(imgArray.length);\n newArray.set(imgArray);\n imgData.data = newArray;\n }\n\n if (this.needsDecode) {\n (0, _util.assert)(kind === _util.ImageKind.GRAYSCALE_1BPP, 'PDFImage.createImageData: The image must be grayscale.');\n var buffer = imgData.data;\n\n for (var i = 0, ii = buffer.length; i < ii; i++) {\n buffer[i] ^= 0xff;\n }\n }\n\n return imgData;\n }\n\n if (this.image instanceof _jpeg_stream.JpegStream && !this.smask && !this.mask) {\n var imageLength = originalHeight * rowBytes;\n\n switch (this.colorSpace.name) {\n case 'DeviceGray':\n imageLength *= 3;\n\n case 'DeviceRGB':\n case 'DeviceCMYK':\n imgData.kind = _util.ImageKind.RGB_24BPP;\n imgData.data = this.getImageBytes(imageLength, drawWidth, drawHeight, true);\n return imgData;\n }\n }\n }\n\n imgArray = this.getImageBytes(originalHeight * rowBytes);\n var actualHeight = 0 | imgArray.length / rowBytes * drawHeight / originalHeight;\n var comps = this.getComponents(imgArray);\n var alpha01, maybeUndoPreblend;\n\n if (!forceRGBA && !this.smask && !this.mask) {\n imgData.kind = _util.ImageKind.RGB_24BPP;\n imgData.data = new Uint8ClampedArray(drawWidth * drawHeight * 3);\n alpha01 = 0;\n maybeUndoPreblend = false;\n } else {\n imgData.kind = _util.ImageKind.RGBA_32BPP;\n imgData.data = new Uint8ClampedArray(drawWidth * drawHeight * 4);\n alpha01 = 1;\n maybeUndoPreblend = true;\n this.fillOpacity(imgData.data, drawWidth, drawHeight, actualHeight, comps);\n }\n\n if (this.needsDecode) {\n this.decodeBuffer(comps);\n }\n\n this.colorSpace.fillRgb(imgData.data, originalWidth, originalHeight, drawWidth, drawHeight, actualHeight, bpc, comps, alpha01);\n\n if (maybeUndoPreblend) {\n this.undoPreblend(imgData.data, drawWidth, actualHeight);\n }\n\n return imgData;\n },\n fillGrayBuffer: function fillGrayBuffer(buffer) {\n var numComps = this.numComps;\n\n if (numComps !== 1) {\n throw new _util.FormatError(\"Reading gray scale from a color image: \".concat(numComps));\n }\n\n var width = this.width;\n var height = this.height;\n var bpc = this.bpc;\n var rowBytes = width * numComps * bpc + 7 >> 3;\n var imgArray = this.getImageBytes(height * rowBytes);\n var comps = this.getComponents(imgArray);\n var i, length;\n\n if (bpc === 1) {\n length = width * height;\n\n if (this.needsDecode) {\n for (i = 0; i < length; ++i) {\n buffer[i] = comps[i] - 1 & 255;\n }\n } else {\n for (i = 0; i < length; ++i) {\n buffer[i] = -comps[i] & 255;\n }\n }\n\n return;\n }\n\n if (this.needsDecode) {\n this.decodeBuffer(comps);\n }\n\n length = width * height;\n var scale = 255 / ((1 << bpc) - 1);\n\n for (i = 0; i < length; ++i) {\n buffer[i] = scale * comps[i];\n }\n },\n getImageBytes: function getImageBytes(length, drawWidth, drawHeight) {\n var forceRGB = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n this.image.reset();\n this.image.drawWidth = drawWidth || this.width;\n this.image.drawHeight = drawHeight || this.height;\n this.image.forceRGB = !!forceRGB;\n return this.image.getBytes(length, true);\n }\n };\n return PDFImage;\n}();\n\nexports.PDFImage = PDFImage;\n\n/***/ }),\n/* 191 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageHandler = MessageHandler;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction resolveCall(_x, _x2) {\n return _resolveCall.apply(this, arguments);\n}\n\nfunction _resolveCall() {\n _resolveCall = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(fn, args) {\n var thisArg,\n _args = arguments;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n thisArg = _args.length > 2 && _args[2] !== undefined ? _args[2] : null;\n\n if (fn) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", undefined);\n\n case 3:\n return _context.abrupt(\"return\", fn.apply(thisArg, args));\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _resolveCall.apply(this, arguments);\n}\n\nfunction wrapReason(reason) {\n if (_typeof(reason) !== 'object') {\n return reason;\n }\n\n switch (reason.name) {\n case 'AbortException':\n return new _util.AbortException(reason.message);\n\n case 'MissingPDFException':\n return new _util.MissingPDFException(reason.message);\n\n case 'UnexpectedResponseException':\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.details);\n }\n}\n\nfunction makeReasonSerializable(reason) {\n if (!(reason instanceof Error) || reason instanceof _util.AbortException || reason instanceof _util.MissingPDFException || reason instanceof _util.UnexpectedResponseException || reason instanceof _util.UnknownErrorException) {\n return reason;\n }\n\n return new _util.UnknownErrorException(reason.message, reason.toString());\n}\n\nfunction resolveOrReject(capability, success, reason) {\n if (success) {\n capability.resolve();\n } else {\n capability.reject(reason);\n }\n}\n\nfunction finalize(promise) {\n return Promise.resolve(promise)[\"catch\"](function () {});\n}\n\nfunction MessageHandler(sourceName, targetName, comObj) {\n var _this = this;\n\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.postMessageTransfers = true;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n var callbacksCapabilities = this.callbacksCapabilities = Object.create(null);\n var ah = this.actionHandler = Object.create(null);\n\n this._onComObjOnMessage = function (event) {\n var data = event.data;\n\n if (data.targetName !== _this.sourceName) {\n return;\n }\n\n if (data.stream) {\n _this._processStreamMessage(data);\n } else if (data.isReply) {\n var callbackId = data.callbackId;\n\n if (data.callbackId in callbacksCapabilities) {\n var callback = callbacksCapabilities[callbackId];\n delete callbacksCapabilities[callbackId];\n\n if ('error' in data) {\n callback.reject(wrapReason(data.error));\n } else {\n callback.resolve(data.data);\n }\n } else {\n throw new Error(\"Cannot resolve callback \".concat(callbackId));\n }\n } else if (data.action in ah) {\n var action = ah[data.action];\n\n if (data.callbackId) {\n var _sourceName = _this.sourceName;\n var _targetName = data.sourceName;\n Promise.resolve().then(function () {\n return action[0].call(action[1], data.data);\n }).then(function (result) {\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n isReply: true,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n isReply: true,\n callbackId: data.callbackId,\n error: makeReasonSerializable(reason)\n });\n });\n } else if (data.streamId) {\n _this._createStreamSink(data);\n } else {\n action[0].call(action[1], data.data);\n }\n } else {\n throw new Error(\"Unknown action from worker: \".concat(data.action));\n }\n };\n\n comObj.addEventListener('message', this._onComObjOnMessage);\n}\n\nMessageHandler.prototype = {\n on: function on(actionName, handler, scope) {\n var ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(\"There is already an actionName called \\\"\".concat(actionName, \"\\\"\"));\n }\n\n ah[actionName] = [handler, scope];\n },\n send: function send(actionName, data, transfers) {\n var message = {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n };\n this.postMessage(message, transfers);\n },\n sendWithPromise: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var message = {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data,\n callbackId: callbackId\n };\n var capability = (0, _util.createPromiseCapability)();\n this.callbacksCapabilities[callbackId] = capability;\n\n try {\n this.postMessage(message, transfers);\n } catch (e) {\n capability.reject(e);\n }\n\n return capability.promise;\n },\n sendWithStream: function sendWithStream(actionName, data, queueingStrategy, transfers) {\n var _this2 = this;\n\n var streamId = this.streamId++;\n var sourceName = this.sourceName;\n var targetName = this.targetName;\n return new _util.ReadableStream({\n start: function start(controller) {\n var startCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\n isClosed: false\n };\n\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n action: actionName,\n streamId: streamId,\n data: data,\n desiredSize: controller.desiredSize\n });\n\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].pullCall = pullCapability;\n\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: 'pull',\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n var cancelCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].cancelCall = cancelCapability;\n _this2.streamControllers[streamId].isClosed = true;\n\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: 'cancel',\n reason: reason,\n streamId: streamId\n });\n\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n },\n _createStreamSink: function _createStreamSink(data) {\n var _this3 = this;\n\n var self = this;\n var action = this.actionHandler[data.action];\n var streamId = data.streamId;\n var desiredSize = data.desiredSize;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var capability = (0, _util.createPromiseCapability)();\n\n var sendStreamRequest = function sendStreamRequest(_ref) {\n var stream = _ref.stream,\n chunk = _ref.chunk,\n transfers = _ref.transfers,\n success = _ref.success,\n reason = _ref.reason;\n\n _this3.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: stream,\n streamId: streamId,\n chunk: chunk,\n success: success,\n reason: reason\n }, transfers);\n };\n\n var streamSink = {\n enqueue: function enqueue(chunk) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var transfers = arguments.length > 2 ? arguments[2] : undefined;\n\n if (this.isCancelled) {\n return;\n }\n\n var lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n\n sendStreamRequest({\n stream: 'enqueue',\n chunk: chunk,\n transfers: transfers\n });\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n sendStreamRequest({\n stream: 'close'\n });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n sendStreamRequest({\n stream: 'error',\n reason: reason\n });\n },\n sinkCapability: capability,\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n resolveCall(action[0], [data.data, streamSink], action[1]).then(function () {\n sendStreamRequest({\n stream: 'start_complete',\n success: true\n });\n }, function (reason) {\n sendStreamRequest({\n stream: 'start_complete',\n success: false,\n reason: reason\n });\n });\n },\n _processStreamMessage: function _processStreamMessage(data) {\n var _this4 = this;\n\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var streamId = data.streamId;\n\n var sendStreamResponse = function sendStreamResponse(_ref2) {\n var stream = _ref2.stream,\n success = _ref2.success,\n reason = _ref2.reason;\n\n _this4.comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: stream,\n success: success,\n streamId: streamId,\n reason: reason\n });\n };\n\n var deleteStreamController = function deleteStreamController() {\n Promise.all([_this4.streamControllers[data.streamId].startCall, _this4.streamControllers[data.streamId].pullCall, _this4.streamControllers[data.streamId].cancelCall].map(function (capability) {\n return capability && finalize(capability.promise);\n })).then(function () {\n delete _this4.streamControllers[data.streamId];\n });\n };\n\n switch (data.stream) {\n case 'start_complete':\n resolveOrReject(this.streamControllers[data.streamId].startCall, data.success, wrapReason(data.reason));\n break;\n\n case 'pull_complete':\n resolveOrReject(this.streamControllers[data.streamId].pullCall, data.success, wrapReason(data.reason));\n break;\n\n case 'pull':\n if (!this.streamSinks[data.streamId]) {\n sendStreamResponse({\n stream: 'pull_complete',\n success: true\n });\n break;\n }\n\n if (this.streamSinks[data.streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[data.streamId].sinkCapability.resolve();\n }\n\n this.streamSinks[data.streamId].desiredSize = data.desiredSize;\n resolveCall(this.streamSinks[data.streamId].onPull).then(function () {\n sendStreamResponse({\n stream: 'pull_complete',\n success: true\n });\n }, function (reason) {\n sendStreamResponse({\n stream: 'pull_complete',\n success: false,\n reason: reason\n });\n });\n break;\n\n case 'enqueue':\n (0, _util.assert)(this.streamControllers[data.streamId], 'enqueue should have stream controller');\n\n if (!this.streamControllers[data.streamId].isClosed) {\n this.streamControllers[data.streamId].controller.enqueue(data.chunk);\n }\n\n break;\n\n case 'close':\n (0, _util.assert)(this.streamControllers[data.streamId], 'close should have stream controller');\n\n if (this.streamControllers[data.streamId].isClosed) {\n break;\n }\n\n this.streamControllers[data.streamId].isClosed = true;\n this.streamControllers[data.streamId].controller.close();\n deleteStreamController();\n break;\n\n case 'error':\n (0, _util.assert)(this.streamControllers[data.streamId], 'error should have stream controller');\n this.streamControllers[data.streamId].controller.error(wrapReason(data.reason));\n deleteStreamController();\n break;\n\n case 'cancel_complete':\n resolveOrReject(this.streamControllers[data.streamId].cancelCall, data.success, wrapReason(data.reason));\n deleteStreamController();\n break;\n\n case 'cancel':\n if (!this.streamSinks[data.streamId]) {\n break;\n }\n\n resolveCall(this.streamSinks[data.streamId].onCancel, [wrapReason(data.reason)]).then(function () {\n sendStreamResponse({\n stream: 'cancel_complete',\n success: true\n });\n }, function (reason) {\n sendStreamResponse({\n stream: 'cancel_complete',\n success: false,\n reason: reason\n });\n });\n this.streamSinks[data.streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[data.streamId].isCancelled = true;\n delete this.streamSinks[data.streamId];\n break;\n\n default:\n throw new Error('Unexpected stream case');\n }\n },\n postMessage: function postMessage(message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n },\n destroy: function destroy() {\n this.comObj.removeEventListener('message', this._onComObjOnMessage);\n }\n};\n\n/***/ }),\n/* 192 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFWorkerStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFWorkerStream =\n/*#__PURE__*/\nfunction () {\n function PDFWorkerStream(msgHandler) {\n _classCallCheck(this, PDFWorkerStream);\n\n this._msgHandler = msgHandler;\n this._contentLength = null;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFWorkerStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFWorkerStreamReader(this._msgHandler);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n var reader = new PDFWorkerStreamRangeReader(begin, end, this._msgHandler);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFWorkerStream;\n}();\n\nexports.PDFWorkerStream = PDFWorkerStream;\n\nvar PDFWorkerStreamReader =\n/*#__PURE__*/\nfunction () {\n function PDFWorkerStreamReader(msgHandler) {\n var _this = this;\n\n _classCallCheck(this, PDFWorkerStreamReader);\n\n this._msgHandler = msgHandler;\n this.onProgress = null;\n this._contentLength = null;\n this._isRangeSupported = false;\n this._isStreamingSupported = false;\n\n var readableStream = this._msgHandler.sendWithStream('GetReader');\n\n this._reader = readableStream.getReader();\n this._headersReady = this._msgHandler.sendWithPromise('ReaderHeadersReady').then(function (data) {\n _this._isStreamingSupported = data.isStreamingSupported;\n _this._isRangeSupported = data.isRangeSupported;\n _this._contentLength = data.contentLength;\n });\n }\n\n _createClass(PDFWorkerStreamReader, [{\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var _ref, value, done;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._reader.read();\n\n case 2:\n _ref = _context.sent;\n value = _ref.value;\n done = _ref.done;\n\n if (!done) {\n _context.next = 7;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 7:\n return _context.abrupt(\"return\", {\n value: value.buffer,\n done: false\n });\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._reader.cancel(reason);\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReady;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }]);\n\n return PDFWorkerStreamReader;\n}();\n\nvar PDFWorkerStreamRangeReader =\n/*#__PURE__*/\nfunction () {\n function PDFWorkerStreamRangeReader(begin, end, msgHandler) {\n _classCallCheck(this, PDFWorkerStreamRangeReader);\n\n this._msgHandler = msgHandler;\n this.onProgress = null;\n\n var readableStream = this._msgHandler.sendWithStream('GetRangeReader', {\n begin: begin,\n end: end\n });\n\n this._reader = readableStream.getReader();\n }\n\n _createClass(PDFWorkerStreamRangeReader, [{\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n var _ref2, value, done;\n\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._reader.read();\n\n case 2:\n _ref2 = _context2.sent;\n value = _ref2.value;\n done = _ref2.done;\n\n if (!done) {\n _context2.next = 7;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 7:\n return _context2.abrupt(\"return\", {\n value: value.buffer,\n done: false\n });\n\n case 8:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._reader.cancel(reason);\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }]);\n\n return PDFWorkerStreamRangeReader;\n}();\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf.worker.js.map","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var _typeof = require(\"../helpers/typeof\");\n\nfunction _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function _getRequireWildcardCache() {\n return cache;\n };\n\n return cache;\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj[\"default\"] = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nmodule.exports = _interopRequireWildcard;","var defineProperty = require(\"./defineProperty\");\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectSpread2;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nvar _excluded = [\"className\", \"prefixCls\", \"style\", \"active\", \"status\", \"iconPrefix\", \"icon\", \"wrapperStyle\", \"stepNumber\", \"disabled\", \"description\", \"title\", \"subTitle\", \"progressDot\", \"stepIcon\", \"tailContent\", \"icons\", \"stepIndex\", \"onStepClick\", \"onClick\"];\n\n/* eslint react/prop-types: 0 */\nimport * as React from 'react';\nimport classNames from 'classnames';\n\nfunction isString(str) {\n return typeof str === 'string';\n}\n\nvar Step = /*#__PURE__*/function (_React$Component) {\n _inherits(Step, _React$Component);\n\n var _super = _createSuper(Step);\n\n function Step() {\n var _this;\n\n _classCallCheck(this, Step);\n\n _this = _super.apply(this, arguments);\n\n _this.onClick = function () {\n var _this$props = _this.props,\n onClick = _this$props.onClick,\n onStepClick = _this$props.onStepClick,\n stepIndex = _this$props.stepIndex;\n\n if (onClick) {\n onClick.apply(void 0, arguments);\n }\n\n onStepClick(stepIndex);\n };\n\n return _this;\n }\n\n _createClass(Step, [{\n key: \"renderIconNode\",\n value: function renderIconNode() {\n var _classNames;\n\n var _this$props2 = this.props,\n prefixCls = _this$props2.prefixCls,\n progressDot = _this$props2.progressDot,\n stepIcon = _this$props2.stepIcon,\n stepNumber = _this$props2.stepNumber,\n status = _this$props2.status,\n title = _this$props2.title,\n description = _this$props2.description,\n icon = _this$props2.icon,\n iconPrefix = _this$props2.iconPrefix,\n icons = _this$props2.icons;\n var iconNode;\n var iconClassName = classNames(\"\".concat(prefixCls, \"-icon\"), \"\".concat(iconPrefix, \"icon\"), (_classNames = {}, _defineProperty(_classNames, \"\".concat(iconPrefix, \"icon-\").concat(icon), icon && isString(icon)), _defineProperty(_classNames, \"\".concat(iconPrefix, \"icon-check\"), !icon && status === 'finish' && (icons && !icons.finish || !icons)), _defineProperty(_classNames, \"\".concat(iconPrefix, \"icon-cross\"), !icon && status === 'error' && (icons && !icons.error || !icons)), _classNames));\n var iconDot = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-icon-dot\")\n }); // `progressDot` enjoy the highest priority\n\n if (progressDot) {\n if (typeof progressDot === 'function') {\n iconNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-icon\")\n }, progressDot(iconDot, {\n index: stepNumber - 1,\n status: status,\n title: title,\n description: description\n }));\n } else {\n iconNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-icon\")\n }, iconDot);\n }\n } else if (icon && !isString(icon)) {\n iconNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-icon\")\n }, icon);\n } else if (icons && icons.finish && status === 'finish') {\n iconNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-icon\")\n }, icons.finish);\n } else if (icons && icons.error && status === 'error') {\n iconNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-icon\")\n }, icons.error);\n } else if (icon || status === 'finish' || status === 'error') {\n iconNode = /*#__PURE__*/React.createElement(\"span\", {\n className: iconClassName\n });\n } else {\n iconNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-icon\")\n }, stepNumber);\n }\n\n if (stepIcon) {\n iconNode = stepIcon({\n index: stepNumber - 1,\n status: status,\n title: title,\n description: description,\n node: iconNode\n });\n }\n\n return iconNode;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames2;\n\n var _this$props3 = this.props,\n className = _this$props3.className,\n prefixCls = _this$props3.prefixCls,\n style = _this$props3.style,\n active = _this$props3.active,\n _this$props3$status = _this$props3.status,\n status = _this$props3$status === void 0 ? 'wait' : _this$props3$status,\n iconPrefix = _this$props3.iconPrefix,\n icon = _this$props3.icon,\n wrapperStyle = _this$props3.wrapperStyle,\n stepNumber = _this$props3.stepNumber,\n disabled = _this$props3.disabled,\n description = _this$props3.description,\n title = _this$props3.title,\n subTitle = _this$props3.subTitle,\n progressDot = _this$props3.progressDot,\n stepIcon = _this$props3.stepIcon,\n tailContent = _this$props3.tailContent,\n icons = _this$props3.icons,\n stepIndex = _this$props3.stepIndex,\n onStepClick = _this$props3.onStepClick,\n onClick = _this$props3.onClick,\n restProps = _objectWithoutProperties(_this$props3, _excluded);\n\n var classString = classNames(\"\".concat(prefixCls, \"-item\"), \"\".concat(prefixCls, \"-item-\").concat(status), className, (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-item-custom\"), icon), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-item-active\"), active), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-item-disabled\"), disabled === true), _classNames2));\n\n var stepItemStyle = _objectSpread({}, style);\n\n var accessibilityProps = {};\n\n if (onStepClick && !disabled) {\n accessibilityProps.role = 'button';\n accessibilityProps.tabIndex = 0;\n accessibilityProps.onClick = this.onClick;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({}, restProps, {\n className: classString,\n style: stepItemStyle\n }), /*#__PURE__*/React.createElement(\"div\", Object.assign({\n onClick: onClick\n }, accessibilityProps, {\n className: \"\".concat(prefixCls, \"-item-container\")\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-item-tail\")\n }, tailContent), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-item-icon\")\n }, this.renderIconNode()), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-item-content\")\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-item-title\")\n }, title, subTitle && /*#__PURE__*/React.createElement(\"div\", {\n title: typeof subTitle === 'string' ? subTitle : undefined,\n className: \"\".concat(prefixCls, \"-item-subtitle\")\n }, subTitle)), description && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-item-description\")\n }, description))));\n }\n }]);\n\n return Step;\n}(React.Component);\n\nexport { Step as default };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nvar _excluded = [\"prefixCls\", \"style\", \"className\", \"children\", \"direction\", \"type\", \"labelPlacement\", \"iconPrefix\", \"status\", \"size\", \"current\", \"progressDot\", \"stepIcon\", \"initial\", \"icons\", \"onChange\"];\n\n/* eslint react/no-did-mount-set-state: 0, react/prop-types: 0 */\nimport React, { cloneElement } from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport classNames from 'classnames';\nimport Step from './Step';\n\nvar Steps = /*#__PURE__*/function (_React$Component) {\n _inherits(Steps, _React$Component);\n\n var _super = _createSuper(Steps);\n\n function Steps() {\n var _this;\n\n _classCallCheck(this, Steps);\n\n _this = _super.apply(this, arguments);\n\n _this.onStepClick = function (next) {\n var _this$props = _this.props,\n onChange = _this$props.onChange,\n current = _this$props.current;\n\n if (onChange && current !== next) {\n onChange(next);\n }\n };\n\n return _this;\n }\n\n _createClass(Steps, [{\n key: \"render\",\n value: function render() {\n var _classNames,\n _this2 = this;\n\n var _this$props2 = this.props,\n prefixCls = _this$props2.prefixCls,\n _this$props2$style = _this$props2.style,\n style = _this$props2$style === void 0 ? {} : _this$props2$style,\n className = _this$props2.className,\n children = _this$props2.children,\n direction = _this$props2.direction,\n type = _this$props2.type,\n labelPlacement = _this$props2.labelPlacement,\n iconPrefix = _this$props2.iconPrefix,\n status = _this$props2.status,\n size = _this$props2.size,\n current = _this$props2.current,\n progressDot = _this$props2.progressDot,\n stepIcon = _this$props2.stepIcon,\n initial = _this$props2.initial,\n icons = _this$props2.icons,\n onChange = _this$props2.onChange,\n restProps = _objectWithoutProperties(_this$props2, _excluded);\n\n var isNav = type === 'navigation';\n var adjustedLabelPlacement = progressDot ? 'vertical' : labelPlacement;\n var classString = classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(direction), className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(size), size), _defineProperty(_classNames, \"\".concat(prefixCls, \"-label-\").concat(adjustedLabelPlacement), direction === 'horizontal'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-dot\"), !!progressDot), _defineProperty(_classNames, \"\".concat(prefixCls, \"-navigation\"), isNav), _classNames));\n return /*#__PURE__*/React.createElement(\"div\", Object.assign({\n className: classString,\n style: style\n }, restProps), toArray(children).map(function (child, index) {\n var stepNumber = initial + index;\n\n var childProps = _objectSpread({\n stepNumber: \"\".concat(stepNumber + 1),\n stepIndex: stepNumber,\n key: stepNumber,\n prefixCls: prefixCls,\n iconPrefix: iconPrefix,\n wrapperStyle: style,\n progressDot: progressDot,\n stepIcon: stepIcon,\n icons: icons,\n onStepClick: onChange && _this2.onStepClick\n }, child.props); // fix tail color\n\n\n if (status === 'error' && index === current - 1) {\n childProps.className = \"\".concat(prefixCls, \"-next-error\");\n }\n\n if (!child.props.status) {\n if (stepNumber === current) {\n childProps.status = status;\n } else if (stepNumber < current) {\n childProps.status = 'finish';\n } else {\n childProps.status = 'wait';\n }\n }\n\n childProps.active = stepNumber === current;\n return /*#__PURE__*/cloneElement(child, childProps);\n }));\n }\n }]);\n\n return Steps;\n}(React.Component);\n\nexport { Steps as default };\nSteps.Step = Step;\nSteps.defaultProps = {\n type: 'default',\n prefixCls: 'rc-steps',\n iconPrefix: 'rc',\n direction: 'horizontal',\n labelPlacement: 'horizontal',\n initial: 0,\n current: 0,\n status: 'process',\n size: '',\n progressDot: false\n};","import Steps from './Steps';\nimport Step from './Step';\nexport { Step };\nexport default Steps;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport omit from \"rc-util/es/omit\";\nimport RcSteps from 'rc-steps';\nimport CheckOutlined from \"@ant-design/icons/es/icons/CheckOutlined\";\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider';\nimport Progress from '../progress';\nimport useBreakpoint from '../grid/hooks/useBreakpoint';\n\nvar Steps = function Steps(props) {\n var _classNames;\n\n var percent = props.percent,\n size = props.size,\n className = props.className,\n direction = props.direction,\n responsive = props.responsive;\n\n var _useBreakpoint = useBreakpoint(),\n xs = _useBreakpoint.xs;\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n rtlDirection = _React$useContext.direction;\n\n var getDirection = React.useCallback(function () {\n return responsive && xs ? 'vertical' : direction;\n }, [xs, direction]);\n var prefixCls = getPrefixCls('steps', props.prefixCls);\n var iconPrefix = getPrefixCls('', props.iconPrefix);\n var stepsClassName = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), rtlDirection === 'rtl'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-with-progress\"), percent !== undefined), _classNames), className);\n var icons = {\n finish: /*#__PURE__*/React.createElement(CheckOutlined, {\n className: \"\".concat(prefixCls, \"-finish-icon\")\n }),\n error: /*#__PURE__*/React.createElement(CloseOutlined, {\n className: \"\".concat(prefixCls, \"-error-icon\")\n })\n };\n\n var stepIconRender = function stepIconRender(_ref) {\n var node = _ref.node,\n status = _ref.status;\n\n if (status === 'process' && percent !== undefined) {\n // currently it's hard-coded, since we can't easily read the actually width of icon\n var progressWidth = size === 'small' ? 32 : 40;\n var iconWithProgress = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-progress-icon\")\n }, /*#__PURE__*/React.createElement(Progress, {\n type: \"circle\",\n percent: percent,\n width: progressWidth,\n strokeWidth: 4,\n format: function format() {\n return null;\n }\n }), node);\n return iconWithProgress;\n }\n\n return node;\n };\n\n return /*#__PURE__*/React.createElement(RcSteps, _extends({\n icons: icons\n }, omit(props, ['percent', 'responsive']), {\n direction: getDirection(),\n stepIcon: stepIconRender,\n prefixCls: prefixCls,\n iconPrefix: iconPrefix,\n className: stepsClassName\n }));\n};\n\nSteps.Step = RcSteps.Step;\nSteps.defaultProps = {\n current: 0,\n responsive: true\n};\nexport default Steps;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _Context = _interopRequireDefault(require(\"./Context\"));\n\nvar _IconBase = _interopRequireDefault(require(\"./IconBase\"));\n\nvar _twoTonePrimaryColor = require(\"./twoTonePrimaryColor\");\n\nvar _utils = require(\"../utils\");\n\nvar _excluded = [\"className\", \"icon\", \"spin\", \"rotate\", \"tabIndex\", \"onClick\", \"twoToneColor\"];\n// Initial setting\n// should move it to antd main repo?\n(0, _twoTonePrimaryColor.setTwoToneColor)('#1890ff');\nvar Icon = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n\n var className = props.className,\n icon = props.icon,\n spin = props.spin,\n rotate = props.rotate,\n tabIndex = props.tabIndex,\n onClick = props.onClick,\n twoToneColor = props.twoToneColor,\n restProps = (0, _objectWithoutProperties2.default)(props, _excluded);\n\n var _React$useContext = React.useContext(_Context.default),\n _React$useContext$pre = _React$useContext.prefixCls,\n prefixCls = _React$useContext$pre === void 0 ? 'anticon' : _React$useContext$pre;\n\n var classString = (0, _classnames.default)(prefixCls, (_classNames = {}, (0, _defineProperty2.default)(_classNames, \"\".concat(prefixCls, \"-\").concat(icon.name), !!icon.name), (0, _defineProperty2.default)(_classNames, \"\".concat(prefixCls, \"-spin\"), !!spin || icon.name === 'loading'), _classNames), className);\n var iconTabIndex = tabIndex;\n\n if (iconTabIndex === undefined && onClick) {\n iconTabIndex = -1;\n }\n\n var svgStyle = rotate ? {\n msTransform: \"rotate(\".concat(rotate, \"deg)\"),\n transform: \"rotate(\".concat(rotate, \"deg)\")\n } : undefined;\n\n var _normalizeTwoToneColo = (0, _utils.normalizeTwoToneColors)(twoToneColor),\n _normalizeTwoToneColo2 = (0, _slicedToArray2.default)(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n\n return /*#__PURE__*/React.createElement(\"span\", (0, _objectSpread2.default)((0, _objectSpread2.default)({\n role: \"img\",\n \"aria-label\": icon.name\n }, restProps), {}, {\n ref: ref,\n tabIndex: iconTabIndex,\n onClick: onClick,\n className: classString\n }), /*#__PURE__*/React.createElement(_IconBase.default, {\n icon: icon,\n primaryColor: primaryColor,\n secondaryColor: secondaryColor,\n style: svgStyle\n }));\n});\nIcon.displayName = 'AntdIcon';\nIcon.getTwoToneColor = _twoTonePrimaryColor.getTwoToneColor;\nIcon.setTwoToneColor = _twoTonePrimaryColor.setTwoToneColor;\nvar _default = Icon;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"ConfigConsumer\", {\n enumerable: true,\n get: function get() {\n return _context.ConfigConsumer;\n }\n});\nObject.defineProperty(exports, \"ConfigContext\", {\n enumerable: true,\n get: function get() {\n return _context.ConfigContext;\n }\n});\nexports.globalConfig = exports.defaultPrefixCls = exports.defaultIconPrefixCls = exports[\"default\"] = exports.configConsumerProps = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _Context = _interopRequireDefault(require(\"@ant-design/icons/lib/components/Context\"));\n\nvar _rcFieldForm = require(\"rc-field-form\");\n\nvar _useMemo = _interopRequireDefault(require(\"rc-util/lib/hooks/useMemo\"));\n\nvar _localeProvider = _interopRequireWildcard(require(\"../locale-provider\"));\n\nvar _LocaleReceiver = _interopRequireDefault(require(\"../locale-provider/LocaleReceiver\"));\n\nvar _context = require(\"./context\");\n\nvar _SizeContext = _interopRequireWildcard(require(\"./SizeContext\"));\n\nvar _message = _interopRequireDefault(require(\"../message\"));\n\nvar _notification = _interopRequireDefault(require(\"../notification\"));\n\nvar _cssVariables = require(\"./cssVariables\");\n\nvar _default2 = _interopRequireDefault(require(\"../locale/default\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar configConsumerProps = ['getTargetContainer', 'getPopupContainer', 'rootPrefixCls', 'getPrefixCls', 'renderEmpty', 'csp', 'autoInsertSpaceInButton', 'locale', 'pageHeader']; // These props is used by `useContext` directly in sub component\n\nexports.configConsumerProps = configConsumerProps;\nvar PASSED_PROPS = ['getTargetContainer', 'getPopupContainer', 'renderEmpty', 'pageHeader', 'input', 'form'];\nvar defaultPrefixCls = 'ant';\nexports.defaultPrefixCls = defaultPrefixCls;\nvar defaultIconPrefixCls = 'anticon';\nexports.defaultIconPrefixCls = defaultIconPrefixCls;\nvar globalPrefixCls;\nvar globalIconPrefixCls;\n\nfunction getGlobalPrefixCls() {\n return globalPrefixCls || defaultPrefixCls;\n}\n\nfunction getGlobalIconPrefixCls() {\n return globalIconPrefixCls || defaultIconPrefixCls;\n}\n\nvar setGlobalConfig = function setGlobalConfig(_ref) {\n var prefixCls = _ref.prefixCls,\n iconPrefixCls = _ref.iconPrefixCls,\n theme = _ref.theme;\n\n if (prefixCls !== undefined) {\n globalPrefixCls = prefixCls;\n }\n\n if (iconPrefixCls !== undefined) {\n globalIconPrefixCls = iconPrefixCls;\n }\n\n if (theme) {\n (0, _cssVariables.registerTheme)(getGlobalPrefixCls(), theme);\n }\n};\n\nvar globalConfig = function globalConfig() {\n return {\n getPrefixCls: function getPrefixCls(suffixCls, customizePrefixCls) {\n if (customizePrefixCls) return customizePrefixCls;\n return suffixCls ? \"\".concat(getGlobalPrefixCls(), \"-\").concat(suffixCls) : getGlobalPrefixCls();\n },\n getIconPrefixCls: getGlobalIconPrefixCls,\n getRootPrefixCls: function getRootPrefixCls(rootPrefixCls, customizePrefixCls) {\n // Customize rootPrefixCls is first priority\n if (rootPrefixCls) {\n return rootPrefixCls;\n } // If Global prefixCls provided, use this\n\n\n if (globalPrefixCls) {\n return globalPrefixCls;\n } // [Legacy] If customize prefixCls provided, we cut it to get the prefixCls\n\n\n if (customizePrefixCls && customizePrefixCls.includes('-')) {\n return customizePrefixCls.replace(/^(.*)-[^-]*$/, '$1');\n } // Fallback to default prefixCls\n\n\n return getGlobalPrefixCls();\n }\n };\n};\n\nexports.globalConfig = globalConfig;\n\nvar ProviderChildren = function ProviderChildren(props) {\n var _a, _b;\n\n var children = props.children,\n csp = props.csp,\n autoInsertSpaceInButton = props.autoInsertSpaceInButton,\n form = props.form,\n locale = props.locale,\n componentSize = props.componentSize,\n direction = props.direction,\n space = props.space,\n virtual = props.virtual,\n dropdownMatchSelectWidth = props.dropdownMatchSelectWidth,\n legacyLocale = props.legacyLocale,\n parentContext = props.parentContext,\n iconPrefixCls = props.iconPrefixCls;\n var getPrefixCls = React.useCallback(function (suffixCls, customizePrefixCls) {\n var prefixCls = props.prefixCls;\n if (customizePrefixCls) return customizePrefixCls;\n var mergedPrefixCls = prefixCls || parentContext.getPrefixCls('');\n return suffixCls ? \"\".concat(mergedPrefixCls, \"-\").concat(suffixCls) : mergedPrefixCls;\n }, [parentContext.getPrefixCls, props.prefixCls]);\n var config = (0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, parentContext), {\n csp: csp,\n autoInsertSpaceInButton: autoInsertSpaceInButton,\n locale: locale || legacyLocale,\n direction: direction,\n space: space,\n virtual: virtual,\n dropdownMatchSelectWidth: dropdownMatchSelectWidth,\n getPrefixCls: getPrefixCls\n }); // Pass the props used by `useContext` directly with child component.\n // These props should merged into `config`.\n\n PASSED_PROPS.forEach(function (propName) {\n var propValue = props[propName];\n\n if (propValue) {\n config[propName] = propValue;\n }\n }); // https://github.com/ant-design/ant-design/issues/27617\n\n var memoedConfig = (0, _useMemo[\"default\"])(function () {\n return config;\n }, config, function (prevConfig, currentConfig) {\n var prevKeys = Object.keys(prevConfig);\n var currentKeys = Object.keys(currentConfig);\n return prevKeys.length !== currentKeys.length || prevKeys.some(function (key) {\n return prevConfig[key] !== currentConfig[key];\n });\n });\n var memoIconContextValue = React.useMemo(function () {\n return {\n prefixCls: iconPrefixCls,\n csp: csp\n };\n }, [iconPrefixCls]);\n var childNode = children; // Additional Form provider\n\n var validateMessages = {};\n\n if (locale) {\n validateMessages = ((_a = locale.Form) === null || _a === void 0 ? void 0 : _a.defaultValidateMessages) || ((_b = _default2[\"default\"].Form) === null || _b === void 0 ? void 0 : _b.defaultValidateMessages) || {};\n }\n\n if (form && form.validateMessages) {\n validateMessages = (0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, validateMessages), form.validateMessages);\n }\n\n if (Object.keys(validateMessages).length > 0) {\n childNode = /*#__PURE__*/React.createElement(_rcFieldForm.FormProvider, {\n validateMessages: validateMessages\n }, children);\n }\n\n if (locale) {\n childNode = /*#__PURE__*/React.createElement(_localeProvider[\"default\"], {\n locale: locale,\n _ANT_MARK__: _localeProvider.ANT_MARK\n }, childNode);\n }\n\n if (iconPrefixCls) {\n childNode = /*#__PURE__*/React.createElement(_Context[\"default\"].Provider, {\n value: memoIconContextValue\n }, childNode);\n }\n\n if (componentSize) {\n childNode = /*#__PURE__*/React.createElement(_SizeContext.SizeContextProvider, {\n size: componentSize\n }, childNode);\n }\n\n return /*#__PURE__*/React.createElement(_context.ConfigContext.Provider, {\n value: memoedConfig\n }, childNode);\n};\n\nvar ConfigProvider = function ConfigProvider(props) {\n React.useEffect(function () {\n if (props.direction) {\n _message[\"default\"].config({\n rtl: props.direction === 'rtl'\n });\n\n _notification[\"default\"].config({\n rtl: props.direction === 'rtl'\n });\n }\n }, [props.direction]);\n return /*#__PURE__*/React.createElement(_LocaleReceiver[\"default\"], null, function (_, __, legacyLocale) {\n return /*#__PURE__*/React.createElement(_context.ConfigConsumer, null, function (context) {\n return /*#__PURE__*/React.createElement(ProviderChildren, (0, _extends2[\"default\"])({\n parentContext: context,\n legacyLocale: legacyLocale\n }, props));\n });\n });\n};\n/** @private internal Usage. do not use in your production */\n\n\nConfigProvider.ConfigContext = _context.ConfigContext;\nConfigProvider.SizeContext = _SizeContext[\"default\"];\nConfigProvider.config = setGlobalConfig;\nvar _default = ConfigProvider;\nexports[\"default\"] = _default;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","// This icon file is generated automatically.\nvar WarningFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M955.7 856l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zM480 416c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v184c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V416zm32 352a48.01 48.01 0 010-96 48.01 48.01 0 010 96z\" } }] }, \"name\": \"warning\", \"theme\": \"filled\" };\nexport default WarningFilled;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport WarningFilledSvg from \"@ant-design/icons-svg/es/asn/WarningFilled\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar WarningFilled = function WarningFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: WarningFilledSvg\n }));\n};\n\nWarningFilled.displayName = 'WarningFilled';\nexport default /*#__PURE__*/React.forwardRef(WarningFilled);","import * as React from 'react';\n\nvar NoFound = function NoFound() {\n return /*#__PURE__*/React.createElement(\"svg\", {\n width: \"252\",\n height: \"294\"\n }, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 .387h251.772v251.772H0z\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 .012)\"\n }, /*#__PURE__*/React.createElement(\"mask\", {\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 127.32v-2.095C0 56.279 55.892.387 124.838.387h2.096c68.946 0 124.838 55.892 124.838 124.838v2.096c0 68.946-55.892 124.838-124.838 124.838h-2.096C55.892 252.16 0 196.267 0 127.321\",\n fill: \"#E4EBF7\",\n mask: \"url(#b)\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.755 130.84a8.276 8.276 0 1 1-16.468-1.66 8.276 8.276 0 0 1 16.468 1.66\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.975 134.297l10.482 5.943M48.373 146.508l-12.648 10.788\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.875 159.352a5.667 5.667 0 1 1-11.277-1.136 5.667 5.667 0 0 1 11.277 1.136M57.588 143.247a5.708 5.708 0 1 1-11.358-1.145 5.708 5.708 0 0 1 11.358 1.145M99.018 26.875l29.82-.014a4.587 4.587 0 1 0-.003-9.175l-29.82.013a4.587 4.587 0 1 0 .003 9.176M110.424 45.211l29.82-.013a4.588 4.588 0 0 0-.004-9.175l-29.82.013a4.587 4.587 0 1 0 .004 9.175\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M112.798 26.861v-.002l15.784-.006a4.588 4.588 0 1 0 .003 9.175l-15.783.007v-.002a4.586 4.586 0 0 0-.004-9.172M184.523 135.668c-.553 5.485-5.447 9.483-10.931 8.93-5.485-.553-9.483-5.448-8.93-10.932.552-5.485 5.447-9.483 10.932-8.93 5.485.553 9.483 5.447 8.93 10.932\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M179.26 141.75l12.64 7.167M193.006 156.477l-15.255 13.011\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M184.668 170.057a6.835 6.835 0 1 1-13.6-1.372 6.835 6.835 0 0 1 13.6 1.372M203.34 153.325a6.885 6.885 0 1 1-13.7-1.382 6.885 6.885 0 0 1 13.7 1.382\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M151.931 192.324a2.222 2.222 0 1 1-4.444 0 2.222 2.222 0 0 1 4.444 0zM225.27 116.056a2.222 2.222 0 1 1-4.445 0 2.222 2.222 0 0 1 4.444 0zM216.38 151.08a2.223 2.223 0 1 1-4.446-.001 2.223 2.223 0 0 1 4.446 0zM176.917 107.636a2.223 2.223 0 1 1-4.445 0 2.223 2.223 0 0 1 4.445 0zM195.291 92.165a2.223 2.223 0 1 1-4.445 0 2.223 2.223 0 0 1 4.445 0zM202.058 180.711a2.223 2.223 0 1 1-4.446 0 2.223 2.223 0 0 1 4.446 0z\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#FFF\",\n strokeWidth: \"2\",\n d: \"M214.404 153.302l-1.912 20.184-10.928 5.99M173.661 174.792l-6.356 9.814h-11.36l-4.508 6.484M174.941 125.168v-15.804M220.824 117.25l-12.84 7.901-15.31-7.902V94.39\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M166.588 65.936h-3.951a4.756 4.756 0 0 1-4.743-4.742 4.756 4.756 0 0 1 4.743-4.743h3.951a4.756 4.756 0 0 1 4.743 4.743 4.756 4.756 0 0 1-4.743 4.742\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M174.823 30.03c0-16.281 13.198-29.48 29.48-29.48 16.28 0 29.48 13.199 29.48 29.48 0 16.28-13.2 29.48-29.48 29.48-16.282 0-29.48-13.2-29.48-29.48\",\n fill: \"#1890FF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M205.952 38.387c.5.5.785 1.142.785 1.928s-.286 1.465-.785 1.964c-.572.5-1.214.75-2 .75-.785 0-1.429-.285-1.929-.785-.572-.5-.82-1.143-.82-1.929s.248-1.428.82-1.928c.5-.5 1.144-.75 1.93-.75.785 0 1.462.25 1.999.75m4.285-19.463c1.428 1.249 2.143 2.963 2.143 5.142 0 1.712-.427 3.13-1.219 4.25-.067.096-.137.18-.218.265-.416.429-1.41 1.346-2.956 2.699a5.07 5.07 0 0 0-1.428 1.75 5.207 5.207 0 0 0-.536 2.357v.5h-4.107v-.5c0-1.357.215-2.536.714-3.5.464-.964 1.857-2.464 4.178-4.536l.43-.5c.643-.785.964-1.643.964-2.535 0-1.18-.358-2.108-1-2.785-.678-.68-1.643-1.001-2.858-1.001-1.536 0-2.642.464-3.357 1.43-.37.5-.621 1.135-.76 1.904a1.999 1.999 0 0 1-1.971 1.63h-.004c-1.277 0-2.257-1.183-1.98-2.43.337-1.518 1.02-2.78 2.073-3.784 1.536-1.5 3.607-2.25 6.25-2.25 2.32 0 4.214.607 5.642 1.894\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M52.04 76.131s21.81 5.36 27.307 15.945c5.575 10.74-6.352 9.26-15.73 4.935-10.86-5.008-24.7-11.822-11.577-20.88\",\n fill: \"#FFB594\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.483 67.504l-.449 2.893c-.753.49-4.748-2.663-4.748-2.663l-1.645.748-1.346-5.684s6.815-4.589 8.917-5.018c2.452-.501 9.884.94 10.7 2.278 0 0 1.32.486-2.227.69-3.548.203-5.043.447-6.79 3.132-1.747 2.686-2.412 3.624-2.412 3.624\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M128.055 111.367c-2.627-7.724-6.15-13.18-8.917-15.478-3.5-2.906-9.34-2.225-11.366-4.187-1.27-1.231-3.215-1.197-3.215-1.197s-14.98-3.158-16.828-3.479c-2.37-.41-2.124-.714-6.054-1.405-1.57-1.907-2.917-1.122-2.917-1.122l-7.11-1.383c-.853-1.472-2.423-1.023-2.423-1.023l-2.468-.897c-1.645 9.976-7.74 13.796-7.74 13.796 1.795 1.122 15.703 8.3 15.703 8.3l5.107 37.11s-3.321 5.694 1.346 9.109c0 0 19.883-3.743 34.921-.329 0 0 3.047-2.546.972-8.806.523-3.01 1.394-8.263 1.736-11.622.385.772 2.019 1.918 3.14 3.477 0 0 9.407-7.365 11.052-14.012-.832-.723-1.598-1.585-2.267-2.453-.567-.736-.358-2.056-.765-2.717-.669-1.084-1.804-1.378-1.907-1.682\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.09 289.998s4.295 2.041 7.354 1.021c2.821-.94 4.53.668 7.08 1.178 2.55.51 6.874 1.1 11.686-1.26-.103-5.51-6.889-3.98-11.96-6.713-2.563-1.38-3.784-4.722-3.598-8.799h-9.402s-1.392 10.52-1.16 14.573\",\n fill: \"#CBD1D1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.067 289.826s2.428 1.271 6.759.653c3.058-.437 3.712.481 7.423 1.031 3.712.55 10.724-.069 11.823-.894.413 1.1-.343 2.063-.343 2.063s-1.512.603-4.812.824c-2.03.136-5.8.291-7.607-.503-1.787-1.375-5.247-1.903-5.728-.241-3.918.95-7.355-.286-7.355-.286l-.16-2.647z\",\n fill: \"#2B0849\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.341 276.044h3.094s-.103 6.702 4.536 8.558c-4.64.618-8.558-2.303-7.63-8.558\",\n fill: \"#A4AABA\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.542 272.401s-2.107 7.416-4.485 12.306c-1.798 3.695-4.225 7.492 5.465 7.492 6.648 0 8.953-.48 7.423-6.599-1.53-6.12.266-13.199.266-13.199h-8.669z\",\n fill: \"#CBD1D1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51.476 289.793s2.097 1.169 6.633 1.169c6.083 0 8.249-1.65 8.249-1.65s.602 1.114-.619 2.165c-.993.855-3.597 1.591-7.39 1.546-4.145-.048-5.832-.566-6.736-1.168-.825-.55-.687-1.58-.137-2.062\",\n fill: \"#2B0849\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.419 274.304s.033 1.519-.314 2.93c-.349 1.42-1.078 3.104-1.13 4.139-.058 1.151 4.537 1.58 5.155.034.62-1.547 1.294-6.427 1.913-7.252.619-.825-4.903-2.119-5.624.15\",\n fill: \"#A4AABA\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.66 278.514l13.378.092s1.298-54.52 1.853-64.403c.554-9.882 3.776-43.364 1.002-63.128l-12.547-.644-22.849.78s-.434 3.966-1.195 9.976c-.063.496-.682.843-.749 1.365-.075.585.423 1.354.32 1.966-2.364 14.08-6.377 33.104-8.744 46.677-.116.666-1.234 1.009-1.458 2.691-.04.302.211 1.525.112 1.795-6.873 18.744-10.949 47.842-14.277 61.885l14.607-.014s2.197-8.57 4.03-16.97c2.811-12.886 23.111-85.01 23.111-85.01l3.016-.521 1.043 46.35s-.224 1.234.337 2.02c.56.785-.56 1.123-.392 2.244l.392 1.794s-.449 7.178-.898 11.89c-.448 4.71-.092 39.165-.092 39.165\",\n fill: \"#7BB2F9\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.085 221.626c1.153.094 4.038-2.019 6.955-4.935M106.36 225.142s2.774-1.11 6.103-3.883\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.275 222.1s2.773-1.11 6.102-3.884\",\n stroke: \"#648BD8\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M74.74 224.767s2.622-.591 6.505-3.365M86.03 151.634c-.27 3.106.3 8.525-4.336 9.123M103.625 149.88s.11 14.012-1.293 15.065c-2.219 1.664-2.99 1.944-2.99 1.944M99.79 150.438s.035 12.88-1.196 24.377M93.673 175.911s7.212-1.664 9.431-1.664M74.31 205.861a212.013 212.013 0 0 1-.979 4.56s-1.458 1.832-1.009 3.776c.449 1.944-.947 2.045-4.985 15.355-1.696 5.59-4.49 18.591-6.348 27.597l-.231 1.12M75.689 197.807a320.934 320.934 0 0 1-.882 4.754M82.591 152.233L81.395 162.7s-1.097.15-.5 2.244c.113 1.346-2.674 15.775-5.18 30.43M56.12 274.418h13.31\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M116.241 148.22s-17.047-3.104-35.893.2c.158 2.514-.003 4.15-.003 4.15s14.687-2.818 35.67-.312c.252-2.355.226-4.038.226-4.038\",\n fill: \"#192064\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M106.322 151.165l.003-4.911a.81.81 0 0 0-.778-.815c-2.44-.091-5.066-.108-7.836-.014a.818.818 0 0 0-.789.815l-.003 4.906a.81.81 0 0 0 .831.813c2.385-.06 4.973-.064 7.73.017a.815.815 0 0 0 .842-.81\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M105.207 150.233l.002-3.076a.642.642 0 0 0-.619-.646 94.321 94.321 0 0 0-5.866-.01.65.65 0 0 0-.63.647v3.072a.64.64 0 0 0 .654.644 121.12 121.12 0 0 1 5.794.011c.362.01.665-.28.665-.642\",\n fill: \"#192064\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.263 275.415h12.338M101.436 270.53c.006 3.387.042 5.79.111 6.506M101.451 264.548a915.75 915.75 0 0 0-.015 4.337M100.986 174.965l.898 44.642s.673 1.57-.225 2.692c-.897 1.122 2.468.673.898 2.243-1.57 1.57.897 1.122 0 3.365-.596 1.489-.994 21.1-1.096 35.146\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.876 83.427s-.516 6.045 7.223 5.552c11.2-.712 9.218-9.345 31.54-21.655-.786-2.708-2.447-4.744-2.447-4.744s-11.068 3.11-22.584 8.046c-6.766 2.9-13.395 6.352-13.732 12.801M104.46 91.057l.941-5.372-8.884-11.43-5.037 5.372-1.74 7.834a.321.321 0 0 0 .108.32c.965.8 6.5 5.013 14.347 3.544a.332.332 0 0 0 .264-.268\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M93.942 79.387s-4.533-2.853-2.432-6.855c1.623-3.09 4.513 1.133 4.513 1.133s.52-3.642 3.121-3.642c.52-1.04 1.561-4.162 1.561-4.162s11.445 2.601 13.526 3.121c0 5.203-2.304 19.424-7.84 19.861-8.892.703-12.449-9.456-12.449-9.456\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M113.874 73.446c2.601-2.081 3.47-9.722 3.47-9.722s-2.479-.49-6.64-2.05c-4.683-2.081-12.798-4.747-17.48.976-9.668 3.223-2.05 19.823-2.05 19.823l2.713-3.021s-3.935-3.287-2.08-6.243c2.17-3.462 3.92 1.073 3.92 1.073s.637-2.387 3.581-3.342c.355-.71 1.036-2.674 1.432-3.85a1.073 1.073 0 0 1 1.263-.704c2.4.558 8.677 2.019 11.356 2.662.522.125.871.615.82 1.15l-.305 3.248z\",\n fill: \"#520038\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M104.977 76.064c-.103.61-.582 1.038-1.07.956-.489-.083-.801-.644-.698-1.254.103-.61.582-1.038 1.07-.956.488.082.8.644.698 1.254M112.132 77.694c-.103.61-.582 1.038-1.07.956-.488-.083-.8-.644-.698-1.254.103-.61.582-1.038 1.07-.956.488.082.8.643.698 1.254\",\n fill: \"#552950\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#DB836E\",\n strokeWidth: \"1.118\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M110.13 74.84l-.896 1.61-.298 4.357h-2.228\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M110.846 74.481s1.79-.716 2.506.537\",\n stroke: \"#5C2552\",\n strokeWidth: \"1.118\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M92.386 74.282s.477-1.114 1.113-.716c.637.398 1.274 1.433.558 1.99-.717.556.159 1.67.159 1.67\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.118\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M103.287 72.93s1.83 1.113 4.137.954\",\n stroke: \"#5C2552\",\n strokeWidth: \"1.118\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M103.685 81.762s2.227 1.193 4.376 1.193M104.64 84.308s.954.398 1.511.318M94.693 81.205s2.308 7.4 10.424 7.639\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.118\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.45 89.384s.45 5.647-4.935 12.787M69 82.654s-.726 9.282-8.204 14.206\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.101\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M129.405 122.865s-5.272 7.403-9.422 10.768\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M119.306 107.329s.452 4.366-2.127 32.062\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.101\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M150.028 151.232h-49.837a1.01 1.01 0 0 1-1.01-1.01v-31.688c0-.557.452-1.01 1.01-1.01h49.837c.558 0 1.01.453 1.01 1.01v31.688a1.01 1.01 0 0 1-1.01 1.01\",\n fill: \"#F2D7AD\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M150.29 151.232h-19.863v-33.707h20.784v32.786a.92.92 0 0 1-.92.92\",\n fill: \"#F4D19D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M123.554 127.896H92.917a.518.518 0 0 1-.425-.816l6.38-9.113c.193-.277.51-.442.85-.442h31.092l-7.26 10.371z\",\n fill: \"#F2D7AD\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#CC9B6E\",\n d: \"M123.689 128.447H99.25v-.519h24.169l7.183-10.26.424.298z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M158.298 127.896h-18.669a2.073 2.073 0 0 1-1.659-.83l-7.156-9.541h19.965c.49 0 .95.23 1.244.622l6.69 8.92a.519.519 0 0 1-.415.83\",\n fill: \"#F4D19D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#CC9B6E\",\n d: \"M157.847 128.479h-19.384l-7.857-10.475.415-.31 7.7 10.266h19.126zM130.554 150.685l-.032-8.177.519-.002.032 8.177z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#CC9B6E\",\n d: \"M130.511 139.783l-.08-21.414.519-.002.08 21.414zM111.876 140.932l-.498-.143 1.479-5.167.498.143zM108.437 141.06l-2.679-2.935 2.665-3.434.41.318-2.397 3.089 2.384 2.612zM116.607 141.06l-.383-.35 2.383-2.612-2.397-3.089.41-.318 2.665 3.434z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M154.316 131.892l-3.114-1.96.038 3.514-1.043.092c-1.682.115-3.634.23-4.789.23-1.902 0-2.693 2.258 2.23 2.648l-2.645-.596s-2.168 1.317.504 2.3c0 0-1.58 1.217.561 2.58-.584 3.504 5.247 4.058 7.122 3.59 1.876-.47 4.233-2.359 4.487-5.16.28-3.085-.89-5.432-3.35-7.238\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M153.686 133.577s-6.522.47-8.36.372c-1.836-.098-1.904 2.19 2.359 2.264 3.739.15 5.451-.044 5.451-.044\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M145.16 135.877c-1.85 1.346.561 2.355.561 2.355s3.478.898 6.73.617\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M151.89 141.71s-6.28.111-6.73-2.132c-.223-1.346.45-1.402.45-1.402M146.114 140.868s-1.103 3.16 5.44 3.533M151.202 129.932v3.477M52.838 89.286c3.533-.337 8.423-1.248 13.582-7.754\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M168.567 248.318a6.647 6.647 0 0 1-6.647-6.647v-66.466a6.647 6.647 0 1 1 13.294 0v66.466a6.647 6.647 0 0 1-6.647 6.647\",\n fill: \"#5BA02E\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M176.543 247.653a6.647 6.647 0 0 1-6.646-6.647v-33.232a6.647 6.647 0 1 1 13.293 0v33.232a6.647 6.647 0 0 1-6.647 6.647\",\n fill: \"#92C110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M186.443 293.613H158.92a3.187 3.187 0 0 1-3.187-3.187v-46.134a3.187 3.187 0 0 1 3.187-3.187h27.524a3.187 3.187 0 0 1 3.187 3.187v46.134a3.187 3.187 0 0 1-3.187 3.187\",\n fill: \"#F2D7AD\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M88.979 89.48s7.776 5.384 16.6 2.842\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.101\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\n\nexport default NoFound;","import * as React from 'react';\n\nvar ServerError = function ServerError() {\n return /*#__PURE__*/React.createElement(\"svg\", {\n width: \"254\",\n height: \"294\"\n }, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 .335h253.49v253.49H0z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 293.665h253.49V.401H0z\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 .067)\"\n }, /*#__PURE__*/React.createElement(\"mask\", {\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 128.134v-2.11C0 56.608 56.273.334 125.69.334h2.11c69.416 0 125.69 56.274 125.69 125.69v2.11c0 69.417-56.274 125.69-125.69 125.69h-2.11C56.273 253.824 0 197.551 0 128.134\",\n fill: \"#E4EBF7\",\n mask: \"url(#b)\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.989 132.108a8.332 8.332 0 1 1-16.581-1.671 8.332 8.332 0 0 1 16.58 1.671\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.19 135.59l10.553 5.983M48.665 147.884l-12.734 10.861\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.11 160.816a5.706 5.706 0 1 1-11.354-1.145 5.706 5.706 0 0 1 11.354 1.145M57.943 144.6a5.747 5.747 0 1 1-11.436-1.152 5.747 5.747 0 0 1 11.436 1.153M99.656 27.434l30.024-.013a4.619 4.619 0 1 0-.004-9.238l-30.024.013a4.62 4.62 0 0 0 .004 9.238M111.14 45.896l30.023-.013a4.62 4.62 0 1 0-.004-9.238l-30.024.013a4.619 4.619 0 1 0 .004 9.238\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M113.53 27.421v-.002l15.89-.007a4.619 4.619 0 1 0 .005 9.238l-15.892.007v-.002a4.618 4.618 0 0 0-.004-9.234M150.167 70.091h-3.979a4.789 4.789 0 0 1-4.774-4.775 4.788 4.788 0 0 1 4.774-4.774h3.979a4.789 4.789 0 0 1 4.775 4.774 4.789 4.789 0 0 1-4.775 4.775\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171.687 30.234c0-16.392 13.289-29.68 29.681-29.68 16.392 0 29.68 13.288 29.68 29.68 0 16.393-13.288 29.681-29.68 29.681s-29.68-13.288-29.68-29.68\",\n fill: \"#FF603B\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M203.557 19.435l-.676 15.035a1.514 1.514 0 0 1-3.026 0l-.675-15.035a2.19 2.19 0 1 1 4.377 0m-.264 19.378c.513.477.77 1.1.77 1.87s-.257 1.393-.77 1.907c-.55.476-1.21.733-1.943.733a2.545 2.545 0 0 1-1.87-.77c-.55-.514-.806-1.136-.806-1.87 0-.77.256-1.393.806-1.87.513-.513 1.137-.733 1.87-.733.77 0 1.43.22 1.943.733\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M119.3 133.275c4.426-.598 3.612-1.204 4.079-4.778.675-5.18-3.108-16.935-8.262-25.118-1.088-10.72-12.598-11.24-12.598-11.24s4.312 4.895 4.196 16.199c1.398 5.243.804 14.45.804 14.45s5.255 11.369 11.78 10.487\",\n fill: \"#FFB594\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.944 91.61s1.463-.583 3.211.582c8.08 1.398 10.368 6.706 11.3 11.368 1.864 1.282 1.864 2.33 1.864 3.496.365.777 1.515 3.03 1.515 3.03s-7.225 1.748-10.954 6.758c-1.399-6.41-6.936-25.235-6.936-25.235\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M94.008 90.5l1.019-5.815-9.23-11.874-5.233 5.581-2.593 9.863s8.39 5.128 16.037 2.246\",\n fill: \"#FFB594\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M82.931 78.216s-4.557-2.868-2.445-6.892c1.632-3.107 4.537 1.139 4.537 1.139s.524-3.662 3.139-3.662c.523-1.046 1.569-4.184 1.569-4.184s11.507 2.615 13.6 3.138c-.001 5.23-2.317 19.529-7.884 19.969-8.94.706-12.516-9.508-12.516-9.508\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M102.971 72.243c2.616-2.093 3.489-9.775 3.489-9.775s-2.492-.492-6.676-2.062c-4.708-2.092-12.867-4.771-17.575.982-9.54 4.41-2.062 19.93-2.062 19.93l2.729-3.037s-3.956-3.304-2.092-6.277c2.183-3.48 3.943 1.08 3.943 1.08s.64-2.4 3.6-3.36c.356-.714 1.04-2.69 1.44-3.872a1.08 1.08 0 0 1 1.27-.707c2.41.56 8.723 2.03 11.417 2.676.524.126.876.619.825 1.156l-.308 3.266z\",\n fill: \"#520038\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.22 76.514c-.104.613-.585 1.044-1.076.96-.49-.082-.805-.646-.702-1.26.104-.613.585-1.044 1.076-.961.491.083.805.647.702 1.26M94.26 75.074c-.104.613-.585 1.044-1.076.96-.49-.082-.805-.646-.702-1.26.104-.613.585-1.044 1.076-.96.491.082.805.646.702 1.26\",\n fill: \"#552950\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#DB836E\",\n strokeWidth: \"1.063\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M99.206 73.644l-.9 1.62-.3 4.38h-2.24\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.926 73.284s1.8-.72 2.52.54\",\n stroke: \"#5C2552\",\n strokeWidth: \"1.117\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.367 73.084s.48-1.12 1.12-.72c.64.4 1.28 1.44.56 2s.16 1.68.16 1.68\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.117\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M92.326 71.724s1.84 1.12 4.16.96\",\n stroke: \"#5C2552\",\n strokeWidth: \"1.117\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M92.726 80.604s2.24 1.2 4.4 1.2M93.686 83.164s.96.4 1.52.32M83.687 80.044s1.786 6.547 9.262 7.954\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.063\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M95.548 91.663s-1.068 2.821-8.298 2.105c-7.23-.717-10.29-5.044-10.29-5.044\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.136\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M78.126 87.478s6.526 4.972 16.47 2.486c0 0 9.577 1.02 11.536 5.322 5.36 11.77.543 36.835 0 39.962 3.496 4.055-.466 8.483-.466 8.483-15.624-3.548-35.81-.6-35.81-.6-4.849-3.546-1.223-9.044-1.223-9.044L62.38 110.32c-2.485-15.227.833-19.803 3.549-20.743 3.03-1.049 8.04-1.282 8.04-1.282.496-.058 1.08-.076 1.37-.233 2.36-1.282 2.787-.583 2.787-.583\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.828 89.81s-6.875.465-7.59 8.156c-.466 8.857 3.03 10.954 3.03 10.954s6.075 22.102 16.796 22.957c8.39-2.176 4.758-6.702 4.661-11.42-.233-11.304-7.108-16.897-7.108-16.897s-4.212-13.75-9.789-13.75\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.716 124.225s.855 11.264 9.828 6.486c4.765-2.536 7.581-13.828 9.789-22.568 1.456-5.768 2.58-12.197 2.58-12.197l-4.973-1.709s-2.408 5.516-7.769 12.275c-4.335 5.467-9.144 11.11-9.455 17.713\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.463 105.191s1.747 2.724-2.331 30.535c2.376 2.216 1.053 6.012-.233 7.51\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M123.262 131.527s-.427 2.732-11.77 1.981c-15.187-1.006-25.326-3.25-25.326-3.25l.933-5.8s.723.215 9.71-.068c11.887-.373 18.714-6.07 24.964-1.022 4.039 3.263 1.489 8.16 1.489 8.16\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M70.24 90.974s-5.593-4.739-11.054 2.68c-3.318 7.223.517 15.284 2.664 19.578-.31 3.729 2.33 4.311 2.33 4.311s.108.895 1.516 2.68c4.078-7.03 6.72-9.166 13.711-12.546-.328-.656-1.877-3.265-1.825-3.767.175-1.69-1.282-2.623-1.282-2.623s-.286-.156-1.165-2.738c-.788-2.313-2.036-5.177-4.895-7.575\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.232 288.027s4.855 2.308 8.313 1.155c3.188-1.063 5.12.755 8.002 1.331 2.881.577 7.769 1.243 13.207-1.424-.117-6.228-7.786-4.499-13.518-7.588-2.895-1.56-4.276-5.336-4.066-9.944H91.544s-1.573 11.89-1.312 16.47\",\n fill: \"#CBD1D1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.207 287.833s2.745 1.437 7.639.738c3.456-.494 3.223.66 7.418 1.282 4.195.621 13.092-.194 14.334-1.126.466 1.242-.388 2.33-.388 2.33s-1.709.682-5.438.932c-2.295.154-8.098.276-10.14-.621-2.02-1.554-4.894-1.515-6.06-.234-4.427 1.075-7.184-.31-7.184-.31l-.181-2.991z\",\n fill: \"#2B0849\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M98.429 272.257h3.496s-.117 7.574 5.127 9.671c-5.244.7-9.672-2.602-8.623-9.671\",\n fill: \"#A4AABA\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44.425 272.046s-2.208 7.774-4.702 12.899c-1.884 3.874-4.428 7.854 5.729 7.854 6.97 0 9.385-.503 7.782-6.917-1.604-6.415.279-13.836.279-13.836h-9.088z\",\n fill: \"#CBD1D1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.066 290.277s2.198 1.225 6.954 1.225c6.376 0 8.646-1.73 8.646-1.73s.63 1.168-.649 2.27c-1.04.897-3.77 1.668-7.745 1.621-4.347-.05-6.115-.593-7.062-1.224-.864-.577-.72-1.657-.144-2.162\",\n fill: \"#2B0849\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.344 274.041s.035 1.592-.329 3.07c-.365 1.49-1.13 3.255-1.184 4.34-.061 1.206 4.755 1.657 5.403.036.65-1.622 1.357-6.737 2.006-7.602.648-.865-5.14-2.222-5.896.156\",\n fill: \"#A4AABA\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M89.476 277.57l13.899.095s1.349-56.643 1.925-66.909c.576-10.267 3.923-45.052 1.042-65.585l-13.037-.669-23.737.81s-.452 4.12-1.243 10.365c-.065.515-.708.874-.777 1.417-.078.608.439 1.407.332 2.044-2.455 14.627-5.797 32.736-8.256 46.837-.121.693-1.282 1.048-1.515 2.796-.042.314.22 1.584.116 1.865-7.14 19.473-12.202 52.601-15.66 67.19l15.176-.015s2.282-10.145 4.185-18.871c2.922-13.389 24.012-88.32 24.012-88.32l3.133-.954-.158 48.568s-.233 1.282.35 2.098c.583.815-.581 1.167-.408 2.331l.408 1.864s-.466 7.458-.932 12.352c-.467 4.895 1.145 40.69 1.145 40.69\",\n fill: \"#7BB2F9\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.57 218.881c1.197.099 4.195-2.097 7.225-5.127M96.024 222.534s2.881-1.152 6.34-4.034\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M96.973 219.373s2.882-1.153 6.34-4.034\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.032\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M63.172 222.144s2.724-.614 6.759-3.496M74.903 146.166c-.281 3.226.31 8.856-4.506 9.478M93.182 144.344s.115 14.557-1.344 15.65c-2.305 1.73-3.107 2.02-3.107 2.02M89.197 144.923s.269 13.144-1.01 25.088M83.525 170.71s6.81-1.051 9.116-1.051M46.026 270.045l-.892 4.538M46.937 263.289l-.815 4.157M62.725 202.503c-.33 1.618-.102 1.904-.449 3.438 0 0-2.756 1.903-2.29 3.923.466 2.02-.31 3.424-4.505 17.252-1.762 5.807-4.233 18.922-6.165 28.278-.03.144-.521 2.646-1.14 5.8M64.158 194.136c-.295 1.658-.6 3.31-.917 4.938M71.33 146.787l-1.244 10.877s-1.14.155-.519 2.33c.117 1.399-2.778 16.39-5.382 31.615M44.242 273.727H58.07\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M106.18 142.117c-3.028-.489-18.825-2.744-36.219.2a.625.625 0 0 0-.518.644c.063 1.307.044 2.343.015 2.995a.617.617 0 0 0 .716.636c3.303-.534 17.037-2.412 35.664-.266.347.04.66-.214.692-.56.124-1.347.16-2.425.17-3.029a.616.616 0 0 0-.52-.62\",\n fill: \"#192064\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M96.398 145.264l.003-5.102a.843.843 0 0 0-.809-.847 114.104 114.104 0 0 0-8.141-.014.85.85 0 0 0-.82.847l-.003 5.097c0 .476.388.857.864.845 2.478-.064 5.166-.067 8.03.017a.848.848 0 0 0 .876-.843\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M95.239 144.296l.002-3.195a.667.667 0 0 0-.643-.672c-1.9-.061-3.941-.073-6.094-.01a.675.675 0 0 0-.654.672l-.002 3.192c0 .376.305.677.68.669 1.859-.042 3.874-.043 6.02.012.376.01.69-.291.691-.668\",\n fill: \"#192064\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.102 273.522h12.819M91.216 269.761c.006 3.519-.072 5.55 0 6.292M90.923 263.474c-.009 1.599-.016 2.558-.016 4.505M90.44 170.404l.932 46.38s.7 1.631-.233 2.796c-.932 1.166 2.564.7.932 2.33-1.63 1.633.933 1.166 0 3.497-.618 1.546-1.031 21.921-1.138 36.513\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.736 98.665l2.214 4.312s2.098.816 1.865 2.68l.816 2.214M64.297 116.611c.233-.932 2.176-7.147 12.585-10.488M77.598 90.042s7.691 6.137 16.547 2.72\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M91.974 86.954s5.476-.816 7.574-4.545c1.297-.345.72 2.212-.33 3.671-.7.971-1.01 1.554-1.01 1.554s.194.31.155.816c-.053.697-.175.653-.272 1.048-.081.335.108.657 0 1.049-.046.17-.198.5-.382.878-.12.249-.072.687-.2.948-.231.469-1.562 1.87-2.622 2.855-3.826 3.554-5.018 1.644-6.001-.408-.894-1.865-.661-5.127-.874-6.875-.35-2.914-2.622-3.03-1.923-4.429.343-.685 2.87.69 3.263 1.748.757 2.04 2.952 1.807 2.622 1.69\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.8 82.429c-.465.077-.35.272-.97 1.243-.622.971-4.817 2.932-6.39 3.224-2.589.48-2.278-1.56-4.254-2.855-1.69-1.107-3.562-.638-1.398 1.398.99.932.932 1.107 1.398 3.205.335 1.506-.64 3.67.7 5.593\",\n stroke: \"#DB836E\",\n strokeWidth: \".774\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M79.543 108.673c-2.1 2.926-4.266 6.175-5.557 8.762\",\n stroke: \"#E59788\",\n strokeWidth: \".774\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M87.72 124.768s-2.098-1.942-5.127-2.719c-3.03-.777-3.574-.155-5.516.078-1.942.233-3.885-.932-3.652.7.233 1.63 5.05 1.01 5.206 2.097.155 1.087-6.37 2.796-8.313 2.175-.777.777.466 1.864 2.02 2.175.233 1.554 2.253 1.554 2.253 1.554s.699 1.01 2.641 1.088c2.486 1.32 8.934-.7 10.954-1.554 2.02-.855-.466-5.594-.466-5.594\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.425 122.826s.66 1.127 3.167 1.418c2.315.27 2.563.583 2.563.583s-2.545 2.894-9.07 2.272M72.416 129.274s3.826.097 4.933-.718M74.98 130.75s1.961.136 3.36-.505M77.232 131.916s1.748.019 2.914-.505M73.328 122.321s-.595-1.032 1.262-.427c1.671.544 2.833.055 5.128.155 1.389.061 3.067-.297 3.982.15 1.606.784 3.632 2.181 3.632 2.181s10.526 1.204 19.033-1.127M78.864 108.104s-8.39 2.758-13.168 12.12\",\n stroke: \"#E59788\",\n strokeWidth: \".774\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M109.278 112.533s3.38-3.613 7.575-4.662\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.375 123.006s9.697-2.745 11.445-.88\",\n stroke: \"#E59788\",\n strokeWidth: \".774\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M194.605 83.656l3.971-3.886M187.166 90.933l3.736-3.655M191.752 84.207l-4.462-4.56M198.453 91.057l-4.133-4.225M129.256 163.074l3.718-3.718M122.291 170.039l3.498-3.498M126.561 163.626l-4.27-4.27M132.975 170.039l-3.955-3.955\",\n stroke: \"#BFCDDD\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M190.156 211.779h-1.604a4.023 4.023 0 0 1-4.011-4.011V175.68a4.023 4.023 0 0 1 4.01-4.01h1.605a4.023 4.023 0 0 1 4.011 4.01v32.088a4.023 4.023 0 0 1-4.01 4.01\",\n fill: \"#A3B4C6\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M237.824 212.977a4.813 4.813 0 0 1-4.813 4.813h-86.636a4.813 4.813 0 0 1 0-9.626h86.636a4.813 4.813 0 0 1 4.813 4.813\",\n fill: \"#A3B4C6\"\n }), /*#__PURE__*/React.createElement(\"mask\", {\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#A3B4C6\",\n mask: \"url(#d)\",\n d: \"M154.098 190.096h70.513v-84.617h-70.513z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M224.928 190.096H153.78a3.219 3.219 0 0 1-3.208-3.209V167.92a3.219 3.219 0 0 1 3.208-3.21h71.148a3.219 3.219 0 0 1 3.209 3.21v18.967a3.219 3.219 0 0 1-3.21 3.209M224.928 130.832H153.78a3.218 3.218 0 0 1-3.208-3.208v-18.968a3.219 3.219 0 0 1 3.208-3.209h71.148a3.219 3.219 0 0 1 3.209 3.21v18.967a3.218 3.218 0 0 1-3.21 3.208\",\n fill: \"#BFCDDD\",\n mask: \"url(#d)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M159.563 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M166.98 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M174.397 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M222.539 120.546h-22.461a.802.802 0 0 1-.802-.802v-3.208c0-.443.359-.803.802-.803h22.46c.444 0 .803.36.803.803v3.208c0 .443-.36.802-.802.802\",\n fill: \"#FFF\",\n mask: \"url(#d)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M224.928 160.464H153.78a3.218 3.218 0 0 1-3.208-3.209v-18.967a3.219 3.219 0 0 1 3.208-3.209h71.148a3.219 3.219 0 0 1 3.209 3.209v18.967a3.218 3.218 0 0 1-3.21 3.209\",\n fill: \"#BFCDDD\",\n mask: \"url(#d)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M173.455 130.832h49.301M164.984 130.832h6.089M155.952 130.832h6.75M173.837 160.613h49.3M165.365 160.613h6.089M155.57 160.613h6.751\",\n stroke: \"#7C90A5\",\n strokeWidth: \"1.124\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n mask: \"url(#d)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M159.563 151.038a2.407 2.407 0 1 1 0-4.814 2.407 2.407 0 0 1 0 4.814M166.98 151.038a2.407 2.407 0 1 1 0-4.814 2.407 2.407 0 0 1 0 4.814M174.397 151.038a2.407 2.407 0 1 1 .001-4.814 2.407 2.407 0 0 1 0 4.814M222.539 151.038h-22.461a.802.802 0 0 1-.802-.802v-3.209c0-.443.359-.802.802-.802h22.46c.444 0 .803.36.803.802v3.209c0 .443-.36.802-.802.802M159.563 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M166.98 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M174.397 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M222.539 179.987h-22.461a.802.802 0 0 1-.802-.802v-3.209c0-.443.359-.802.802-.802h22.46c.444 0 .803.36.803.802v3.209c0 .443-.36.802-.802.802\",\n fill: \"#FFF\",\n mask: \"url(#d)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M203.04 221.108h-27.372a2.413 2.413 0 0 1-2.406-2.407v-11.448a2.414 2.414 0 0 1 2.406-2.407h27.372a2.414 2.414 0 0 1 2.407 2.407V218.7a2.413 2.413 0 0 1-2.407 2.407\",\n fill: \"#BFCDDD\",\n mask: \"url(#d)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M177.259 207.217v11.52M201.05 207.217v11.52\",\n stroke: \"#A3B4C6\",\n strokeWidth: \"1.124\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n mask: \"url(#d)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M162.873 267.894a9.422 9.422 0 0 1-9.422-9.422v-14.82a9.423 9.423 0 0 1 18.845 0v14.82a9.423 9.423 0 0 1-9.423 9.422\",\n fill: \"#5BA02E\",\n mask: \"url(#d)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171.22 267.83a9.422 9.422 0 0 1-9.422-9.423v-3.438a9.423 9.423 0 0 1 18.845 0v3.438a9.423 9.423 0 0 1-9.422 9.423\",\n fill: \"#92C110\",\n mask: \"url(#d)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M181.31 293.666h-27.712a3.209 3.209 0 0 1-3.209-3.21V269.79a3.209 3.209 0 0 1 3.209-3.21h27.711a3.209 3.209 0 0 1 3.209 3.21v20.668a3.209 3.209 0 0 1-3.209 3.209\",\n fill: \"#F2D7AD\",\n mask: \"url(#d)\"\n })));\n};\n\nexport default ServerError;","import * as React from 'react';\n\nvar Unauthorized = function Unauthorized() {\n return /*#__PURE__*/React.createElement(\"svg\", {\n width: \"251\",\n height: \"294\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 129.023v-2.084C0 58.364 55.591 2.774 124.165 2.774h2.085c68.574 0 124.165 55.59 124.165 124.165v2.084c0 68.575-55.59 124.166-124.165 124.166h-2.085C55.591 253.189 0 197.598 0 129.023\",\n fill: \"#E4EBF7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.417 132.92a8.231 8.231 0 1 1-16.38-1.65 8.231 8.231 0 0 1 16.38 1.65\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.652 136.36l10.425 5.91M49.989 148.505l-12.58 10.73\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.536 161.28a5.636 5.636 0 1 1-11.216-1.13 5.636 5.636 0 0 1 11.216 1.13M59.154 145.261a5.677 5.677 0 1 1-11.297-1.138 5.677 5.677 0 0 1 11.297 1.138M100.36 29.516l29.66-.013a4.562 4.562 0 1 0-.004-9.126l-29.66.013a4.563 4.563 0 0 0 .005 9.126M111.705 47.754l29.659-.013a4.563 4.563 0 1 0-.004-9.126l-29.66.013a4.563 4.563 0 1 0 .005 9.126\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M114.066 29.503V29.5l15.698-.007a4.563 4.563 0 1 0 .004 9.126l-15.698.007v-.002a4.562 4.562 0 0 0-.004-9.122M185.405 137.723c-.55 5.455-5.418 9.432-10.873 8.882-5.456-.55-9.432-5.418-8.882-10.873.55-5.455 5.418-9.432 10.873-8.882 5.455.55 9.432 5.418 8.882 10.873\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M180.17 143.772l12.572 7.129M193.841 158.42L178.67 171.36\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M185.55 171.926a6.798 6.798 0 1 1-13.528-1.363 6.798 6.798 0 0 1 13.527 1.363M204.12 155.285a6.848 6.848 0 1 1-13.627-1.375 6.848 6.848 0 0 1 13.626 1.375\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M152.988 194.074a2.21 2.21 0 1 1-4.42 0 2.21 2.21 0 0 1 4.42 0zM225.931 118.217a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.421 0zM217.09 153.051a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.42 0zM177.84 109.842a2.21 2.21 0 1 1-4.422 0 2.21 2.21 0 0 1 4.421 0zM196.114 94.454a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.421 0zM202.844 182.523a2.21 2.21 0 1 1-4.42 0 2.21 2.21 0 0 1 4.42 0z\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#FFF\",\n strokeWidth: \"2\",\n d: \"M215.125 155.262l-1.902 20.075-10.87 5.958M174.601 176.636l-6.322 9.761H156.98l-4.484 6.449M175.874 127.28V111.56M221.51 119.404l-12.77 7.859-15.228-7.86V96.668\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M180.68 29.32C180.68 13.128 193.806 0 210 0c16.193 0 29.32 13.127 29.32 29.32 0 16.194-13.127 29.322-29.32 29.322-16.193 0-29.32-13.128-29.32-29.321\",\n fill: \"#A26EF4\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M221.45 41.706l-21.563-.125a1.744 1.744 0 0 1-1.734-1.754l.071-12.23a1.744 1.744 0 0 1 1.754-1.734l21.562.125c.964.006 1.74.791 1.735 1.755l-.071 12.229a1.744 1.744 0 0 1-1.754 1.734\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M215.106 29.192c-.015 2.577-2.049 4.654-4.543 4.64-2.494-.014-4.504-2.115-4.489-4.693l.04-6.925c.016-2.577 2.05-4.654 4.543-4.64 2.494.015 4.504 2.116 4.49 4.693l-.04 6.925zm-4.53-14.074a6.877 6.877 0 0 0-6.916 6.837l-.043 7.368a6.877 6.877 0 0 0 13.754.08l.042-7.368a6.878 6.878 0 0 0-6.837-6.917zM167.566 68.367h-3.93a4.73 4.73 0 0 1-4.717-4.717 4.73 4.73 0 0 1 4.717-4.717h3.93a4.73 4.73 0 0 1 4.717 4.717 4.73 4.73 0 0 1-4.717 4.717\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M168.214 248.838a6.611 6.611 0 0 1-6.61-6.611v-66.108a6.611 6.611 0 0 1 13.221 0v66.108a6.611 6.611 0 0 1-6.61 6.61\",\n fill: \"#5BA02E\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M176.147 248.176a6.611 6.611 0 0 1-6.61-6.61v-33.054a6.611 6.611 0 1 1 13.221 0v33.053a6.611 6.611 0 0 1-6.61 6.611\",\n fill: \"#92C110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M185.994 293.89h-27.376a3.17 3.17 0 0 1-3.17-3.17v-45.887a3.17 3.17 0 0 1 3.17-3.17h27.376a3.17 3.17 0 0 1 3.17 3.17v45.886a3.17 3.17 0 0 1-3.17 3.17\",\n fill: \"#F2D7AD\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.972 147.673s6.377-.927 17.566-1.28c11.729-.371 17.57 1.086 17.57 1.086s3.697-3.855.968-8.424c1.278-12.077 5.982-32.827.335-48.273-1.116-1.339-3.743-1.512-7.536-.62-1.337.315-7.147-.149-7.983-.1l-15.311-.347s-3.487-.17-8.035-.508c-1.512-.113-4.227-1.683-5.458-.338-.406.443-2.425 5.669-1.97 16.077l8.635 35.642s-3.141 3.61 1.219 7.085\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M75.768 73.325l-.9-6.397 11.982-6.52s7.302-.118 8.038 1.205c.737 1.324-5.616.993-5.616.993s-1.836 1.388-2.615 2.5c-1.654 2.363-.986 6.471-8.318 5.986-1.708.284-2.57 2.233-2.57 2.233\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M52.44 77.672s14.217 9.406 24.973 14.444c1.061.497-2.094 16.183-11.892 11.811-7.436-3.318-20.162-8.44-21.482-14.496-.71-3.258 2.543-7.643 8.401-11.76M141.862 80.113s-6.693 2.999-13.844 6.876c-3.894 2.11-10.137 4.704-12.33 7.988-6.224 9.314 3.536 11.22 12.947 7.503 6.71-2.651 28.999-12.127 13.227-22.367\",\n fill: \"#FFB594\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.166 66.36l3.06 3.881s-2.783 2.67-6.31 5.747c-7.103 6.195-12.803 14.296-15.995 16.44-3.966 2.662-9.754 3.314-12.177-.118-3.553-5.032.464-14.628 31.422-25.95\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.674 85.116s-2.34 8.413-8.912 14.447c.652.548 18.586 10.51 22.144 10.056 5.238-.669 6.417-18.968 1.145-20.531-.702-.208-5.901-1.286-8.853-2.167-.87-.26-1.611-1.71-3.545-.936l-1.98-.869zM128.362 85.826s5.318 1.956 7.325 13.734c-.546.274-17.55 12.35-21.829 7.805-6.534-6.94-.766-17.393 4.275-18.61 4.646-1.121 5.03-1.37 10.23-2.929\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M78.18 94.656s.911 7.41-4.914 13.078\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M87.397 94.68s3.124 2.572 10.263 2.572c7.14 0 9.074-3.437 9.074-3.437\",\n stroke: \"#E4EBF7\",\n strokeWidth: \".932\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M117.184 68.639l-6.781-6.177s-5.355-4.314-9.223-.893c-3.867 3.422 4.463 2.083 5.653 4.165 1.19 2.082.848 1.143-2.083.446-5.603-1.331-2.082.893 2.975 5.355 2.091 1.845 6.992.955 6.992.955l2.467-3.851z\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M105.282 91.315l-.297-10.937-15.918-.027-.53 10.45c-.026.403.17.788.515.999 2.049 1.251 9.387 5.093 15.799.424.287-.21.443-.554.431-.91\",\n fill: \"#FFB594\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.573 74.24c.817-1.147.982-9.118 1.015-11.928a1.046 1.046 0 0 0-.965-1.055l-4.62-.365c-7.71-1.044-17.071.624-18.253 6.346-5.482 5.813-.421 13.244-.421 13.244s1.963 3.566 4.305 6.791c.756 1.041.398-3.731 3.04-5.929 5.524-4.594 15.899-7.103 15.899-7.103\",\n fill: \"#5C2552\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M88.426 83.206s2.685 6.202 11.602 6.522c7.82.28 8.973-7.008 7.434-17.505l-.909-5.483c-6.118-2.897-15.478.54-15.478.54s-.576 2.044-.19 5.504c-2.276 2.066-1.824 5.618-1.824 5.618s-.905-1.922-1.98-2.321c-.86-.32-1.897.089-2.322 1.98-1.04 4.632 3.667 5.145 3.667 5.145\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#DB836E\",\n strokeWidth: \"1.145\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M100.843 77.099l1.701-.928-1.015-4.324.674-1.406\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M105.546 74.092c-.022.713-.452 1.279-.96 1.263-.51-.016-.904-.607-.882-1.32.021-.713.452-1.278.96-1.263.51.016.904.607.882 1.32M97.592 74.349c-.022.713-.452 1.278-.961 1.263-.509-.016-.904-.607-.882-1.32.022-.713.452-1.279.961-1.263.51.016.904.606.882 1.32\",\n fill: \"#552950\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M91.132 86.786s5.269 4.957 12.679 2.327\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.145\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.776 81.903s-3.592.232-1.44-2.79c1.59-1.496 4.897-.46 4.897-.46s1.156 3.906-3.457 3.25\",\n fill: \"#DB836E\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M102.88 70.6s2.483.84 3.402.715M93.883 71.975s2.492-1.144 4.778-1.073\",\n stroke: \"#5C2552\",\n strokeWidth: \"1.526\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M86.32 77.374s.961.879 1.458 2.106c-.377.48-1.033 1.152-.236 1.809M99.337 83.719s1.911.151 2.509-.254\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.145\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M87.782 115.821l15.73-3.012M100.165 115.821l10.04-2.008\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.508 86.763s-1.598 8.83-6.697 14.078\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.114\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M128.31 87.934s3.013 4.121 4.06 11.785\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.09 84.816s-6.03 9.912-13.607 9.903\",\n stroke: \"#DB836E\",\n strokeWidth: \".795\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M112.366 65.909l-.142 5.32s5.993 4.472 11.945 9.202c4.482 3.562 8.888 7.455 10.985 8.662 4.804 2.766 8.9 3.355 11.076 1.808 4.071-2.894 4.373-9.878-8.136-15.263-4.271-1.838-16.144-6.36-25.728-9.73\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M130.532 85.488s4.588 5.757 11.619 6.214\",\n stroke: \"#DB836E\",\n strokeWidth: \".75\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M121.708 105.73s-.393 8.564-1.34 13.612\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M115.784 161.512s-3.57-1.488-2.678-7.14\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.52 290.246s4.326 2.057 7.408 1.03c2.842-.948 4.564.673 7.132 1.186 2.57.514 6.925 1.108 11.772-1.269-.104-5.551-6.939-4.01-12.048-6.763-2.582-1.39-3.812-4.757-3.625-8.863h-9.471s-1.402 10.596-1.169 14.68\",\n fill: \"#CBD1D1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.496 290.073s2.447 1.281 6.809.658c3.081-.44 3.74.485 7.479 1.039 3.739.554 10.802-.07 11.91-.9.415 1.108-.347 2.077-.347 2.077s-1.523.608-4.847.831c-2.045.137-5.843.293-7.663-.507-1.8-1.385-5.286-1.917-5.77-.243-3.947.958-7.41-.288-7.41-.288l-.16-2.667z\",\n fill: \"#2B0849\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.824 276.19h3.116s-.103 6.751 4.57 8.62c-4.673.624-8.62-2.32-7.686-8.62\",\n fill: \"#A4AABA\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.65 272.52s-2.122 7.47-4.518 12.396c-1.811 3.724-4.255 7.548 5.505 7.548 6.698 0 9.02-.483 7.479-6.648-1.541-6.164.268-13.296.268-13.296H57.65z\",\n fill: \"#CBD1D1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51.54 290.04s2.111 1.178 6.682 1.178c6.128 0 8.31-1.662 8.31-1.662s.605 1.122-.624 2.18c-1 .862-3.624 1.603-7.444 1.559-4.177-.049-5.876-.57-6.786-1.177-.831-.554-.692-1.593-.138-2.078\",\n fill: \"#2B0849\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.533 274.438s.034 1.529-.315 2.95c-.352 1.431-1.087 3.127-1.139 4.17-.058 1.16 4.57 1.592 5.194.035.623-1.559 1.303-6.475 1.927-7.306.622-.831-4.94-2.135-5.667.15\",\n fill: \"#A4AABA\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.885 277.015l13.306.092s1.291-54.228 1.843-64.056c.552-9.828 3.756-43.13.997-62.788l-12.48-.64-22.725.776s-.433 3.944-1.19 9.921c-.062.493-.677.838-.744 1.358-.075.582.42 1.347.318 1.956-2.35 14.003-6.343 32.926-8.697 46.425-.116.663-1.227 1.004-1.45 2.677-.04.3.21 1.516.112 1.785-6.836 18.643-10.89 47.584-14.2 61.551l14.528-.014s2.185-8.524 4.008-16.878c2.796-12.817 22.987-84.553 22.987-84.553l3-.517 1.037 46.1s-.223 1.228.334 2.008c.558.782-.556 1.117-.39 2.233l.39 1.784s-.446 7.14-.892 11.826c-.446 4.685-.092 38.954-.092 38.954\",\n fill: \"#7BB2F9\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M77.438 220.434c1.146.094 4.016-2.008 6.916-4.91M107.55 223.931s2.758-1.103 6.069-3.862\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.459 220.905s2.759-1.104 6.07-3.863\",\n stroke: \"#648BD8\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.099 223.557s2.608-.587 6.47-3.346M87.33 150.82c-.27 3.088.297 8.478-4.315 9.073M104.829 149.075s.11 13.936-1.286 14.983c-2.207 1.655-2.975 1.934-2.975 1.934M101.014 149.63s.035 12.81-1.19 24.245M94.93 174.965s7.174-1.655 9.38-1.655M75.671 204.754c-.316 1.55-.64 3.067-.973 4.535 0 0-1.45 1.822-1.003 3.756.446 1.934-.943 2.034-4.96 15.273-1.686 5.559-4.464 18.49-6.313 27.447-.078.38-4.018 18.06-4.093 18.423M77.043 196.743a313.269 313.269 0 0 1-.877 4.729M83.908 151.414l-1.19 10.413s-1.091.148-.496 2.23c.111 1.34-2.66 15.692-5.153 30.267M57.58 272.94h13.238\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M117.377 147.423s-16.955-3.087-35.7.199c.157 2.501-.002 4.128-.002 4.128s14.607-2.802 35.476-.31c.251-2.342.226-4.017.226-4.017\",\n fill: \"#192064\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.511 150.353l.004-4.885a.807.807 0 0 0-.774-.81c-2.428-.092-5.04-.108-7.795-.014a.814.814 0 0 0-.784.81l-.003 4.88c0 .456.371.82.827.808a140.76 140.76 0 0 1 7.688.017.81.81 0 0 0 .837-.806\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M106.402 149.426l.002-3.06a.64.64 0 0 0-.616-.643 94.135 94.135 0 0 0-5.834-.009.647.647 0 0 0-.626.643l-.001 3.056c0 .36.291.648.651.64 1.78-.04 3.708-.041 5.762.012.36.009.662-.279.662-.64\",\n fill: \"#192064\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.485 273.933h12.272M102.652 269.075c.006 3.368.04 5.759.11 6.47M102.667 263.125c-.009 1.53-.015 2.98-.016 4.313M102.204 174.024l.893 44.402s.669 1.561-.224 2.677c-.892 1.116 2.455.67.893 2.231-1.562 1.562.893 1.116 0 3.347-.592 1.48-.988 20.987-1.09 34.956\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\n\nexport default Unauthorized;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CheckCircleFilled from \"@ant-design/icons/es/icons/CheckCircleFilled\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport ExclamationCircleFilled from \"@ant-design/icons/es/icons/ExclamationCircleFilled\";\nimport WarningFilled from \"@ant-design/icons/es/icons/WarningFilled\";\nimport { ConfigContext } from '../config-provider';\nimport devWarning from '../_util/devWarning';\nimport noFound from './noFound';\nimport serverError from './serverError';\nimport unauthorized from './unauthorized';\nexport var IconMap = {\n success: CheckCircleFilled,\n error: CloseCircleFilled,\n info: ExclamationCircleFilled,\n warning: WarningFilled\n};\nexport var ExceptionMap = {\n '404': noFound,\n '500': serverError,\n '403': unauthorized\n}; // ExceptionImageMap keys\n\nvar ExceptionStatus = Object.keys(ExceptionMap);\n/**\n * Render icon if ExceptionStatus includes ,render svg image else render iconNode\n *\n * @param prefixCls\n * @param {status, icon}\n */\n\nvar renderIcon = function renderIcon(prefixCls, _ref) {\n var status = _ref.status,\n icon = _ref.icon;\n var className = classNames(\"\".concat(prefixCls, \"-icon\"));\n devWarning(!(typeof icon === 'string' && icon.length > 2), 'Result', \"`icon` is using ReactNode instead of string naming in v4. Please check `\".concat(icon, \"` at https://ant.design/components/icon\"));\n\n if (ExceptionStatus.includes(\"\".concat(status))) {\n var SVGComponent = ExceptionMap[status];\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(className, \" \").concat(prefixCls, \"-image\")\n }, /*#__PURE__*/React.createElement(SVGComponent, null));\n }\n\n var iconNode = /*#__PURE__*/React.createElement(IconMap[status]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className\n }, icon || iconNode);\n};\n\nvar renderExtra = function renderExtra(prefixCls, _ref2) {\n var extra = _ref2.extra;\n return extra && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-extra\")\n }, extra);\n};\n\nvar Result = function Result(_ref3) {\n var customizePrefixCls = _ref3.prefixCls,\n customizeClassName = _ref3.className,\n subTitle = _ref3.subTitle,\n title = _ref3.title,\n style = _ref3.style,\n children = _ref3.children,\n _ref3$status = _ref3.status,\n status = _ref3$status === void 0 ? 'info' : _ref3$status,\n icon = _ref3.icon,\n extra = _ref3.extra;\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var prefixCls = getPrefixCls('result', customizePrefixCls);\n var className = classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(status), customizeClassName, _defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className,\n style: style\n }, renderIcon(prefixCls, {\n status: status,\n icon: icon\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-title\")\n }, title), subTitle && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-subtitle\")\n }, subTitle), renderExtra(prefixCls, {\n extra: extra\n }), children && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content\")\n }, children));\n};\n\nResult.PRESENTED_IMAGE_403 = ExceptionMap['403'];\nResult.PRESENTED_IMAGE_404 = ExceptionMap['404'];\nResult.PRESENTED_IMAGE_500 = ExceptionMap['500'];\nexport default Result;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _Typography = _interopRequireDefault(require(\"./Typography\"));\n\nvar _Text = _interopRequireDefault(require(\"./Text\"));\n\nvar _Link = _interopRequireDefault(require(\"./Link\"));\n\nvar _Title = _interopRequireDefault(require(\"./Title\"));\n\nvar _Paragraph = _interopRequireDefault(require(\"./Paragraph\"));\n\nvar Typography = _Typography[\"default\"];\nTypography.Text = _Text[\"default\"];\nTypography.Link = _Link[\"default\"];\nTypography.Title = _Title[\"default\"];\nTypography.Paragraph = _Paragraph[\"default\"];\nvar _default = Typography;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nObject.defineProperty(exports, \"resetWarned\", {\n enumerable: true,\n get: function get() {\n return _warning.resetWarned;\n }\n});\n\nvar _warning = _interopRequireWildcard(require(\"rc-util/lib/warning\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar _default = function _default(valid, component, message) {\n (0, _warning[\"default\"])(valid, \"[antd: \".concat(component, \"] \").concat(message));\n};\n\nexports[\"default\"] = _default;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\n\nvar possibleConstructorReturn = require(\"./possibleConstructorReturn.js\");\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}\n\nmodule.exports = _createSuper;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import '../../style/default.less';\nimport './index.less'; // style dependencies\n// deps-lint-skip: grid\n\nimport '../../progress/style';","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = omit;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nfunction omit(obj, fields) {\n var clone = (0, _objectSpread2.default)({}, obj);\n\n if (Array.isArray(fields)) {\n fields.forEach(function (key) {\n delete clone[key];\n });\n }\n\n return clone;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof3 = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _createSuper2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createSuper\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _toArray = _interopRequireDefault(require(\"rc-util/lib/Children/toArray\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nvar _omit = _interopRequireDefault(require(\"rc-util/lib/omit\"));\n\nvar _EditOutlined = _interopRequireDefault(require(\"@ant-design/icons/EditOutlined\"));\n\nvar _CheckOutlined = _interopRequireDefault(require(\"@ant-design/icons/CheckOutlined\"));\n\nvar _CopyOutlined = _interopRequireDefault(require(\"@ant-design/icons/CopyOutlined\"));\n\nvar _rcResizeObserver = _interopRequireDefault(require(\"rc-resize-observer\"));\n\nvar _configProvider = require(\"../config-provider\");\n\nvar _LocaleReceiver = _interopRequireDefault(require(\"../locale-provider/LocaleReceiver\"));\n\nvar _devWarning = _interopRequireDefault(require(\"../_util/devWarning\"));\n\nvar _transButton = _interopRequireDefault(require(\"../_util/transButton\"));\n\nvar _raf = _interopRequireDefault(require(\"../_util/raf\"));\n\nvar _styleChecker = require(\"../_util/styleChecker\");\n\nvar _tooltip = _interopRequireDefault(require(\"../tooltip\"));\n\nvar _Typography = _interopRequireDefault(require(\"./Typography\"));\n\nvar _Editable = _interopRequireDefault(require(\"./Editable\"));\n\nvar _util = _interopRequireDefault(require(\"./util\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar __rest = void 0 && (void 0).__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nvar isLineClampSupport = (0, _styleChecker.isStyleSupport)('webkitLineClamp');\nvar isTextOverflowSupport = (0, _styleChecker.isStyleSupport)('textOverflow');\n\nfunction wrapperDecorations(_ref, content) {\n var mark = _ref.mark,\n code = _ref.code,\n underline = _ref.underline,\n del = _ref[\"delete\"],\n strong = _ref.strong,\n keyboard = _ref.keyboard,\n italic = _ref.italic;\n var currentContent = content;\n\n function wrap(needed, tag) {\n if (!needed) return;\n currentContent = /*#__PURE__*/React.createElement(tag, {}, currentContent);\n }\n\n wrap(strong, 'strong');\n wrap(underline, 'u');\n wrap(del, 'del');\n wrap(code, 'code');\n wrap(mark, 'mark');\n wrap(keyboard, 'kbd');\n wrap(italic, 'i');\n return currentContent;\n}\n\nfunction getNode(dom, defaultNode, needDom) {\n if (dom === true || dom === undefined) {\n return defaultNode;\n }\n\n return dom || needDom && defaultNode;\n}\n\nvar ELLIPSIS_STR = '...';\n\nvar Base = /*#__PURE__*/function (_React$Component) {\n (0, _inherits2[\"default\"])(Base, _React$Component);\n\n var _super = (0, _createSuper2[\"default\"])(Base);\n\n function Base() {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, Base);\n _this = _super.apply(this, arguments);\n _this.contentRef = /*#__PURE__*/React.createRef();\n _this.state = {\n edit: false,\n copied: false,\n ellipsisText: '',\n ellipsisContent: null,\n isEllipsis: false,\n expanded: false,\n clientRendered: false\n };\n\n _this.getPrefixCls = function () {\n var customizePrefixCls = _this.props.prefixCls;\n var getPrefixCls = _this.context.getPrefixCls;\n return getPrefixCls('typography', customizePrefixCls);\n }; // =============== Expand ===============\n\n\n _this.onExpandClick = function (e) {\n var _a;\n\n var _this$getEllipsis = _this.getEllipsis(),\n onExpand = _this$getEllipsis.onExpand;\n\n _this.setState({\n expanded: true\n });\n\n (_a = onExpand) === null || _a === void 0 ? void 0 : _a(e);\n }; // ================ Edit ================\n\n\n _this.onEditClick = function (e) {\n e.preventDefault();\n\n _this.triggerEdit(true);\n };\n\n _this.onEditChange = function (value) {\n var _this$getEditable = _this.getEditable(),\n onChange = _this$getEditable.onChange;\n\n onChange === null || onChange === void 0 ? void 0 : onChange(value);\n\n _this.triggerEdit(false);\n };\n\n _this.onEditCancel = function () {\n var _a, _b;\n\n (_b = (_a = _this.getEditable()).onCancel) === null || _b === void 0 ? void 0 : _b.call(_a);\n\n _this.triggerEdit(false);\n }; // ================ Copy ================\n\n\n _this.onCopyClick = function (e) {\n e.preventDefault();\n var _this$props = _this.props,\n children = _this$props.children,\n copyable = _this$props.copyable;\n var copyConfig = (0, _extends2[\"default\"])({}, (0, _typeof2[\"default\"])(copyable) === 'object' ? copyable : null);\n\n if (copyConfig.text === undefined) {\n copyConfig.text = String(children);\n }\n\n (0, _copyToClipboard[\"default\"])(copyConfig.text || '');\n\n _this.setState({\n copied: true\n }, function () {\n if (copyConfig.onCopy) {\n copyConfig.onCopy();\n }\n\n _this.copyId = window.setTimeout(function () {\n _this.setState({\n copied: false\n });\n }, 3000);\n });\n };\n\n _this.setEditRef = function (node) {\n _this.editIcon = node;\n };\n\n _this.triggerEdit = function (edit) {\n var _this$getEditable2 = _this.getEditable(),\n onStart = _this$getEditable2.onStart;\n\n if (edit && onStart) {\n onStart();\n }\n\n _this.setState({\n edit: edit\n }, function () {\n if (!edit && _this.editIcon) {\n _this.editIcon.focus();\n }\n });\n }; // ============== Ellipsis ==============\n\n\n _this.resizeOnNextFrame = function () {\n _raf[\"default\"].cancel(_this.rafId);\n\n _this.rafId = (0, _raf[\"default\"])(function () {\n // Do not bind `syncEllipsis`. It need for test usage on prototype\n _this.syncEllipsis();\n });\n };\n\n return _this;\n }\n\n (0, _createClass2[\"default\"])(Base, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.setState({\n clientRendered: true\n });\n this.resizeOnNextFrame();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var children = this.props.children;\n var ellipsis = this.getEllipsis();\n var prevEllipsis = this.getEllipsis(prevProps);\n\n if (children !== prevProps.children || ellipsis.rows !== prevEllipsis.rows) {\n this.resizeOnNextFrame();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.clearTimeout(this.copyId);\n\n _raf[\"default\"].cancel(this.rafId);\n }\n }, {\n key: \"getEditable\",\n value: function getEditable(props) {\n var edit = this.state.edit;\n\n var _ref2 = props || this.props,\n editable = _ref2.editable;\n\n if (!editable) return {\n editing: edit\n };\n return (0, _extends2[\"default\"])({\n editing: edit\n }, (0, _typeof2[\"default\"])(editable) === 'object' ? editable : null);\n }\n }, {\n key: \"getEllipsis\",\n value: function getEllipsis(props) {\n var _ref3 = props || this.props,\n ellipsis = _ref3.ellipsis;\n\n if (!ellipsis) return {};\n return (0, _extends2[\"default\"])({\n rows: 1,\n expandable: false\n }, (0, _typeof2[\"default\"])(ellipsis) === 'object' ? ellipsis : null);\n }\n }, {\n key: \"canUseCSSEllipsis\",\n value: function canUseCSSEllipsis() {\n var clientRendered = this.state.clientRendered;\n var _this$props2 = this.props,\n editable = _this$props2.editable,\n copyable = _this$props2.copyable;\n\n var _this$getEllipsis2 = this.getEllipsis(),\n rows = _this$getEllipsis2.rows,\n expandable = _this$getEllipsis2.expandable,\n suffix = _this$getEllipsis2.suffix,\n onEllipsis = _this$getEllipsis2.onEllipsis,\n tooltip = _this$getEllipsis2.tooltip;\n\n if (suffix || tooltip) return false; // Can't use css ellipsis since we need to provide the place for button\n\n if (editable || copyable || expandable || !clientRendered || onEllipsis) {\n return false;\n }\n\n if (rows === 1) {\n return isTextOverflowSupport;\n }\n\n return isLineClampSupport;\n }\n }, {\n key: \"syncEllipsis\",\n value: function syncEllipsis() {\n var _this$state = this.state,\n ellipsisText = _this$state.ellipsisText,\n isEllipsis = _this$state.isEllipsis,\n expanded = _this$state.expanded;\n\n var _this$getEllipsis3 = this.getEllipsis(),\n rows = _this$getEllipsis3.rows,\n suffix = _this$getEllipsis3.suffix,\n onEllipsis = _this$getEllipsis3.onEllipsis;\n\n var children = this.props.children;\n\n if (!rows || rows < 0 || !this.contentRef.current || expanded) {\n return;\n } // Do not measure if css already support ellipsis\n\n\n if (this.canUseCSSEllipsis()) {\n return;\n }\n\n (0, _devWarning[\"default\"])((0, _toArray[\"default\"])(children).every(function (child) {\n return typeof child === 'string';\n }), 'Typography', '`ellipsis` should use string as children only.');\n\n var _measure = (0, _util[\"default\"])(this.contentRef.current, {\n rows: rows,\n suffix: suffix\n }, children, this.renderOperations(true), ELLIPSIS_STR),\n content = _measure.content,\n text = _measure.text,\n ellipsis = _measure.ellipsis;\n\n if (ellipsisText !== text || isEllipsis !== ellipsis) {\n this.setState({\n ellipsisText: text,\n ellipsisContent: content,\n isEllipsis: ellipsis\n });\n\n if (isEllipsis !== ellipsis && onEllipsis) {\n onEllipsis(ellipsis);\n }\n }\n }\n }, {\n key: \"renderExpand\",\n value: function renderExpand(forceRender) {\n var _this$getEllipsis4 = this.getEllipsis(),\n expandable = _this$getEllipsis4.expandable,\n symbol = _this$getEllipsis4.symbol;\n\n var _this$state2 = this.state,\n expanded = _this$state2.expanded,\n isEllipsis = _this$state2.isEllipsis;\n if (!expandable) return null; // force render expand icon for measure usage or it will cause dead loop\n\n if (!forceRender && (expanded || !isEllipsis)) return null;\n var expandContent;\n\n if (symbol) {\n expandContent = symbol;\n } else {\n expandContent = this.expandStr;\n }\n\n return /*#__PURE__*/React.createElement(\"a\", {\n key: \"expand\",\n className: \"\".concat(this.getPrefixCls(), \"-expand\"),\n onClick: this.onExpandClick,\n \"aria-label\": this.expandStr\n }, expandContent);\n }\n }, {\n key: \"renderEdit\",\n value: function renderEdit() {\n var editable = this.props.editable;\n if (!editable) return;\n var icon = editable.icon,\n tooltip = editable.tooltip;\n var title = (0, _toArray[\"default\"])(tooltip)[0] || this.editStr;\n var ariaLabel = typeof title === 'string' ? title : '';\n return /*#__PURE__*/React.createElement(_tooltip[\"default\"], {\n key: \"edit\",\n title: tooltip === false ? '' : title\n }, /*#__PURE__*/React.createElement(_transButton[\"default\"], {\n ref: this.setEditRef,\n className: \"\".concat(this.getPrefixCls(), \"-edit\"),\n onClick: this.onEditClick,\n \"aria-label\": ariaLabel\n }, icon || /*#__PURE__*/React.createElement(_EditOutlined[\"default\"], {\n role: \"button\"\n })));\n }\n }, {\n key: \"renderCopy\",\n value: function renderCopy() {\n var copied = this.state.copied;\n var copyable = this.props.copyable;\n if (!copyable) return;\n var prefixCls = this.getPrefixCls();\n var tooltips = copyable.tooltips,\n icon = copyable.icon;\n var tooltipNodes = Array.isArray(tooltips) ? tooltips : [tooltips];\n var iconNodes = Array.isArray(icon) ? icon : [icon];\n var title = copied ? getNode(tooltipNodes[1], this.copiedStr) : getNode(tooltipNodes[0], this.copyStr);\n var systemStr = copied ? this.copiedStr : this.copyStr;\n var ariaLabel = typeof title === 'string' ? title : systemStr;\n return /*#__PURE__*/React.createElement(_tooltip[\"default\"], {\n key: \"copy\",\n title: title\n }, /*#__PURE__*/React.createElement(_transButton[\"default\"], {\n className: (0, _classnames[\"default\"])(\"\".concat(prefixCls, \"-copy\"), copied && \"\".concat(prefixCls, \"-copy-success\")),\n onClick: this.onCopyClick,\n \"aria-label\": ariaLabel\n }, copied ? getNode(iconNodes[1], /*#__PURE__*/React.createElement(_CheckOutlined[\"default\"], null), true) : getNode(iconNodes[0], /*#__PURE__*/React.createElement(_CopyOutlined[\"default\"], null), true)));\n }\n }, {\n key: \"renderEditInput\",\n value: function renderEditInput() {\n var _this$props3 = this.props,\n children = _this$props3.children,\n className = _this$props3.className,\n style = _this$props3.style;\n var direction = this.context.direction;\n\n var _this$getEditable3 = this.getEditable(),\n maxLength = _this$getEditable3.maxLength,\n autoSize = _this$getEditable3.autoSize,\n onEnd = _this$getEditable3.onEnd;\n\n return /*#__PURE__*/React.createElement(_Editable[\"default\"], {\n value: typeof children === 'string' ? children : '',\n onSave: this.onEditChange,\n onCancel: this.onEditCancel,\n onEnd: onEnd,\n prefixCls: this.getPrefixCls(),\n className: className,\n style: style,\n direction: direction,\n maxLength: maxLength,\n autoSize: autoSize\n });\n }\n }, {\n key: \"renderOperations\",\n value: function renderOperations(forceRenderExpanded) {\n return [this.renderExpand(forceRenderExpanded), this.renderEdit(), this.renderCopy()].filter(function (node) {\n return node;\n });\n }\n }, {\n key: \"renderContent\",\n value: function renderContent() {\n var _this2 = this;\n\n var _this$state3 = this.state,\n ellipsisContent = _this$state3.ellipsisContent,\n isEllipsis = _this$state3.isEllipsis,\n expanded = _this$state3.expanded;\n\n var _a = this.props,\n component = _a.component,\n children = _a.children,\n className = _a.className,\n type = _a.type,\n disabled = _a.disabled,\n style = _a.style,\n restProps = __rest(_a, [\"component\", \"children\", \"className\", \"type\", \"disabled\", \"style\"]);\n\n var direction = this.context.direction;\n\n var _this$getEllipsis5 = this.getEllipsis(),\n rows = _this$getEllipsis5.rows,\n suffix = _this$getEllipsis5.suffix,\n tooltip = _this$getEllipsis5.tooltip;\n\n var prefixCls = this.getPrefixCls();\n var textProps = (0, _omit[\"default\"])(restProps, ['prefixCls', 'editable', 'copyable', 'ellipsis', 'mark', 'code', 'delete', 'underline', 'strong', 'keyboard', 'italic'].concat((0, _toConsumableArray2[\"default\"])(_configProvider.configConsumerProps)));\n var cssEllipsis = this.canUseCSSEllipsis();\n var cssTextOverflow = rows === 1 && cssEllipsis;\n var cssLineClamp = rows && rows > 1 && cssEllipsis;\n var textNode = children; // Only use js ellipsis when css ellipsis not support\n\n if (rows && isEllipsis && !expanded && !cssEllipsis) {\n var title = restProps.title;\n var restContent = title || '';\n\n if (!title && (typeof children === 'string' || typeof children === 'number')) {\n restContent = String(children);\n } // show rest content as title on symbol\n\n\n restContent = restContent.slice(String(ellipsisContent || '').length); // We move full content to outer element to avoid repeat read the content by accessibility\n\n textNode = /*#__PURE__*/React.createElement(React.Fragment, null, ellipsisContent, /*#__PURE__*/React.createElement(\"span\", {\n title: restContent,\n \"aria-hidden\": \"true\"\n }, ELLIPSIS_STR), suffix); // If provided tooltip, we need wrap with span to let Tooltip inject events\n\n if (tooltip) {\n textNode = /*#__PURE__*/React.createElement(_tooltip[\"default\"], {\n title: tooltip === true ? children : tooltip\n }, /*#__PURE__*/React.createElement(\"span\", null, textNode));\n }\n } else {\n textNode = /*#__PURE__*/React.createElement(React.Fragment, null, children, suffix);\n }\n\n textNode = wrapperDecorations(this.props, textNode);\n return /*#__PURE__*/React.createElement(_LocaleReceiver[\"default\"], {\n componentName: \"Text\"\n }, function (_ref4) {\n var _classNames;\n\n var edit = _ref4.edit,\n copyStr = _ref4.copy,\n copied = _ref4.copied,\n expand = _ref4.expand;\n _this2.editStr = edit;\n _this2.copyStr = copyStr;\n _this2.copiedStr = copied;\n _this2.expandStr = expand;\n return /*#__PURE__*/React.createElement(_rcResizeObserver[\"default\"], {\n onResize: _this2.resizeOnNextFrame,\n disabled: cssEllipsis\n }, /*#__PURE__*/React.createElement(_Typography[\"default\"], (0, _extends2[\"default\"])({\n className: (0, _classnames[\"default\"])((_classNames = {}, (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-\").concat(type), type), (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-disabled\"), disabled), (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-ellipsis\"), rows), (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-single-line\"), rows === 1 && !isEllipsis), (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-ellipsis-single-line\"), cssTextOverflow), (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-ellipsis-multiple-line\"), cssLineClamp), _classNames), className),\n style: (0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, style), {\n WebkitLineClamp: cssLineClamp ? rows : undefined\n }),\n component: component,\n ref: _this2.contentRef,\n direction: direction\n }, textProps), textNode, _this2.renderOperations()));\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$getEditable4 = this.getEditable(),\n editing = _this$getEditable4.editing;\n\n if (editing) {\n return this.renderEditInput();\n }\n\n return this.renderContent();\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps) {\n var children = nextProps.children,\n editable = nextProps.editable;\n (0, _devWarning[\"default\"])(!editable || typeof children === 'string', 'Typography', 'When `editable` is enabled, the `children` should use string.');\n return {};\n }\n }]);\n return Base;\n}(React.Component);\n\nBase.contextType = _configProvider.ConfigContext;\nBase.defaultProps = {\n children: ''\n};\nvar _default = Base;\nexports[\"default\"] = _default;","import '../../style/default.less';\nimport './index.less';","// Fixing inconsistencies from older browsers\n// https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values\nconst aliases = new Map([\n ['Win', 'Meta'],\n ['Scroll', 'ScrollLock'],\n ['Spacebar', ' '],\n ['Down', 'ArrowDown'],\n ['Left', 'ArrowLeft'],\n ['Right', 'ArrowRight'],\n ['Up', 'ArrowUp'],\n ['Del', 'Delete'],\n ['Crsel', 'CrSel'],\n ['Exsel', 'ExSel'],\n ['Apps', 'ContextMenu'],\n ['Esc', 'Escape'],\n ['Decimal', '.'],\n ['Multiply', '*'],\n ['Add', '+'],\n ['Subtract', '-'],\n ['Divide', '/'],\n]);\n\nconst shimKeyboardEvent = (event) => {\n if (aliases.has(event.key)) {\n const key = aliases.get(event.key);\n\n Object.defineProperty(event, 'key', {\n configurable: true,\n enumerable: true,\n get() {\n return key;\n },\n });\n }\n};\n\nexport default shimKeyboardEvent;\n","import { useEffect, useRef } from 'react';\nimport invariant from 'tiny-invariant';\nimport shimKeyboardEvent from './shimKeyboardEvent';\n\nconst useKeypress = (keys, handler) => {\n invariant(\n Array.isArray(keys) || typeof keys === 'string',\n 'Expected `keys` to be an array or string'\n );\n if (Array.isArray(keys)) {\n keys.forEach((key, i) => {\n invariant(\n typeof key === 'string',\n `Expected \\`keys[${i}]\\` to be a string`\n );\n });\n }\n invariant(\n typeof handler === 'function' || handler == null,\n 'Expected `handler` to be a function'\n );\n\n const eventListenerRef = useRef();\n\n useEffect(() => {\n eventListenerRef.current = (event) => {\n shimKeyboardEvent(event);\n if (Array.isArray(keys) ? keys.includes(event.key) : keys === event.key) {\n handler?.(event);\n }\n };\n }, [keys, handler]);\n\n useEffect(() => {\n const eventListener = (event) => {\n eventListenerRef.current(event);\n };\n window.addEventListener('keydown', eventListener);\n return () => {\n window.removeEventListener('keydown', eventListener);\n };\n }, []);\n};\n\nexport default useKeypress;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2[\"default\"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2[\"default\"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2[\"default\"])(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar React = require('react');\n\nvar _require = require(\"./utils.js\"),\n generateQuery = _require.generateQuery; // Create script to init hCaptcha\n\n\nvar onLoadListeners = [];\nvar apiScriptRequested = false; // Generate hCaptcha API Script\n\nvar mountCaptchaScript = function mountCaptchaScript() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n apiScriptRequested = true; // Create global onload callback\n\n window.hcaptchaOnLoad = function () {\n // Iterate over onload listeners, call each listener\n onLoadListeners = onLoadListeners.filter(function (listener) {\n listener();\n return false;\n });\n };\n\n var domain = params.apihost || \"https://js.hcaptcha.com\";\n delete params.apihost;\n var script = document.createElement(\"script\");\n script.src = \"\".concat(domain, \"/1/api.js?render=explicit&onload=hcaptchaOnLoad\");\n script.async = true;\n var query = generateQuery(params);\n script.src += query !== \"\" ? \"&\".concat(query) : \"\";\n document.head.appendChild(script);\n};\n\nvar HCaptcha = /*#__PURE__*/function (_React$Component) {\n (0, _inherits2[\"default\"])(HCaptcha, _React$Component);\n\n var _super = _createSuper(HCaptcha);\n\n function HCaptcha(props) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, HCaptcha);\n _this = _super.call(this, props); // API Methods\n\n _this.renderCaptcha = _this.renderCaptcha.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.resetCaptcha = _this.resetCaptcha.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.removeCaptcha = _this.removeCaptcha.bind((0, _assertThisInitialized2[\"default\"])(_this)); // Event Handlers\n\n _this.handleOnLoad = _this.handleOnLoad.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleSubmit = _this.handleSubmit.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleExpire = _this.handleExpire.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleError = _this.handleError.bind((0, _assertThisInitialized2[\"default\"])(_this));\n var isApiReady = typeof hcaptcha !== 'undefined';\n _this.ref = React.createRef();\n _this.state = {\n isApiReady: isApiReady,\n isRemoved: false,\n elementId: props.id,\n captchaId: ''\n };\n return _this;\n }\n\n (0, _createClass2[\"default\"])(HCaptcha, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n //Once captcha is mounted intialize hCaptcha - hCaptcha\n var _this$props = this.props,\n apihost = _this$props.apihost,\n assethost = _this$props.assethost,\n endpoint = _this$props.endpoint,\n host = _this$props.host,\n imghost = _this$props.imghost,\n hl = _this$props.languageOverride,\n reCaptchaCompat = _this$props.reCaptchaCompat,\n reportapi = _this$props.reportapi,\n sentry = _this$props.sentry,\n custom = _this$props.custom;\n var isApiReady = this.state.isApiReady;\n\n if (!isApiReady) {\n //Check if hCaptcha has already been loaded, if not create script tag and wait to render captcha\n if (!apiScriptRequested) {\n // Only create the script tag once, use a global variable to track\n mountCaptchaScript({\n apihost: apihost,\n assethost: assethost,\n endpoint: endpoint,\n hl: hl,\n host: host,\n imghost: imghost,\n recaptchacompat: reCaptchaCompat === false ? \"off\" : null,\n reportapi: reportapi,\n sentry: sentry,\n custom: custom\n });\n } // Add onload callback to global onload listeners\n\n\n onLoadListeners.push(this.handleOnLoad);\n } else {\n this.renderCaptcha();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var _this$state = this.state,\n isApiReady = _this$state.isApiReady,\n isRemoved = _this$state.isRemoved,\n captchaId = _this$state.captchaId;\n if (!isApiReady || isRemoved) return; // Reset any stored variables / timers when unmounting\n\n hcaptcha.reset(captchaId);\n hcaptcha.remove(captchaId);\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps, nextState) {\n // Prevent component re-rendering when these internal state variables are updated\n if (this.state.isApiReady !== nextState.isApiReady || this.state.isRemoved !== nextState.isRemoved) {\n return false;\n }\n\n return true;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this2 = this;\n\n // Prop Keys that could change\n var keys = ['sitekey', 'size', 'theme', 'tabindex', 'languageOverride', 'endpoint']; // See if any props changed during component update\n\n var match = keys.every(function (key) {\n return prevProps[key] === _this2.props[key];\n }); // If they have changed, remove current captcha and render a new one\n\n if (!match) {\n this.removeCaptcha(function () {\n _this2.renderCaptcha();\n });\n }\n }\n }, {\n key: \"renderCaptcha\",\n value: function renderCaptcha(onReady) {\n var isApiReady = this.state.isApiReady;\n if (!isApiReady) return;\n var renderParams = Object.assign({\n \"error-callback\": this.handleError,\n \"expired-callback\": this.handleExpire,\n \"callback\": this.handleSubmit\n }, this.props, {\n hl: this.props.hl || this.props.languageOverride,\n languageOverride: undefined\n }); //Render hCaptcha widget and provide necessary callbacks - hCaptcha\n\n var captchaId = hcaptcha.render(this.ref.current, renderParams);\n this.setState({\n isRemoved: false,\n captchaId: captchaId\n }, function () {\n onReady && onReady();\n });\n }\n }, {\n key: \"resetCaptcha\",\n value: function resetCaptcha() {\n var _this$state2 = this.state,\n isApiReady = _this$state2.isApiReady,\n isRemoved = _this$state2.isRemoved,\n captchaId = _this$state2.captchaId;\n if (!isApiReady || isRemoved) return; // Reset captcha state, removes stored token and unticks checkbox\n\n hcaptcha.reset(captchaId);\n }\n }, {\n key: \"removeCaptcha\",\n value: function removeCaptcha(callback) {\n var _this$state3 = this.state,\n isApiReady = _this$state3.isApiReady,\n isRemoved = _this$state3.isRemoved,\n captchaId = _this$state3.captchaId;\n if (!isApiReady || isRemoved) return;\n this.setState({\n isRemoved: true\n }, function () {\n hcaptcha.remove(captchaId);\n callback && callback();\n });\n }\n }, {\n key: \"handleOnLoad\",\n value: function handleOnLoad() {\n var _this3 = this;\n\n this.setState({\n isApiReady: true\n }, function () {\n // render captcha and wait for captcha id\n _this3.renderCaptcha(function () {\n // trigger onLoad if it exists\n var onLoad = _this3.props.onLoad;\n if (onLoad) onLoad();\n });\n });\n }\n }, {\n key: \"handleSubmit\",\n value: function handleSubmit(event) {\n var onVerify = this.props.onVerify;\n var _this$state4 = this.state,\n isRemoved = _this$state4.isRemoved,\n captchaId = _this$state4.captchaId;\n if (typeof hcaptcha === 'undefined' || isRemoved) return;\n var token = hcaptcha.getResponse(captchaId); //Get response token from hCaptcha widget\n\n var ekey = hcaptcha.getRespKey(captchaId); //Get current challenge session id from hCaptcha widget\n\n onVerify(token, ekey); //Dispatch event to verify user response\n }\n }, {\n key: \"handleExpire\",\n value: function handleExpire() {\n var onExpire = this.props.onExpire;\n var _this$state5 = this.state,\n isApiReady = _this$state5.isApiReady,\n isRemoved = _this$state5.isRemoved,\n captchaId = _this$state5.captchaId;\n if (!isApiReady || isRemoved) return;\n hcaptcha.reset(captchaId); // If hCaptcha runs into error, reset captcha - hCaptcha\n\n if (onExpire) onExpire();\n }\n }, {\n key: \"handleError\",\n value: function handleError(event) {\n var onError = this.props.onError;\n var _this$state6 = this.state,\n isApiReady = _this$state6.isApiReady,\n isRemoved = _this$state6.isRemoved,\n captchaId = _this$state6.captchaId;\n if (!isApiReady || isRemoved) return;\n hcaptcha.reset(captchaId); // If hCaptcha runs into error, reset captcha - hCaptcha\n\n if (onError) onError(event);\n }\n }, {\n key: \"execute\",\n value: function execute() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var _this$state7 = this.state,\n isApiReady = _this$state7.isApiReady,\n isRemoved = _this$state7.isRemoved,\n captchaId = _this$state7.captchaId;\n if (!isApiReady || isRemoved) return;\n\n if (opts && (0, _typeof2[\"default\"])(opts) !== \"object\") {\n opts = null;\n }\n\n return hcaptcha.execute(captchaId, opts);\n }\n }, {\n key: \"render\",\n value: function render() {\n var elementId = this.state.elementId;\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: this.ref,\n id: elementId\n });\n }\n }]);\n return HCaptcha;\n}(React.Component);\n\nmodule.exports = HCaptcha;","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2019 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__w_pdfjs_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__w_pdfjs_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pdfjsVersion = '2.2.228';\nvar pdfjsBuild = 'd7afb74a';\n\nvar pdfjsSharedUtil = __w_pdfjs_require__(1);\n\nvar pdfjsDisplayAPI = __w_pdfjs_require__(147);\n\nvar pdfjsDisplayTextLayer = __w_pdfjs_require__(162);\n\nvar pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(163);\n\nvar pdfjsDisplayDisplayUtils = __w_pdfjs_require__(151);\n\nvar pdfjsDisplaySVG = __w_pdfjs_require__(164);\n\nvar pdfjsDisplayWorkerOptions = __w_pdfjs_require__(156);\n\nvar pdfjsDisplayAPICompatibility = __w_pdfjs_require__(153);\n\n{\n var isNodeJS = __w_pdfjs_require__(4);\n\n if (isNodeJS()) {\n var PDFNodeStream = __w_pdfjs_require__(165).PDFNodeStream;\n\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n return new PDFNodeStream(params);\n });\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(168).PDFNetworkStream;\n\n var PDFFetchStream;\n\n if (pdfjsDisplayDisplayUtils.isFetchSupported()) {\n PDFFetchStream = __w_pdfjs_require__(169).PDFFetchStream;\n }\n\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n if (PDFFetchStream && pdfjsDisplayDisplayUtils.isValidFetchUrl(params.url)) {\n return new PDFFetchStream(params);\n }\n\n return new PDFNetworkStream(params);\n });\n }\n}\nexports.build = pdfjsDisplayAPI.build;\nexports.version = pdfjsDisplayAPI.version;\nexports.getDocument = pdfjsDisplayAPI.getDocument;\nexports.LoopbackPort = pdfjsDisplayAPI.LoopbackPort;\nexports.PDFDataRangeTransport = pdfjsDisplayAPI.PDFDataRangeTransport;\nexports.PDFWorker = pdfjsDisplayAPI.PDFWorker;\nexports.renderTextLayer = pdfjsDisplayTextLayer.renderTextLayer;\nexports.AnnotationLayer = pdfjsDisplayAnnotationLayer.AnnotationLayer;\nexports.createPromiseCapability = pdfjsSharedUtil.createPromiseCapability;\nexports.PasswordResponses = pdfjsSharedUtil.PasswordResponses;\nexports.InvalidPDFException = pdfjsSharedUtil.InvalidPDFException;\nexports.MissingPDFException = pdfjsSharedUtil.MissingPDFException;\nexports.SVGGraphics = pdfjsDisplaySVG.SVGGraphics;\nexports.NativeImageDecoding = pdfjsSharedUtil.NativeImageDecoding;\nexports.CMapCompressionType = pdfjsSharedUtil.CMapCompressionType;\nexports.PermissionFlag = pdfjsSharedUtil.PermissionFlag;\nexports.UnexpectedResponseException = pdfjsSharedUtil.UnexpectedResponseException;\nexports.OPS = pdfjsSharedUtil.OPS;\nexports.VerbosityLevel = pdfjsSharedUtil.VerbosityLevel;\nexports.UNSUPPORTED_FEATURES = pdfjsSharedUtil.UNSUPPORTED_FEATURES;\nexports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl;\nexports.createObjectURL = pdfjsSharedUtil.createObjectURL;\nexports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters;\nexports.shadow = pdfjsSharedUtil.shadow;\nexports.Util = pdfjsSharedUtil.Util;\nexports.ReadableStream = pdfjsSharedUtil.ReadableStream;\nexports.URL = pdfjsSharedUtil.URL;\nexports.RenderingCancelledException = pdfjsDisplayDisplayUtils.RenderingCancelledException;\nexports.getFilenameFromUrl = pdfjsDisplayDisplayUtils.getFilenameFromUrl;\nexports.LinkTarget = pdfjsDisplayDisplayUtils.LinkTarget;\nexports.addLinkAttributes = pdfjsDisplayDisplayUtils.addLinkAttributes;\nexports.loadScript = pdfjsDisplayDisplayUtils.loadScript;\nexports.PDFDateString = pdfjsDisplayDisplayUtils.PDFDateString;\nexports.GlobalWorkerOptions = pdfjsDisplayWorkerOptions.GlobalWorkerOptions;\nexports.apiCompatibilityParams = pdfjsDisplayAPICompatibility.apiCompatibilityParams;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isBool = isBool;\nexports.isEmptyObj = isEmptyObj;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSpace = isSpace;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.isLittleEndian = isLittleEndian;\nexports.isEvalSupported = isEvalSupported;\nexports.log2 = log2;\nexports.readInt8 = readInt8;\nexports.readUint16 = readUint16;\nexports.readUint32 = readUint32;\nexports.removeNullCharacters = removeNullCharacters;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.unreachable = unreachable;\nObject.defineProperty(exports, \"ReadableStream\", {\n enumerable: true,\n get: function get() {\n return _streams_polyfill.ReadableStream;\n }\n});\nObject.defineProperty(exports, \"URL\", {\n enumerable: true,\n get: function get() {\n return _url_polyfill.URL;\n }\n});\nexports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = void 0;\n\n__w_pdfjs_require__(2);\n\nvar _streams_polyfill = __w_pdfjs_require__(143);\n\nvar _url_polyfill = __w_pdfjs_require__(145);\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nvar NativeImageDecoding = {\n NONE: 'none',\n DECODE: 'decode',\n DISPLAY: 'display'\n};\nexports.NativeImageDecoding = NativeImageDecoding;\nvar PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nvar TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nvar ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nvar AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nvar AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nvar AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nvar AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nvar StreamType = {\n UNKNOWN: 0,\n FLATE: 1,\n LZW: 2,\n DCT: 3,\n JPX: 4,\n JBIG: 5,\n A85: 6,\n AHX: 7,\n CCF: 8,\n RL: 9\n};\nexports.StreamType = StreamType;\nvar FontType = {\n UNKNOWN: 0,\n TYPE1: 1,\n TYPE1C: 2,\n CIDFONTTYPE0: 3,\n CIDFONTTYPE0C: 4,\n TRUETYPE: 5,\n CIDFONTTYPE2: 6,\n TYPE3: 7,\n OPENTYPE: 8,\n TYPE0: 9,\n MMTYPE1: 10\n};\nexports.FontType = FontType;\nvar VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nvar CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nvar OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nexports.OPS = OPS;\nvar UNSUPPORTED_FEATURES = {\n unknown: 'unknown',\n forms: 'forms',\n javaScript: 'javaScript',\n smask: 'smask',\n shadingPattern: 'shadingPattern',\n font: 'font'\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nvar PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nvar verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log('Info: ' + msg);\n }\n}\n\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log('Warning: ' + msg);\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\nfunction isSameOrigin(baseUrl, otherUrl) {\n try {\n var base = new _url_polyfill.URL(baseUrl);\n\n if (!base.origin || base.origin === 'null') {\n return false;\n }\n } catch (e) {\n return false;\n }\n\n var other = new _url_polyfill.URL(otherUrl, base);\n return base.origin === other.origin;\n}\n\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case 'http:':\n case 'https:':\n case 'ftp:':\n case 'mailto:':\n case 'tel:':\n return true;\n\n default:\n return false;\n }\n}\n\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n\n try {\n var absoluteUrl = baseUrl ? new _url_polyfill.URL(url, baseUrl) : new _url_polyfill.URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n}\n\nvar PasswordException = function PasswordExceptionClosure() {\n function PasswordException(msg, code) {\n this.name = 'PasswordException';\n this.message = msg;\n this.code = code;\n }\n\n PasswordException.prototype = new Error();\n PasswordException.constructor = PasswordException;\n return PasswordException;\n}();\n\nexports.PasswordException = PasswordException;\n\nvar UnknownErrorException = function UnknownErrorExceptionClosure() {\n function UnknownErrorException(msg, details) {\n this.name = 'UnknownErrorException';\n this.message = msg;\n this.details = details;\n }\n\n UnknownErrorException.prototype = new Error();\n UnknownErrorException.constructor = UnknownErrorException;\n return UnknownErrorException;\n}();\n\nexports.UnknownErrorException = UnknownErrorException;\n\nvar InvalidPDFException = function InvalidPDFExceptionClosure() {\n function InvalidPDFException(msg) {\n this.name = 'InvalidPDFException';\n this.message = msg;\n }\n\n InvalidPDFException.prototype = new Error();\n InvalidPDFException.constructor = InvalidPDFException;\n return InvalidPDFException;\n}();\n\nexports.InvalidPDFException = InvalidPDFException;\n\nvar MissingPDFException = function MissingPDFExceptionClosure() {\n function MissingPDFException(msg) {\n this.name = 'MissingPDFException';\n this.message = msg;\n }\n\n MissingPDFException.prototype = new Error();\n MissingPDFException.constructor = MissingPDFException;\n return MissingPDFException;\n}();\n\nexports.MissingPDFException = MissingPDFException;\n\nvar UnexpectedResponseException = function UnexpectedResponseExceptionClosure() {\n function UnexpectedResponseException(msg, status) {\n this.name = 'UnexpectedResponseException';\n this.message = msg;\n this.status = status;\n }\n\n UnexpectedResponseException.prototype = new Error();\n UnexpectedResponseException.constructor = UnexpectedResponseException;\n return UnexpectedResponseException;\n}();\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nvar FormatError = function FormatErrorClosure() {\n function FormatError(msg) {\n this.message = msg;\n }\n\n FormatError.prototype = new Error();\n FormatError.prototype.name = 'FormatError';\n FormatError.constructor = FormatError;\n return FormatError;\n}();\n\nexports.FormatError = FormatError;\n\nvar AbortException = function AbortExceptionClosure() {\n function AbortException(msg) {\n this.name = 'AbortException';\n this.message = msg;\n }\n\n AbortException.prototype = new Error();\n AbortException.constructor = AbortException;\n return AbortException;\n}();\n\nexports.AbortException = AbortException;\nvar NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n if (typeof str !== 'string') {\n warn('The argument for removeNullCharacters must be a string.');\n return str;\n }\n\n return str.replace(NullCharactersRegExp, '');\n}\n\nfunction bytesToString(bytes) {\n assert(bytes !== null && _typeof(bytes) === 'object' && bytes.length !== undefined, 'Invalid argument for bytesToString');\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n var strBuf = [];\n\n for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n var chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n\n return strBuf.join('');\n}\n\nfunction stringToBytes(str) {\n assert(typeof str === 'string', 'Invalid argument for stringToBytes');\n var length = str.length;\n var bytes = new Uint8Array(length);\n\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xFF;\n }\n\n return bytes;\n}\n\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n assert(arr.byteLength !== undefined);\n return arr.byteLength;\n}\n\nfunction arraysToBytes(arr) {\n if (arr.length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n var resultLength = 0;\n var i,\n ii = arr.length;\n var item, itemLength;\n\n for (i = 0; i < ii; i++) {\n item = arr[i];\n itemLength = arrayByteLength(item);\n resultLength += itemLength;\n }\n\n var pos = 0;\n var data = new Uint8Array(resultLength);\n\n for (i = 0; i < ii; i++) {\n item = arr[i];\n\n if (!(item instanceof Uint8Array)) {\n if (typeof item === 'string') {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n\n itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction log2(x) {\n if (x <= 0) {\n return 0;\n }\n\n return Math.ceil(Math.log2(x));\n}\n\nfunction readInt8(data, start) {\n return data[start] << 24 >> 24;\n}\n\nfunction readUint16(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n}\n\nfunction readUint32(data, offset) {\n return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\n}\n\nfunction isLittleEndian() {\n var buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\nfunction isEvalSupported() {\n try {\n new Function('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar Util = function UtilClosure() {\n function Util() {}\n\n var rgbBuf = ['rgb(', 0, ',', 0, ',', 0, ')'];\n\n Util.makeCssRgb = function Util_makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join('');\n };\n\n Util.transform = function Util_transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n };\n\n Util.applyTransform = function Util_applyTransform(p, m) {\n var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n };\n\n Util.applyInverseTransform = function Util_applyInverseTransform(p, m) {\n var d = m[0] * m[3] - m[1] * m[2];\n var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n };\n\n Util.getAxialAlignedBoundingBox = function Util_getAxialAlignedBoundingBox(r, m) {\n var p1 = Util.applyTransform(r, m);\n var p2 = Util.applyTransform(r.slice(2, 4), m);\n var p3 = Util.applyTransform([r[0], r[3]], m);\n var p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n };\n\n Util.inverseTransform = function Util_inverseTransform(m) {\n var d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n };\n\n Util.apply3dTransform = function Util_apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n };\n\n Util.singularValueDecompose2dScale = function Util_singularValueDecompose2dScale(m) {\n var transpose = [m[0], m[2], m[1], m[3]];\n var a = m[0] * transpose[0] + m[1] * transpose[2];\n var b = m[0] * transpose[1] + m[1] * transpose[3];\n var c = m[2] * transpose[0] + m[3] * transpose[2];\n var d = m[2] * transpose[1] + m[3] * transpose[3];\n var first = (a + d) / 2;\n var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n var sx = first + second || 1;\n var sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n };\n\n Util.normalizeRect = function Util_normalizeRect(rect) {\n var r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n };\n\n Util.intersect = function Util_intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare),\n orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare),\n result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return false;\n }\n\n if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return false;\n }\n\n return result;\n };\n\n return Util;\n}();\n\nexports.Util = Util;\nvar PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\n\nfunction stringToPDFString(str) {\n var i,\n n = str.length,\n strBuf = [];\n\n if (str[0] === '\\xFE' && str[1] === '\\xFF') {\n for (i = 2; i < n; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else {\n for (i = 0; i < n; ++i) {\n var code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n }\n\n return strBuf.join('');\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isEmptyObj(obj) {\n for (var key in obj) {\n return false;\n }\n\n return true;\n}\n\nfunction isBool(v) {\n return typeof v === 'boolean';\n}\n\nfunction isNum(v) {\n return typeof v === 'number';\n}\n\nfunction isString(v) {\n return typeof v === 'string';\n}\n\nfunction isArrayBuffer(v) {\n return _typeof(v) === 'object' && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n return arr1.every(function (element, index) {\n return element === arr2[index];\n });\n}\n\nfunction isSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0D || ch === 0x0A;\n}\n\nfunction createPromiseCapability() {\n var capability = Object.create(null);\n var isSettled = false;\n Object.defineProperty(capability, 'settled', {\n get: function get() {\n return isSettled;\n }\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nvar createObjectURL = function createObjectURLClosure() {\n var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n return function createObjectURL(data, contentType) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!forceDataSchema && _url_polyfill.URL.createObjectURL) {\n var blob = new Blob([data], {\n type: contentType\n });\n return _url_polyfill.URL.createObjectURL(blob);\n }\n\n var buffer = 'data:' + contentType + ';base64,';\n\n for (var i = 0, ii = data.length; i < ii; i += 3) {\n var b1 = data[i] & 0xFF;\n var b2 = data[i + 1] & 0xFF;\n var b3 = data[i + 2] & 0xFF;\n var d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n var d3 = i + 1 < ii ? (b2 & 0xF) << 2 | b3 >> 6 : 64;\n var d4 = i + 2 < ii ? b3 & 0x3F : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n\n return buffer;\n };\n}();\n\nexports.createObjectURL = createObjectURL;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar globalScope = __w_pdfjs_require__(3);\n\nif (!globalScope._pdfjsCompatibilityChecked) {\n globalScope._pdfjsCompatibilityChecked = true;\n\n var isNodeJS = __w_pdfjs_require__(4);\n\n var hasDOM = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === 'object' && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === 'object';\n\n (function checkNodeBtoa() {\n if (globalScope.btoa || !isNodeJS()) {\n return;\n }\n\n globalScope.btoa = function (chars) {\n return Buffer.from(chars, 'binary').toString('base64');\n };\n })();\n\n (function checkNodeAtob() {\n if (globalScope.atob || !isNodeJS()) {\n return;\n }\n\n globalScope.atob = function (input) {\n return Buffer.from(input, 'base64').toString('binary');\n };\n })();\n\n (function checkChildNodeRemove() {\n if (!hasDOM) {\n return;\n }\n\n if (typeof Element.prototype.remove !== 'undefined') {\n return;\n }\n\n Element.prototype.remove = function () {\n if (this.parentNode) {\n this.parentNode.removeChild(this);\n }\n };\n })();\n\n (function checkDOMTokenListAddRemove() {\n if (!hasDOM || isNodeJS()) {\n return;\n }\n\n var div = document.createElement('div');\n div.classList.add('testOne', 'testTwo');\n\n if (div.classList.contains('testOne') === true && div.classList.contains('testTwo') === true) {\n return;\n }\n\n var OriginalDOMTokenListAdd = DOMTokenList.prototype.add;\n var OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;\n\n DOMTokenList.prototype.add = function () {\n for (var _len = arguments.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {\n tokens[_key] = arguments[_key];\n }\n\n for (var _i = 0, _tokens = tokens; _i < _tokens.length; _i++) {\n var token = _tokens[_i];\n OriginalDOMTokenListAdd.call(this, token);\n }\n };\n\n DOMTokenList.prototype.remove = function () {\n for (var _len2 = arguments.length, tokens = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n tokens[_key2] = arguments[_key2];\n }\n\n for (var _i2 = 0, _tokens2 = tokens; _i2 < _tokens2.length; _i2++) {\n var token = _tokens2[_i2];\n OriginalDOMTokenListRemove.call(this, token);\n }\n };\n })();\n\n (function checkDOMTokenListToggle() {\n if (!hasDOM || isNodeJS()) {\n return;\n }\n\n var div = document.createElement('div');\n\n if (div.classList.toggle('test', 0) === false) {\n return;\n }\n\n DOMTokenList.prototype.toggle = function (token) {\n var force = arguments.length > 1 ? !!arguments[1] : !this.contains(token);\n return this[force ? 'add' : 'remove'](token), force;\n };\n })();\n\n (function checkStringStartsWith() {\n if (String.prototype.startsWith) {\n return;\n }\n\n __w_pdfjs_require__(5);\n })();\n\n (function checkStringEndsWith() {\n if (String.prototype.endsWith) {\n return;\n }\n\n __w_pdfjs_require__(36);\n })();\n\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(38);\n })();\n\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(40);\n })();\n\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n\n __w_pdfjs_require__(47);\n })();\n\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n\n __w_pdfjs_require__(70);\n })();\n\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n\n Math.log2 = __w_pdfjs_require__(75);\n })();\n\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n\n Number.isNaN = __w_pdfjs_require__(77);\n })();\n\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n\n Number.isInteger = __w_pdfjs_require__(79);\n })();\n\n (function checkPromise() {\n if (globalScope.Promise && globalScope.Promise.prototype && globalScope.Promise.prototype[\"finally\"]) {\n return;\n }\n\n globalScope.Promise = __w_pdfjs_require__(82);\n })();\n\n (function checkWeakMap() {\n if (globalScope.WeakMap) {\n return;\n }\n\n globalScope.WeakMap = __w_pdfjs_require__(102);\n })();\n\n (function checkWeakSet() {\n if (globalScope.WeakSet) {\n return;\n }\n\n globalScope.WeakSet = __w_pdfjs_require__(119);\n })();\n\n (function checkStringCodePointAt() {\n if (String.codePointAt) {\n return;\n }\n\n String.codePointAt = __w_pdfjs_require__(123);\n })();\n\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n\n String.fromCodePoint = __w_pdfjs_require__(125);\n })();\n\n (function checkSymbol() {\n if (globalScope.Symbol) {\n return;\n }\n\n __w_pdfjs_require__(127);\n })();\n\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n\n __w_pdfjs_require__(134);\n })();\n\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n\n __w_pdfjs_require__(138);\n })();\n\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n\n Object.values = __w_pdfjs_require__(140);\n })();\n}\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = typeof window !== 'undefined' && window.Math === Math ? window : typeof global !== 'undefined' && global.Math === Math ? global : typeof self !== 'undefined' && self.Math === Math ? self : {};\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nmodule.exports = function isNodeJS() {\n return (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === 'object' && process + '' === '[object process]' && !process.versions['nw'] && !process.versions['electron'];\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(6);\n\nmodule.exports = __w_pdfjs_require__(9).String.startsWith;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar toLength = __w_pdfjs_require__(28);\n\nvar context = __w_pdfjs_require__(30);\n\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n$export($export.P + $export.F * __w_pdfjs_require__(35)(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith ? $startsWith.call(that, search, index) : that.slice(index, index + search.length) === search;\n }\n});\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar core = __w_pdfjs_require__(9);\n\nvar hide = __w_pdfjs_require__(10);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar ctx = __w_pdfjs_require__(26);\n\nvar PROTOTYPE = 'prototype';\n\nvar $export = function $export(type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n\n for (key in source) {\n own = !IS_FORCED && target && target[key] !== undefined;\n out = (own ? target : source)[key];\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n if (target) redefine(target, key, out, type & $export.U);\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\n\nglobal.core = core;\n$export.F = 1;\n$export.G = 2;\n$export.S = 4;\n$export.P = 8;\n$export.B = 16;\n$export.W = 32;\n$export.U = 64;\n$export.R = 128;\nmodule.exports = $export;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif (typeof __g == 'number') __g = global;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar core = module.exports = {\n version: '2.6.9'\n};\nif (typeof __e == 'number') __e = core;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar dP = __w_pdfjs_require__(11);\n\nvar createDesc = __w_pdfjs_require__(19);\n\nmodule.exports = __w_pdfjs_require__(15) ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(14);\n\nvar toPrimitive = __w_pdfjs_require__(18);\n\nvar dP = Object.defineProperty;\nexports.f = __w_pdfjs_require__(15) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) {}\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nmodule.exports = function (it) {\n return _typeof(it) === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = !__w_pdfjs_require__(15) && !__w_pdfjs_require__(16)(function () {\n return Object.defineProperty(__w_pdfjs_require__(17)('div'), 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = !__w_pdfjs_require__(16)(function () {\n return Object.defineProperty({}, 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar document = __w_pdfjs_require__(8).document;\n\nvar is = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar hide = __w_pdfjs_require__(10);\n\nvar has = __w_pdfjs_require__(21);\n\nvar SRC = __w_pdfjs_require__(22)('src');\n\nvar $toString = __w_pdfjs_require__(23);\n\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\n__w_pdfjs_require__(9).inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar id = 0;\nvar px = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(24)('native-function-to-string', Function.toString);\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar core = __w_pdfjs_require__(9);\n\nvar global = __w_pdfjs_require__(8);\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __w_pdfjs_require__(25) ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = false;\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar aFunction = __w_pdfjs_require__(27);\n\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n\n switch (length) {\n case 1:\n return function (a) {\n return fn.call(that, a);\n };\n\n case 2:\n return function (a, b) {\n return fn.call(that, a, b);\n };\n\n case 3:\n return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n\n return function () {\n return fn.apply(that, arguments);\n };\n};\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(29);\n\nvar min = Math.min;\n\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0;\n};\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isRegExp = __w_pdfjs_require__(31);\n\nvar defined = __w_pdfjs_require__(34);\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar cof = __w_pdfjs_require__(32);\n\nvar MATCH = __w_pdfjs_require__(33)('match');\n\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar store = __w_pdfjs_require__(24)('wks');\n\nvar uid = __w_pdfjs_require__(22);\n\nvar _Symbol = __w_pdfjs_require__(8).Symbol;\n\nvar USE_SYMBOL = typeof _Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] = USE_SYMBOL && _Symbol[name] || (USE_SYMBOL ? _Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar MATCH = __w_pdfjs_require__(33)('match');\n\nmodule.exports = function (KEY) {\n var re = /./;\n\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) {}\n }\n\n return true;\n};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(37);\n\nmodule.exports = __w_pdfjs_require__(9).String.endsWith;\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar toLength = __w_pdfjs_require__(28);\n\nvar context = __w_pdfjs_require__(30);\n\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n$export($export.P + $export.F * __w_pdfjs_require__(35)(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith ? $endsWith.call(that, search, end) : that.slice(end - search.length, end) === search;\n }\n});\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(39);\n\nmodule.exports = __w_pdfjs_require__(9).String.includes;\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar context = __w_pdfjs_require__(30);\n\nvar INCLUDES = 'includes';\n$export($export.P + $export.F * __w_pdfjs_require__(35)(INCLUDES), 'String', {\n includes: function includes(searchString) {\n return !!~context(this, searchString, INCLUDES).indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(41);\n\nmodule.exports = __w_pdfjs_require__(9).Array.includes;\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar $includes = __w_pdfjs_require__(42)(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n__w_pdfjs_require__(46)('includes');\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toIObject = __w_pdfjs_require__(43);\n\nvar toLength = __w_pdfjs_require__(28);\n\nvar toAbsoluteIndex = __w_pdfjs_require__(45);\n\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n if (value != value) return true;\n } else for (; length > index; index++) {\n if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n }\n }\n return !IS_INCLUDES && -1;\n };\n};\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar IObject = __w_pdfjs_require__(44);\n\nvar defined = __w_pdfjs_require__(34);\n\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(32);\n\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(29);\n\nvar max = Math.max;\nvar min = Math.min;\n\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar UNSCOPABLES = __w_pdfjs_require__(33)('unscopables');\n\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) __w_pdfjs_require__(10)(ArrayProto, UNSCOPABLES, {});\n\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(48);\n\n__w_pdfjs_require__(63);\n\nmodule.exports = __w_pdfjs_require__(9).Array.from;\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $at = __w_pdfjs_require__(49)(true);\n\n__w_pdfjs_require__(50)(String, 'String', function (iterated) {\n this._t = String(iterated);\n this._i = 0;\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return {\n value: undefined,\n done: true\n };\n point = $at(O, index);\n this._i += point.length;\n return {\n value: point,\n done: false\n };\n});\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(29);\n\nvar defined = __w_pdfjs_require__(34);\n\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar LIBRARY = __w_pdfjs_require__(25);\n\nvar $export = __w_pdfjs_require__(7);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar hide = __w_pdfjs_require__(10);\n\nvar Iterators = __w_pdfjs_require__(51);\n\nvar $iterCreate = __w_pdfjs_require__(52);\n\nvar setToStringTag = __w_pdfjs_require__(60);\n\nvar getPrototypeOf = __w_pdfjs_require__(61);\n\nvar ITERATOR = __w_pdfjs_require__(33)('iterator');\n\nvar BUGGY = !([].keys && 'next' in [].keys());\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function returnThis() {\n return this;\n};\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n\n var getMethod = function getMethod(kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n\n switch (kind) {\n case KEYS:\n return function keys() {\n return new Constructor(this, kind);\n };\n\n case VALUES:\n return function values() {\n return new Constructor(this, kind);\n };\n }\n\n return function entries() {\n return new Constructor(this, kind);\n };\n };\n\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n setToStringTag(IteratorPrototype, TAG, true);\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n\n $default = function values() {\n return $native.call(this);\n };\n }\n\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n\n return methods;\n};\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {};\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar create = __w_pdfjs_require__(53);\n\nvar descriptor = __w_pdfjs_require__(19);\n\nvar setToStringTag = __w_pdfjs_require__(60);\n\nvar IteratorPrototype = {};\n\n__w_pdfjs_require__(10)(IteratorPrototype, __w_pdfjs_require__(33)('iterator'), function () {\n return this;\n});\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, {\n next: descriptor(1, next)\n });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar dPs = __w_pdfjs_require__(54);\n\nvar enumBugKeys = __w_pdfjs_require__(58);\n\nvar IE_PROTO = __w_pdfjs_require__(57)('IE_PROTO');\n\nvar Empty = function Empty() {};\n\nvar PROTOTYPE = 'prototype';\n\nvar _createDict = function createDict() {\n var iframe = __w_pdfjs_require__(17)('iframe');\n\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n\n __w_pdfjs_require__(59).appendChild(iframe);\n\n iframe.src = 'javascript:';\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n _createDict = iframeDocument.F;\n\n while (i--) {\n delete _createDict[PROTOTYPE][enumBugKeys[i]];\n }\n\n return _createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else result = _createDict();\n\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar dP = __w_pdfjs_require__(11);\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar getKeys = __w_pdfjs_require__(55);\n\nmodule.exports = __w_pdfjs_require__(15) ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n\n while (length > i) {\n dP.f(O, P = keys[i++], Properties[P]);\n }\n\n return O;\n};\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(56);\n\nvar enumBugKeys = __w_pdfjs_require__(58);\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar has = __w_pdfjs_require__(21);\n\nvar toIObject = __w_pdfjs_require__(43);\n\nvar arrayIndexOf = __w_pdfjs_require__(42)(false);\n\nvar IE_PROTO = __w_pdfjs_require__(57)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n\n for (key in O) {\n if (key != IE_PROTO) has(O, key) && result.push(key);\n }\n\n while (names.length > i) {\n if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n }\n\n return result;\n};\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar shared = __w_pdfjs_require__(24)('keys');\n\nvar uid = __w_pdfjs_require__(22);\n\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'.split(',');\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar document = __w_pdfjs_require__(8).document;\n\nmodule.exports = document && document.documentElement;\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar def = __w_pdfjs_require__(11).f;\n\nvar has = __w_pdfjs_require__(21);\n\nvar TAG = __w_pdfjs_require__(33)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, {\n configurable: true,\n value: tag\n });\n};\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar has = __w_pdfjs_require__(21);\n\nvar toObject = __w_pdfjs_require__(62);\n\nvar IE_PROTO = __w_pdfjs_require__(57)('IE_PROTO');\n\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }\n\n return O instanceof Object ? ObjectProto : null;\n};\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar defined = __w_pdfjs_require__(34);\n\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(26);\n\nvar $export = __w_pdfjs_require__(7);\n\nvar toObject = __w_pdfjs_require__(62);\n\nvar call = __w_pdfjs_require__(64);\n\nvar isArrayIter = __w_pdfjs_require__(65);\n\nvar toLength = __w_pdfjs_require__(28);\n\nvar createProperty = __w_pdfjs_require__(66);\n\nvar getIterFn = __w_pdfjs_require__(67);\n\n$export($export.S + $export.F * !__w_pdfjs_require__(69)(function (iter) {\n Array.from(iter);\n}), 'Array', {\n from: function from(arrayLike) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n\n result.length = index;\n return result;\n }\n});\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\n\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar Iterators = __w_pdfjs_require__(51);\n\nvar ITERATOR = __w_pdfjs_require__(33)('iterator');\n\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $defineProperty = __w_pdfjs_require__(11);\n\nvar createDesc = __w_pdfjs_require__(19);\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));else object[index] = value;\n};\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar classof = __w_pdfjs_require__(68);\n\nvar ITERATOR = __w_pdfjs_require__(33)('iterator');\n\nvar Iterators = __w_pdfjs_require__(51);\n\nmodule.exports = __w_pdfjs_require__(9).getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(32);\n\nvar TAG = __w_pdfjs_require__(33)('toStringTag');\n\nvar ARG = cof(function () {\n return arguments;\n}()) == 'Arguments';\n\nvar tryGet = function tryGet(it, key) {\n try {\n return it[key];\n } catch (e) {}\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T : ARG ? cof(O) : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ITERATOR = __w_pdfjs_require__(33)('iterator');\n\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n\n riter['return'] = function () {\n SAFE_CLOSING = true;\n };\n\n Array.from(riter, function () {\n throw 2;\n });\n} catch (e) {}\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n\n iter.next = function () {\n return {\n done: safe = true\n };\n };\n\n arr[ITERATOR] = function () {\n return iter;\n };\n\n exec(arr);\n } catch (e) {}\n\n return safe;\n};\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(71);\n\nmodule.exports = __w_pdfjs_require__(9).Object.assign;\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\n$export($export.S + $export.F, 'Object', {\n assign: __w_pdfjs_require__(72)\n});\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar DESCRIPTORS = __w_pdfjs_require__(15);\n\nvar getKeys = __w_pdfjs_require__(55);\n\nvar gOPS = __w_pdfjs_require__(73);\n\nvar pIE = __w_pdfjs_require__(74);\n\nvar toObject = __w_pdfjs_require__(62);\n\nvar IObject = __w_pdfjs_require__(44);\n\nvar $assign = Object.assign;\nmodule.exports = !$assign || __w_pdfjs_require__(16)(function () {\n var A = {};\n var B = {};\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) {\n B[k] = k;\n });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) {\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n }\n\n return T;\n} : $assign;\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = {}.propertyIsEnumerable;\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(76);\n\nmodule.exports = __w_pdfjs_require__(9).Math.log2;\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(78);\n\nmodule.exports = __w_pdfjs_require__(9).Number.isNaN;\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n return number != number;\n }\n});\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(80);\n\nmodule.exports = __w_pdfjs_require__(9).Number.isInteger;\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\n$export($export.S, 'Number', {\n isInteger: __w_pdfjs_require__(81)\n});\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar floor = Math.floor;\n\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(83);\n\n__w_pdfjs_require__(48);\n\n__w_pdfjs_require__(84);\n\n__w_pdfjs_require__(87);\n\n__w_pdfjs_require__(100);\n\n__w_pdfjs_require__(101);\n\nmodule.exports = __w_pdfjs_require__(9).Promise;\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar classof = __w_pdfjs_require__(68);\n\nvar test = {};\ntest[__w_pdfjs_require__(33)('toStringTag')] = 'z';\n\nif (test + '' != '[object z]') {\n __w_pdfjs_require__(20)(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $iterators = __w_pdfjs_require__(85);\n\nvar getKeys = __w_pdfjs_require__(55);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar global = __w_pdfjs_require__(8);\n\nvar hide = __w_pdfjs_require__(10);\n\nvar Iterators = __w_pdfjs_require__(51);\n\nvar wks = __w_pdfjs_require__(33);\n\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\nvar DOMIterables = {\n CSSRuleList: true,\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true,\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true,\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) {\n if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n }\n}\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar addToUnscopables = __w_pdfjs_require__(46);\n\nvar step = __w_pdfjs_require__(86);\n\nvar Iterators = __w_pdfjs_require__(51);\n\nvar toIObject = __w_pdfjs_require__(43);\n\nmodule.exports = __w_pdfjs_require__(50)(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated);\n this._i = 0;\n this._k = kind;\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\nIterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (done, value) {\n return {\n value: value,\n done: !!done\n };\n};\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar LIBRARY = __w_pdfjs_require__(25);\n\nvar global = __w_pdfjs_require__(8);\n\nvar ctx = __w_pdfjs_require__(26);\n\nvar classof = __w_pdfjs_require__(68);\n\nvar $export = __w_pdfjs_require__(7);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar aFunction = __w_pdfjs_require__(27);\n\nvar anInstance = __w_pdfjs_require__(88);\n\nvar forOf = __w_pdfjs_require__(89);\n\nvar speciesConstructor = __w_pdfjs_require__(90);\n\nvar task = __w_pdfjs_require__(91).set;\n\nvar microtask = __w_pdfjs_require__(93)();\n\nvar newPromiseCapabilityModule = __w_pdfjs_require__(94);\n\nvar perform = __w_pdfjs_require__(95);\n\nvar userAgent = __w_pdfjs_require__(96);\n\nvar promiseResolve = __w_pdfjs_require__(97);\n\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\n\nvar empty = function empty() {};\n\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\nvar USE_NATIVE = !!function () {\n try {\n var promise = $Promise.resolve(1);\n\n var FakePromise = (promise.constructor = {})[__w_pdfjs_require__(33)('species')] = function (exec) {\n exec(empty, empty);\n };\n\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise && v8.indexOf('6.6') !== 0 && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) {}\n}();\n\nvar isThenable = function isThenable(it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function notify(promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n\n var run = function run(reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n\n if (handler === true) result = value;else {\n if (domain) domain.enter();\n result = handler(value);\n\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n\n while (chain.length > i) {\n run(chain[i++]);\n }\n\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\n\nvar onUnhandled = function onUnhandled(promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({\n promise: promise,\n reason: value\n });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n }\n\n promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\n\nvar isUnhandled = function isUnhandled(promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\n\nvar onHandleUnhandled = function onHandleUnhandled(promise) {\n task.call(global, function () {\n var handler;\n\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({\n promise: promise,\n reason: promise._v\n });\n }\n });\n};\n\nvar $reject = function $reject(value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise;\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\n\nvar $resolve = function $resolve(value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise;\n\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = {\n _w: promise,\n _d: false\n };\n\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({\n _w: promise,\n _d: false\n }, e);\n }\n};\n\nif (!USE_NATIVE) {\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n\n Internal = function Promise(executor) {\n this._c = [];\n this._a = undefined;\n this._s = 0;\n this._d = false;\n this._v = undefined;\n this._h = 0;\n this._n = false;\n };\n\n Internal.prototype = __w_pdfjs_require__(98)($Promise.prototype, {\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n\n this._c.push(reaction);\n\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n 'catch': function _catch(onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n\n OwnPromiseCapability = function OwnPromiseCapability() {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function newPromiseCapability(C) {\n return C === $Promise || C === Wrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {\n Promise: $Promise\n});\n\n__w_pdfjs_require__(60)($Promise, PROMISE);\n\n__w_pdfjs_require__(99)(PROMISE);\n\nWrapper = __w_pdfjs_require__(9)[PROMISE];\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __w_pdfjs_require__(69)(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || forbiddenField !== undefined && forbiddenField in it) {\n throw TypeError(name + ': incorrect invocation!');\n }\n\n return it;\n};\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(26);\n\nvar call = __w_pdfjs_require__(64);\n\nvar isArrayIter = __w_pdfjs_require__(65);\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar toLength = __w_pdfjs_require__(28);\n\nvar getIterFn = __w_pdfjs_require__(67);\n\nvar BREAK = {};\nvar RETURN = {};\n\nvar _exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () {\n return iterable;\n } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\n\n_exports.BREAK = BREAK;\n_exports.RETURN = RETURN;\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar aFunction = __w_pdfjs_require__(27);\n\nvar SPECIES = __w_pdfjs_require__(33)('species');\n\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(26);\n\nvar invoke = __w_pdfjs_require__(92);\n\nvar html = __w_pdfjs_require__(59);\n\nvar cel = __w_pdfjs_require__(17);\n\nvar global = __w_pdfjs_require__(8);\n\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function run() {\n var id = +this;\n\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar listener = function listener(event) {\n run.call(event.data);\n};\n\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n\n while (arguments.length > i) {\n args.push(arguments[i++]);\n }\n\n queue[++counter] = function () {\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n\n defer(counter);\n return counter;\n };\n\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n\n if (__w_pdfjs_require__(32)(process) == 'process') {\n defer = function defer(id) {\n process.nextTick(ctx(run, id, 1));\n };\n } else if (Dispatch && Dispatch.now) {\n defer = function defer(id) {\n Dispatch.now(ctx(run, id, 1));\n };\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function defer(id) {\n global.postMessage(id + '', '*');\n };\n\n global.addEventListener('message', listener, false);\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function defer(id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n } else {\n defer = function defer(id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\n\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n\n switch (args.length) {\n case 0:\n return un ? fn() : fn.call(that);\n\n case 1:\n return un ? fn(args[0]) : fn.call(that, args[0]);\n\n case 2:\n return un ? fn(args[0], args[1]) : fn.call(that, args[0], args[1]);\n\n case 3:\n return un ? fn(args[0], args[1], args[2]) : fn.call(that, args[0], args[1], args[2]);\n\n case 4:\n return un ? fn(args[0], args[1], args[2], args[3]) : fn.call(that, args[0], args[1], args[2], args[3]);\n }\n\n return fn.apply(that, args);\n};\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar macrotask = __w_pdfjs_require__(91).set;\n\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __w_pdfjs_require__(32)(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function flush() {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n\n while (head) {\n fn = head.fn;\n head = head.next;\n\n try {\n fn();\n } catch (e) {\n if (head) notify();else last = undefined;\n throw e;\n }\n }\n\n last = undefined;\n if (parent) parent.enter();\n };\n\n if (isNode) {\n notify = function notify() {\n process.nextTick(flush);\n };\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, {\n characterData: true\n });\n\n notify = function notify() {\n node.data = toggle = !toggle;\n };\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve(undefined);\n\n notify = function notify() {\n promise.then(flush);\n };\n } else {\n notify = function notify() {\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = {\n fn: fn,\n next: undefined\n };\n if (last) last.next = task;\n\n if (!head) {\n head = task;\n notify();\n }\n\n last = task;\n };\n};\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar aFunction = __w_pdfjs_require__(27);\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (exec) {\n try {\n return {\n e: false,\n v: exec()\n };\n } catch (e) {\n return {\n e: true,\n v: e\n };\n }\n};\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar navigator = global.navigator;\nmodule.exports = navigator && navigator.userAgent || '';\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar newPromiseCapability = __w_pdfjs_require__(94);\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar redefine = __w_pdfjs_require__(20);\n\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n redefine(target, key, src[key], safe);\n }\n\n return target;\n};\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar dP = __w_pdfjs_require__(11);\n\nvar DESCRIPTORS = __w_pdfjs_require__(15);\n\nvar SPECIES = __w_pdfjs_require__(33)('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function get() {\n return this;\n }\n });\n};\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar core = __w_pdfjs_require__(9);\n\nvar global = __w_pdfjs_require__(8);\n\nvar speciesConstructor = __w_pdfjs_require__(90);\n\nvar promiseResolve = __w_pdfjs_require__(97);\n\n$export($export.P + $export.R, 'Promise', {\n 'finally': function _finally(onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () {\n return x;\n });\n } : onFinally, isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () {\n throw e;\n });\n } : onFinally);\n }\n});\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar newPromiseCapability = __w_pdfjs_require__(94);\n\nvar perform = __w_pdfjs_require__(95);\n\n$export($export.S, 'Promise', {\n 'try': function _try(callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n }\n});\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(83);\n\n__w_pdfjs_require__(84);\n\n__w_pdfjs_require__(103);\n\n__w_pdfjs_require__(115);\n\n__w_pdfjs_require__(117);\n\nmodule.exports = __w_pdfjs_require__(9).WeakMap;\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar each = __w_pdfjs_require__(104)(0);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar meta = __w_pdfjs_require__(108);\n\nvar assign = __w_pdfjs_require__(72);\n\nvar weak = __w_pdfjs_require__(109);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar validate = __w_pdfjs_require__(110);\n\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(110);\n\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function wrapper(get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\nvar $WeakMap = module.exports = __w_pdfjs_require__(111)(WEAK_MAP, wrapper, methods, weak, true, true);\n\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n\n var result = this._f[key](a, b);\n\n return key == 'set' ? this : result;\n }\n\n return method.call(this, a, b);\n });\n });\n}\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(26);\n\nvar IObject = __w_pdfjs_require__(44);\n\nvar toObject = __w_pdfjs_require__(62);\n\nvar toLength = __w_pdfjs_require__(28);\n\nvar asc = __w_pdfjs_require__(105);\n\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n\n for (; length > index; index++) {\n if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n\n if (TYPE) {\n if (IS_MAP) result[index] = res;else if (res) switch (TYPE) {\n case 3:\n return true;\n\n case 5:\n return val;\n\n case 6:\n return index;\n\n case 2:\n result.push(val);\n } else if (IS_EVERY) return false;\n }\n }\n }\n\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar speciesConstructor = __w_pdfjs_require__(106);\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar isArray = __w_pdfjs_require__(107);\n\nvar SPECIES = __w_pdfjs_require__(33)('species');\n\nmodule.exports = function (original) {\n var C;\n\n if (isArray(original)) {\n C = original.constructor;\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n }\n\n return C === undefined ? Array : C;\n};\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(32);\n\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar META = __w_pdfjs_require__(22)('meta');\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar has = __w_pdfjs_require__(21);\n\nvar setDesc = __w_pdfjs_require__(11).f;\n\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar FREEZE = !__w_pdfjs_require__(16)(function () {\n return isExtensible(Object.preventExtensions({}));\n});\n\nvar setMeta = function setMeta(it) {\n setDesc(it, META, {\n value: {\n i: 'O' + ++id,\n w: {}\n }\n });\n};\n\nvar fastKey = function fastKey(it, create) {\n if (!isObject(it)) return _typeof(it) == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n\n if (!has(it, META)) {\n if (!isExtensible(it)) return 'F';\n if (!create) return 'E';\n setMeta(it);\n }\n\n return it[META].i;\n};\n\nvar getWeak = function getWeak(it, create) {\n if (!has(it, META)) {\n if (!isExtensible(it)) return true;\n if (!create) return false;\n setMeta(it);\n }\n\n return it[META].w;\n};\n\nvar onFreeze = function onFreeze(it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\n\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar redefineAll = __w_pdfjs_require__(98);\n\nvar getWeak = __w_pdfjs_require__(108).getWeak;\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar anInstance = __w_pdfjs_require__(88);\n\nvar forOf = __w_pdfjs_require__(89);\n\nvar createArrayMethod = __w_pdfjs_require__(104);\n\nvar $has = __w_pdfjs_require__(21);\n\nvar validate = __w_pdfjs_require__(110);\n\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\nvar uncaughtFrozenStore = function uncaughtFrozenStore(that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function UncaughtFrozenStore() {\n this.a = [];\n};\n\nvar findUncaughtFrozen = function findUncaughtFrozen(store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function get(key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function has(key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function set(key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;else this.a.push([key, value]);\n },\n 'delete': function _delete(key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\nmodule.exports = {\n getConstructor: function getConstructor(wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME;\n that._i = id++;\n that._l = undefined;\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n 'delete': function _delete(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function def(that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar $export = __w_pdfjs_require__(7);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar redefineAll = __w_pdfjs_require__(98);\n\nvar meta = __w_pdfjs_require__(108);\n\nvar forOf = __w_pdfjs_require__(89);\n\nvar anInstance = __w_pdfjs_require__(88);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar fails = __w_pdfjs_require__(16);\n\nvar $iterDetect = __w_pdfjs_require__(69);\n\nvar setToStringTag = __w_pdfjs_require__(60);\n\nvar inheritIfRequired = __w_pdfjs_require__(112);\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n\n var fixMethod = function fixMethod(KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY, KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) {\n fn.call(this, a === 0 ? 0 : a);\n return this;\n } : function set(a, b) {\n fn.call(this, a === 0 ? 0 : a, b);\n return this;\n });\n };\n\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n var THROWS_ON_PRIMITIVES = fails(function () {\n instance.has(1);\n });\n var ACCEPT_ITERABLES = $iterDetect(function (iter) {\n new C(iter);\n });\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n var $instance = new C();\n var index = 5;\n\n while (index--) {\n $instance[ADDER](index, index);\n }\n\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n return C;\n};\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar setPrototypeOf = __w_pdfjs_require__(113).set;\n\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n }\n\n return that;\n};\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar check = function check(O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\n\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? function (test, buggy, set) {\n try {\n set = __w_pdfjs_require__(26)(Function.call, __w_pdfjs_require__(114).f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) {\n buggy = true;\n }\n\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pIE = __w_pdfjs_require__(74);\n\nvar createDesc = __w_pdfjs_require__(19);\n\nvar toIObject = __w_pdfjs_require__(43);\n\nvar toPrimitive = __w_pdfjs_require__(18);\n\nvar has = __w_pdfjs_require__(21);\n\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(14);\n\nvar gOPD = Object.getOwnPropertyDescriptor;\nexports.f = __w_pdfjs_require__(15) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) {}\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(116)('WeakMap');\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, {\n of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n\n while (length--) {\n A[length] = arguments[length];\n }\n\n return new this(A);\n }\n });\n};\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(118)('WeakMap');\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar aFunction = __w_pdfjs_require__(27);\n\nvar ctx = __w_pdfjs_require__(26);\n\nvar forOf = __w_pdfjs_require__(89);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, {\n from: function from(source) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n\n return new this(A);\n }\n });\n};\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(83);\n\n__w_pdfjs_require__(84);\n\n__w_pdfjs_require__(120);\n\n__w_pdfjs_require__(121);\n\n__w_pdfjs_require__(122);\n\nmodule.exports = __w_pdfjs_require__(9).WeakSet;\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar weak = __w_pdfjs_require__(109);\n\nvar validate = __w_pdfjs_require__(110);\n\nvar WEAK_SET = 'WeakSet';\n\n__w_pdfjs_require__(111)(WEAK_SET, function (get) {\n return function WeakSet() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n}, {\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(116)('WeakSet');\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(118)('WeakSet');\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(124);\n\nmodule.exports = __w_pdfjs_require__(9).String.codePointAt;\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar $at = __w_pdfjs_require__(49)(false);\n\n$export($export.P, 'String', {\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(126);\n\nmodule.exports = __w_pdfjs_require__(9).String.fromCodePoint;\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar toAbsoluteIndex = __w_pdfjs_require__(45);\n\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n fromCodePoint: function fromCodePoint(x) {\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00));\n }\n\n return res.join('');\n }\n});\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(128);\n\n__w_pdfjs_require__(83);\n\nmodule.exports = __w_pdfjs_require__(9).Symbol;\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar global = __w_pdfjs_require__(8);\n\nvar has = __w_pdfjs_require__(21);\n\nvar DESCRIPTORS = __w_pdfjs_require__(15);\n\nvar $export = __w_pdfjs_require__(7);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar META = __w_pdfjs_require__(108).KEY;\n\nvar $fails = __w_pdfjs_require__(16);\n\nvar shared = __w_pdfjs_require__(24);\n\nvar setToStringTag = __w_pdfjs_require__(60);\n\nvar uid = __w_pdfjs_require__(22);\n\nvar wks = __w_pdfjs_require__(33);\n\nvar wksExt = __w_pdfjs_require__(129);\n\nvar wksDefine = __w_pdfjs_require__(130);\n\nvar enumKeys = __w_pdfjs_require__(131);\n\nvar isArray = __w_pdfjs_require__(107);\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar toObject = __w_pdfjs_require__(62);\n\nvar toIObject = __w_pdfjs_require__(43);\n\nvar toPrimitive = __w_pdfjs_require__(18);\n\nvar createDesc = __w_pdfjs_require__(19);\n\nvar _create = __w_pdfjs_require__(53);\n\nvar gOPNExt = __w_pdfjs_require__(132);\n\nvar $GOPD = __w_pdfjs_require__(114);\n\nvar $GOPS = __w_pdfjs_require__(73);\n\nvar $DP = __w_pdfjs_require__(11);\n\nvar $keys = __w_pdfjs_require__(55);\n\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\n\nvar _stringify = $JSON && $JSON.stringify;\n\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function get() {\n return dP(this, 'a', {\n value: 7\n }).a;\n }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function wrap(tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && _typeof($Symbol.iterator) == 'symbol' ? function (it) {\n return _typeof(it) == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, {\n enumerable: createDesc(0, false)\n });\n }\n\n return setSymbolDesc(it, key, D);\n }\n\n return dP(it, key, D);\n};\n\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n\n while (l > i) {\n $defineProperty(it, key = keys[i++], P[key]);\n }\n\n return it;\n};\n\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n }\n\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n }\n\n return result;\n};\n\nif (!USE_NATIVE) {\n $Symbol = function _Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n\n var $set = function $set(value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, {\n configurable: true,\n set: $set\n });\n return wrap(tag);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n __w_pdfjs_require__(133).f = gOPNExt.f = $getOwnPropertyNames;\n __w_pdfjs_require__(74).f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !__w_pdfjs_require__(25)) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {\n Symbol: $Symbol\n});\n\nfor (var es6Symbols = 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'.split(','), j = 0; es6Symbols.length > j;) {\n wks(es6Symbols[j++]);\n}\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) {\n wksDefine(wellKnownSymbols[k++]);\n}\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n 'for': function _for(key) {\n return has(SymbolRegistry, key += '') ? SymbolRegistry[key] : SymbolRegistry[key] = $Symbol(key);\n },\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n\n for (var key in SymbolRegistry) {\n if (SymbolRegistry[key] === sym) return key;\n }\n },\n useSetter: function useSetter() {\n setter = true;\n },\n useSimple: function useSimple() {\n setter = false;\n }\n});\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n create: $create,\n defineProperty: $defineProperty,\n defineProperties: $defineProperties,\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n getOwnPropertyNames: $getOwnPropertyNames,\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\nvar FAILS_ON_PRIMITIVES = $fails(function () {\n $GOPS.f(1);\n});\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n return _stringify([S]) != '[null]' || _stringify({\n a: S\n }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n\n while (arguments.length > i) {\n args.push(arguments[i++]);\n }\n\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return;\n if (!isArray(replacer)) replacer = function replacer(key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __w_pdfjs_require__(10)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\nsetToStringTag($Symbol, 'Symbol');\nsetToStringTag(Math, 'Math', true);\nsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = __w_pdfjs_require__(33);\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar core = __w_pdfjs_require__(9);\n\nvar LIBRARY = __w_pdfjs_require__(25);\n\nvar wksExt = __w_pdfjs_require__(129);\n\nvar defineProperty = __w_pdfjs_require__(11).f;\n\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, {\n value: wksExt.f(name)\n });\n};\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar getKeys = __w_pdfjs_require__(55);\n\nvar gOPS = __w_pdfjs_require__(73);\n\nvar pIE = __w_pdfjs_require__(74);\n\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n\n while (symbols.length > i) {\n if (isEnum.call(it, key = symbols[i++])) result.push(key);\n }\n }\n\n return result;\n};\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar toIObject = __w_pdfjs_require__(43);\n\nvar gOPN = __w_pdfjs_require__(133).f;\n\nvar toString = {}.toString;\nvar windowNames = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function getWindowNames(it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(56);\n\nvar hiddenKeys = __w_pdfjs_require__(58).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(135);\n\nmodule.exports = __w_pdfjs_require__(9).String.padStart;\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar $pad = __w_pdfjs_require__(136);\n\nvar userAgent = __w_pdfjs_require__(96);\n\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padStart: function padStart(maxLength) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toLength = __w_pdfjs_require__(28);\n\nvar repeat = __w_pdfjs_require__(137);\n\nvar defined = __w_pdfjs_require__(34);\n\nmodule.exports = function (that, maxLength, fillString, left) {\n var S = String(defined(that));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n if (intMaxLength <= stringLength || fillStr == '') return S;\n var fillLen = intMaxLength - stringLength;\n var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(29);\n\nvar defined = __w_pdfjs_require__(34);\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n\n for (; n > 0; (n >>>= 1) && (str += str)) {\n if (n & 1) res += str;\n }\n\n return res;\n};\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(139);\n\nmodule.exports = __w_pdfjs_require__(9).String.padEnd;\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar $pad = __w_pdfjs_require__(136);\n\nvar userAgent = __w_pdfjs_require__(96);\n\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padEnd: function padEnd(maxLength) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(141);\n\nmodule.exports = __w_pdfjs_require__(9).Object.values;\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar $values = __w_pdfjs_require__(142)(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar DESCRIPTORS = __w_pdfjs_require__(15);\n\nvar getKeys = __w_pdfjs_require__(55);\n\nvar toIObject = __w_pdfjs_require__(43);\n\nvar isEnum = __w_pdfjs_require__(74).f;\n\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n\n while (length > i) {\n key = keys[i++];\n\n if (!DESCRIPTORS || isEnum.call(O, key)) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n\n return result;\n };\n};\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n{\n var isReadableStreamSupported = false;\n\n if (typeof ReadableStream !== 'undefined') {\n try {\n new ReadableStream({\n start: function start(controller) {\n controller.close();\n }\n });\n isReadableStreamSupported = true;\n } catch (e) {}\n }\n\n if (isReadableStreamSupported) {\n exports.ReadableStream = ReadableStream;\n } else {\n exports.ReadableStream = __w_pdfjs_require__(144).ReadableStream;\n }\n}\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\n(function (e, a) {\n for (var i in a) {\n e[i] = a[i];\n }\n})(exports, function (modules) {\n var installedModules = {};\n\n function __w_pdfjs_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: false,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n module.l = true;\n return module.exports;\n }\n\n __w_pdfjs_require__.m = modules;\n __w_pdfjs_require__.c = installedModules;\n\n __w_pdfjs_require__.i = function (value) {\n return value;\n };\n\n __w_pdfjs_require__.d = function (exports, name, getter) {\n if (!__w_pdfjs_require__.o(exports, name)) {\n Object.defineProperty(exports, name, {\n configurable: false,\n enumerable: true,\n get: getter\n });\n }\n };\n\n __w_pdfjs_require__.n = function (module) {\n var getter = module && module.__esModule ? function getDefault() {\n return module['default'];\n } : function getModuleExports() {\n return module;\n };\n\n __w_pdfjs_require__.d(getter, 'a', getter);\n\n return getter;\n };\n\n __w_pdfjs_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n\n __w_pdfjs_require__.p = \"\";\n return __w_pdfjs_require__(__w_pdfjs_require__.s = 7);\n}([function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return _typeof2(obj);\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n\n var _require = __w_pdfjs_require__(1),\n assert = _require.assert;\n\n function IsPropertyKey(argument) {\n return typeof argument === 'string' || (typeof argument === 'undefined' ? 'undefined' : _typeof(argument)) === 'symbol';\n }\n\n exports.typeIsObject = function (x) {\n return (typeof x === 'undefined' ? 'undefined' : _typeof(x)) === 'object' && x !== null || typeof x === 'function';\n };\n\n exports.createDataProperty = function (o, p, v) {\n assert(exports.typeIsObject(o));\n Object.defineProperty(o, p, {\n value: v,\n writable: true,\n enumerable: true,\n configurable: true\n });\n };\n\n exports.createArrayFromList = function (elements) {\n return elements.slice();\n };\n\n exports.ArrayBufferCopy = function (dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n };\n\n exports.CreateIterResultObject = function (value, done) {\n assert(typeof done === 'boolean');\n var obj = {};\n Object.defineProperty(obj, 'value', {\n value: value,\n enumerable: true,\n writable: true,\n configurable: true\n });\n Object.defineProperty(obj, 'done', {\n value: done,\n enumerable: true,\n writable: true,\n configurable: true\n });\n return obj;\n };\n\n exports.IsFiniteNonNegativeNumber = function (v) {\n if (Number.isNaN(v)) {\n return false;\n }\n\n if (v === Infinity) {\n return false;\n }\n\n if (v < 0) {\n return false;\n }\n\n return true;\n };\n\n function Call(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n\n return Function.prototype.apply.call(F, V, args);\n }\n\n exports.InvokeOrNoop = function (O, P, args) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n var method = O[P];\n\n if (method === undefined) {\n return undefined;\n }\n\n return Call(method, O, args);\n };\n\n exports.PromiseInvokeOrNoop = function (O, P, args) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n\n try {\n return Promise.resolve(exports.InvokeOrNoop(O, P, args));\n } catch (returnValueE) {\n return Promise.reject(returnValueE);\n }\n };\n\n exports.PromiseInvokeOrPerformFallback = function (O, P, args, F, argsF) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n assert(Array.isArray(argsF));\n var method = void 0;\n\n try {\n method = O[P];\n } catch (methodE) {\n return Promise.reject(methodE);\n }\n\n if (method === undefined) {\n return F.apply(null, argsF);\n }\n\n try {\n return Promise.resolve(Call(method, O, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n\n exports.TransferArrayBuffer = function (O) {\n return O.slice();\n };\n\n exports.ValidateAndNormalizeHighWaterMark = function (highWaterMark) {\n highWaterMark = Number(highWaterMark);\n\n if (Number.isNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\n }\n\n return highWaterMark;\n };\n\n exports.ValidateAndNormalizeQueuingStrategy = function (size, highWaterMark) {\n if (size !== undefined && typeof size !== 'function') {\n throw new TypeError('size property of a queuing strategy must be a function');\n }\n\n highWaterMark = exports.ValidateAndNormalizeHighWaterMark(highWaterMark);\n return {\n size: size,\n highWaterMark: highWaterMark\n };\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n function rethrowAssertionErrorRejection(e) {\n if (e && e.constructor === AssertionError) {\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n\n function AssertionError(message) {\n this.name = 'AssertionError';\n this.message = message || '';\n this.stack = new Error().stack;\n }\n\n AssertionError.prototype = Object.create(Error.prototype);\n AssertionError.prototype.constructor = AssertionError;\n\n function assert(value, message) {\n if (!value) {\n throw new AssertionError(message);\n }\n }\n\n module.exports = {\n rethrowAssertionErrorRejection: rethrowAssertionErrorRejection,\n AssertionError: AssertionError,\n assert: assert\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _require = __w_pdfjs_require__(0),\n InvokeOrNoop = _require.InvokeOrNoop,\n PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop,\n ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy,\n typeIsObject = _require.typeIsObject;\n\n var _require2 = __w_pdfjs_require__(1),\n assert = _require2.assert,\n rethrowAssertionErrorRejection = _require2.rethrowAssertionErrorRejection;\n\n var _require3 = __w_pdfjs_require__(3),\n DequeueValue = _require3.DequeueValue,\n EnqueueValueWithSize = _require3.EnqueueValueWithSize,\n PeekQueueValue = _require3.PeekQueueValue,\n ResetQueue = _require3.ResetQueue;\n\n var WritableStream = function () {\n function WritableStream() {\n var underlyingSink = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n size = _ref.size,\n _ref$highWaterMark = _ref.highWaterMark,\n highWaterMark = _ref$highWaterMark === undefined ? 1 : _ref$highWaterMark;\n\n _classCallCheck(this, WritableStream);\n\n this._state = 'writable';\n this._storedError = undefined;\n this._writer = undefined;\n this._writableStreamController = undefined;\n this._writeRequests = [];\n this._inFlightWriteRequest = undefined;\n this._closeRequest = undefined;\n this._inFlightCloseRequest = undefined;\n this._pendingAbortRequest = undefined;\n this._backpressure = false;\n var type = underlyingSink.type;\n\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n\n this._writableStreamController = new WritableStreamDefaultController(this, underlyingSink, size, highWaterMark);\n\n this._writableStreamController.__startSteps();\n }\n\n _createClass(WritableStream, [{\n key: 'abort',\n value: function abort(reason) {\n if (IsWritableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('abort'));\n }\n\n if (IsWritableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot abort a stream that already has a writer'));\n }\n\n return WritableStreamAbort(this, reason);\n }\n }, {\n key: 'getWriter',\n value: function getWriter() {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('getWriter');\n }\n\n return AcquireWritableStreamDefaultWriter(this);\n }\n }, {\n key: 'locked',\n get: function get() {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n\n return IsWritableStreamLocked(this);\n }\n }]);\n\n return WritableStream;\n }();\n\n module.exports = {\n AcquireWritableStreamDefaultWriter: AcquireWritableStreamDefaultWriter,\n IsWritableStream: IsWritableStream,\n IsWritableStreamLocked: IsWritableStreamLocked,\n WritableStream: WritableStream,\n WritableStreamAbort: WritableStreamAbort,\n WritableStreamDefaultControllerError: WritableStreamDefaultControllerError,\n WritableStreamDefaultWriterCloseWithErrorPropagation: WritableStreamDefaultWriterCloseWithErrorPropagation,\n WritableStreamDefaultWriterRelease: WritableStreamDefaultWriterRelease,\n WritableStreamDefaultWriterWrite: WritableStreamDefaultWriterWrite,\n WritableStreamCloseQueuedOrInFlight: WritableStreamCloseQueuedOrInFlight\n };\n\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n\n function IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n\n return true;\n }\n\n function IsWritableStreamLocked(stream) {\n assert(IsWritableStream(stream) === true, 'IsWritableStreamLocked should only be used on known writable streams');\n\n if (stream._writer === undefined) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamAbort(stream, reason) {\n var state = stream._state;\n\n if (state === 'closed') {\n return Promise.resolve(undefined);\n }\n\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n var error = new TypeError('Requested to abort');\n\n if (stream._pendingAbortRequest !== undefined) {\n return Promise.reject(error);\n }\n\n assert(state === 'writable' || state === 'erroring', 'state must be writable or erroring');\n var wasAlreadyErroring = false;\n\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n reason = undefined;\n }\n\n var promise = new Promise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n\n if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, error);\n }\n\n return promise;\n }\n\n function WritableStreamAddWriteRequest(stream) {\n assert(IsWritableStreamLocked(stream) === true);\n assert(stream._state === 'writable');\n var promise = new Promise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n }\n\n function WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n\n assert(state === 'erroring');\n WritableStreamFinishErroring(stream);\n }\n\n function WritableStreamStartErroring(stream, reason) {\n assert(stream._storedError === undefined, 'stream._storedError === undefined');\n assert(stream._state === 'writable', 'state must be writable');\n var controller = stream._writableStreamController;\n assert(controller !== undefined, 'controller must not be undefined');\n stream._state = 'erroring';\n stream._storedError = reason;\n var writer = stream._writer;\n\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n\n if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\n WritableStreamFinishErroring(stream);\n }\n }\n\n function WritableStreamFinishErroring(stream) {\n assert(stream._state === 'erroring', 'stream._state === erroring');\n assert(WritableStreamHasOperationMarkedInFlight(stream) === false, 'WritableStreamHasOperationMarkedInFlight(stream) === false');\n stream._state = 'errored';\n\n stream._writableStreamController.__errorSteps();\n\n var storedError = stream._storedError;\n\n for (var i = 0; i < stream._writeRequests.length; i++) {\n var writeRequest = stream._writeRequests[i];\n\n writeRequest._reject(storedError);\n }\n\n stream._writeRequests = [];\n\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n\n if (abortRequest._wasAlreadyErroring === true) {\n abortRequest._reject(storedError);\n\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n\n var promise = stream._writableStreamController.__abortSteps(abortRequest._reason);\n\n promise.then(function () {\n abortRequest._resolve();\n\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n }\n\n function WritableStreamFinishInFlightWrite(stream) {\n assert(stream._inFlightWriteRequest !== undefined);\n\n stream._inFlightWriteRequest._resolve(undefined);\n\n stream._inFlightWriteRequest = undefined;\n }\n\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n assert(stream._inFlightWriteRequest !== undefined);\n\n stream._inFlightWriteRequest._reject(error);\n\n stream._inFlightWriteRequest = undefined;\n assert(stream._state === 'writable' || stream._state === 'erroring');\n WritableStreamDealWithRejection(stream, error);\n }\n\n function WritableStreamFinishInFlightClose(stream) {\n assert(stream._inFlightCloseRequest !== undefined);\n\n stream._inFlightCloseRequest._resolve(undefined);\n\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n assert(state === 'writable' || state === 'erroring');\n\n if (state === 'erroring') {\n stream._storedError = undefined;\n\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n\n stream._pendingAbortRequest = undefined;\n }\n }\n\n stream._state = 'closed';\n var writer = stream._writer;\n\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n\n assert(stream._pendingAbortRequest === undefined, 'stream._pendingAbortRequest === undefined');\n assert(stream._storedError === undefined, 'stream._storedError === undefined');\n }\n\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n assert(stream._inFlightCloseRequest !== undefined);\n\n stream._inFlightCloseRequest._reject(error);\n\n stream._inFlightCloseRequest = undefined;\n assert(stream._state === 'writable' || stream._state === 'erroring');\n\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n\n stream._pendingAbortRequest = undefined;\n }\n\n WritableStreamDealWithRejection(stream, error);\n }\n\n function WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamMarkCloseRequestInFlight(stream) {\n assert(stream._inFlightCloseRequest === undefined);\n assert(stream._closeRequest !== undefined);\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n }\n\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n assert(stream._inFlightWriteRequest === undefined, 'there must be no pending write request');\n assert(stream._writeRequests.length !== 0, 'writeRequests must not be empty');\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n assert(stream._state === 'errored', '_stream_.[[state]] is `\"errored\"`');\n\n if (stream._closeRequest !== undefined) {\n assert(stream._inFlightCloseRequest === undefined);\n\n stream._closeRequest._reject(stream._storedError);\n\n stream._closeRequest = undefined;\n }\n\n var writer = stream._writer;\n\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n\n writer._closedPromise[\"catch\"](function () {});\n }\n }\n\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n assert(stream._state === 'writable');\n assert(WritableStreamCloseQueuedOrInFlight(stream) === false);\n var writer = stream._writer;\n\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure === true) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n assert(backpressure === false);\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n\n stream._backpressure = backpressure;\n }\n\n var WritableStreamDefaultWriter = function () {\n function WritableStreamDefaultWriter(stream) {\n _classCallCheck(this, WritableStreamDefaultWriter);\n\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\n }\n\n if (IsWritableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n\n if (state === 'writable') {\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\n defaultWriterReadyPromiseInitialize(this);\n } else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n\n this._readyPromise[\"catch\"](function () {});\n\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n } else {\n assert(state === 'errored', 'state must be errored');\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n\n this._readyPromise[\"catch\"](function () {});\n\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n\n this._closedPromise[\"catch\"](function () {});\n }\n }\n\n _createClass(WritableStreamDefaultWriter, [{\n key: 'abort',\n value: function abort(reason) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('abort'));\n }\n\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('abort'));\n }\n\n return WritableStreamDefaultWriterAbort(this, reason);\n }\n }, {\n key: 'close',\n value: function close() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('close'));\n }\n\n var stream = this._ownerWritableStream;\n\n if (stream === undefined) {\n return Promise.reject(defaultWriterLockException('close'));\n }\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return Promise.reject(new TypeError('cannot close an already-closing stream'));\n }\n\n return WritableStreamDefaultWriterClose(this);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n\n var stream = this._ownerWritableStream;\n\n if (stream === undefined) {\n return;\n }\n\n assert(stream._writer !== undefined);\n WritableStreamDefaultWriterRelease(this);\n }\n }, {\n key: 'write',\n value: function write(chunk) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('write'));\n }\n\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n\n return WritableStreamDefaultWriterWrite(this, chunk);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('closed'));\n }\n\n return this._closedPromise;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n\n return WritableStreamDefaultWriterGetDesiredSize(this);\n }\n }, {\n key: 'ready',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('ready'));\n }\n\n return this._readyPromise;\n }\n }]);\n\n return WritableStreamDefaultWriter;\n }();\n\n function IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n return WritableStreamAbort(stream, reason);\n }\n\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var state = stream._state;\n\n if (state === 'closed' || state === 'errored') {\n return Promise.reject(new TypeError('The stream (in ' + state + ' state) is not in the writable state and cannot be closed'));\n }\n\n assert(state === 'writable' || state === 'erroring');\n assert(WritableStreamCloseQueuedOrInFlight(stream) === false);\n var promise = new Promise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n\n if (stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var state = stream._state;\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.resolve();\n }\n\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n assert(state === 'writable' || state === 'erroring');\n return WritableStreamDefaultWriterClose(writer);\n }\n\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n\n writer._closedPromise[\"catch\"](function () {});\n }\n\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n\n writer._readyPromise[\"catch\"](function () {});\n }\n\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n\n if (state === 'closed') {\n return 0;\n }\n\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n }\n\n function WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n assert(stream._writer === writer);\n var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n stream._writer = undefined;\n writer._ownerWritableStream = undefined;\n }\n\n function WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n\n if (stream !== writer._ownerWritableStream) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n\n var state = stream._state;\n\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.reject(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n\n if (state === 'erroring') {\n return Promise.reject(stream._storedError);\n }\n\n assert(state === 'writable');\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n\n var WritableStreamDefaultController = function () {\n function WritableStreamDefaultController(stream, underlyingSink, size, highWaterMark) {\n _classCallCheck(this, WritableStreamDefaultController);\n\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultController can only be constructed with a WritableStream instance');\n }\n\n if (stream._writableStreamController !== undefined) {\n throw new TypeError('WritableStreamDefaultController instances can only be created by the WritableStream constructor');\n }\n\n this._controlledWritableStream = stream;\n this._underlyingSink = underlyingSink;\n this._queue = undefined;\n this._queueTotalSize = undefined;\n ResetQueue(this);\n this._started = false;\n var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark);\n this._strategySize = normalizedStrategy.size;\n this._strategyHWM = normalizedStrategy.highWaterMark;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(this);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n\n _createClass(WritableStreamDefaultController, [{\n key: 'error',\n value: function error(e) {\n if (IsWritableStreamDefaultController(this) === false) {\n throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\n }\n\n var state = this._controlledWritableStream._state;\n\n if (state !== 'writable') {\n return;\n }\n\n WritableStreamDefaultControllerError(this, e);\n }\n }, {\n key: '__abortSteps',\n value: function __abortSteps(reason) {\n return PromiseInvokeOrNoop(this._underlyingSink, 'abort', [reason]);\n }\n }, {\n key: '__errorSteps',\n value: function __errorSteps() {\n ResetQueue(this);\n }\n }, {\n key: '__startSteps',\n value: function __startSteps() {\n var _this = this;\n\n var startResult = InvokeOrNoop(this._underlyingSink, 'start', [this]);\n var stream = this._controlledWritableStream;\n Promise.resolve(startResult).then(function () {\n assert(stream._state === 'writable' || stream._state === 'erroring');\n _this._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(_this);\n }, function (r) {\n assert(stream._state === 'writable' || stream._state === 'erroring');\n _this._started = true;\n WritableStreamDealWithRejection(stream, r);\n })[\"catch\"](rethrowAssertionErrorRejection);\n }\n }]);\n\n return WritableStreamDefaultController;\n }();\n\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n var strategySize = controller._strategySize;\n\n if (strategySize === undefined) {\n return 1;\n }\n\n try {\n return strategySize(chunk);\n } catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n }\n\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n }\n\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n var writeRecord = {\n chunk: chunk\n };\n\n try {\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n\n var stream = controller._controlledWritableStream;\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n\n function IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSink')) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n\n if (controller._started === false) {\n return;\n }\n\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n\n var state = stream._state;\n\n if (state === 'closed' || state === 'errored') {\n return;\n }\n\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n\n if (controller._queue.length === 0) {\n return;\n }\n\n var writeRecord = PeekQueueValue(controller);\n\n if (writeRecord === 'close') {\n WritableStreamDefaultControllerProcessClose(controller);\n } else {\n WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\n }\n }\n\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n }\n\n function WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n assert(controller._queue.length === 0, 'queue must be empty once the final write record is dequeued');\n var sinkClosePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'close', []);\n sinkClosePromise.then(function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n })[\"catch\"](rethrowAssertionErrorRejection);\n }\n\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'write', [chunk, controller]);\n sinkWritePromise.then(function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n assert(state === 'writable' || state === 'erroring');\n DequeueValue(controller);\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n })[\"catch\"](rethrowAssertionErrorRejection);\n }\n\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n }\n\n function WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n assert(stream._state === 'writable');\n WritableStreamStartErroring(stream, error);\n }\n\n function streamBrandCheckException(name) {\n return new TypeError('WritableStream.prototype.' + name + ' can only be used on a WritableStream');\n }\n\n function defaultWriterBrandCheckException(name) {\n return new TypeError('WritableStreamDefaultWriter.prototype.' + name + ' can only be used on a WritableStreamDefaultWriter');\n }\n\n function defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n }\n\n function defaultWriterClosedPromiseInitialize(writer) {\n writer._closedPromise = new Promise(function (resolve, reject) {\n writer._closedPromise_resolve = resolve;\n writer._closedPromise_reject = reject;\n writer._closedPromiseState = 'pending';\n });\n }\n\n function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n writer._closedPromise = Promise.reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n writer._closedPromise = Promise.resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n\n function defaultWriterClosedPromiseReject(writer, reason) {\n assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined');\n assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined');\n assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending');\n\n writer._closedPromise_reject(reason);\n\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n assert(writer._closedPromise_resolve === undefined, 'writer._closedPromise_resolve === undefined');\n assert(writer._closedPromise_reject === undefined, 'writer._closedPromise_reject === undefined');\n assert(writer._closedPromiseState !== 'pending', 'writer._closedPromiseState is not pending');\n writer._closedPromise = Promise.reject(reason);\n writer._closedPromiseState = 'rejected';\n }\n\n function defaultWriterClosedPromiseResolve(writer) {\n assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined');\n assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined');\n assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending');\n\n writer._closedPromise_resolve(undefined);\n\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n\n function defaultWriterReadyPromiseInitialize(writer) {\n writer._readyPromise = new Promise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n\n function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n writer._readyPromise = Promise.reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n writer._readyPromise = Promise.resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n\n function defaultWriterReadyPromiseReject(writer, reason) {\n assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined');\n assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined');\n\n writer._readyPromise_reject(reason);\n\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n\n function defaultWriterReadyPromiseReset(writer) {\n assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined');\n assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined');\n writer._readyPromise = new Promise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined');\n assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined');\n writer._readyPromise = Promise.reject(reason);\n writer._readyPromiseState = 'rejected';\n }\n\n function defaultWriterReadyPromiseResolve(writer) {\n assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined');\n assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined');\n\n writer._readyPromise_resolve(undefined);\n\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _require = __w_pdfjs_require__(0),\n IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber;\n\n var _require2 = __w_pdfjs_require__(1),\n assert = _require2.assert;\n\n exports.DequeueValue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: DequeueValue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n assert(container._queue.length > 0, 'Spec-level failure: should never dequeue from an empty queue.');\n\n var pair = container._queue.shift();\n\n container._queueTotalSize -= pair.size;\n\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n\n return pair.value;\n };\n\n exports.EnqueueValueWithSize = function (container, value, size) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: EnqueueValueWithSize should only be used on containers with [[queue]] and ' + '[[queueTotalSize]].');\n size = Number(size);\n\n if (!IsFiniteNonNegativeNumber(size)) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n\n container._queue.push({\n value: value,\n size: size\n });\n\n container._queueTotalSize += size;\n };\n\n exports.PeekQueueValue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: PeekQueueValue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n assert(container._queue.length > 0, 'Spec-level failure: should never peek at an empty queue.');\n var pair = container._queue[0];\n return pair.value;\n };\n\n exports.ResetQueue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: ResetQueue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n container._queue = [];\n container._queueTotalSize = 0;\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _require = __w_pdfjs_require__(0),\n ArrayBufferCopy = _require.ArrayBufferCopy,\n CreateIterResultObject = _require.CreateIterResultObject,\n IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber,\n InvokeOrNoop = _require.InvokeOrNoop,\n PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop,\n TransferArrayBuffer = _require.TransferArrayBuffer,\n ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy,\n ValidateAndNormalizeHighWaterMark = _require.ValidateAndNormalizeHighWaterMark;\n\n var _require2 = __w_pdfjs_require__(0),\n createArrayFromList = _require2.createArrayFromList,\n createDataProperty = _require2.createDataProperty,\n typeIsObject = _require2.typeIsObject;\n\n var _require3 = __w_pdfjs_require__(1),\n assert = _require3.assert,\n rethrowAssertionErrorRejection = _require3.rethrowAssertionErrorRejection;\n\n var _require4 = __w_pdfjs_require__(3),\n DequeueValue = _require4.DequeueValue,\n EnqueueValueWithSize = _require4.EnqueueValueWithSize,\n ResetQueue = _require4.ResetQueue;\n\n var _require5 = __w_pdfjs_require__(2),\n AcquireWritableStreamDefaultWriter = _require5.AcquireWritableStreamDefaultWriter,\n IsWritableStream = _require5.IsWritableStream,\n IsWritableStreamLocked = _require5.IsWritableStreamLocked,\n WritableStreamAbort = _require5.WritableStreamAbort,\n WritableStreamDefaultWriterCloseWithErrorPropagation = _require5.WritableStreamDefaultWriterCloseWithErrorPropagation,\n WritableStreamDefaultWriterRelease = _require5.WritableStreamDefaultWriterRelease,\n WritableStreamDefaultWriterWrite = _require5.WritableStreamDefaultWriterWrite,\n WritableStreamCloseQueuedOrInFlight = _require5.WritableStreamCloseQueuedOrInFlight;\n\n var ReadableStream = function () {\n function ReadableStream() {\n var underlyingSource = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n size = _ref.size,\n highWaterMark = _ref.highWaterMark;\n\n _classCallCheck(this, ReadableStream);\n\n this._state = 'readable';\n this._reader = undefined;\n this._storedError = undefined;\n this._disturbed = false;\n this._readableStreamController = undefined;\n var type = underlyingSource.type;\n var typeString = String(type);\n\n if (typeString === 'bytes') {\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n\n this._readableStreamController = new ReadableByteStreamController(this, underlyingSource, highWaterMark);\n } else if (type === undefined) {\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n\n this._readableStreamController = new ReadableStreamDefaultController(this, underlyingSource, size, highWaterMark);\n } else {\n throw new RangeError('Invalid type is specified');\n }\n }\n\n _createClass(ReadableStream, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('cancel'));\n }\n\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n\n return ReadableStreamCancel(this, reason);\n }\n }, {\n key: 'getReader',\n value: function getReader() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n mode = _ref2.mode;\n\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('getReader');\n }\n\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this);\n }\n\n mode = String(mode);\n\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this);\n }\n\n throw new RangeError('Invalid mode is specified');\n }\n }, {\n key: 'pipeThrough',\n value: function pipeThrough(_ref3, options) {\n var writable = _ref3.writable,\n readable = _ref3.readable;\n var promise = this.pipeTo(writable, options);\n ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise);\n return readable;\n }\n }, {\n key: 'pipeTo',\n value: function pipeTo(dest) {\n var _this = this;\n\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n preventClose = _ref4.preventClose,\n preventAbort = _ref4.preventAbort,\n preventCancel = _ref4.preventCancel;\n\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('pipeTo'));\n }\n\n if (IsWritableStream(dest) === false) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\n }\n\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n\n if (IsWritableStreamLocked(dest) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n\n var reader = AcquireReadableStreamDefaultReader(this);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n var shuttingDown = false;\n var currentWrite = Promise.resolve();\n return new Promise(function (resolve, reject) {\n function pipeLoop() {\n currentWrite = Promise.resolve();\n\n if (shuttingDown === true) {\n return Promise.resolve();\n }\n\n return writer._readyPromise.then(function () {\n return ReadableStreamDefaultReaderRead(reader).then(function (_ref5) {\n var value = _ref5.value,\n done = _ref5.done;\n\n if (done === true) {\n return;\n }\n\n currentWrite = WritableStreamDefaultWriterWrite(writer, value)[\"catch\"](function () {});\n });\n }).then(pipeLoop);\n }\n\n isOrBecomesErrored(_this, reader._closedPromise, function (storedError) {\n if (preventAbort === false) {\n shutdownWithAction(function () {\n return WritableStreamAbort(dest, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(_this, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesClosed(_this, reader._closedPromise, function () {\n if (preventClose === false) {\n shutdownWithAction(function () {\n return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);\n });\n } else {\n shutdown();\n }\n });\n\n if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\n var destClosed = new TypeError('the destination writable stream closed before all data could be piped to it');\n\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(_this, destClosed);\n }, true, destClosed);\n } else {\n shutdown(true, destClosed);\n }\n }\n\n pipeLoop()[\"catch\"](function (err) {\n currentWrite = Promise.resolve();\n rethrowAssertionErrorRejection(err);\n });\n\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return currentWrite.then(function () {\n return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;\n });\n }\n\n function isOrBecomesErrored(stream, promise, action) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n } else {\n promise[\"catch\"](action)[\"catch\"](rethrowAssertionErrorRejection);\n }\n }\n\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n } else {\n promise.then(action)[\"catch\"](rethrowAssertionErrorRejection);\n }\n }\n\n function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown === true) {\n return;\n }\n\n shuttingDown = true;\n\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n waitForWritesToFinish().then(doTheRest);\n } else {\n doTheRest();\n }\n\n function doTheRest() {\n action().then(function () {\n return finalize(originalIsError, originalError);\n }, function (newError) {\n return finalize(true, newError);\n })[\"catch\"](rethrowAssertionErrorRejection);\n }\n }\n\n function shutdown(isError, error) {\n if (shuttingDown === true) {\n return;\n }\n\n shuttingDown = true;\n\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n waitForWritesToFinish().then(function () {\n return finalize(isError, error);\n })[\"catch\"](rethrowAssertionErrorRejection);\n } else {\n finalize(isError, error);\n }\n }\n\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n\n if (isError) {\n reject(error);\n } else {\n resolve(undefined);\n }\n }\n });\n }\n }, {\n key: 'tee',\n value: function tee() {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('tee');\n }\n\n var branches = ReadableStreamTee(this, false);\n return createArrayFromList(branches);\n }\n }, {\n key: 'locked',\n get: function get() {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n\n return IsReadableStreamLocked(this);\n }\n }]);\n\n return ReadableStream;\n }();\n\n module.exports = {\n ReadableStream: ReadableStream,\n IsReadableStreamDisturbed: IsReadableStreamDisturbed,\n ReadableStreamDefaultControllerClose: ReadableStreamDefaultControllerClose,\n ReadableStreamDefaultControllerEnqueue: ReadableStreamDefaultControllerEnqueue,\n ReadableStreamDefaultControllerError: ReadableStreamDefaultControllerError,\n ReadableStreamDefaultControllerGetDesiredSize: ReadableStreamDefaultControllerGetDesiredSize\n };\n\n function AcquireReadableStreamBYOBReader(stream) {\n return new ReadableStreamBYOBReader(stream);\n }\n\n function AcquireReadableStreamDefaultReader(stream) {\n return new ReadableStreamDefaultReader(stream);\n }\n\n function IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n\n return true;\n }\n\n function IsReadableStreamDisturbed(stream) {\n assert(IsReadableStream(stream) === true, 'IsReadableStreamDisturbed should only be used on known readable streams');\n return stream._disturbed;\n }\n\n function IsReadableStreamLocked(stream) {\n assert(IsReadableStream(stream) === true, 'IsReadableStreamLocked should only be used on known readable streams');\n\n if (stream._reader === undefined) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamTee(stream, cloneForBranch2) {\n assert(IsReadableStream(stream) === true);\n assert(typeof cloneForBranch2 === 'boolean');\n var reader = AcquireReadableStreamDefaultReader(stream);\n var teeState = {\n closedOrErrored: false,\n canceled1: false,\n canceled2: false,\n reason1: undefined,\n reason2: undefined\n };\n teeState.promise = new Promise(function (resolve) {\n teeState._resolve = resolve;\n });\n var pull = create_ReadableStreamTeePullFunction();\n pull._reader = reader;\n pull._teeState = teeState;\n pull._cloneForBranch2 = cloneForBranch2;\n var cancel1 = create_ReadableStreamTeeBranch1CancelFunction();\n cancel1._stream = stream;\n cancel1._teeState = teeState;\n var cancel2 = create_ReadableStreamTeeBranch2CancelFunction();\n cancel2._stream = stream;\n cancel2._teeState = teeState;\n var underlyingSource1 = Object.create(Object.prototype);\n createDataProperty(underlyingSource1, 'pull', pull);\n createDataProperty(underlyingSource1, 'cancel', cancel1);\n var branch1Stream = new ReadableStream(underlyingSource1);\n var underlyingSource2 = Object.create(Object.prototype);\n createDataProperty(underlyingSource2, 'pull', pull);\n createDataProperty(underlyingSource2, 'cancel', cancel2);\n var branch2Stream = new ReadableStream(underlyingSource2);\n pull._branch1 = branch1Stream._readableStreamController;\n pull._branch2 = branch2Stream._readableStreamController;\n\n reader._closedPromise[\"catch\"](function (r) {\n if (teeState.closedOrErrored === true) {\n return;\n }\n\n ReadableStreamDefaultControllerError(pull._branch1, r);\n ReadableStreamDefaultControllerError(pull._branch2, r);\n teeState.closedOrErrored = true;\n });\n\n return [branch1Stream, branch2Stream];\n }\n\n function create_ReadableStreamTeePullFunction() {\n function f() {\n var reader = f._reader,\n branch1 = f._branch1,\n branch2 = f._branch2,\n teeState = f._teeState;\n return ReadableStreamDefaultReaderRead(reader).then(function (result) {\n assert(typeIsObject(result));\n var value = result.value;\n var done = result.done;\n assert(typeof done === 'boolean');\n\n if (done === true && teeState.closedOrErrored === false) {\n if (teeState.canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1);\n }\n\n if (teeState.canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2);\n }\n\n teeState.closedOrErrored = true;\n }\n\n if (teeState.closedOrErrored === true) {\n return;\n }\n\n var value1 = value;\n var value2 = value;\n\n if (teeState.canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1, value1);\n }\n\n if (teeState.canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2, value2);\n }\n });\n }\n\n return f;\n }\n\n function create_ReadableStreamTeeBranch1CancelFunction() {\n function f(reason) {\n var stream = f._stream,\n teeState = f._teeState;\n teeState.canceled1 = true;\n teeState.reason1 = reason;\n\n if (teeState.canceled2 === true) {\n var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n\n teeState._resolve(cancelResult);\n }\n\n return teeState.promise;\n }\n\n return f;\n }\n\n function create_ReadableStreamTeeBranch2CancelFunction() {\n function f(reason) {\n var stream = f._stream,\n teeState = f._teeState;\n teeState.canceled2 = true;\n teeState.reason2 = reason;\n\n if (teeState.canceled1 === true) {\n var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n\n teeState._resolve(cancelResult);\n }\n\n return teeState.promise;\n }\n\n return f;\n }\n\n function ReadableStreamAddReadIntoRequest(stream) {\n assert(IsReadableStreamBYOBReader(stream._reader) === true);\n assert(stream._state === 'readable' || stream._state === 'closed');\n var promise = new Promise(function (resolve, reject) {\n var readIntoRequest = {\n _resolve: resolve,\n _reject: reject\n };\n\n stream._reader._readIntoRequests.push(readIntoRequest);\n });\n return promise;\n }\n\n function ReadableStreamAddReadRequest(stream) {\n assert(IsReadableStreamDefaultReader(stream._reader) === true);\n assert(stream._state === 'readable');\n var promise = new Promise(function (resolve, reject) {\n var readRequest = {\n _resolve: resolve,\n _reject: reject\n };\n\n stream._reader._readRequests.push(readRequest);\n });\n return promise;\n }\n\n function ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n\n if (stream._state === 'closed') {\n return Promise.resolve(undefined);\n }\n\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n ReadableStreamClose(stream);\n\n var sourceCancelPromise = stream._readableStreamController.__cancelSteps(reason);\n\n return sourceCancelPromise.then(function () {\n return undefined;\n });\n }\n\n function ReadableStreamClose(stream) {\n assert(stream._state === 'readable');\n stream._state = 'closed';\n var reader = stream._reader;\n\n if (reader === undefined) {\n return undefined;\n }\n\n if (IsReadableStreamDefaultReader(reader) === true) {\n for (var i = 0; i < reader._readRequests.length; i++) {\n var _resolve = reader._readRequests[i]._resolve;\n\n _resolve(CreateIterResultObject(undefined, true));\n }\n\n reader._readRequests = [];\n }\n\n defaultReaderClosedPromiseResolve(reader);\n return undefined;\n }\n\n function ReadableStreamError(stream, e) {\n assert(IsReadableStream(stream) === true, 'stream must be ReadableStream');\n assert(stream._state === 'readable', 'state must be readable');\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n\n if (reader === undefined) {\n return undefined;\n }\n\n if (IsReadableStreamDefaultReader(reader) === true) {\n for (var i = 0; i < reader._readRequests.length; i++) {\n var readRequest = reader._readRequests[i];\n\n readRequest._reject(e);\n }\n\n reader._readRequests = [];\n } else {\n assert(IsReadableStreamBYOBReader(reader), 'reader must be ReadableStreamBYOBReader');\n\n for (var _i = 0; _i < reader._readIntoRequests.length; _i++) {\n var readIntoRequest = reader._readIntoRequests[_i];\n\n readIntoRequest._reject(e);\n }\n\n reader._readIntoRequests = [];\n }\n\n defaultReaderClosedPromiseReject(reader, e);\n\n reader._closedPromise[\"catch\"](function () {});\n }\n\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n assert(reader._readIntoRequests.length > 0);\n\n var readIntoRequest = reader._readIntoRequests.shift();\n\n readIntoRequest._resolve(CreateIterResultObject(chunk, done));\n }\n\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n assert(reader._readRequests.length > 0);\n\n var readRequest = reader._readRequests.shift();\n\n readRequest._resolve(CreateIterResultObject(chunk, done));\n }\n\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n }\n\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n }\n\n function ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n\n if (reader === undefined) {\n return false;\n }\n\n if (IsReadableStreamBYOBReader(reader) === false) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n\n if (reader === undefined) {\n return false;\n }\n\n if (IsReadableStreamDefaultReader(reader) === false) {\n return false;\n }\n\n return true;\n }\n\n var ReadableStreamDefaultReader = function () {\n function ReadableStreamDefaultReader(stream) {\n _classCallCheck(this, ReadableStreamDefaultReader);\n\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\n }\n\n if (IsReadableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = [];\n }\n\n _createClass(ReadableStreamDefaultReader, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('cancel'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n\n return ReadableStreamReaderGenericCancel(this, reason);\n }\n }, {\n key: 'read',\n value: function read() {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('read'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n\n return ReadableStreamDefaultReaderRead(this);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (IsReadableStreamDefaultReader(this) === false) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n\n if (this._ownerReadableStream === undefined) {\n return;\n }\n\n if (this._readRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n\n ReadableStreamReaderGenericRelease(this);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('closed'));\n }\n\n return this._closedPromise;\n }\n }]);\n\n return ReadableStreamDefaultReader;\n }();\n\n var ReadableStreamBYOBReader = function () {\n function ReadableStreamBYOBReader(stream) {\n _classCallCheck(this, ReadableStreamBYOBReader);\n\n if (!IsReadableStream(stream)) {\n throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');\n }\n\n if (IsReadableByteStreamController(stream._readableStreamController) === false) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');\n }\n\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = [];\n }\n\n _createClass(ReadableStreamBYOBReader, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('cancel'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n\n return ReadableStreamReaderGenericCancel(this, reason);\n }\n }, {\n key: 'read',\n value: function read(view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('read'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n\n if (!ArrayBuffer.isView(view)) {\n return Promise.reject(new TypeError('view must be an array buffer view'));\n }\n\n if (view.byteLength === 0) {\n return Promise.reject(new TypeError('view must have non-zero byteLength'));\n }\n\n return ReadableStreamBYOBReaderRead(this, view);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n\n if (this._ownerReadableStream === undefined) {\n return;\n }\n\n if (this._readIntoRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n\n ReadableStreamReaderGenericRelease(this);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('closed'));\n }\n\n return this._closedPromise;\n }\n }]);\n\n return ReadableStreamBYOBReader;\n }();\n\n function IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n\n return true;\n }\n\n function IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n } else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n } else {\n assert(stream._state === 'errored', 'state must be errored');\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n\n reader._closedPromise[\"catch\"](function () {});\n }\n }\n\n function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n return ReadableStreamCancel(stream, reason);\n }\n\n function ReadableStreamReaderGenericRelease(reader) {\n assert(reader._ownerReadableStream !== undefined);\n assert(reader._ownerReadableStream._reader === reader);\n\n if (reader._ownerReadableStream._state === 'readable') {\n defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n } else {\n defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n }\n\n reader._closedPromise[\"catch\"](function () {});\n\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n }\n\n function ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n stream._disturbed = true;\n\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n }\n\n function ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n stream._disturbed = true;\n\n if (stream._state === 'closed') {\n return Promise.resolve(CreateIterResultObject(undefined, true));\n }\n\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n assert(stream._state === 'readable');\n return stream._readableStreamController.__pullSteps();\n }\n\n var ReadableStreamDefaultController = function () {\n function ReadableStreamDefaultController(stream, underlyingSource, size, highWaterMark) {\n _classCallCheck(this, ReadableStreamDefaultController);\n\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultController can only be constructed with a ReadableStream instance');\n }\n\n if (stream._readableStreamController !== undefined) {\n throw new TypeError('ReadableStreamDefaultController instances can only be created by the ReadableStream constructor');\n }\n\n this._controlledReadableStream = stream;\n this._underlyingSource = underlyingSource;\n this._queue = undefined;\n this._queueTotalSize = undefined;\n ResetQueue(this);\n this._started = false;\n this._closeRequested = false;\n this._pullAgain = false;\n this._pulling = false;\n var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark);\n this._strategySize = normalizedStrategy.size;\n this._strategyHWM = normalizedStrategy.highWaterMark;\n var controller = this;\n var startResult = InvokeOrNoop(underlyingSource, 'start', [this]);\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n assert(controller._pulling === false);\n assert(controller._pullAgain === false);\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, r);\n })[\"catch\"](rethrowAssertionErrorRejection);\n }\n\n _createClass(ReadableStreamDefaultController, [{\n key: 'close',\n value: function close() {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n\n var state = this._controlledReadableStream._state;\n\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be closed');\n }\n\n ReadableStreamDefaultControllerClose(this);\n }\n }, {\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n\n var state = this._controlledReadableStream._state;\n\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be enqueued to');\n }\n\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n }\n }, {\n key: 'error',\n value: function error(e) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n\n var stream = this._controlledReadableStream;\n\n if (stream._state !== 'readable') {\n throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n }\n\n ReadableStreamDefaultControllerError(this, e);\n }\n }, {\n key: '__cancelSteps',\n value: function __cancelSteps(reason) {\n ResetQueue(this);\n return PromiseInvokeOrNoop(this._underlyingSource, 'cancel', [reason]);\n }\n }, {\n key: '__pullSteps',\n value: function __pullSteps() {\n var stream = this._controlledReadableStream;\n\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n\n if (this._closeRequested === true && this._queue.length === 0) {\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n\n return Promise.resolve(CreateIterResultObject(chunk, false));\n }\n\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n }\n }]);\n\n return ReadableStreamDefaultController;\n }();\n\n function IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSource')) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n\n if (shouldPull === false) {\n return undefined;\n }\n\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return undefined;\n }\n\n assert(controller._pullAgain === false);\n controller._pulling = true;\n var pullPromise = PromiseInvokeOrNoop(controller._underlyingSource, 'pull', [controller]);\n pullPromise.then(function () {\n controller._pulling = false;\n\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n return ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n\n return undefined;\n }, function (e) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, e);\n })[\"catch\"](rethrowAssertionErrorRejection);\n return undefined;\n }\n\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n\n if (stream._state === 'closed' || stream._state === 'errored') {\n return false;\n }\n\n if (controller._closeRequested === true) {\n return false;\n }\n\n if (controller._started === false) {\n return false;\n }\n\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n\n if (desiredSize > 0) {\n return true;\n }\n\n return false;\n }\n\n function ReadableStreamDefaultControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n controller._closeRequested = true;\n\n if (controller._queue.length === 0) {\n ReadableStreamClose(stream);\n }\n }\n\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n var chunkSize = 1;\n\n if (controller._strategySize !== undefined) {\n var strategySize = controller._strategySize;\n\n try {\n chunkSize = strategySize(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n throw chunkSizeE;\n }\n }\n\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n throw enqueueE;\n }\n }\n\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n return undefined;\n }\n\n function ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n assert(stream._state === 'readable');\n ResetQueue(controller);\n ReadableStreamError(stream, e);\n }\n\n function ReadableStreamDefaultControllerErrorIfNeeded(controller, e) {\n if (controller._controlledReadableStream._state === 'readable') {\n ReadableStreamDefaultControllerError(controller, e);\n }\n }\n\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n\n if (state === 'errored') {\n return null;\n }\n\n if (state === 'closed') {\n return 0;\n }\n\n return controller._strategyHWM - controller._queueTotalSize;\n }\n\n var ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest(controller, view) {\n _classCallCheck(this, ReadableStreamBYOBRequest);\n\n this._associatedReadableByteStreamController = controller;\n this._view = view;\n }\n\n _createClass(ReadableStreamBYOBRequest, [{\n key: 'respond',\n value: function respond(bytesWritten) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n }\n }, {\n key: 'respondWithNewView',\n value: function respondWithNewView(view) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n }\n }, {\n key: 'view',\n get: function get() {\n return this._view;\n }\n }]);\n\n return ReadableStreamBYOBRequest;\n }();\n\n var ReadableByteStreamController = function () {\n function ReadableByteStreamController(stream, underlyingByteSource, highWaterMark) {\n _classCallCheck(this, ReadableByteStreamController);\n\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableByteStreamController can only be constructed with a ReadableStream instance given ' + 'a byte source');\n }\n\n if (stream._readableStreamController !== undefined) {\n throw new TypeError('ReadableByteStreamController instances can only be created by the ReadableStream constructor given a byte ' + 'source');\n }\n\n this._controlledReadableStream = stream;\n this._underlyingByteSource = underlyingByteSource;\n this._pullAgain = false;\n this._pulling = false;\n ReadableByteStreamControllerClearPendingPullIntos(this);\n this._queue = this._queueTotalSize = undefined;\n ResetQueue(this);\n this._closeRequested = false;\n this._started = false;\n this._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n\n if (autoAllocateChunkSize !== undefined) {\n if (Number.isInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\n }\n }\n\n this._autoAllocateChunkSize = autoAllocateChunkSize;\n this._pendingPullIntos = [];\n var controller = this;\n var startResult = InvokeOrNoop(underlyingByteSource, 'start', [this]);\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n assert(controller._pulling === false);\n assert(controller._pullAgain === false);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n if (stream._state === 'readable') {\n ReadableByteStreamControllerError(controller, r);\n }\n })[\"catch\"](rethrowAssertionErrorRejection);\n }\n\n _createClass(ReadableByteStreamController, [{\n key: 'close',\n value: function close() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('close');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n\n var state = this._controlledReadableStream._state;\n\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be closed');\n }\n\n ReadableByteStreamControllerClose(this);\n }\n }, {\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n\n var state = this._controlledReadableStream._state;\n\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be enqueued to');\n }\n\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\n }\n\n ReadableByteStreamControllerEnqueue(this, chunk);\n }\n }, {\n key: 'error',\n value: function error(e) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('error');\n }\n\n var stream = this._controlledReadableStream;\n\n if (stream._state !== 'readable') {\n throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n }\n\n ReadableByteStreamControllerError(this, e);\n }\n }, {\n key: '__cancelSteps',\n value: function __cancelSteps(reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos[0];\n firstDescriptor.bytesFilled = 0;\n }\n\n ResetQueue(this);\n return PromiseInvokeOrNoop(this._underlyingByteSource, 'cancel', [reason]);\n }\n }, {\n key: '__pullSteps',\n value: function __pullSteps() {\n var stream = this._controlledReadableStream;\n assert(ReadableStreamHasDefaultReader(stream) === true);\n\n if (this._queueTotalSize > 0) {\n assert(ReadableStreamGetNumReadRequests(stream) === 0);\n\n var entry = this._queue.shift();\n\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = void 0;\n\n try {\n view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n } catch (viewE) {\n return Promise.reject(viewE);\n }\n\n return Promise.resolve(CreateIterResultObject(view, false));\n }\n\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n } catch (bufferE) {\n return Promise.reject(bufferE);\n }\n\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: 0,\n byteLength: autoAllocateChunkSize,\n bytesFilled: 0,\n elementSize: 1,\n ctor: Uint8Array,\n readerType: 'default'\n };\n\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n\n var promise = ReadableStreamAddReadRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n return promise;\n }\n }, {\n key: 'byobRequest',\n get: function get() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos[0];\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n this._byobRequest = new ReadableStreamBYOBRequest(this, view);\n }\n\n return this._byobRequest;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n\n return ReadableByteStreamControllerGetDesiredSize(this);\n }\n }]);\n\n return ReadableByteStreamController;\n }();\n\n function IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingByteSource')) {\n return false;\n }\n\n return true;\n }\n\n function IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n\n return true;\n }\n\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n\n if (shouldPull === false) {\n return undefined;\n }\n\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return undefined;\n }\n\n assert(controller._pullAgain === false);\n controller._pulling = true;\n var pullPromise = PromiseInvokeOrNoop(controller._underlyingByteSource, 'pull', [controller]);\n pullPromise.then(function () {\n controller._pulling = false;\n\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n if (controller._controlledReadableStream._state === 'readable') {\n ReadableByteStreamControllerError(controller, e);\n }\n })[\"catch\"](rethrowAssertionErrorRejection);\n return undefined;\n }\n\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = [];\n }\n\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n assert(stream._state !== 'errored', 'state must not be errored');\n var done = false;\n\n if (stream._state === 'closed') {\n assert(pullIntoDescriptor.bytesFilled === 0);\n done = true;\n }\n\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n } else {\n assert(pullIntoDescriptor.readerType === 'byob');\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n }\n\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n assert(bytesFilled <= pullIntoDescriptor.byteLength);\n assert(bytesFilled % elementSize === 0);\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n }\n\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength\n });\n\n controller._queueTotalSize += byteLength;\n }\n\n function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n var elementSize = pullIntoDescriptor.elementSize;\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n var totalBytesToCopyRemaining = maxBytesToCopy;\n var ready = false;\n\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n\n var queue = controller._queue;\n\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue[0];\n var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n } else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n\n if (ready === false) {\n assert(controller._queueTotalSize === 0, 'queue must be empty');\n assert(pullIntoDescriptor.bytesFilled > 0);\n assert(pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize);\n }\n\n return ready;\n }\n\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n assert(controller._pendingPullIntos.length === 0 || controller._pendingPullIntos[0] === pullIntoDescriptor);\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n }\n\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n assert(controller._controlledReadableStream._state === 'readable');\n\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableStreamClose(controller._controlledReadableStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }\n\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === undefined) {\n return;\n }\n\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = undefined;\n controller._byobRequest = undefined;\n }\n\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n assert(controller._closeRequested === false);\n\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n\n var pullIntoDescriptor = controller._pendingPullIntos[0];\n\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor);\n }\n }\n }\n\n function ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableStream;\n var elementSize = 1;\n\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n\n var ctor = view.constructor;\n var pullIntoDescriptor = {\n buffer: view.buffer,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize: elementSize,\n ctor: ctor,\n readerType: 'byob'\n };\n\n if (controller._pendingPullIntos.length > 0) {\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n\n controller._pendingPullIntos.push(pullIntoDescriptor);\n\n return ReadableStreamAddReadIntoRequest(stream);\n }\n\n if (stream._state === 'closed') {\n var emptyView = new view.constructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n return Promise.resolve(CreateIterResultObject(emptyView, true));\n }\n\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n return Promise.resolve(CreateIterResultObject(filledView, false));\n }\n\n if (controller._closeRequested === true) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n return Promise.reject(e);\n }\n }\n\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n\n controller._pendingPullIntos.push(pullIntoDescriptor);\n\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n }\n\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n assert(firstDescriptor.bytesFilled === 0, 'bytesFilled must be 0');\n var stream = controller._controlledReadableStream;\n\n if (ReadableStreamHasBYOBReader(stream) === true) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\n }\n }\n\n function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n\n if (remainderSize > 0) {\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos[0];\n var stream = controller._controlledReadableStream;\n\n if (stream._state === 'closed') {\n if (bytesWritten !== 0) {\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n }\n\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n } else {\n assert(stream._state === 'readable');\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n }\n\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n }\n\n function ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n\n if (stream._state !== 'readable') {\n return false;\n }\n\n if (controller._closeRequested === true) {\n return false;\n }\n\n if (controller._started === false) {\n return false;\n }\n\n if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n\n if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n\n if (ReadableByteStreamControllerGetDesiredSize(controller) > 0) {\n return true;\n }\n\n return false;\n }\n\n function ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos[0];\n\n if (firstPendingPullInto.bytesFilled > 0) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n throw e;\n }\n }\n\n ReadableStreamClose(stream);\n }\n\n function ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n var buffer = chunk.buffer;\n var byteOffset = chunk.byteOffset;\n var byteLength = chunk.byteLength;\n var transferredBuffer = TransferArrayBuffer(buffer);\n\n if (ReadableStreamHasDefaultReader(stream) === true) {\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n } else {\n assert(controller._queue.length === 0);\n var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\n }\n } else if (ReadableStreamHasBYOBReader(stream) === true) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n } else {\n assert(IsReadableStreamLocked(stream) === false, 'stream must not be locked');\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n }\n\n function ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n assert(stream._state === 'readable');\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableStreamError(stream, e);\n }\n\n function ReadableByteStreamControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n\n if (state === 'errored') {\n return null;\n }\n\n if (state === 'closed') {\n return 0;\n }\n\n return controller._strategyHWM - controller._queueTotalSize;\n }\n\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n\n assert(controller._pendingPullIntos.length > 0);\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n assert(controller._pendingPullIntos.length > 0);\n var firstDescriptor = controller._pendingPullIntos[0];\n\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n\n if (firstDescriptor.byteLength !== view.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n\n firstDescriptor.buffer = view.buffer;\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n }\n\n function streamBrandCheckException(name) {\n return new TypeError('ReadableStream.prototype.' + name + ' can only be used on a ReadableStream');\n }\n\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n\n function defaultReaderBrandCheckException(name) {\n return new TypeError('ReadableStreamDefaultReader.prototype.' + name + ' can only be used on a ReadableStreamDefaultReader');\n }\n\n function defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = new Promise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n }\n\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n reader._closedPromise = Promise.reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n reader._closedPromise = Promise.resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n function defaultReaderClosedPromiseReject(reader, reason) {\n assert(reader._closedPromise_resolve !== undefined);\n assert(reader._closedPromise_reject !== undefined);\n\n reader._closedPromise_reject(reason);\n\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n assert(reader._closedPromise_resolve === undefined);\n assert(reader._closedPromise_reject === undefined);\n reader._closedPromise = Promise.reject(reason);\n }\n\n function defaultReaderClosedPromiseResolve(reader) {\n assert(reader._closedPromise_resolve !== undefined);\n assert(reader._closedPromise_reject !== undefined);\n\n reader._closedPromise_resolve(undefined);\n\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n function byobReaderBrandCheckException(name) {\n return new TypeError('ReadableStreamBYOBReader.prototype.' + name + ' can only be used on a ReadableStreamBYOBReader');\n }\n\n function defaultControllerBrandCheckException(name) {\n return new TypeError('ReadableStreamDefaultController.prototype.' + name + ' can only be used on a ReadableStreamDefaultController');\n }\n\n function byobRequestBrandCheckException(name) {\n return new TypeError('ReadableStreamBYOBRequest.prototype.' + name + ' can only be used on a ReadableStreamBYOBRequest');\n }\n\n function byteStreamControllerBrandCheckException(name) {\n return new TypeError('ReadableByteStreamController.prototype.' + name + ' can only be used on a ReadableByteStreamController');\n }\n\n function ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise) {\n try {\n Promise.prototype.then.call(promise, undefined, function () {});\n } catch (e) {}\n }\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var transformStream = __w_pdfjs_require__(6);\n\n var readableStream = __w_pdfjs_require__(4);\n\n var writableStream = __w_pdfjs_require__(2);\n\n exports.TransformStream = transformStream.TransformStream;\n exports.ReadableStream = readableStream.ReadableStream;\n exports.IsReadableStreamDisturbed = readableStream.IsReadableStreamDisturbed;\n exports.ReadableStreamDefaultControllerClose = readableStream.ReadableStreamDefaultControllerClose;\n exports.ReadableStreamDefaultControllerEnqueue = readableStream.ReadableStreamDefaultControllerEnqueue;\n exports.ReadableStreamDefaultControllerError = readableStream.ReadableStreamDefaultControllerError;\n exports.ReadableStreamDefaultControllerGetDesiredSize = readableStream.ReadableStreamDefaultControllerGetDesiredSize;\n exports.AcquireWritableStreamDefaultWriter = writableStream.AcquireWritableStreamDefaultWriter;\n exports.IsWritableStream = writableStream.IsWritableStream;\n exports.IsWritableStreamLocked = writableStream.IsWritableStreamLocked;\n exports.WritableStream = writableStream.WritableStream;\n exports.WritableStreamAbort = writableStream.WritableStreamAbort;\n exports.WritableStreamDefaultControllerError = writableStream.WritableStreamDefaultControllerError;\n exports.WritableStreamDefaultWriterCloseWithErrorPropagation = writableStream.WritableStreamDefaultWriterCloseWithErrorPropagation;\n exports.WritableStreamDefaultWriterRelease = writableStream.WritableStreamDefaultWriterRelease;\n exports.WritableStreamDefaultWriterWrite = writableStream.WritableStreamDefaultWriterWrite;\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _require = __w_pdfjs_require__(1),\n assert = _require.assert;\n\n var _require2 = __w_pdfjs_require__(0),\n InvokeOrNoop = _require2.InvokeOrNoop,\n PromiseInvokeOrPerformFallback = _require2.PromiseInvokeOrPerformFallback,\n PromiseInvokeOrNoop = _require2.PromiseInvokeOrNoop,\n typeIsObject = _require2.typeIsObject;\n\n var _require3 = __w_pdfjs_require__(4),\n ReadableStream = _require3.ReadableStream,\n ReadableStreamDefaultControllerClose = _require3.ReadableStreamDefaultControllerClose,\n ReadableStreamDefaultControllerEnqueue = _require3.ReadableStreamDefaultControllerEnqueue,\n ReadableStreamDefaultControllerError = _require3.ReadableStreamDefaultControllerError,\n ReadableStreamDefaultControllerGetDesiredSize = _require3.ReadableStreamDefaultControllerGetDesiredSize;\n\n var _require4 = __w_pdfjs_require__(2),\n WritableStream = _require4.WritableStream,\n WritableStreamDefaultControllerError = _require4.WritableStreamDefaultControllerError;\n\n function TransformStreamCloseReadable(transformStream) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n\n if (transformStream._readableClosed === true) {\n throw new TypeError('Readable side is already closed');\n }\n\n TransformStreamCloseReadableInternal(transformStream);\n }\n\n function TransformStreamEnqueueToReadable(transformStream, chunk) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n\n if (transformStream._readableClosed === true) {\n throw new TypeError('Readable side is already closed');\n }\n\n var controller = transformStream._readableController;\n\n try {\n ReadableStreamDefaultControllerEnqueue(controller, chunk);\n } catch (e) {\n transformStream._readableClosed = true;\n TransformStreamErrorIfNeeded(transformStream, e);\n throw transformStream._storedError;\n }\n\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n var maybeBackpressure = desiredSize <= 0;\n\n if (maybeBackpressure === true && transformStream._backpressure === false) {\n TransformStreamSetBackpressure(transformStream, true);\n }\n }\n\n function TransformStreamError(transformStream, e) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n\n TransformStreamErrorInternal(transformStream, e);\n }\n\n function TransformStreamCloseReadableInternal(transformStream) {\n assert(transformStream._errored === false);\n assert(transformStream._readableClosed === false);\n\n try {\n ReadableStreamDefaultControllerClose(transformStream._readableController);\n } catch (e) {\n assert(false);\n }\n\n transformStream._readableClosed = true;\n }\n\n function TransformStreamErrorIfNeeded(transformStream, e) {\n if (transformStream._errored === false) {\n TransformStreamErrorInternal(transformStream, e);\n }\n }\n\n function TransformStreamErrorInternal(transformStream, e) {\n assert(transformStream._errored === false);\n transformStream._errored = true;\n transformStream._storedError = e;\n\n if (transformStream._writableDone === false) {\n WritableStreamDefaultControllerError(transformStream._writableController, e);\n }\n\n if (transformStream._readableClosed === false) {\n ReadableStreamDefaultControllerError(transformStream._readableController, e);\n }\n }\n\n function TransformStreamReadableReadyPromise(transformStream) {\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n\n if (transformStream._backpressure === false) {\n return Promise.resolve();\n }\n\n assert(transformStream._backpressure === true, '_backpressure should have been initialized');\n return transformStream._backpressureChangePromise;\n }\n\n function TransformStreamSetBackpressure(transformStream, backpressure) {\n assert(transformStream._backpressure !== backpressure, 'TransformStreamSetBackpressure() should be called only when backpressure is changed');\n\n if (transformStream._backpressureChangePromise !== undefined) {\n transformStream._backpressureChangePromise_resolve(backpressure);\n }\n\n transformStream._backpressureChangePromise = new Promise(function (resolve) {\n transformStream._backpressureChangePromise_resolve = resolve;\n });\n\n transformStream._backpressureChangePromise.then(function (resolution) {\n assert(resolution !== backpressure, '_backpressureChangePromise should be fulfilled only when backpressure is changed');\n });\n\n transformStream._backpressure = backpressure;\n }\n\n function TransformStreamDefaultTransform(chunk, transformStreamController) {\n var transformStream = transformStreamController._controlledTransformStream;\n TransformStreamEnqueueToReadable(transformStream, chunk);\n return Promise.resolve();\n }\n\n function TransformStreamTransform(transformStream, chunk) {\n assert(transformStream._errored === false);\n assert(transformStream._transforming === false);\n assert(transformStream._backpressure === false);\n transformStream._transforming = true;\n var transformer = transformStream._transformer;\n var controller = transformStream._transformStreamController;\n var transformPromise = PromiseInvokeOrPerformFallback(transformer, 'transform', [chunk, controller], TransformStreamDefaultTransform, [chunk, controller]);\n return transformPromise.then(function () {\n transformStream._transforming = false;\n return TransformStreamReadableReadyPromise(transformStream);\n }, function (e) {\n TransformStreamErrorIfNeeded(transformStream, e);\n return Promise.reject(e);\n });\n }\n\n function IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n\n return true;\n }\n\n function IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n\n return true;\n }\n\n var TransformStreamSink = function () {\n function TransformStreamSink(transformStream, startPromise) {\n _classCallCheck(this, TransformStreamSink);\n\n this._transformStream = transformStream;\n this._startPromise = startPromise;\n }\n\n _createClass(TransformStreamSink, [{\n key: 'start',\n value: function start(c) {\n var transformStream = this._transformStream;\n transformStream._writableController = c;\n return this._startPromise.then(function () {\n return TransformStreamReadableReadyPromise(transformStream);\n });\n }\n }, {\n key: 'write',\n value: function write(chunk) {\n var transformStream = this._transformStream;\n return TransformStreamTransform(transformStream, chunk);\n }\n }, {\n key: 'abort',\n value: function abort() {\n var transformStream = this._transformStream;\n transformStream._writableDone = true;\n TransformStreamErrorInternal(transformStream, new TypeError('Writable side aborted'));\n }\n }, {\n key: 'close',\n value: function close() {\n var transformStream = this._transformStream;\n assert(transformStream._transforming === false);\n transformStream._writableDone = true;\n var flushPromise = PromiseInvokeOrNoop(transformStream._transformer, 'flush', [transformStream._transformStreamController]);\n return flushPromise.then(function () {\n if (transformStream._errored === true) {\n return Promise.reject(transformStream._storedError);\n }\n\n if (transformStream._readableClosed === false) {\n TransformStreamCloseReadableInternal(transformStream);\n }\n\n return Promise.resolve();\n })[\"catch\"](function (r) {\n TransformStreamErrorIfNeeded(transformStream, r);\n return Promise.reject(transformStream._storedError);\n });\n }\n }]);\n\n return TransformStreamSink;\n }();\n\n var TransformStreamSource = function () {\n function TransformStreamSource(transformStream, startPromise) {\n _classCallCheck(this, TransformStreamSource);\n\n this._transformStream = transformStream;\n this._startPromise = startPromise;\n }\n\n _createClass(TransformStreamSource, [{\n key: 'start',\n value: function start(c) {\n var transformStream = this._transformStream;\n transformStream._readableController = c;\n return this._startPromise.then(function () {\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n\n if (transformStream._backpressure === true) {\n return Promise.resolve();\n }\n\n assert(transformStream._backpressure === false, '_backpressure should have been initialized');\n return transformStream._backpressureChangePromise;\n });\n }\n }, {\n key: 'pull',\n value: function pull() {\n var transformStream = this._transformStream;\n assert(transformStream._backpressure === true, 'pull() should be never called while _backpressure is false');\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n TransformStreamSetBackpressure(transformStream, false);\n return transformStream._backpressureChangePromise;\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n var transformStream = this._transformStream;\n transformStream._readableClosed = true;\n TransformStreamErrorInternal(transformStream, new TypeError('Readable side canceled'));\n }\n }]);\n\n return TransformStreamSource;\n }();\n\n var TransformStreamDefaultController = function () {\n function TransformStreamDefaultController(transformStream) {\n _classCallCheck(this, TransformStreamDefaultController);\n\n if (IsTransformStream(transformStream) === false) {\n throw new TypeError('TransformStreamDefaultController can only be ' + 'constructed with a TransformStream instance');\n }\n\n if (transformStream._transformStreamController !== undefined) {\n throw new TypeError('TransformStreamDefaultController instances can ' + 'only be created by the TransformStream constructor');\n }\n\n this._controlledTransformStream = transformStream;\n }\n\n _createClass(TransformStreamDefaultController, [{\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n\n TransformStreamEnqueueToReadable(this._controlledTransformStream, chunk);\n }\n }, {\n key: 'close',\n value: function close() {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n\n TransformStreamCloseReadable(this._controlledTransformStream);\n }\n }, {\n key: 'error',\n value: function error(reason) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n\n TransformStreamError(this._controlledTransformStream, reason);\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n\n var transformStream = this._controlledTransformStream;\n var readableController = transformStream._readableController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n }\n }]);\n\n return TransformStreamDefaultController;\n }();\n\n var TransformStream = function () {\n function TransformStream() {\n var transformer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, TransformStream);\n\n this._transformer = transformer;\n var readableStrategy = transformer.readableStrategy,\n writableStrategy = transformer.writableStrategy;\n this._transforming = false;\n this._errored = false;\n this._storedError = undefined;\n this._writableController = undefined;\n this._readableController = undefined;\n this._transformStreamController = undefined;\n this._writableDone = false;\n this._readableClosed = false;\n this._backpressure = undefined;\n this._backpressureChangePromise = undefined;\n this._backpressureChangePromise_resolve = undefined;\n this._transformStreamController = new TransformStreamDefaultController(this);\n var startPromise_resolve = void 0;\n var startPromise = new Promise(function (resolve) {\n startPromise_resolve = resolve;\n });\n var source = new TransformStreamSource(this, startPromise);\n this._readable = new ReadableStream(source, readableStrategy);\n var sink = new TransformStreamSink(this, startPromise);\n this._writable = new WritableStream(sink, writableStrategy);\n assert(this._writableController !== undefined);\n assert(this._readableController !== undefined);\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(this._readableController);\n TransformStreamSetBackpressure(this, desiredSize <= 0);\n var transformStream = this;\n var startResult = InvokeOrNoop(transformer, 'start', [transformStream._transformStreamController]);\n startPromise_resolve(startResult);\n startPromise[\"catch\"](function (e) {\n if (transformStream._errored === false) {\n transformStream._errored = true;\n transformStream._storedError = e;\n }\n });\n }\n\n _createClass(TransformStream, [{\n key: 'readable',\n get: function get() {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException('readable');\n }\n\n return this._readable;\n }\n }, {\n key: 'writable',\n get: function get() {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException('writable');\n }\n\n return this._writable;\n }\n }]);\n\n return TransformStream;\n }();\n\n module.exports = {\n TransformStream: TransformStream\n };\n\n function defaultControllerBrandCheckException(name) {\n return new TypeError('TransformStreamDefaultController.prototype.' + name + ' can only be used on a TransformStreamDefaultController');\n }\n\n function streamBrandCheckException(name) {\n return new TypeError('TransformStream.prototype.' + name + ' can only be used on a TransformStream');\n }\n}, function (module, exports, __w_pdfjs_require__) {\n module.exports = __w_pdfjs_require__(5);\n}]));\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n{\n var isURLSupported = false;\n\n try {\n if (typeof URL === 'function' && _typeof(URL.prototype) === 'object' && 'origin' in URL.prototype) {\n var u = new URL('b', 'http://a');\n u.pathname = 'c%20d';\n isURLSupported = u.href === 'http://a/c%20d';\n }\n } catch (ex) {}\n\n if (isURLSupported) {\n exports.URL = URL;\n } else {\n var PolyfillURL = __w_pdfjs_require__(146).URL;\n\n var OriginalURL = __w_pdfjs_require__(3).URL;\n\n if (OriginalURL) {\n PolyfillURL.createObjectURL = function (blob) {\n return OriginalURL.createObjectURL.apply(OriginalURL, arguments);\n };\n\n PolyfillURL.revokeObjectURL = function (url) {\n OriginalURL.revokeObjectURL(url);\n };\n }\n\n exports.URL = PolyfillURL;\n }\n}\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n(function URLConstructorClosure() {\n 'use strict';\n\n var relative = Object.create(null);\n relative['ftp'] = 21;\n relative['file'] = 0;\n relative['gopher'] = 70;\n relative['http'] = 80;\n relative['https'] = 443;\n relative['ws'] = 80;\n relative['wss'] = 443;\n var relativePathDotMapping = Object.create(null);\n relativePathDotMapping['%2e'] = '.';\n relativePathDotMapping['.%2e'] = '..';\n relativePathDotMapping['%2e.'] = '..';\n relativePathDotMapping['%2e%2e'] = '..';\n\n function isRelativeScheme(scheme) {\n return relative[scheme] !== undefined;\n }\n\n function invalid() {\n clear.call(this);\n this._isInvalid = true;\n }\n\n function IDNAToASCII(h) {\n if (h === '') {\n invalid.call(this);\n }\n\n return h.toLowerCase();\n }\n\n function percentEscape(c) {\n var unicode = c.charCodeAt(0);\n\n if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x3F, 0x60].indexOf(unicode) === -1) {\n return c;\n }\n\n return encodeURIComponent(c);\n }\n\n function percentEscapeQuery(c) {\n var unicode = c.charCodeAt(0);\n\n if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x60].indexOf(unicode) === -1) {\n return c;\n }\n\n return encodeURIComponent(c);\n }\n\n var EOF,\n ALPHA = /[a-zA-Z]/,\n ALPHANUMERIC = /[a-zA-Z0-9\\+\\-\\.]/;\n\n function parse(input, stateOverride, base) {\n function err(message) {\n errors.push(message);\n }\n\n var state = stateOverride || 'scheme start',\n cursor = 0,\n buffer = '',\n seenAt = false,\n seenBracket = false,\n errors = [];\n\n loop: while ((input[cursor - 1] !== EOF || cursor === 0) && !this._isInvalid) {\n var c = input[cursor];\n\n switch (state) {\n case 'scheme start':\n if (c && ALPHA.test(c)) {\n buffer += c.toLowerCase();\n state = 'scheme';\n } else if (!stateOverride) {\n buffer = '';\n state = 'no scheme';\n continue;\n } else {\n err('Invalid scheme.');\n break loop;\n }\n\n break;\n\n case 'scheme':\n if (c && ALPHANUMERIC.test(c)) {\n buffer += c.toLowerCase();\n } else if (c === ':') {\n this._scheme = buffer;\n buffer = '';\n\n if (stateOverride) {\n break loop;\n }\n\n if (isRelativeScheme(this._scheme)) {\n this._isRelative = true;\n }\n\n if (this._scheme === 'file') {\n state = 'relative';\n } else if (this._isRelative && base && base._scheme === this._scheme) {\n state = 'relative or authority';\n } else if (this._isRelative) {\n state = 'authority first slash';\n } else {\n state = 'scheme data';\n }\n } else if (!stateOverride) {\n buffer = '';\n cursor = 0;\n state = 'no scheme';\n continue;\n } else if (c === EOF) {\n break loop;\n } else {\n err('Code point not allowed in scheme: ' + c);\n break loop;\n }\n\n break;\n\n case 'scheme data':\n if (c === '?') {\n this._query = '?';\n state = 'query';\n } else if (c === '#') {\n this._fragment = '#';\n state = 'fragment';\n } else {\n if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._schemeData += percentEscape(c);\n }\n }\n\n break;\n\n case 'no scheme':\n if (!base || !isRelativeScheme(base._scheme)) {\n err('Missing scheme.');\n invalid.call(this);\n } else {\n state = 'relative';\n continue;\n }\n\n break;\n\n case 'relative or authority':\n if (c === '/' && input[cursor + 1] === '/') {\n state = 'authority ignore slashes';\n } else {\n err('Expected /, got: ' + c);\n state = 'relative';\n continue;\n }\n\n break;\n\n case 'relative':\n this._isRelative = true;\n\n if (this._scheme !== 'file') {\n this._scheme = base._scheme;\n }\n\n if (c === EOF) {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = base._query;\n this._username = base._username;\n this._password = base._password;\n break loop;\n } else if (c === '/' || c === '\\\\') {\n if (c === '\\\\') {\n err('\\\\ is an invalid code point.');\n }\n\n state = 'relative slash';\n } else if (c === '?') {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = '?';\n this._username = base._username;\n this._password = base._password;\n state = 'query';\n } else if (c === '#') {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = base._query;\n this._fragment = '#';\n this._username = base._username;\n this._password = base._password;\n state = 'fragment';\n } else {\n var nextC = input[cursor + 1];\n var nextNextC = input[cursor + 2];\n\n if (this._scheme !== 'file' || !ALPHA.test(c) || nextC !== ':' && nextC !== '|' || nextNextC !== EOF && nextNextC !== '/' && nextNextC !== '\\\\' && nextNextC !== '?' && nextNextC !== '#') {\n this._host = base._host;\n this._port = base._port;\n this._username = base._username;\n this._password = base._password;\n this._path = base._path.slice();\n\n this._path.pop();\n }\n\n state = 'relative path';\n continue;\n }\n\n break;\n\n case 'relative slash':\n if (c === '/' || c === '\\\\') {\n if (c === '\\\\') {\n err('\\\\ is an invalid code point.');\n }\n\n if (this._scheme === 'file') {\n state = 'file host';\n } else {\n state = 'authority ignore slashes';\n }\n } else {\n if (this._scheme !== 'file') {\n this._host = base._host;\n this._port = base._port;\n this._username = base._username;\n this._password = base._password;\n }\n\n state = 'relative path';\n continue;\n }\n\n break;\n\n case 'authority first slash':\n if (c === '/') {\n state = 'authority second slash';\n } else {\n err('Expected \\'/\\', got: ' + c);\n state = 'authority ignore slashes';\n continue;\n }\n\n break;\n\n case 'authority second slash':\n state = 'authority ignore slashes';\n\n if (c !== '/') {\n err('Expected \\'/\\', got: ' + c);\n continue;\n }\n\n break;\n\n case 'authority ignore slashes':\n if (c !== '/' && c !== '\\\\') {\n state = 'authority';\n continue;\n } else {\n err('Expected authority, got: ' + c);\n }\n\n break;\n\n case 'authority':\n if (c === '@') {\n if (seenAt) {\n err('@ already seen.');\n buffer += '%40';\n }\n\n seenAt = true;\n\n for (var i = 0; i < buffer.length; i++) {\n var cp = buffer[i];\n\n if (cp === '\\t' || cp === '\\n' || cp === '\\r') {\n err('Invalid whitespace in authority.');\n continue;\n }\n\n if (cp === ':' && this._password === null) {\n this._password = '';\n continue;\n }\n\n var tempC = percentEscape(cp);\n\n if (this._password !== null) {\n this._password += tempC;\n } else {\n this._username += tempC;\n }\n }\n\n buffer = '';\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n cursor -= buffer.length;\n buffer = '';\n state = 'host';\n continue;\n } else {\n buffer += c;\n }\n\n break;\n\n case 'file host':\n if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n if (buffer.length === 2 && ALPHA.test(buffer[0]) && (buffer[1] === ':' || buffer[1] === '|')) {\n state = 'relative path';\n } else if (buffer.length === 0) {\n state = 'relative path start';\n } else {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'relative path start';\n }\n\n continue;\n } else if (c === '\\t' || c === '\\n' || c === '\\r') {\n err('Invalid whitespace in file host.');\n } else {\n buffer += c;\n }\n\n break;\n\n case 'host':\n case 'hostname':\n if (c === ':' && !seenBracket) {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'port';\n\n if (stateOverride === 'hostname') {\n break loop;\n }\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'relative path start';\n\n if (stateOverride) {\n break loop;\n }\n\n continue;\n } else if (c !== '\\t' && c !== '\\n' && c !== '\\r') {\n if (c === '[') {\n seenBracket = true;\n } else if (c === ']') {\n seenBracket = false;\n }\n\n buffer += c;\n } else {\n err('Invalid code point in host/hostname: ' + c);\n }\n\n break;\n\n case 'port':\n if (/[0-9]/.test(c)) {\n buffer += c;\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#' || stateOverride) {\n if (buffer !== '') {\n var temp = parseInt(buffer, 10);\n\n if (temp !== relative[this._scheme]) {\n this._port = temp + '';\n }\n\n buffer = '';\n }\n\n if (stateOverride) {\n break loop;\n }\n\n state = 'relative path start';\n continue;\n } else if (c === '\\t' || c === '\\n' || c === '\\r') {\n err('Invalid code point in port: ' + c);\n } else {\n invalid.call(this);\n }\n\n break;\n\n case 'relative path start':\n if (c === '\\\\') {\n err('\\'\\\\\\' not allowed in path.');\n }\n\n state = 'relative path';\n\n if (c !== '/' && c !== '\\\\') {\n continue;\n }\n\n break;\n\n case 'relative path':\n if (c === EOF || c === '/' || c === '\\\\' || !stateOverride && (c === '?' || c === '#')) {\n if (c === '\\\\') {\n err('\\\\ not allowed in relative path.');\n }\n\n var tmp;\n\n if (tmp = relativePathDotMapping[buffer.toLowerCase()]) {\n buffer = tmp;\n }\n\n if (buffer === '..') {\n this._path.pop();\n\n if (c !== '/' && c !== '\\\\') {\n this._path.push('');\n }\n } else if (buffer === '.' && c !== '/' && c !== '\\\\') {\n this._path.push('');\n } else if (buffer !== '.') {\n if (this._scheme === 'file' && this._path.length === 0 && buffer.length === 2 && ALPHA.test(buffer[0]) && buffer[1] === '|') {\n buffer = buffer[0] + ':';\n }\n\n this._path.push(buffer);\n }\n\n buffer = '';\n\n if (c === '?') {\n this._query = '?';\n state = 'query';\n } else if (c === '#') {\n this._fragment = '#';\n state = 'fragment';\n }\n } else if (c !== '\\t' && c !== '\\n' && c !== '\\r') {\n buffer += percentEscape(c);\n }\n\n break;\n\n case 'query':\n if (!stateOverride && c === '#') {\n this._fragment = '#';\n state = 'fragment';\n } else if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._query += percentEscapeQuery(c);\n }\n\n break;\n\n case 'fragment':\n if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._fragment += c;\n }\n\n break;\n }\n\n cursor++;\n }\n }\n\n function clear() {\n this._scheme = '';\n this._schemeData = '';\n this._username = '';\n this._password = null;\n this._host = '';\n this._port = '';\n this._path = [];\n this._query = '';\n this._fragment = '';\n this._isInvalid = false;\n this._isRelative = false;\n }\n\n function JURL(url, base) {\n if (base !== undefined && !(base instanceof JURL)) {\n base = new JURL(String(base));\n }\n\n this._url = url;\n clear.call(this);\n var input = url.replace(/^[ \\t\\r\\n\\f]+|[ \\t\\r\\n\\f]+$/g, '');\n parse.call(this, input, null, base);\n }\n\n JURL.prototype = {\n toString: function toString() {\n return this.href;\n },\n\n get href() {\n if (this._isInvalid) {\n return this._url;\n }\n\n var authority = '';\n\n if (this._username !== '' || this._password !== null) {\n authority = this._username + (this._password !== null ? ':' + this._password : '') + '@';\n }\n\n return this.protocol + (this._isRelative ? '//' + authority + this.host : '') + this.pathname + this._query + this._fragment;\n },\n\n set href(value) {\n clear.call(this);\n parse.call(this, value);\n },\n\n get protocol() {\n return this._scheme + ':';\n },\n\n set protocol(value) {\n if (this._isInvalid) {\n return;\n }\n\n parse.call(this, value + ':', 'scheme start');\n },\n\n get host() {\n return this._isInvalid ? '' : this._port ? this._host + ':' + this._port : this._host;\n },\n\n set host(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n parse.call(this, value, 'host');\n },\n\n get hostname() {\n return this._host;\n },\n\n set hostname(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n parse.call(this, value, 'hostname');\n },\n\n get port() {\n return this._port;\n },\n\n set port(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n parse.call(this, value, 'port');\n },\n\n get pathname() {\n return this._isInvalid ? '' : this._isRelative ? '/' + this._path.join('/') : this._schemeData;\n },\n\n set pathname(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n this._path = [];\n parse.call(this, value, 'relative path start');\n },\n\n get search() {\n return this._isInvalid || !this._query || this._query === '?' ? '' : this._query;\n },\n\n set search(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n this._query = '?';\n\n if (value[0] === '?') {\n value = value.slice(1);\n }\n\n parse.call(this, value, 'query');\n },\n\n get hash() {\n return this._isInvalid || !this._fragment || this._fragment === '#' ? '' : this._fragment;\n },\n\n set hash(value) {\n if (this._isInvalid) {\n return;\n }\n\n this._fragment = '#';\n\n if (value[0] === '#') {\n value = value.slice(1);\n }\n\n parse.call(this, value, 'fragment');\n },\n\n get origin() {\n var host;\n\n if (this._isInvalid || !this._scheme) {\n return '';\n }\n\n switch (this._scheme) {\n case 'data':\n case 'file':\n case 'javascript':\n case 'mailto':\n return 'null';\n\n case 'blob':\n try {\n return new JURL(this._schemeData).origin || 'null';\n } catch (_) {}\n\n return 'null';\n }\n\n host = this.host;\n\n if (!host) {\n return '';\n }\n\n return this._scheme + '://' + host;\n }\n\n };\n exports.URL = JURL;\n})();\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDocument = getDocument;\nexports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\nexports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(151);\n\nvar _font_loader = __w_pdfjs_require__(152);\n\nvar _api_compatibility = __w_pdfjs_require__(153);\n\nvar _canvas = __w_pdfjs_require__(154);\n\nvar _global_scope = _interopRequireDefault(__w_pdfjs_require__(3));\n\nvar _worker_options = __w_pdfjs_require__(156);\n\nvar _message_handler = __w_pdfjs_require__(157);\n\nvar _metadata = __w_pdfjs_require__(158);\n\nvar _transport_stream = __w_pdfjs_require__(160);\n\nvar _webgl = __w_pdfjs_require__(161);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar DEFAULT_RANGE_CHUNK_SIZE = 65536;\nvar isWorkerDisabled = false;\nvar fallbackWorkerSrc;\nvar fakeWorkerFilesLoader = null;\n{\n var useRequireEnsure = false;\n\n if (typeof window === 'undefined') {\n isWorkerDisabled = true;\n\n if (typeof require.ensure === 'undefined') {\n require.ensure = require('node-ensure');\n }\n\n useRequireEnsure = true;\n } else if (typeof require !== 'undefined' && typeof require.ensure === 'function') {\n useRequireEnsure = true;\n }\n\n if (typeof requirejs !== 'undefined' && requirejs.toUrl) {\n fallbackWorkerSrc = requirejs.toUrl('pdfjs-dist/build/pdf.worker.js');\n }\n\n var dynamicLoaderSupported = typeof requirejs !== 'undefined' && requirejs.load;\n fakeWorkerFilesLoader = useRequireEnsure ? function () {\n return new Promise(function (resolve, reject) {\n require.ensure([], function () {\n try {\n var worker;\n worker = require('./pdf.worker.js');\n resolve(worker.WorkerMessageHandler);\n } catch (ex) {\n reject(ex);\n }\n }, reject, 'pdfjsWorker');\n });\n } : dynamicLoaderSupported ? function () {\n return new Promise(function (resolve, reject) {\n requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) {\n try {\n resolve(worker.WorkerMessageHandler);\n } catch (ex) {\n reject(ex);\n }\n }, reject);\n });\n } : null;\n\n if (!fallbackWorkerSrc && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === 'object' && 'currentScript' in document) {\n var pdfjsFilePath = document.currentScript && document.currentScript.src;\n\n if (pdfjsFilePath) {\n fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, '.worker$1$2');\n }\n }\n}\nvar createPDFNetworkStream;\n\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\nfunction getDocument(src) {\n var task = new PDFDocumentLoadingTask();\n var source;\n\n if (typeof src === 'string') {\n source = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = {\n data: src\n };\n } else if (src instanceof PDFDataRangeTransport) {\n source = {\n range: src\n };\n } else {\n if (_typeof(src) !== 'object') {\n throw new Error('Invalid parameter in getDocument, ' + 'need either Uint8Array, string or a parameter object');\n }\n\n if (!src.url && !src.data && !src.range) {\n throw new Error('Invalid parameter object: need either .data, .range or .url');\n }\n\n source = src;\n }\n\n var params = Object.create(null);\n var rangeTransport = null,\n worker = null;\n\n for (var key in source) {\n if (key === 'url' && typeof window !== 'undefined') {\n params[key] = new _util.URL(source[key], window.location).href;\n continue;\n } else if (key === 'range') {\n rangeTransport = source[key];\n continue;\n } else if (key === 'worker') {\n worker = source[key];\n continue;\n } else if (key === 'data' && !(source[key] instanceof Uint8Array)) {\n var pdfBytes = source[key];\n\n if (typeof pdfBytes === 'string') {\n params[key] = (0, _util.stringToBytes)(pdfBytes);\n } else if (_typeof(pdfBytes) === 'object' && pdfBytes !== null && !isNaN(pdfBytes.length)) {\n params[key] = new Uint8Array(pdfBytes);\n } else if ((0, _util.isArrayBuffer)(pdfBytes)) {\n params[key] = new Uint8Array(pdfBytes);\n } else {\n throw new Error('Invalid PDF binary data: either typed array, ' + 'string or array-like object is expected in the ' + 'data property.');\n }\n\n continue;\n }\n\n params[key] = source[key];\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory = params.CMapReaderFactory || _display_utils.DOMCMapReaderFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.pdfBug = params.pdfBug === true;\n var NativeImageDecoderValues = Object.values(_util.NativeImageDecoding);\n\n if (params.nativeImageDecoderSupport === undefined || !NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)) {\n params.nativeImageDecoderSupport = _api_compatibility.apiCompatibilityParams.nativeImageDecoderSupport || _util.NativeImageDecoding.DECODE;\n }\n\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n\n if (typeof params.isEvalSupported !== 'boolean') {\n params.isEvalSupported = true;\n }\n\n if (typeof params.disableFontFace !== 'boolean') {\n params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;\n }\n\n if (typeof params.disableRange !== 'boolean') {\n params.disableRange = false;\n }\n\n if (typeof params.disableStream !== 'boolean') {\n params.disableStream = false;\n }\n\n if (typeof params.disableAutoFetch !== 'boolean') {\n params.disableAutoFetch = false;\n }\n\n if (typeof params.disableCreateObjectURL !== 'boolean') {\n params.disableCreateObjectURL = _api_compatibility.apiCompatibilityParams.disableCreateObjectURL || false;\n }\n\n (0, _util.setVerbosityLevel)(params.verbosity);\n\n if (!worker) {\n var workerParams = {\n postMessageTransfers: params.postMessageTransfers,\n verbosity: params.verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n\n var docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error('Loading aborted');\n }\n\n return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) {\n if (task.destroyed) {\n throw new Error('Loading aborted');\n }\n\n var networkStream;\n\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n }, rangeTransport);\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n });\n }\n\n var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n var transport = new WorkerTransport(messageHandler, task, networkStream, params);\n task._transport = transport;\n messageHandler.send('Ready', null);\n });\n })[\"catch\"](task._capability.reject);\n return task;\n}\n\nfunction _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n }\n\n return worker.messageHandler.sendWithPromise('GetDocRequest', {\n docId: docId,\n apiVersion: '2.2.228',\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n disableCreateObjectURL: source.disableCreateObjectURL,\n postMessageTransfers: worker.postMessageTransfers,\n docBaseUrl: source.docBaseUrl,\n nativeImageDecoderSupport: source.nativeImageDecoderSupport,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported\n }).then(function (workerId) {\n if (worker.destroyed) {\n throw new Error('Worker was destroyed');\n }\n\n return workerId;\n });\n}\n\nvar PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {\n var nextDocumentId = 0;\n\n var PDFDocumentLoadingTask =\n /*#__PURE__*/\n function () {\n function PDFDocumentLoadingTask() {\n _classCallCheck(this, PDFDocumentLoadingTask);\n\n this._capability = (0, _util.createPromiseCapability)();\n this._transport = null;\n this._worker = null;\n this.docId = 'd' + nextDocumentId++;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n this.onUnsupportedFeature = null;\n }\n\n _createClass(PDFDocumentLoadingTask, [{\n key: \"destroy\",\n value: function destroy() {\n var _this = this;\n\n this.destroyed = true;\n var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();\n return transportDestroyed.then(function () {\n _this._transport = null;\n\n if (_this._worker) {\n _this._worker.destroy();\n\n _this._worker = null;\n }\n });\n }\n }, {\n key: \"then\",\n value: function then(onFulfilled, onRejected) {\n (0, _display_utils.deprecated)('PDFDocumentLoadingTask.then method, ' + 'use the `promise` getter instead.');\n return this.promise.then.apply(this.promise, arguments);\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._capability.promise;\n }\n }]);\n\n return PDFDocumentLoadingTask;\n }();\n\n return PDFDocumentLoadingTask;\n}();\n\nvar PDFDataRangeTransport =\n/*#__PURE__*/\nfunction () {\n function PDFDataRangeTransport(length, initialData) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, PDFDataRangeTransport);\n\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(PDFDataRangeTransport, [{\n key: \"addRangeListener\",\n value: function addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n }, {\n key: \"addProgressListener\",\n value: function addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n }, {\n key: \"addProgressiveReadListener\",\n value: function addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n }, {\n key: \"addProgressiveDoneListener\",\n value: function addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n }, {\n key: \"onDataRange\",\n value: function onDataRange(begin, chunk) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this._rangeListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var listener = _step.value;\n listener(begin, chunk);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }, {\n key: \"onDataProgress\",\n value: function onDataProgress(loaded, total) {\n var _this2 = this;\n\n this._readyCapability.promise.then(function () {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = _this2._progressListeners[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var listener = _step2.value;\n listener(loaded, total);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2[\"return\"] != null) {\n _iterator2[\"return\"]();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n });\n }\n }, {\n key: \"onDataProgressiveRead\",\n value: function onDataProgressiveRead(chunk) {\n var _this3 = this;\n\n this._readyCapability.promise.then(function () {\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = _this3._progressiveReadListeners[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var listener = _step3.value;\n listener(chunk);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3[\"return\"] != null) {\n _iterator3[\"return\"]();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n });\n }\n }, {\n key: \"onDataProgressiveDone\",\n value: function onDataProgressiveDone() {\n var _this4 = this;\n\n this._readyCapability.promise.then(function () {\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = _this4._progressiveDoneListeners[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var listener = _step4.value;\n listener();\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4[\"return\"] != null) {\n _iterator4[\"return\"]();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n });\n }\n }, {\n key: \"transportReady\",\n value: function transportReady() {\n this._readyCapability.resolve();\n }\n }, {\n key: \"requestDataRange\",\n value: function requestDataRange(begin, end) {\n (0, _util.unreachable)('Abstract method PDFDataRangeTransport.requestDataRange');\n }\n }, {\n key: \"abort\",\n value: function abort() {}\n }]);\n\n return PDFDataRangeTransport;\n}();\n\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\n\nvar PDFDocumentProxy =\n/*#__PURE__*/\nfunction () {\n function PDFDocumentProxy(pdfInfo, transport) {\n _classCallCheck(this, PDFDocumentProxy);\n\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n\n _createClass(PDFDocumentProxy, [{\n key: \"getPage\",\n value: function getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this._transport.getDestinations();\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n return this._transport.getDestination(id);\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this._transport.getPageLabels();\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this._transport.getPageLayout();\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this._transport.getPageMode();\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n }, {\n key: \"getOpenActionDestination\",\n value: function getOpenActionDestination() {\n return this._transport.getOpenActionDestination();\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this._transport.getAttachments();\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this._transport.getJavaScript();\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this._transport.getOutline();\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this._transport.getPermissions();\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n return this._transport.getMetadata();\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this._transport.getData();\n }\n }, {\n key: \"getDownloadInfo\",\n value: function getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this._transport.getStats();\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n this._transport.startCleanup();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n return this.loadingTask.destroy();\n }\n }, {\n key: \"numPages\",\n get: function get() {\n return this._pdfInfo.numPages;\n }\n }, {\n key: \"fingerprint\",\n get: function get() {\n return this._pdfInfo.fingerprint;\n }\n }, {\n key: \"loadingParams\",\n get: function get() {\n return this._transport.loadingParams;\n }\n }, {\n key: \"loadingTask\",\n get: function get() {\n return this._transport.loadingTask;\n }\n }]);\n\n return PDFDocumentProxy;\n}();\n\nexports.PDFDocumentProxy = PDFDocumentProxy;\n\nvar PDFPageProxy =\n/*#__PURE__*/\nfunction () {\n function PDFPageProxy(pageIndex, pageInfo, transport) {\n var pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n _classCallCheck(this, PDFPageProxy);\n\n this.pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new _display_utils.StatTimer() : _display_utils.DummyStatTimer;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this.intentStates = Object.create(null);\n this.destroyed = false;\n }\n\n _createClass(PDFPageProxy, [{\n key: \"getViewport\",\n value: function getViewport() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n scale = _ref.scale,\n _ref$rotation = _ref.rotation,\n rotation = _ref$rotation === void 0 ? this.rotate : _ref$rotation,\n _ref$dontFlip = _ref.dontFlip,\n dontFlip = _ref$dontFlip === void 0 ? false : _ref$dontFlip;\n\n if (arguments.length > 1 || typeof arguments[0] === 'number') {\n (0, _display_utils.deprecated)('getViewport is called with obsolete arguments.');\n scale = arguments[0];\n rotation = typeof arguments[1] === 'number' ? arguments[1] : this.rotate;\n dontFlip = typeof arguments[2] === 'boolean' ? arguments[2] : false;\n }\n\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale: scale,\n rotation: rotation,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$intent = _ref2.intent,\n intent = _ref2$intent === void 0 ? null : _ref2$intent;\n\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this._transport.getAnnotations(this.pageIndex, intent);\n this.annotationsIntent = intent;\n }\n\n return this.annotationsPromise;\n }\n }, {\n key: \"render\",\n value: function render(_ref3) {\n var _this5 = this;\n\n var canvasContext = _ref3.canvasContext,\n viewport = _ref3.viewport,\n _ref3$intent = _ref3.intent,\n intent = _ref3$intent === void 0 ? 'display' : _ref3$intent,\n _ref3$enableWebGL = _ref3.enableWebGL,\n enableWebGL = _ref3$enableWebGL === void 0 ? false : _ref3$enableWebGL,\n _ref3$renderInteracti = _ref3.renderInteractiveForms,\n renderInteractiveForms = _ref3$renderInteracti === void 0 ? false : _ref3$renderInteracti,\n _ref3$transform = _ref3.transform,\n transform = _ref3$transform === void 0 ? null : _ref3$transform,\n _ref3$imageLayer = _ref3.imageLayer,\n imageLayer = _ref3$imageLayer === void 0 ? null : _ref3$imageLayer,\n _ref3$canvasFactory = _ref3.canvasFactory,\n canvasFactory = _ref3$canvasFactory === void 0 ? null : _ref3$canvasFactory,\n _ref3$background = _ref3.background,\n background = _ref3$background === void 0 ? null : _ref3$background;\n var stats = this._stats;\n stats.time('Overall');\n this.pendingCleanup = false;\n var renderingIntent = intent === 'print' ? 'print' : 'display';\n var canvasFactoryInstance = canvasFactory || new _display_utils.DOMCanvasFactory();\n var webGLContext = new _webgl.WebGLContext({\n enable: enableWebGL\n });\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n var intentState = this.intentStates[renderingIntent];\n\n if (!intentState.displayReadyCapability) {\n intentState.receivingOperatorList = true;\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n stats.time('Page Request');\n\n this._transport.messageHandler.send('RenderPageRequest', {\n pageIndex: this.pageNumber - 1,\n intent: renderingIntent,\n renderInteractiveForms: renderInteractiveForms === true\n });\n }\n\n var complete = function complete(error) {\n var i = intentState.renderTasks.indexOf(internalRenderTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n\n if (_this5.cleanupAfterRender || renderingIntent === 'print') {\n _this5.pendingCleanup = true;\n }\n\n _this5._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n } else {\n internalRenderTask.capability.resolve();\n }\n\n stats.timeEnd('Rendering');\n stats.timeEnd('Overall');\n };\n\n var internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext: canvasContext,\n viewport: viewport,\n transform: transform,\n imageLayer: imageLayer,\n background: background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n operatorList: intentState.operatorList,\n pageNumber: this.pageNumber,\n canvasFactory: canvasFactoryInstance,\n webGLContext: webGLContext,\n useRequestAnimationFrame: renderingIntent !== 'print',\n pdfBug: this._pdfBug\n });\n\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n\n intentState.renderTasks.push(internalRenderTask);\n var renderTask = internalRenderTask.task;\n intentState.displayReadyCapability.promise.then(function (transparency) {\n if (_this5.pendingCleanup) {\n complete();\n return;\n }\n\n stats.time('Rendering');\n internalRenderTask.initializeGraphics(transparency);\n internalRenderTask.operatorListChanged();\n })[\"catch\"](complete);\n return renderTask;\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n var i = intentState.renderTasks.indexOf(opListTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n\n var renderingIntent = 'oplist';\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n var intentState = this.intentStates[renderingIntent];\n var opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = {};\n opListTask.operatorListChanged = operatorListChanged;\n intentState.receivingOperatorList = true;\n intentState.opListReadCapability = (0, _util.createPromiseCapability)();\n intentState.renderTasks = [];\n intentState.renderTasks.push(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n this._stats.time('Page Request');\n\n this._transport.messageHandler.send('RenderPageRequest', {\n pageIndex: this.pageIndex,\n intent: renderingIntent\n });\n }\n\n return intentState.opListReadCapability.promise;\n }\n }, {\n key: \"streamTextContent\",\n value: function streamTextContent() {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$normalizeWhites = _ref4.normalizeWhitespace,\n normalizeWhitespace = _ref4$normalizeWhites === void 0 ? false : _ref4$normalizeWhites,\n _ref4$disableCombineT = _ref4.disableCombineTextItems,\n disableCombineTextItems = _ref4$disableCombineT === void 0 ? false : _ref4$disableCombineT;\n\n var TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream('GetTextContent', {\n pageIndex: this.pageNumber - 1,\n normalizeWhitespace: normalizeWhitespace === true,\n combineTextItems: disableCombineTextItems !== true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size: function size(textContent) {\n return textContent.items.length;\n }\n });\n }\n }, {\n key: \"getTextContent\",\n value: function getTextContent() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function (_ref5) {\n var _textContent$items;\n\n var value = _ref5.value,\n done = _ref5.done;\n\n if (done) {\n resolve(textContent);\n return;\n }\n\n Object.assign(textContent.styles, value.styles);\n\n (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));\n\n pump();\n }, reject);\n }\n\n var reader = readableStream.getReader();\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n this.destroyed = true;\n this._transport.pageCache[this.pageIndex] = null;\n var waitOn = [];\n Object.keys(this.intentStates).forEach(function (intent) {\n if (intent === 'oplist') {\n return;\n }\n\n var intentState = this.intentStates[intent];\n intentState.renderTasks.forEach(function (renderTask) {\n var renderCompleted = renderTask.capability.promise[\"catch\"](function () {});\n waitOn.push(renderCompleted);\n renderTask.cancel();\n });\n }, this);\n this.objs.clear();\n this.annotationsPromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.pendingCleanup = true;\n\n this._tryCleanup(resetStats);\n }\n }, {\n key: \"_tryCleanup\",\n value: function _tryCleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.pendingCleanup || Object.keys(this.intentStates).some(function (intent) {\n var intentState = this.intentStates[intent];\n return intentState.renderTasks.length !== 0 || intentState.receivingOperatorList;\n }, this)) {\n return;\n }\n\n Object.keys(this.intentStates).forEach(function (intent) {\n delete this.intentStates[intent];\n }, this);\n this.objs.clear();\n this.annotationsPromise = null;\n\n if (resetStats && this._stats instanceof _display_utils.StatTimer) {\n this._stats = new _display_utils.StatTimer();\n }\n\n this.pendingCleanup = false;\n }\n }, {\n key: \"_startRenderPage\",\n value: function _startRenderPage(transparency, intent) {\n var intentState = this.intentStates[intent];\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n }, {\n key: \"_renderPageChunk\",\n value: function _renderPageChunk(operatorListChunk, intent) {\n var intentState = this.intentStates[intent];\n\n for (var i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n for (var _i = 0; _i < intentState.renderTasks.length; _i++) {\n intentState.renderTasks[_i].operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n intentState.receivingOperatorList = false;\n\n this._tryCleanup();\n }\n }\n }, {\n key: \"pageNumber\",\n get: function get() {\n return this.pageIndex + 1;\n }\n }, {\n key: \"rotate\",\n get: function get() {\n return this._pageInfo.rotate;\n }\n }, {\n key: \"ref\",\n get: function get() {\n return this._pageInfo.ref;\n }\n }, {\n key: \"userUnit\",\n get: function get() {\n return this._pageInfo.userUnit;\n }\n }, {\n key: \"view\",\n get: function get() {\n return this._pageInfo.view;\n }\n }, {\n key: \"stats\",\n get: function get() {\n return this._stats instanceof _display_utils.StatTimer ? this._stats : null;\n }\n }]);\n\n return PDFPageProxy;\n}();\n\nexports.PDFPageProxy = PDFPageProxy;\n\nvar LoopbackPort =\n/*#__PURE__*/\nfunction () {\n function LoopbackPort() {\n var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _classCallCheck(this, LoopbackPort);\n\n this._listeners = [];\n this._defer = defer;\n this._deferred = Promise.resolve(undefined);\n }\n\n _createClass(LoopbackPort, [{\n key: \"postMessage\",\n value: function postMessage(obj, transfers) {\n var _this6 = this;\n\n function cloneValue(value) {\n if (_typeof(value) !== 'object' || value === null) {\n return value;\n }\n\n if (cloned.has(value)) {\n return cloned.get(value);\n }\n\n var buffer, result;\n\n if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {\n var transferable = transfers && transfers.includes(buffer);\n\n if (value === buffer) {\n result = value;\n } else if (transferable) {\n result = new value.constructor(buffer, value.byteOffset, value.byteLength);\n } else {\n result = new value.constructor(value);\n }\n\n cloned.set(value, result);\n return result;\n }\n\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result);\n\n for (var i in value) {\n var desc = void 0,\n p = value;\n\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n\n if (typeof desc.value === 'undefined' || typeof desc.value === 'function') {\n continue;\n }\n\n result[i] = cloneValue(desc.value);\n }\n\n return result;\n }\n\n if (!this._defer) {\n this._listeners.forEach(function (listener) {\n listener.call(this, {\n data: obj\n });\n }, this);\n\n return;\n }\n\n var cloned = new WeakMap();\n var e = {\n data: cloneValue(obj)\n };\n\n this._deferred.then(function () {\n _this6._listeners.forEach(function (listener) {\n listener.call(this, e);\n }, _this6);\n });\n }\n }, {\n key: \"addEventListener\",\n value: function addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(name, listener) {\n var i = this._listeners.indexOf(listener);\n\n this._listeners.splice(i, 1);\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n this._listeners.length = 0;\n }\n }]);\n\n return LoopbackPort;\n}();\n\nexports.LoopbackPort = LoopbackPort;\n\nvar PDFWorker = function PDFWorkerClosure() {\n var pdfWorkerPorts = new WeakMap();\n var nextFakeWorkerId = 0;\n var fakeWorkerFilesLoadedCapability;\n\n function _getWorkerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n\n if (typeof fallbackWorkerSrc !== 'undefined') {\n return fallbackWorkerSrc;\n }\n\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n function getMainThreadWorkerMessageHandler() {\n try {\n if (typeof window !== 'undefined') {\n return window.pdfjsWorker && window.pdfjsWorker.WorkerMessageHandler;\n }\n } catch (ex) {}\n\n return null;\n }\n\n function setupFakeWorkerGlobal() {\n if (fakeWorkerFilesLoadedCapability) {\n return fakeWorkerFilesLoadedCapability.promise;\n }\n\n fakeWorkerFilesLoadedCapability = (0, _util.createPromiseCapability)();\n var mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n if (mainWorkerMessageHandler) {\n fakeWorkerFilesLoadedCapability.resolve(mainWorkerMessageHandler);\n return fakeWorkerFilesLoadedCapability.promise;\n }\n\n var loader = fakeWorkerFilesLoader || function () {\n return (0, _display_utils.loadScript)(_getWorkerSrc()).then(function () {\n return window.pdfjsWorker.WorkerMessageHandler;\n });\n };\n\n loader().then(fakeWorkerFilesLoadedCapability.resolve, fakeWorkerFilesLoadedCapability.reject);\n return fakeWorkerFilesLoadedCapability.promise;\n }\n\n function createCDNWrapper(url) {\n var wrapper = 'importScripts(\\'' + url + '\\');';\n return _util.URL.createObjectURL(new Blob([wrapper]));\n }\n\n var PDFWorker =\n /*#__PURE__*/\n function () {\n function PDFWorker() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$name = _ref6.name,\n name = _ref6$name === void 0 ? null : _ref6$name,\n _ref6$port = _ref6.port,\n port = _ref6$port === void 0 ? null : _ref6$port,\n _ref6$postMessageTran = _ref6.postMessageTransfers,\n postMessageTransfers = _ref6$postMessageTran === void 0 ? true : _ref6$postMessageTran,\n _ref6$verbosity = _ref6.verbosity,\n verbosity = _ref6$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref6$verbosity;\n\n _classCallCheck(this, PDFWorker);\n\n if (port && pdfWorkerPorts.has(port)) {\n throw new Error('Cannot use more than one PDFWorker per port');\n }\n\n this.name = name;\n this.destroyed = false;\n this.postMessageTransfers = postMessageTransfers !== false;\n this.verbosity = verbosity;\n this._readyCapability = (0, _util.createPromiseCapability)();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n pdfWorkerPorts.set(port, this);\n\n this._initializeFromPort(port);\n\n return;\n }\n\n this._initialize();\n }\n\n _createClass(PDFWorker, [{\n key: \"_initializeFromPort\",\n value: function _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler('main', 'worker', port);\n\n this._messageHandler.on('ready', function () {});\n\n this._readyCapability.resolve();\n }\n }, {\n key: \"_initialize\",\n value: function _initialize() {\n var _this7 = this;\n\n if (typeof Worker !== 'undefined' && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {\n var workerSrc = _getWorkerSrc();\n\n try {\n if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {\n workerSrc = createCDNWrapper(new _util.URL(workerSrc, window.location).href);\n }\n\n var worker = new Worker(workerSrc);\n var messageHandler = new _message_handler.MessageHandler('main', 'worker', worker);\n\n var terminateEarly = function terminateEarly() {\n worker.removeEventListener('error', onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n\n if (_this7.destroyed) {\n _this7._readyCapability.reject(new Error('Worker was destroyed'));\n } else {\n _this7._setupFakeWorker();\n }\n };\n\n var onWorkerError = function onWorkerError() {\n if (!_this7._webWorker) {\n terminateEarly();\n }\n };\n\n worker.addEventListener('error', onWorkerError);\n messageHandler.on('test', function (data) {\n worker.removeEventListener('error', onWorkerError);\n\n if (_this7.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data && data.supportTypedArray) {\n _this7._messageHandler = messageHandler;\n _this7._port = worker;\n _this7._webWorker = worker;\n\n if (!data.supportTransfers) {\n _this7.postMessageTransfers = false;\n }\n\n _this7._readyCapability.resolve();\n\n messageHandler.send('configure', {\n verbosity: _this7.verbosity\n });\n } else {\n _this7._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on('ready', function (data) {\n worker.removeEventListener('error', onWorkerError);\n\n if (_this7.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n _this7._setupFakeWorker();\n }\n });\n\n var sendTest = function sendTest() {\n var testObj = new Uint8Array([_this7.postMessageTransfers ? 255 : 0]);\n\n try {\n messageHandler.send('test', testObj, [testObj.buffer]);\n } catch (ex) {\n (0, _util.info)('Cannot use postMessage transfers');\n testObj[0] = 0;\n messageHandler.send('test', testObj);\n }\n };\n\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)('The worker has been disabled.');\n }\n }\n\n this._setupFakeWorker();\n }\n }, {\n key: \"_setupFakeWorker\",\n value: function _setupFakeWorker() {\n var _this8 = this;\n\n if (!isWorkerDisabled) {\n (0, _util.warn)('Setting up fake worker.');\n isWorkerDisabled = true;\n }\n\n setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {\n if (_this8.destroyed) {\n _this8._readyCapability.reject(new Error('Worker was destroyed'));\n\n return;\n }\n\n var port = new LoopbackPort();\n _this8._port = port;\n var id = 'fake' + nextFakeWorkerId++;\n var workerHandler = new _message_handler.MessageHandler(id + '_worker', id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n var messageHandler = new _message_handler.MessageHandler(id, id + '_worker', port);\n _this8._messageHandler = messageHandler;\n\n _this8._readyCapability.resolve();\n })[\"catch\"](function (reason) {\n _this8._readyCapability.reject(new Error(\"Setting up fake worker failed: \\\"\".concat(reason.message, \"\\\".\")));\n });\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.destroyed = true;\n\n if (this._webWorker) {\n this._webWorker.terminate();\n\n this._webWorker = null;\n }\n\n pdfWorkerPorts[\"delete\"](this._port);\n this._port = null;\n\n if (this._messageHandler) {\n this._messageHandler.destroy();\n\n this._messageHandler = null;\n }\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._readyCapability.promise;\n }\n }, {\n key: \"port\",\n get: function get() {\n return this._port;\n }\n }, {\n key: \"messageHandler\",\n get: function get() {\n return this._messageHandler;\n }\n }], [{\n key: \"fromPort\",\n value: function fromPort(params) {\n if (!params || !params.port) {\n throw new Error('PDFWorker.fromPort - invalid method signature.');\n }\n\n if (pdfWorkerPorts.has(params.port)) {\n return pdfWorkerPorts.get(params.port);\n }\n\n return new PDFWorker(params);\n }\n }, {\n key: \"getWorkerSrc\",\n value: function getWorkerSrc() {\n return _getWorkerSrc();\n }\n }]);\n\n return PDFWorker;\n }();\n\n return PDFWorker;\n}();\n\nexports.PDFWorker = PDFWorker;\n\nvar WorkerTransport =\n/*#__PURE__*/\nfunction () {\n function WorkerTransport(messageHandler, loadingTask, networkStream, params) {\n _classCallCheck(this, WorkerTransport);\n\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\n docId: loadingTask.docId,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this)\n });\n this._params = params;\n this.CMapReaderFactory = new params.CMapReaderFactory({\n baseUrl: params.cMapUrl,\n isCompressed: params.cMapPacked\n });\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.pageCache = [];\n this.pagePromises = [];\n this.downloadInfoCapability = (0, _util.createPromiseCapability)();\n this.setupMessageHandler();\n }\n\n _createClass(WorkerTransport, [{\n key: \"destroy\",\n value: function destroy() {\n var _this9 = this;\n\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error('Worker was destroyed during onPassword callback'));\n }\n\n var waitOn = [];\n this.pageCache.forEach(function (page) {\n if (page) {\n waitOn.push(page._destroy());\n }\n });\n this.pageCache.length = 0;\n this.pagePromises.length = 0;\n var terminated = this.messageHandler.sendWithPromise('Terminate', null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(function () {\n _this9.fontLoader.clear();\n\n if (_this9._networkStream) {\n _this9._networkStream.cancelAllRequests();\n }\n\n if (_this9.messageHandler) {\n _this9.messageHandler.destroy();\n\n _this9.messageHandler = null;\n }\n\n _this9.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n }, {\n key: \"setupMessageHandler\",\n value: function setupMessageHandler() {\n var messageHandler = this.messageHandler,\n loadingTask = this.loadingTask;\n messageHandler.on('GetReader', function (data, sink) {\n var _this10 = this;\n\n (0, _util.assert)(this._networkStream);\n this._fullReader = this._networkStream.getFullReader();\n\n this._fullReader.onProgress = function (evt) {\n _this10._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = function () {\n _this10._fullReader.read().then(function (_ref7) {\n var value = _ref7.value,\n done = _ref7.done;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value));\n sink.enqueue(new Uint8Array(value), 1, [value]);\n })[\"catch\"](function (reason) {\n sink.error(reason);\n });\n };\n\n sink.onCancel = function (reason) {\n _this10._fullReader.cancel(reason);\n };\n }, this);\n messageHandler.on('ReaderHeadersReady', function (data) {\n var _this11 = this;\n\n var headersCapability = (0, _util.createPromiseCapability)();\n var fullReader = this._fullReader;\n fullReader.headersReady.then(function () {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (_this11._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(_this11._lastProgress);\n }\n\n fullReader.onProgress = function (evt) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n };\n }\n\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n }, this);\n messageHandler.on('GetRangeReader', function (data, sink) {\n (0, _util.assert)(this._networkStream);\n\n var rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n\n if (!rangeReader) {\n sink.close();\n return;\n }\n\n sink.onPull = function () {\n rangeReader.read().then(function (_ref8) {\n var value = _ref8.value,\n done = _ref8.done;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value));\n sink.enqueue(new Uint8Array(value), 1, [value]);\n })[\"catch\"](function (reason) {\n sink.error(reason);\n });\n };\n\n sink.onCancel = function (reason) {\n rangeReader.cancel(reason);\n };\n }, this);\n messageHandler.on('GetDoc', function (_ref9) {\n var pdfInfo = _ref9.pdfInfo;\n this._numPages = pdfInfo.numPages;\n\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));\n }, this);\n messageHandler.on('PasswordRequest', function (exception) {\n var _this12 = this;\n\n this._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this12._passwordCapability.resolve({\n password: password\n });\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n this._passwordCapability.reject(ex);\n }\n } else {\n this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n\n return this._passwordCapability.promise;\n }, this);\n messageHandler.on('PasswordException', function (exception) {\n loadingTask._capability.reject(new _util.PasswordException(exception.message, exception.code));\n }, this);\n messageHandler.on('InvalidPDF', function (exception) {\n loadingTask._capability.reject(new _util.InvalidPDFException(exception.message));\n }, this);\n messageHandler.on('MissingPDF', function (exception) {\n loadingTask._capability.reject(new _util.MissingPDFException(exception.message));\n }, this);\n messageHandler.on('UnexpectedResponse', function (exception) {\n loadingTask._capability.reject(new _util.UnexpectedResponseException(exception.message, exception.status));\n }, this);\n messageHandler.on('UnknownError', function (exception) {\n loadingTask._capability.reject(new _util.UnknownErrorException(exception.message, exception.details));\n }, this);\n messageHandler.on('DataLoaded', function (data) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.length,\n total: data.length\n });\n }\n\n this.downloadInfoCapability.resolve(data);\n }, this);\n messageHandler.on('StartRenderPage', function (data) {\n if (this.destroyed) {\n return;\n }\n\n var page = this.pageCache[data.pageIndex];\n\n page._stats.timeEnd('Page Request');\n\n page._startRenderPage(data.transparency, data.intent);\n }, this);\n messageHandler.on('RenderPageChunk', function (data) {\n if (this.destroyed) {\n return;\n }\n\n var page = this.pageCache[data.pageIndex];\n\n page._renderPageChunk(data.operatorList, data.intent);\n }, this);\n messageHandler.on('commonobj', function (data) {\n var _this13 = this;\n\n if (this.destroyed) {\n return;\n }\n\n var _data = _slicedToArray(data, 3),\n id = _data[0],\n type = _data[1],\n exportedData = _data[2];\n\n if (this.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case 'Font':\n var params = this._params;\n\n if ('error' in exportedData) {\n var exportedError = exportedData.error;\n (0, _util.warn)(\"Error during font loading: \".concat(exportedError));\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n\n var fontRegistry = null;\n\n if (params.pdfBug && _global_scope[\"default\"].FontInspector && _global_scope[\"default\"].FontInspector.enabled) {\n fontRegistry = {\n registerFont: function registerFont(font, url) {\n _global_scope[\"default\"]['FontInspector'].fontAdded(font, url);\n }\n };\n }\n\n var font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n fontRegistry: fontRegistry\n });\n this.fontLoader.bind(font).then(function () {\n _this13.commonObjs.resolve(id, font);\n }, function (reason) {\n messageHandler.sendWithPromise('FontFallback', {\n id: id\n })[\"finally\"](function () {\n _this13.commonObjs.resolve(id, font);\n });\n });\n break;\n\n case 'FontPath':\n case 'FontType3Res':\n this.commonObjs.resolve(id, exportedData);\n break;\n\n default:\n throw new Error(\"Got unknown common object type \".concat(type));\n }\n }, this);\n messageHandler.on('obj', function (data) {\n if (this.destroyed) {\n return undefined;\n }\n\n var _data2 = _slicedToArray(data, 4),\n id = _data2[0],\n pageIndex = _data2[1],\n type = _data2[2],\n imageData = _data2[3];\n\n var pageProxy = this.pageCache[pageIndex];\n\n if (pageProxy.objs.has(id)) {\n return undefined;\n }\n\n switch (type) {\n case 'JpegStream':\n return new Promise(function (resolve, reject) {\n var img = new Image();\n\n img.onload = function () {\n resolve(img);\n };\n\n img.onerror = function () {\n reject(new Error('Error during JPEG image loading'));\n (0, _display_utils.releaseImageResources)(img);\n };\n\n img.src = imageData;\n }).then(function (img) {\n pageProxy.objs.resolve(id, img);\n });\n\n case 'Image':\n pageProxy.objs.resolve(id, imageData);\n var MAX_IMAGE_SIZE_TO_STORE = 8000000;\n\n if (imageData && 'data' in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n\n break;\n\n default:\n throw new Error(\"Got unknown object type \".concat(type));\n }\n\n return undefined;\n }, this);\n messageHandler.on('DocProgress', function (data) {\n if (this.destroyed) {\n return;\n }\n\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.loaded,\n total: data.total\n });\n }\n }, this);\n messageHandler.on('PageError', function (data) {\n if (this.destroyed) {\n return;\n }\n\n var page = this.pageCache[data.pageIndex];\n var intentState = page.intentStates[data.intent];\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(new Error(data.error));\n } else {\n throw new Error(data.error);\n }\n\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n\n for (var i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n }\n }, this);\n messageHandler.on('UnsupportedFeature', this._onUnsupportedFeature, this);\n messageHandler.on('JpegDecode', function (data) {\n if (this.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n\n if (typeof document === 'undefined') {\n return Promise.reject(new Error('\"document\" is not defined.'));\n }\n\n var _data3 = _slicedToArray(data, 2),\n imageUrl = _data3[0],\n components = _data3[1];\n\n if (components !== 3 && components !== 1) {\n return Promise.reject(new Error('Only 3 components or 1 component can be returned'));\n }\n\n return new Promise(function (resolve, reject) {\n var img = new Image();\n\n img.onload = function () {\n var width = img.width,\n height = img.height;\n var size = width * height;\n var rgbaLength = size * 4;\n var buf = new Uint8ClampedArray(size * components);\n var tmpCanvas = document.createElement('canvas');\n tmpCanvas.width = width;\n tmpCanvas.height = height;\n var tmpCtx = tmpCanvas.getContext('2d');\n tmpCtx.drawImage(img, 0, 0);\n var data = tmpCtx.getImageData(0, 0, width, height).data;\n\n if (components === 3) {\n for (var i = 0, j = 0; i < rgbaLength; i += 4, j += 3) {\n buf[j] = data[i];\n buf[j + 1] = data[i + 1];\n buf[j + 2] = data[i + 2];\n }\n } else if (components === 1) {\n for (var _i2 = 0, _j = 0; _i2 < rgbaLength; _i2 += 4, _j++) {\n buf[_j] = data[_i2];\n }\n }\n\n resolve({\n data: buf,\n width: width,\n height: height\n });\n (0, _display_utils.releaseImageResources)(img);\n tmpCanvas.width = 0;\n tmpCanvas.height = 0;\n tmpCanvas = null;\n tmpCtx = null;\n };\n\n img.onerror = function () {\n reject(new Error('JpegDecode failed to load image'));\n (0, _display_utils.releaseImageResources)(img);\n };\n\n img.src = imageUrl;\n });\n }, this);\n messageHandler.on('FetchBuiltInCMap', function (data) {\n if (this.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n\n return this.CMapReaderFactory.fetch({\n name: data.name\n });\n }, this);\n }\n }, {\n key: \"_onUnsupportedFeature\",\n value: function _onUnsupportedFeature(_ref10) {\n var featureId = _ref10.featureId;\n\n if (this.destroyed) {\n return;\n }\n\n if (this.loadingTask.onUnsupportedFeature) {\n this.loadingTask.onUnsupportedFeature(featureId);\n }\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this.messageHandler.sendWithPromise('GetData', null);\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageNumber) {\n var _this14 = this;\n\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error('Invalid page request'));\n }\n\n var pageIndex = pageNumber - 1;\n\n if (pageIndex in this.pagePromises) {\n return this.pagePromises[pageIndex];\n }\n\n var promise = this.messageHandler.sendWithPromise('GetPage', {\n pageIndex: pageIndex\n }).then(function (pageInfo) {\n if (_this14.destroyed) {\n throw new Error('Transport destroyed');\n }\n\n var page = new PDFPageProxy(pageIndex, pageInfo, _this14, _this14._params.pdfBug);\n _this14.pageCache[pageIndex] = page;\n return page;\n });\n this.pagePromises[pageIndex] = promise;\n return promise;\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this.messageHandler.sendWithPromise('GetPageIndex', {\n ref: ref\n })[\"catch\"](function (reason) {\n return Promise.reject(new Error(reason));\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise('GetAnnotations', {\n pageIndex: pageIndex,\n intent: intent\n });\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this.messageHandler.sendWithPromise('GetDestinations', null);\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n if (typeof id !== 'string') {\n return Promise.reject(new Error('Invalid destination request.'));\n }\n\n return this.messageHandler.sendWithPromise('GetDestination', {\n id: id\n });\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this.messageHandler.sendWithPromise('GetPageLabels', null);\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this.messageHandler.sendWithPromise('GetPageLayout', null);\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this.messageHandler.sendWithPromise('GetPageMode', null);\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this.messageHandler.sendWithPromise('GetViewerPreferences', null);\n }\n }, {\n key: \"getOpenActionDestination\",\n value: function getOpenActionDestination() {\n return this.messageHandler.sendWithPromise('GetOpenActionDestination', null);\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this.messageHandler.sendWithPromise('GetAttachments', null);\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this.messageHandler.sendWithPromise('GetJavaScript', null);\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this.messageHandler.sendWithPromise('GetOutline', null);\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this.messageHandler.sendWithPromise('GetPermissions', null);\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n var _this15 = this;\n\n return this.messageHandler.sendWithPromise('GetMetadata', null).then(function (results) {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: _this15._fullReader ? _this15._fullReader.filename : null\n };\n });\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this.messageHandler.sendWithPromise('GetStats', null);\n }\n }, {\n key: \"startCleanup\",\n value: function startCleanup() {\n var _this16 = this;\n\n this.messageHandler.sendWithPromise('Cleanup', null).then(function () {\n for (var i = 0, ii = _this16.pageCache.length; i < ii; i++) {\n var page = _this16.pageCache[i];\n\n if (page) {\n page.cleanup();\n }\n }\n\n _this16.commonObjs.clear();\n\n _this16.fontLoader.clear();\n });\n }\n }, {\n key: \"loadingParams\",\n get: function get() {\n var params = this._params;\n return (0, _util.shadow)(this, 'loadingParams', {\n disableAutoFetch: params.disableAutoFetch,\n disableCreateObjectURL: params.disableCreateObjectURL,\n disableFontFace: params.disableFontFace,\n nativeImageDecoderSupport: params.nativeImageDecoderSupport\n });\n }\n }]);\n\n return WorkerTransport;\n}();\n\nvar PDFObjects =\n/*#__PURE__*/\nfunction () {\n function PDFObjects() {\n _classCallCheck(this, PDFObjects);\n\n this._objs = Object.create(null);\n }\n\n _createClass(PDFObjects, [{\n key: \"_ensureObj\",\n value: function _ensureObj(objId) {\n if (this._objs[objId]) {\n return this._objs[objId];\n }\n\n return this._objs[objId] = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n }\n }, {\n key: \"get\",\n value: function get(objId) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (callback) {\n this._ensureObj(objId).capability.promise.then(callback);\n\n return null;\n }\n\n var obj = this._objs[objId];\n\n if (!obj || !obj.resolved) {\n throw new Error(\"Requesting object that isn't resolved yet \".concat(objId, \".\"));\n }\n\n return obj.data;\n }\n }, {\n key: \"has\",\n value: function has(objId) {\n var obj = this._objs[objId];\n return obj ? obj.resolved : false;\n }\n }, {\n key: \"resolve\",\n value: function resolve(objId, data) {\n var obj = this._ensureObj(objId);\n\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n for (var objId in this._objs) {\n var data = this._objs[objId].data;\n\n if (typeof Image !== 'undefined' && data instanceof Image) {\n (0, _display_utils.releaseImageResources)(data);\n }\n }\n\n this._objs = Object.create(null);\n }\n }]);\n\n return PDFObjects;\n}();\n\nvar RenderTask =\n/*#__PURE__*/\nfunction () {\n function RenderTask(internalRenderTask) {\n _classCallCheck(this, RenderTask);\n\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n\n _createClass(RenderTask, [{\n key: \"cancel\",\n value: function cancel() {\n this._internalRenderTask.cancel();\n }\n }, {\n key: \"then\",\n value: function then(onFulfilled, onRejected) {\n (0, _display_utils.deprecated)('RenderTask.then method, use the `promise` getter instead.');\n return this.promise.then.apply(this.promise, arguments);\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._internalRenderTask.capability.promise;\n }\n }]);\n\n return RenderTask;\n}();\n\nvar InternalRenderTask = function InternalRenderTaskClosure() {\n var canvasInRendering = new WeakSet();\n\n var InternalRenderTask =\n /*#__PURE__*/\n function () {\n function InternalRenderTask(_ref11) {\n var callback = _ref11.callback,\n params = _ref11.params,\n objs = _ref11.objs,\n commonObjs = _ref11.commonObjs,\n operatorList = _ref11.operatorList,\n pageNumber = _ref11.pageNumber,\n canvasFactory = _ref11.canvasFactory,\n webGLContext = _ref11.webGLContext,\n _ref11$useRequestAnim = _ref11.useRequestAnimationFrame,\n useRequestAnimationFrame = _ref11$useRequestAnim === void 0 ? false : _ref11$useRequestAnim,\n _ref11$pdfBug = _ref11.pdfBug,\n pdfBug = _ref11$pdfBug === void 0 ? false : _ref11$pdfBug;\n\n _classCallCheck(this, InternalRenderTask);\n\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this.pageNumber = pageNumber;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this._pdfBug = pdfBug;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== 'undefined';\n this.cancelled = false;\n this.capability = (0, _util.createPromiseCapability)();\n this.task = new RenderTask(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n\n _createClass(InternalRenderTask, [{\n key: \"initializeGraphics\",\n value: function initializeGraphics() {\n var transparency = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (this.cancelled) {\n return;\n }\n\n if (this._canvas) {\n if (canvasInRendering.has(this._canvas)) {\n throw new Error('Cannot use the same canvas during multiple render() operations. ' + 'Use different canvas or ensure previous operations were ' + 'cancelled or completed.');\n }\n\n canvasInRendering.add(this._canvas);\n }\n\n if (this._pdfBug && _global_scope[\"default\"].StepperManager && _global_scope[\"default\"].StepperManager.enabled) {\n this.stepper = _global_scope[\"default\"].StepperManager.create(this.pageNumber - 1);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n\n var _this$params = this.params,\n canvasContext = _this$params.canvasContext,\n viewport = _this$params.viewport,\n transform = _this$params.transform,\n imageLayer = _this$params.imageLayer,\n background = _this$params.background;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer);\n this.gfx.beginDrawing({\n transform: transform,\n viewport: viewport,\n transparency: transparency,\n background: background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n this.running = false;\n this.cancelled = true;\n\n if (this.gfx) {\n this.gfx.endDrawing();\n }\n\n if (this._canvas) {\n canvasInRendering[\"delete\"](this._canvas);\n }\n\n this.callback(error || new _display_utils.RenderingCancelledException(\"Rendering cancelled, page \".concat(this.pageNumber), 'canvas'));\n }\n }, {\n key: \"operatorListChanged\",\n value: function operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n\n return;\n }\n\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n\n if (this.running) {\n return;\n }\n\n this._continue();\n }\n }, {\n key: \"_continue\",\n value: function _continue() {\n this.running = true;\n\n if (this.cancelled) {\n return;\n }\n\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n }, {\n key: \"_scheduleNext\",\n value: function _scheduleNext() {\n var _this17 = this;\n\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(function () {\n _this17._nextBound()[\"catch\"](_this17.cancel.bind(_this17));\n });\n } else {\n Promise.resolve().then(this._nextBound)[\"catch\"](this.cancel.bind(this));\n }\n }\n }, {\n key: \"_next\",\n value: function () {\n var _next2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!this.cancelled) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n\n if (this._canvas) {\n canvasInRendering[\"delete\"](this._canvas);\n }\n\n this.callback();\n }\n }\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function _next() {\n return _next2.apply(this, arguments);\n }\n\n return _next;\n }()\n }]);\n\n return InternalRenderTask;\n }();\n\n return InternalRenderTask;\n}();\n\nvar version = '2.2.228';\nexports.version = version;\nvar build = 'd7afb74a';\nexports.build = build;\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(149);\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar runtime = function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined;\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n\n exports.wrap = wrap;\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = \"GeneratorFunction\";\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n prototype[method] = function (arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n exports.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n\n if (value && _typeof(value) === \"object\" && hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function (unwrapped) {\n result.value = unwrapped;\n resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n\n exports.AsyncIterator = AsyncIterator;\n\n exports.async = function (innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\n if (record.type === \"normal\") {\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (method === undefined) {\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator[\"return\"]) {\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n return info;\n }\n\n context.delegate = null;\n return ContinueSentinel;\n }\n\n defineIteratorMethods(Gp);\n Gp[toStringTagSymbol] = \"Generator\";\n\n Gp[iteratorSymbol] = function () {\n return this;\n };\n\n Gp.toString = function () {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse();\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n return next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n exports.values = values;\n\n function doneResult() {\n return {\n value: undefined,\n done: true\n };\n }\n\n Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n if (name.charAt(0) === \"t\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function stop() {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" || record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n return exports;\n}(( false ? undefined : _typeof(module)) === \"object\" ? module.exports : {});\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(150)(module)))\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = [];\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addLinkAttributes = addLinkAttributes;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.isFetchSupported = isFetchSupported;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\nexports.deprecated = deprecated;\nexports.releaseImageResources = releaseImageResources;\nexports.PDFDateString = exports.DummyStatTimer = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DEFAULT_LINK_REL = 'noopener noreferrer nofollow';\nexports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\nvar SVG_NS = 'http://www.w3.org/2000/svg';\n\nvar DOMCanvasFactory =\n/*#__PURE__*/\nfunction () {\n function DOMCanvasFactory() {\n _classCallCheck(this, DOMCanvasFactory);\n }\n\n _createClass(DOMCanvasFactory, [{\n key: \"create\",\n value: function create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error('Invalid canvas size');\n }\n\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.width = width;\n canvas.height = height;\n return {\n canvas: canvas,\n context: context\n };\n }\n }, {\n key: \"reset\",\n value: function reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error('Canvas is not specified');\n }\n\n if (width <= 0 || height <= 0) {\n throw new Error('Invalid canvas size');\n }\n\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n }, {\n key: \"destroy\",\n value: function destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error('Canvas is not specified');\n }\n\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n }]);\n\n return DOMCanvasFactory;\n}();\n\nexports.DOMCanvasFactory = DOMCanvasFactory;\n\nvar DOMCMapReaderFactory =\n/*#__PURE__*/\nfunction () {\n function DOMCMapReaderFactory(_ref) {\n var _ref$baseUrl = _ref.baseUrl,\n baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl,\n _ref$isCompressed = _ref.isCompressed,\n isCompressed = _ref$isCompressed === void 0 ? false : _ref$isCompressed;\n\n _classCallCheck(this, DOMCMapReaderFactory);\n\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n _createClass(DOMCMapReaderFactory, [{\n key: \"fetch\",\n value: function (_fetch) {\n function fetch(_x) {\n return _fetch.apply(this, arguments);\n }\n\n fetch.toString = function () {\n return _fetch.toString();\n };\n\n return fetch;\n }(\n /*#__PURE__*/\n function () {\n var _ref3 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2(_ref2) {\n var _this = this;\n\n var name, url, compressionType;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n name = _ref2.name;\n\n if (this.baseUrl) {\n _context2.next = 3;\n break;\n }\n\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n\n case 3:\n if (name) {\n _context2.next = 5;\n break;\n }\n\n throw new Error('CMap name must be specified.');\n\n case 5:\n url = this.baseUrl + name + (this.isCompressed ? '.bcmap' : '');\n compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n\n if (!(isFetchSupported() && isValidFetchUrl(url, document.baseURI))) {\n _context2.next = 9;\n break;\n }\n\n return _context2.abrupt(\"return\", fetch(url).then(\n /*#__PURE__*/\n function () {\n var _ref4 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(response) {\n var cMapData;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (response.ok) {\n _context.next = 2;\n break;\n }\n\n throw new Error(response.statusText);\n\n case 2:\n if (!_this.isCompressed) {\n _context.next = 10;\n break;\n }\n\n _context.t0 = Uint8Array;\n _context.next = 6;\n return response.arrayBuffer();\n\n case 6:\n _context.t1 = _context.sent;\n cMapData = new _context.t0(_context.t1);\n _context.next = 15;\n break;\n\n case 10:\n _context.t2 = _util.stringToBytes;\n _context.next = 13;\n return response.text();\n\n case 13:\n _context.t3 = _context.sent;\n cMapData = (0, _context.t2)(_context.t3);\n\n case 15:\n return _context.abrupt(\"return\", {\n cMapData: cMapData,\n compressionType: compressionType\n });\n\n case 16:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x3) {\n return _ref4.apply(this, arguments);\n };\n }())[\"catch\"](function (reason) {\n throw new Error(\"Unable to load \".concat(_this.isCompressed ? 'binary ' : '') + \"CMap at: \".concat(url));\n }));\n\n case 9:\n return _context2.abrupt(\"return\", new Promise(function (resolve, reject) {\n var request = new XMLHttpRequest();\n request.open('GET', url, true);\n\n if (_this.isCompressed) {\n request.responseType = 'arraybuffer';\n }\n\n request.onreadystatechange = function () {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n\n if (request.status === 200 || request.status === 0) {\n var cMapData;\n\n if (_this.isCompressed && request.response) {\n cMapData = new Uint8Array(request.response);\n } else if (!_this.isCompressed && request.responseText) {\n cMapData = (0, _util.stringToBytes)(request.responseText);\n }\n\n if (cMapData) {\n resolve({\n cMapData: cMapData,\n compressionType: compressionType\n });\n return;\n }\n }\n\n reject(new Error(request.statusText));\n };\n\n request.send(null);\n })[\"catch\"](function (reason) {\n throw new Error(\"Unable to load \".concat(_this.isCompressed ? 'binary ' : '') + \"CMap at: \".concat(url));\n }));\n\n case 10:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n return function (_x2) {\n return _ref3.apply(this, arguments);\n };\n }())\n }]);\n\n return DOMCMapReaderFactory;\n}();\n\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\nvar DOMSVGFactory =\n/*#__PURE__*/\nfunction () {\n function DOMSVGFactory() {\n _classCallCheck(this, DOMSVGFactory);\n }\n\n _createClass(DOMSVGFactory, [{\n key: \"create\",\n value: function create(width, height) {\n (0, _util.assert)(width > 0 && height > 0, 'Invalid SVG dimensions');\n var svg = document.createElementNS(SVG_NS, 'svg:svg');\n svg.setAttribute('version', '1.1');\n svg.setAttribute('width', width + 'px');\n svg.setAttribute('height', height + 'px');\n svg.setAttribute('preserveAspectRatio', 'none');\n svg.setAttribute('viewBox', '0 0 ' + width + ' ' + height);\n return svg;\n }\n }, {\n key: \"createElement\",\n value: function createElement(type) {\n (0, _util.assert)(typeof type === 'string', 'Invalid SVG element type');\n return document.createElementNS(SVG_NS, type);\n }\n }]);\n\n return DOMSVGFactory;\n}();\n\nexports.DOMSVGFactory = DOMSVGFactory;\n\nvar PageViewport =\n/*#__PURE__*/\nfunction () {\n function PageViewport(_ref5) {\n var viewBox = _ref5.viewBox,\n scale = _ref5.scale,\n rotation = _ref5.rotation,\n _ref5$offsetX = _ref5.offsetX,\n offsetX = _ref5$offsetX === void 0 ? 0 : _ref5$offsetX,\n _ref5$offsetY = _ref5.offsetY,\n offsetY = _ref5$offsetY === void 0 ? 0 : _ref5$offsetY,\n _ref5$dontFlip = _ref5.dontFlip,\n dontFlip = _ref5$dontFlip === void 0 ? false : _ref5$dontFlip;\n\n _classCallCheck(this, PageViewport);\n\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n var centerX = (viewBox[2] + viewBox[0]) / 2;\n var centerY = (viewBox[3] + viewBox[1]) / 2;\n var rotateA, rotateB, rotateC, rotateD;\n rotation = rotation % 360;\n rotation = rotation < 0 ? rotation + 360 : rotation;\n\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n\n default:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n }\n\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n\n var offsetCanvasX, offsetCanvasY;\n var width, height;\n\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n }\n\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n\n _createClass(PageViewport, [{\n key: \"clone\",\n value: function clone() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$scale = _ref6.scale,\n scale = _ref6$scale === void 0 ? this.scale : _ref6$scale,\n _ref6$rotation = _ref6.rotation,\n rotation = _ref6$rotation === void 0 ? this.rotation : _ref6$rotation,\n _ref6$dontFlip = _ref6.dontFlip,\n dontFlip = _ref6$dontFlip === void 0 ? false : _ref6$dontFlip;\n\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale: scale,\n rotation: rotation,\n offsetX: this.offsetX,\n offsetY: this.offsetY,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"convertToViewportPoint\",\n value: function convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n }, {\n key: \"convertToViewportRectangle\",\n value: function convertToViewportRectangle(rect) {\n var topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n\n var bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n }, {\n key: \"convertToPdfPoint\",\n value: function convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n }]);\n\n return PageViewport;\n}();\n\nexports.PageViewport = PageViewport;\n\nvar RenderingCancelledException = function RenderingCancelledException() {\n function RenderingCancelledException(msg, type) {\n this.message = msg;\n this.type = type;\n }\n\n RenderingCancelledException.prototype = new Error();\n RenderingCancelledException.prototype.name = 'RenderingCancelledException';\n RenderingCancelledException.constructor = RenderingCancelledException;\n return RenderingCancelledException;\n}();\n\nexports.RenderingCancelledException = RenderingCancelledException;\nvar LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nexports.LinkTarget = LinkTarget;\nvar LinkTargetStringMap = ['', '_self', '_blank', '_parent', '_top'];\n\nfunction addLinkAttributes(link) {\n var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n url = _ref7.url,\n target = _ref7.target,\n rel = _ref7.rel;\n\n link.href = link.title = url ? (0, _util.removeNullCharacters)(url) : '';\n\n if (url) {\n var LinkTargetValues = Object.values(LinkTarget);\n var targetIndex = LinkTargetValues.includes(target) ? target : LinkTarget.NONE;\n link.target = LinkTargetStringMap[targetIndex];\n link.rel = typeof rel === 'string' ? rel : DEFAULT_LINK_REL;\n }\n}\n\nfunction getFilenameFromUrl(url) {\n var anchor = url.indexOf('#');\n var query = url.indexOf('?');\n var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n return url.substring(url.lastIndexOf('/', end) + 1, end);\n}\n\nvar StatTimer =\n/*#__PURE__*/\nfunction () {\n function StatTimer() {\n var enable = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _classCallCheck(this, StatTimer);\n\n this.enabled = !!enable;\n this.started = Object.create(null);\n this.times = [];\n }\n\n _createClass(StatTimer, [{\n key: \"time\",\n value: function time(name) {\n if (!this.enabled) {\n return;\n }\n\n if (name in this.started) {\n (0, _util.warn)('Timer is already running for ' + name);\n }\n\n this.started[name] = Date.now();\n }\n }, {\n key: \"timeEnd\",\n value: function timeEnd(name) {\n if (!this.enabled) {\n return;\n }\n\n if (!(name in this.started)) {\n (0, _util.warn)('Timer has not been started for ' + name);\n }\n\n this.times.push({\n 'name': name,\n 'start': this.started[name],\n 'end': Date.now()\n });\n delete this.started[name];\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var out = '',\n longest = 0;\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.times[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var time = _step.value;\n var name = time.name;\n\n if (name.length > longest) {\n longest = name.length;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = this.times[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var _time = _step2.value;\n var duration = _time.end - _time.start;\n out += \"\".concat(_time.name.padEnd(longest), \" \").concat(duration, \"ms\\n\");\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2[\"return\"] != null) {\n _iterator2[\"return\"]();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n return out;\n }\n }]);\n\n return StatTimer;\n}();\n\nexports.StatTimer = StatTimer;\n\nvar DummyStatTimer =\n/*#__PURE__*/\nfunction () {\n function DummyStatTimer() {\n _classCallCheck(this, DummyStatTimer);\n\n (0, _util.unreachable)('Cannot initialize DummyStatTimer.');\n }\n\n _createClass(DummyStatTimer, null, [{\n key: \"time\",\n value: function time(name) {}\n }, {\n key: \"timeEnd\",\n value: function timeEnd(name) {}\n }, {\n key: \"toString\",\n value: function toString() {\n return '';\n }\n }]);\n\n return DummyStatTimer;\n}();\n\nexports.DummyStatTimer = DummyStatTimer;\n\nfunction isFetchSupported() {\n return typeof fetch !== 'undefined' && typeof Response !== 'undefined' && 'body' in Response.prototype && typeof ReadableStream !== 'undefined';\n}\n\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n var _ref8 = baseUrl ? new _util.URL(url, baseUrl) : new _util.URL(url),\n protocol = _ref8.protocol;\n\n return protocol === 'http:' || protocol === 'https:';\n } catch (ex) {\n return false;\n }\n}\n\nfunction loadScript(src) {\n return new Promise(function (resolve, reject) {\n var script = document.createElement('script');\n script.src = src;\n script.onload = resolve;\n\n script.onerror = function () {\n reject(new Error(\"Cannot load script at: \".concat(script.src)));\n };\n\n (document.head || document.documentElement).appendChild(script);\n });\n}\n\nfunction deprecated(details) {\n console.log('Deprecated API usage: ' + details);\n}\n\nfunction releaseImageResources(img) {\n (0, _util.assert)(img instanceof Image, 'Invalid `img` parameter.');\n var url = img.src;\n\n if (typeof url === 'string' && url.startsWith('blob:') && _util.URL.revokeObjectURL) {\n _util.URL.revokeObjectURL(url);\n }\n\n img.removeAttribute('src');\n}\n\nvar pdfDateStringRegex;\n\nvar PDFDateString =\n/*#__PURE__*/\nfunction () {\n function PDFDateString() {\n _classCallCheck(this, PDFDateString);\n }\n\n _createClass(PDFDateString, null, [{\n key: \"toDateObject\",\n value: function toDateObject(input) {\n if (!input || !(0, _util.isString)(input)) {\n return null;\n }\n\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp('^D:' + '(\\\\d{4})' + '(\\\\d{2})?' + '(\\\\d{2})?' + '(\\\\d{2})?' + '(\\\\d{2})?' + '(\\\\d{2})?' + '([Z|+|-])?' + '(\\\\d{2})?' + '\\'?' + '(\\\\d{2})?' + '\\'?');\n }\n\n var matches = pdfDateStringRegex.exec(input);\n\n if (!matches) {\n return null;\n }\n\n var year = parseInt(matches[1], 10);\n var month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n var day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n var hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n var minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n var second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n var universalTimeRelation = matches[7] || 'Z';\n var offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n var offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n if (universalTimeRelation === '-') {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === '+') {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n }]);\n\n return PDFDateString;\n}();\n\nexports.PDFDateString = PDFDateString;\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontLoader = exports.FontFaceObject = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BaseFontLoader =\n/*#__PURE__*/\nfunction () {\n function BaseFontLoader(_ref) {\n var docId = _ref.docId,\n onUnsupportedFeature = _ref.onUnsupportedFeature;\n\n _classCallCheck(this, BaseFontLoader);\n\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)('Cannot initialize BaseFontLoader.');\n }\n\n this.docId = docId;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.nativeFontFaces = [];\n this.styleElement = null;\n }\n\n _createClass(BaseFontLoader, [{\n key: \"addNativeFontFace\",\n value: function addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n document.fonts.add(nativeFontFace);\n }\n }, {\n key: \"insertRule\",\n value: function insertRule(rule) {\n var styleElement = this.styleElement;\n\n if (!styleElement) {\n styleElement = this.styleElement = document.createElement('style');\n styleElement.id = \"PDFJS_FONT_STYLE_TAG_\".concat(this.docId);\n document.documentElement.getElementsByTagName('head')[0].appendChild(styleElement);\n }\n\n var styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.nativeFontFaces.forEach(function (nativeFontFace) {\n document.fonts[\"delete\"](nativeFontFace);\n });\n this.nativeFontFaces.length = 0;\n\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n }, {\n key: \"bind\",\n value: function () {\n var _bind = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(font) {\n var _this = this;\n\n var nativeFontFace, rule;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(font.attached || font.missingFile)) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\", undefined);\n\n case 2:\n font.attached = true;\n\n if (!this.isFontLoadingAPISupported) {\n _context.next = 19;\n break;\n }\n\n nativeFontFace = font.createNativeFontFace();\n\n if (!nativeFontFace) {\n _context.next = 18;\n break;\n }\n\n this.addNativeFontFace(nativeFontFace);\n _context.prev = 7;\n _context.next = 10;\n return nativeFontFace.loaded;\n\n case 10:\n _context.next = 18;\n break;\n\n case 12:\n _context.prev = 12;\n _context.t0 = _context[\"catch\"](7);\n\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n\n (0, _util.warn)(\"Failed to load font '\".concat(nativeFontFace.family, \"': '\").concat(_context.t0, \"'.\"));\n font.disableFontFace = true;\n throw _context.t0;\n\n case 18:\n return _context.abrupt(\"return\", undefined);\n\n case 19:\n rule = font.createFontFaceRule();\n\n if (!rule) {\n _context.next = 25;\n break;\n }\n\n this.insertRule(rule);\n\n if (!this.isSyncFontLoadingSupported) {\n _context.next = 24;\n break;\n }\n\n return _context.abrupt(\"return\", undefined);\n\n case 24:\n return _context.abrupt(\"return\", new Promise(function (resolve) {\n var request = _this._queueLoadingCallback(resolve);\n\n _this._prepareFontLoadEvent([rule], [font], request);\n }));\n\n case 25:\n return _context.abrupt(\"return\", undefined);\n\n case 26:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[7, 12]]);\n }));\n\n function bind(_x) {\n return _bind.apply(this, arguments);\n }\n\n return bind;\n }()\n }, {\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n (0, _util.unreachable)('Abstract method `_queueLoadingCallback`.');\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {\n (0, _util.unreachable)('Abstract method `_prepareFontLoadEvent`.');\n }\n }, {\n key: \"isFontLoadingAPISupported\",\n get: function get() {\n (0, _util.unreachable)('Abstract method `isFontLoadingAPISupported`.');\n }\n }, {\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n (0, _util.unreachable)('Abstract method `isSyncFontLoadingSupported`.');\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n (0, _util.unreachable)('Abstract method `_loadTestFont`.');\n }\n }]);\n\n return BaseFontLoader;\n}();\n\nvar FontLoader;\nexports.FontLoader = FontLoader;\n{\n exports.FontLoader = FontLoader =\n /*#__PURE__*/\n function (_BaseFontLoader) {\n _inherits(GenericFontLoader, _BaseFontLoader);\n\n function GenericFontLoader(docId) {\n var _this2;\n\n _classCallCheck(this, GenericFontLoader);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(GenericFontLoader).call(this, docId));\n _this2.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n _this2.loadTestFontId = 0;\n return _this2;\n }\n\n _createClass(GenericFontLoader, [{\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, 'completeRequest() cannot be called twice.');\n request.done = true;\n\n while (context.requests.length > 0 && context.requests[0].done) {\n var otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n\n var context = this.loadingContext;\n var request = {\n id: \"pdfjs-font-loading-\".concat(context.nextRequestId++),\n done: false,\n complete: completeRequest,\n callback: callback\n };\n context.requests.push(request);\n return request;\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fonts, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n\n function spliceString(s, offset, remove, insert) {\n var chunk1 = s.substring(0, offset);\n var chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n\n var i, ii;\n var canvas = document.createElement('canvas');\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext('2d');\n var called = 0;\n\n function isFontReady(name, callback) {\n called++;\n\n if (called > 30) {\n (0, _util.warn)('Load test font never loaded.');\n callback();\n return;\n }\n\n ctx.font = '30px ' + name;\n ctx.fillText('.', 0, 20);\n var imageData = ctx.getImageData(0, 0, 1, 1);\n\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n\n setTimeout(isFontReady.bind(null, name, callback));\n }\n\n var loadTestFontId = \"lt\".concat(Date.now()).concat(this.loadTestFontId++);\n var data = this._loadTestFont;\n var COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n var CFF_CHECKSUM_OFFSET = 16;\n var XXXX_VALUE = 0x58585858;\n var checksum = int32(data, CFF_CHECKSUM_OFFSET);\n\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + 'XXX', i) | 0;\n }\n\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n var url = \"url(data:font/opentype;base64,\".concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(loadTestFontId, \"\\\";src:\").concat(url, \"}\");\n this.insertRule(rule);\n var names = [];\n\n for (i = 0, ii = fonts.length; i < ii; i++) {\n names.push(fonts[i].loadedName);\n }\n\n names.push(loadTestFontId);\n var div = document.createElement('div');\n div.setAttribute('style', 'visibility: hidden;' + 'width: 10px; height: 10px;' + 'position: absolute; top: 0px; left: 0px;');\n\n for (i = 0, ii = names.length; i < ii; ++i) {\n var span = document.createElement('span');\n span.textContent = 'Hi';\n span.style.fontFamily = names[i];\n div.appendChild(span);\n }\n\n document.body.appendChild(div);\n isFontReady(loadTestFontId, function () {\n document.body.removeChild(div);\n request.complete();\n });\n }\n }, {\n key: \"isFontLoadingAPISupported\",\n get: function get() {\n var supported = typeof document !== 'undefined' && !!document.fonts;\n\n if (supported && typeof navigator !== 'undefined') {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if (m && m[1] < 63) {\n supported = false;\n }\n }\n\n return (0, _util.shadow)(this, 'isFontLoadingAPISupported', supported);\n }\n }, {\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n var supported = false;\n\n if (typeof navigator === 'undefined') {\n supported = true;\n } else {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if (m && m[1] >= 14) {\n supported = true;\n }\n }\n\n return (0, _util.shadow)(this, 'isSyncFontLoadingSupported', supported);\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n var getLoadTestFont = function getLoadTestFont() {\n return atob('T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA' + 'FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA' + 'ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA' + 'AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1' + 'AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD' + '6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM' + 'AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D' + 'IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA' + 'AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA' + 'AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB' + 'AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY' + 'AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA' + 'AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA' + 'AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC' + 'AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3' + 'Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj' + 'FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==');\n };\n\n return (0, _util.shadow)(this, '_loadTestFont', getLoadTestFont());\n }\n }]);\n\n return GenericFontLoader;\n }(BaseFontLoader);\n}\nvar IsEvalSupportedCached = {\n get value() {\n return (0, _util.shadow)(this, 'value', (0, _util.isEvalSupported)());\n }\n\n};\n\nvar FontFaceObject =\n/*#__PURE__*/\nfunction () {\n function FontFaceObject(translatedData, _ref2) {\n var _ref2$isEvalSupported = _ref2.isEvalSupported,\n isEvalSupported = _ref2$isEvalSupported === void 0 ? true : _ref2$isEvalSupported,\n _ref2$disableFontFace = _ref2.disableFontFace,\n disableFontFace = _ref2$disableFontFace === void 0 ? false : _ref2$disableFontFace,\n _ref2$ignoreErrors = _ref2.ignoreErrors,\n ignoreErrors = _ref2$ignoreErrors === void 0 ? false : _ref2$ignoreErrors,\n _ref2$onUnsupportedFe = _ref2.onUnsupportedFeature,\n onUnsupportedFeature = _ref2$onUnsupportedFe === void 0 ? null : _ref2$onUnsupportedFe,\n _ref2$fontRegistry = _ref2.fontRegistry,\n fontRegistry = _ref2$fontRegistry === void 0 ? null : _ref2$fontRegistry;\n\n _classCallCheck(this, FontFaceObject);\n\n this.compiledGlyphs = Object.create(null);\n\n for (var i in translatedData) {\n this[i] = translatedData[i];\n }\n\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.fontRegistry = fontRegistry;\n }\n\n _createClass(FontFaceObject, [{\n key: \"createNativeFontFace\",\n value: function createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n var nativeFontFace = new FontFace(this.loadedName, this.data, {});\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n\n return nativeFontFace;\n }\n }, {\n key: \"createFontFaceRule\",\n value: function createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n var data = (0, _util.bytesToString)(new Uint8Array(this.data));\n var url = \"url(data:\".concat(this.mimetype, \";base64,\").concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(this.loadedName, \"\\\";src:\").concat(url, \"}\");\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\n }\n\n return rule;\n }\n }, {\n key: \"getPathGenerator\",\n value: function getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n\n var cmds, current;\n\n try {\n cmds = objs.get(this.loadedName + '_path_' + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n\n if (this._onUnsupportedFeature) {\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n }\n\n (0, _util.warn)(\"getPathGenerator - ignoring character: \\\"\".concat(ex, \"\\\".\"));\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n\n if (this.isEvalSupported && IsEvalSupportedCached.value) {\n var args,\n js = '';\n\n for (var i = 0, ii = cmds.length; i < ii; i++) {\n current = cmds[i];\n\n if (current.args !== undefined) {\n args = current.args.join(',');\n } else {\n args = '';\n }\n\n js += 'c.' + current.cmd + '(' + args + ');\\n';\n }\n\n return this.compiledGlyphs[character] = new Function('c', 'size', js);\n }\n\n return this.compiledGlyphs[character] = function (c, size) {\n for (var _i = 0, _ii = cmds.length; _i < _ii; _i++) {\n current = cmds[_i];\n\n if (current.cmd === 'scale') {\n current.args = [size, -size];\n }\n\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n }]);\n\n return FontFaceObject;\n}();\n\nexports.FontFaceObject = FontFaceObject;\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar compatibilityParams = Object.create(null);\n{\n var isNodeJS = __w_pdfjs_require__(4);\n\n var userAgent = typeof navigator !== 'undefined' && navigator.userAgent || '';\n var isIE = /Trident/.test(userAgent);\n var isIOSChrome = /CriOS/.test(userAgent);\n\n (function checkOnBlobSupport() {\n if (isIE || isIOSChrome) {\n compatibilityParams.disableCreateObjectURL = true;\n }\n })();\n\n (function checkFontFaceAndImage() {\n if (isNodeJS()) {\n compatibilityParams.disableFontFace = true;\n compatibilityParams.nativeImageDecoderSupport = 'none';\n }\n })();\n}\nexports.apiCompatibilityParams = Object.freeze(compatibilityParams);\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CanvasGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _pattern_helper = __w_pdfjs_require__(155);\n\nvar MIN_FONT_SIZE = 16;\nvar MAX_FONT_SIZE = 100;\nvar MAX_GROUP_SIZE = 4096;\nvar MIN_WIDTH_FACTOR = 0.65;\nvar COMPILE_TYPE3_GLYPHS = true;\nvar MAX_SIZE_TO_COMPILE = 1000;\nvar FULL_CHUNK_HEIGHT = 16;\nvar IsLittleEndianCached = {\n get value() {\n return (0, _util.shadow)(IsLittleEndianCached, 'value', (0, _util.isLittleEndian)());\n }\n\n};\n\nfunction addContextCurrentTransform(ctx) {\n if (!ctx.mozCurrentTransform) {\n ctx._originalSave = ctx.save;\n ctx._originalRestore = ctx.restore;\n ctx._originalRotate = ctx.rotate;\n ctx._originalScale = ctx.scale;\n ctx._originalTranslate = ctx.translate;\n ctx._originalTransform = ctx.transform;\n ctx._originalSetTransform = ctx.setTransform;\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n Object.defineProperty(ctx, 'mozCurrentTransform', {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n }\n });\n Object.defineProperty(ctx, 'mozCurrentTransformInverse', {\n get: function getCurrentTransformInverse() {\n var m = this._transformMatrix;\n var a = m[0],\n b = m[1],\n c = m[2],\n d = m[3],\n e = m[4],\n f = m[5];\n var ad_bc = a * d - b * c;\n var bc_ad = b * c - a * d;\n return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n }\n });\n\n ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n\n this._transformStack.push(old);\n\n this._transformMatrix = old.slice(0, 6);\n\n this._originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n\n if (prev) {\n this._transformMatrix = prev;\n\n this._originalRestore();\n }\n };\n\n ctx.translate = function ctxTranslate(x, y) {\n var m = this._transformMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n\n this._originalTranslate(x, y);\n };\n\n ctx.scale = function ctxScale(x, y) {\n var m = this._transformMatrix;\n m[0] = m[0] * x;\n m[1] = m[1] * x;\n m[2] = m[2] * y;\n m[3] = m[3] * y;\n\n this._originalScale(x, y);\n };\n\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n\n ctx._originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\n\n ctx.rotate = function ctxRotate(angle) {\n var cosValue = Math.cos(angle);\n var sinValue = Math.sin(angle);\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n\n this._originalRotate(angle);\n };\n }\n}\n\nvar CachedCanvases = function CachedCanvasesClosure() {\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n var canvasEntry;\n\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n\n return canvasEntry;\n },\n clear: function clear() {\n for (var id in this.cache) {\n var canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n };\n return CachedCanvases;\n}();\n\nfunction compileType3Glyph(imgData) {\n var POINT_TO_PROCESS_LIMIT = 1000;\n var width = imgData.width,\n height = imgData.height;\n var i,\n j,\n j0,\n width1 = width + 1;\n var points = new Uint8Array(width1 * (height + 1));\n var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n var lineSize = width + 7 & ~7,\n data0 = imgData.data;\n var data = new Uint8Array(lineSize * height),\n pos = 0,\n ii;\n\n for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n var count = 0;\n pos = 0;\n\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n\n while (p < end && !points[p]) {\n p++;\n }\n\n if (p === end) {\n continue;\n }\n\n var coords = [p % width1, i];\n var type = points[p],\n p0 = p,\n pp;\n\n do {\n var step = steps[type];\n\n do {\n p += step;\n } while (!points[p]);\n\n pp = points[p];\n\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n\n coords.push(p % width1);\n coords.push(p / width1 | 0);\n\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n\n outlines.push(coords);\n --i;\n }\n\n var drawOutline = function drawOutline(c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.beginPath();\n\n for (var i = 0, ii = outlines.length; i < ii; i++) {\n var o = outlines[i];\n c.moveTo(o[0], o[1]);\n\n for (var j = 2, jj = o.length; j < jj; j += 2) {\n c.lineTo(o[j], o[j + 1]);\n }\n }\n\n c.fill();\n c.beginPath();\n c.restore();\n };\n\n return drawOutline;\n}\n\nvar CanvasExtraState = function CanvasExtraStateClosure() {\n function CanvasExtraState() {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = '#000000';\n this.strokeColor = '#000000';\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.resumeSMaskCtx = null;\n }\n\n CanvasExtraState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return CanvasExtraState;\n}();\n\nvar CanvasGraphics = function CanvasGraphicsClosure() {\n var EXECUTION_TIME = 15;\n var EXECUTION_STEPS = 10;\n\n function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState();\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this.imageLayer = imageLayer;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n\n this._cachedGetSinglePixelWidth = null;\n }\n\n function putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== 'undefined' && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0,\n destPos;\n var src = imgData.data;\n var dest = chunkImgData.data;\n var i, j, thisChunkHeight, elemsInThisChunk;\n\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n var srcLength = src.byteLength;\n var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n var dest32DataLength = dest32.length;\n var fullSrcDiff = width + 7 >> 3;\n var white = 0xFFFFFFFF;\n var black = IsLittleEndianCached.value ? 0xFF000000 : 0x000000FF;\n\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n\n for (j = 0; j < thisChunkHeight; j++) {\n var srcDiff = srcLength - srcPos;\n var k = 0;\n var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n var kEndUnrolled = kEnd & ~7;\n var mask = 0;\n var srcByte = 0;\n\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n\n destPos = 0;\n\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(\"bad image kind: \".concat(imgData.kind));\n }\n }\n\n function putBinaryImageMask(ctx, imgData) {\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0;\n var src = imgData.data;\n var dest = chunkImgData.data;\n\n for (var i = 0; i < totalChunks; i++) {\n var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n var destPos = 3;\n\n for (var j = 0; j < thisChunkHeight; j++) {\n var mask = 0;\n\n for (var k = 0; k < width; k++) {\n if (!mask) {\n var elem = src[srcPos++];\n mask = 128;\n }\n\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n\n function copyCtxState(sourceCtx, destCtx) {\n var properties = ['strokeStyle', 'fillStyle', 'fillRule', 'globalAlpha', 'lineWidth', 'lineCap', 'lineJoin', 'miterLimit', 'globalCompositeOperation', 'font'];\n\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n }\n\n function resetCtxToDefault(ctx) {\n ctx.strokeStyle = '#000000';\n ctx.fillStyle = '#000000';\n ctx.fillRule = 'nonzero';\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = 'butt';\n ctx.lineJoin = 'miter';\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = 'source-over';\n ctx.font = '10px sans-serif';\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n var alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n }\n\n function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n }\n\n function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n\n for (var i = 3; i < length; i += 4) {\n var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n }\n\n function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {\n var hasBackdrop = !!backdrop;\n var r0 = hasBackdrop ? backdrop[0] : 0;\n var g0 = hasBackdrop ? backdrop[1] : 0;\n var b0 = hasBackdrop ? backdrop[2] : 0;\n var composeFn;\n\n if (subtype === 'Luminosity') {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n\n for (var row = 0; row < height; row += chunkSize) {\n var chunkHeight = Math.min(chunkSize, height - row);\n var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n\n composeFn(maskData.data, layerData.data, transferMap);\n maskCtx.putImageData(layerData, 0, row);\n }\n }\n\n function composeSMask(ctx, smask, layerCtx, webGLContext) {\n var mask = smask.canvas;\n var maskCtx = smask.context;\n ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);\n var backdrop = smask.backdrop || null;\n\n if (!smask.transferMap && webGLContext.isEnabled) {\n var composed = webGLContext.composeSMask({\n layer: layerCtx.canvas,\n mask: mask,\n properties: {\n subtype: smask.subtype,\n backdrop: backdrop\n }\n });\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n return;\n }\n\n genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n ctx.drawImage(mask, 0, 0);\n }\n\n var LINE_CAP_STYLES = ['butt', 'round', 'square'];\n var LINE_JOIN_STYLES = ['miter', 'round', 'bevel'];\n var NORMAL_CLIP = {};\n var EO_CLIP = {};\n CanvasGraphics.prototype = {\n beginDrawing: function beginDrawing(_ref) {\n var transform = _ref.transform,\n viewport = _ref.viewport,\n _ref$transparency = _ref.transparency,\n transparency = _ref$transparency === void 0 ? false : _ref$transparency,\n _ref$background = _ref.background,\n background = _ref$background === void 0 ? null : _ref$background;\n var width = this.ctx.canvas.width;\n var height = this.ctx.canvas.height;\n this.ctx.save();\n this.ctx.fillStyle = background || 'rgb(255, 255, 255)';\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.restore();\n\n if (transparency) {\n var transparentCanvas = this.cachedCanvases.getCanvas('transparent', width, height, true);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);\n }\n\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n }\n\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\n },\n executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var i = executionStartIdx || 0;\n var argsArrayLen = argsArray.length;\n\n if (argsArrayLen === i) {\n return i;\n }\n\n var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === 'function';\n var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n var steps = 0;\n var commonObjs = this.commonObjs;\n var objs = this.objs;\n var fnId;\n\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n\n fnId = fnArray[i];\n\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = argsArray[i][Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var depObjId = _step.value;\n var objsPool = depObjId.startsWith('g_') ? commonObjs : objs;\n\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n\n i++;\n\n if (i === argsArrayLen) {\n return i;\n }\n\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n\n steps = 0;\n }\n }\n },\n endDrawing: function CanvasGraphics_endDrawing() {\n if (this.current.activeSMask !== null) {\n this.endSMaskGroup();\n }\n\n this.ctx.restore();\n\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n\n this.cachedCanvases.clear();\n this.webGLContext.clear();\n\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n },\n setLineWidth: function CanvasGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n },\n setLineCap: function CanvasGraphics_setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function CanvasGraphics_setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n },\n setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {\n var ctx = this.ctx;\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n setRenderingIntent: function setRenderingIntent(intent) {},\n setFlatness: function setFlatness(flatness) {},\n setGState: function CanvasGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n\n switch (key) {\n case 'LW':\n this.setLineWidth(value);\n break;\n\n case 'LC':\n this.setLineCap(value);\n break;\n\n case 'LJ':\n this.setLineJoin(value);\n break;\n\n case 'ML':\n this.setMiterLimit(value);\n break;\n\n case 'D':\n this.setDash(value[0], value[1]);\n break;\n\n case 'RI':\n this.setRenderingIntent(value);\n break;\n\n case 'FL':\n this.setFlatness(value);\n break;\n\n case 'Font':\n this.setFont(value[0], value[1]);\n break;\n\n case 'CA':\n this.current.strokeAlpha = state[1];\n break;\n\n case 'ca':\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n\n case 'BM':\n this.ctx.globalCompositeOperation = value;\n break;\n\n case 'SMask':\n if (this.current.activeSMask) {\n if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {\n this.suspendSMaskGroup();\n } else {\n this.endSMaskGroup();\n }\n }\n\n this.current.activeSMask = value ? this.tempSMask : null;\n\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n\n this.tempSMask = null;\n break;\n }\n }\n },\n beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {\n var activeSMask = this.current.activeSMask;\n var drawnWidth = activeSMask.canvas.width;\n var drawnHeight = activeSMask.canvas.height;\n var cacheId = 'smaskGroupAt' + this.groupLevel;\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var currentCtx = this.ctx;\n var currentTransform = currentCtx.mozCurrentTransform;\n this.ctx.save();\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);\n groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n this.ctx.save();\n copyCtxState(groupCtx, this.ctx);\n this.current.resumeSMaskCtx = groupCtx;\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n groupCtx.save();\n groupCtx.setTransform(1, 0, 0, 1, 0, 0);\n groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);\n groupCtx.restore();\n },\n resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.current.resumeSMaskCtx;\n var currentCtx = this.ctx;\n this.ctx = groupCtx;\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n endSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n copyCtxState(groupCtx, this.ctx);\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n },\n save: function CanvasGraphics_save() {\n this.ctx.save();\n var old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n this.current.resumeSMaskCtx = null;\n },\n restore: function CanvasGraphics_restore() {\n if (this.current.resumeSMaskCtx) {\n this.resumeSMaskGroup();\n }\n\n if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {\n this.endSMaskGroup();\n }\n\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n this.ctx.restore();\n this.pendingClip = null;\n this._cachedGetSinglePixelWidth = null;\n }\n },\n transform: function CanvasGraphics_transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedGetSinglePixelWidth = null;\n },\n constructPath: function CanvasGraphics_constructPath(ops, args) {\n var ctx = this.ctx;\n var current = this.current;\n var x = current.x,\n y = current.y;\n\n for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n\n if (width === 0) {\n width = this.getSinglePixelWidth();\n }\n\n if (height === 0) {\n height = this.getSinglePixelWidth();\n }\n\n var xw = x + width;\n var yh = y + height;\n this.ctx.moveTo(x, y);\n this.ctx.lineTo(xw, y);\n this.ctx.lineTo(xw, yh);\n this.ctx.lineTo(x, yh);\n this.ctx.lineTo(x, y);\n this.ctx.closePath();\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n j += 4;\n break;\n\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n\n current.setCurrentPoint(x, y);\n },\n closePath: function CanvasGraphics_closePath() {\n this.ctx.closePath();\n },\n stroke: function CanvasGraphics_stroke(consumePath) {\n consumePath = typeof consumePath !== 'undefined' ? consumePath : true;\n var ctx = this.ctx;\n var strokeColor = this.current.strokeColor;\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);\n ctx.globalAlpha = this.current.strokeAlpha;\n\n if (strokeColor && strokeColor.hasOwnProperty('type') && strokeColor.type === 'Pattern') {\n ctx.save();\n ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.stroke();\n }\n\n if (consumePath) {\n this.consumePath();\n }\n\n ctx.globalAlpha = this.current.fillAlpha;\n },\n closeStroke: function CanvasGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n fill: function CanvasGraphics_fill(consumePath) {\n consumePath = typeof consumePath !== 'undefined' ? consumePath : true;\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var needRestore = false;\n\n if (isPatternFill) {\n ctx.save();\n\n if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\n }\n\n ctx.fillStyle = fillColor.getPattern(ctx, this);\n needRestore = true;\n }\n\n if (this.pendingEOFill) {\n ctx.fill('evenodd');\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n\n if (needRestore) {\n ctx.restore();\n }\n\n if (consumePath) {\n this.consumePath();\n }\n },\n eoFill: function CanvasGraphics_eoFill() {\n this.pendingEOFill = true;\n this.fill();\n },\n fillStroke: function CanvasGraphics_fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n },\n eoFillStroke: function CanvasGraphics_eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n },\n closeFillStroke: function CanvasGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n },\n endPath: function CanvasGraphics_endPath() {\n this.consumePath();\n },\n clip: function CanvasGraphics_clip() {\n this.pendingClip = NORMAL_CLIP;\n },\n eoClip: function CanvasGraphics_eoClip() {\n this.pendingClip = EO_CLIP;\n },\n beginText: function CanvasGraphics_beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n endText: function CanvasGraphics_endText() {\n var paths = this.pendingTextPaths;\n var ctx = this.ctx;\n\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n\n for (var i = 0; i < paths.length; i++) {\n var path = paths[i];\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n },\n setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n },\n setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n },\n setHScale: function CanvasGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setLeading: function CanvasGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setFont: function CanvasGraphics_setFont(fontRefName, size) {\n var fontObj = this.commonObjs.get(fontRefName);\n var current = this.current;\n\n if (!fontObj) {\n throw new Error(\"Can't find font for \".concat(fontRefName));\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)('Invalid font matrix for font ' + fontRefName);\n }\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n this.current.font = fontObj;\n this.current.fontSize = size;\n\n if (fontObj.isType3Font) {\n return;\n }\n\n var name = fontObj.loadedName || 'sans-serif';\n var bold = fontObj.black ? '900' : fontObj.bold ? 'bold' : 'normal';\n var italic = fontObj.italic ? 'italic' : 'normal';\n var typeface = \"\\\"\".concat(name, \"\\\", \").concat(fontObj.fallbackName);\n var browserFontSize = size < MIN_FONT_SIZE ? MIN_FONT_SIZE : size > MAX_FONT_SIZE ? MAX_FONT_SIZE : size;\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = \"\".concat(italic, \" \").concat(bold, \" \").concat(browserFontSize, \"px \").concat(typeface);\n },\n setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n },\n setTextRise: function CanvasGraphics_setTextRise(rise) {\n this.current.textRise = rise;\n },\n moveText: function CanvasGraphics_moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n },\n setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.sqrt(a * a + b * b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n nextLine: function CanvasGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n paintChar: function paintChar(character, x, y, patternTransform) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var textRenderingMode = current.textRenderingMode;\n var fontSize = current.fontSize / current.fontSizeScale;\n var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n var patternFill = current.patternFill && font.data;\n var addToPath;\n\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n\n if (isAddToPathSet) {\n var paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: ctx.mozCurrentTransform,\n x: x,\n y: y,\n fontSize: fontSize,\n addToPath: addToPath\n });\n }\n },\n\n get isFontSubpixelAAEnabled() {\n var _this$cachedCanvases$ = this.cachedCanvases.getCanvas('isFontSubpixelAAEnabled', 10, 10),\n ctx = _this$cachedCanvases$.context;\n\n ctx.scale(1.5, 1);\n ctx.fillText('I', 0, 10);\n var data = ctx.getImageData(0, 0, 10, 10).data;\n var enabled = false;\n\n for (var i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n\n return (0, _util.shadow)(this, 'isFontSubpixelAAEnabled', enabled);\n },\n\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return undefined;\n }\n\n var ctx = this.ctx;\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n var patternTransform;\n\n if (current.patternFill) {\n ctx.save();\n var pattern = current.fillColor.getPattern(ctx, this);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n\n var lineWidth = current.lineWidth;\n var scale = current.textMatrixScale;\n\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this._cachedGetSinglePixelWidth = null;\n lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;\n }\n } else {\n lineWidth /= scale;\n }\n\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n var restoreNeeded = false;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var accent = glyph.accent;\n var scaledX, scaledY, scaledAccentX, scaledAccentY;\n var width = glyph.width;\n\n if (vertical) {\n var vmetric, vx, vy;\n vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n var characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n\n if (glyph.isInFont || font.missingFile) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n\n if (accent) {\n scaledAccentX = scaledX + accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n\n var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\n }\n\n ctx.restore();\n },\n showType3Text: function CanvasGraphics_showType3Text(glyphs) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n var fontDirection = current.fontDirection;\n var spacingDir = font.vertical ? 1 : -1;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var textHScale = current.textHScale * fontDirection;\n var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var glyphsLength = glyphs.length;\n var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n var i, glyph, width, spacingLength;\n\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n\n if (!operatorList) {\n (0, _util.warn)(\"Type3 character \\\"\".concat(glyph.operatorListId, \"\\\" is not available.\"));\n continue;\n }\n\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform.apply(ctx, fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n\n var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n\n ctx.restore();\n this.processingType3 = null;\n },\n setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {},\n setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.clip();\n this.endPath();\n },\n getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {\n var _this = this;\n\n var pattern;\n\n if (IR[0] === 'TilingPattern') {\n var color = IR[1];\n var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();\n var canvasGraphicsFactory = {\n createCanvasGraphics: function createCanvasGraphics(ctx) {\n return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory, _this.webGLContext);\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR);\n }\n\n return pattern;\n },\n setStrokeColorN: function CanvasGraphics_setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n },\n setFillColorN: function CanvasGraphics_setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n },\n setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n },\n setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n },\n shadingFill: function CanvasGraphics_shadingFill(patternIR) {\n var ctx = this.ctx;\n this.save();\n var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);\n ctx.fillStyle = pattern.getPattern(ctx, this, true);\n var inv = ctx.mozCurrentTransformInverse;\n\n if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n\n this.restore();\n },\n beginInlineImage: function CanvasGraphics_beginInlineImage() {\n (0, _util.unreachable)('Should not call beginInlineImage');\n },\n beginImageData: function CanvasGraphics_beginImageData() {\n (0, _util.unreachable)('Should not call beginImageData');\n },\n paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n\n this.baseTransform = this.ctx.mozCurrentTransform;\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.clip();\n this.endPath();\n }\n },\n paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n },\n beginGroup: function CanvasGraphics_beginGroup(group) {\n this.save();\n var currentCtx = this.ctx;\n\n if (!group.isolated) {\n (0, _util.info)('TODO: Support non-isolated groups.');\n }\n\n if (group.knockout) {\n (0, _util.warn)('Knockout groups not supported.');\n }\n\n var currentTransform = currentCtx.mozCurrentTransform;\n\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n\n if (!group.bbox) {\n throw new Error('Bounding box is required.');\n }\n\n var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n\n var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n var scaleX = 1,\n scaleY = 1;\n\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n\n var cacheId = 'groupAt' + this.groupLevel;\n\n if (group.smask) {\n cacheId += '_smask_' + this.smaskCounter++ % 2;\n }\n\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX: offsetX,\n offsetY: offsetY,\n scaleX: scaleX,\n scaleY: scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n }\n\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n this.current.activeSMask = null;\n },\n endGroup: function CanvasGraphics_endGroup(group) {\n this.groupLevel--;\n var groupCtx = this.ctx;\n this.ctx = this.groupStack.pop();\n\n if (this.ctx.imageSmoothingEnabled !== undefined) {\n this.ctx.imageSmoothingEnabled = false;\n } else {\n this.ctx.mozImageSmoothingEnabled = false;\n }\n\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n\n this.restore();\n },\n beginAnnotations: function CanvasGraphics_beginAnnotations() {\n this.save();\n\n if (this.baseTransform) {\n this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n }\n },\n endAnnotations: function CanvasGraphics_endAnnotations() {\n this.restore();\n },\n beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) {\n this.save();\n resetCtxToDefault(this.ctx);\n this.current = new CanvasExtraState();\n\n if (Array.isArray(rect) && rect.length === 4) {\n var width = rect[2] - rect[0];\n var height = rect[3] - rect[1];\n this.ctx.rect(rect[0], rect[1], width, height);\n this.clip();\n this.endPath();\n }\n\n this.transform.apply(this, transform);\n this.transform.apply(this, matrix);\n },\n endAnnotation: function CanvasGraphics_endAnnotation() {\n this.restore();\n },\n paintJpegXObject: function CanvasGraphics_paintJpegXObject(objId, w, h) {\n var domImage = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!domImage) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n\n this.save();\n var ctx = this.ctx;\n ctx.scale(1 / w, -1 / h);\n ctx.drawImage(domImage, 0, 0, domImage.width, domImage.height, 0, -h, w, h);\n\n if (this.imageLayer) {\n var currentTransform = ctx.mozCurrentTransformInverse;\n var position = this.getCanvasPosition(0, 0);\n this.imageLayer.appendImage({\n objId: objId,\n left: position[0],\n top: position[1],\n width: w / currentTransform[0],\n height: h / currentTransform[3]\n });\n }\n\n this.restore();\n },\n paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {\n var ctx = this.ctx;\n var width = img.width,\n height = img.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var glyph = this.processingType3;\n\n if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {\n if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {\n glyph.compiled = compileType3Glyph({\n data: img.data,\n width: width,\n height: height\n });\n } else {\n glyph.compiled = null;\n }\n }\n\n if (glyph && glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n this.paintInlineImageXObject(maskCanvas.canvas);\n },\n paintImageMaskXObjectRepeat: function CanvasGraphics_paintImageMaskXObjectRepeat(imgData, scaleX, scaleY, positions) {\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, imgData);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n var ctx = this.ctx;\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n ctx.save();\n ctx.transform(scaleX, 0, 0, scaleY, positions[i], positions[i + 1]);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n\n for (var i = 0, ii = images.length; i < ii; i++) {\n var image = images[i];\n var width = image.width,\n height = image.height;\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, image);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform.apply(ctx, image.transform);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {\n var imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n },\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n var imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n\n this.paintInlineImageXObjectGroup(imgData, map);\n },\n paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {\n var width = imgData.width;\n var height = imgData.height;\n var ctx = this.ctx;\n this.save();\n ctx.scale(1 / width, -1 / height);\n var currentTransform = ctx.mozCurrentTransformInverse;\n var a = currentTransform[0],\n b = currentTransform[1];\n var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);\n var c = currentTransform[2],\n d = currentTransform[3];\n var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);\n var imgToPaint, tmpCanvas;\n\n if (typeof HTMLElement === 'function' && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', width, height);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = tmpCanvas.canvas;\n }\n\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = 'prescale1';\n\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n imgToPaint = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === 'prescale1' ? 'prescale2' : 'prescale1';\n }\n\n ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: width / currentTransform[0],\n height: height / currentTransform[3]\n });\n }\n\n this.restore();\n },\n paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {\n var ctx = this.ctx;\n var w = imgData.width;\n var h = imgData.height;\n var tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', w, h);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n\n for (var i = 0, ii = map.length; i < ii; i++) {\n var entry = map[i];\n ctx.save();\n ctx.transform.apply(ctx, entry.transform);\n ctx.scale(1, -1);\n ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h\n });\n }\n\n ctx.restore();\n }\n },\n paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n this.ctx.fillRect(0, 0, 1, 1);\n },\n paintXObject: function CanvasGraphics_paintXObject() {\n (0, _util.warn)('Unsupported \\'paintXObject\\' command.');\n },\n markPoint: function CanvasGraphics_markPoint(tag) {},\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {},\n beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {},\n endMarkedContent: function CanvasGraphics_endMarkedContent() {},\n beginCompat: function CanvasGraphics_beginCompat() {},\n endCompat: function CanvasGraphics_endCompat() {},\n consumePath: function CanvasGraphics_consumePath() {\n var ctx = this.ctx;\n\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip('evenodd');\n } else {\n ctx.clip();\n }\n\n this.pendingClip = null;\n }\n\n ctx.beginPath();\n },\n getSinglePixelWidth: function getSinglePixelWidth(scale) {\n if (this._cachedGetSinglePixelWidth === null) {\n var inverse = this.ctx.mozCurrentTransformInverse;\n this._cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));\n }\n\n return this._cachedGetSinglePixelWidth;\n },\n getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n var transform = this.ctx.mozCurrentTransform;\n return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n }\n };\n\n for (var op in _util.OPS) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n\n return CanvasGraphics;\n}();\n\nexports.CanvasGraphics = CanvasGraphics;\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getShadingPatternFromIR = getShadingPatternFromIR;\nexports.TilingPattern = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar ShadingIRs = {};\nShadingIRs.RadialAxial = {\n fromIR: function RadialAxial_fromIR(raw) {\n var type = raw[1];\n var colorStops = raw[2];\n var p0 = raw[3];\n var p1 = raw[4];\n var r0 = raw[5];\n var r1 = raw[6];\n return {\n type: 'Pattern',\n getPattern: function RadialAxial_getPattern(ctx) {\n var grad;\n\n if (type === 'axial') {\n grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);\n } else if (type === 'radial') {\n grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);\n }\n\n for (var i = 0, ii = colorStops.length; i < ii; ++i) {\n var c = colorStops[i];\n grad.addColorStop(c[0], c[1]);\n }\n\n return grad;\n }\n };\n }\n};\n\nvar createMeshCanvas = function createMeshCanvasClosure() {\n function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n var coords = context.coords,\n colors = context.colors;\n var bytes = data.data,\n rowSize = data.width * 4;\n var tmp;\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n\n if (y1 >= y3) {\n return;\n }\n\n var c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n var c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n var c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n var minY = Math.round(y1),\n maxY = Math.round(y3);\n var xa, car, cag, cab;\n var xb, cbr, cbg, cbb;\n var k;\n\n for (var y = minY; y <= maxY; y++) {\n if (y < y2) {\n k = y < y1 ? 0 : y1 === y2 ? 1 : (y1 - y) / (y1 - y2);\n xa = x1 - (x1 - x2) * k;\n car = c1r - (c1r - c2r) * k;\n cag = c1g - (c1g - c2g) * k;\n cab = c1b - (c1b - c2b) * k;\n } else {\n k = y > y3 ? 1 : y2 === y3 ? 0 : (y2 - y) / (y2 - y3);\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n\n k = y < y1 ? 0 : y > y3 ? 1 : (y1 - y) / (y1 - y3);\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n var x1_ = Math.round(Math.min(xa, xb));\n var x2_ = Math.round(Math.max(xa, xb));\n var j = rowSize * y + x1_ * 4;\n\n for (var x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n k = k < 0 ? 0 : k > 1 ? 1 : k;\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n }\n\n function drawFigure(data, figure, context) {\n var ps = figure.coords;\n var cs = figure.colors;\n var i, ii;\n\n switch (figure.type) {\n case 'lattice':\n var verticesPerRow = figure.verticesPerRow;\n var rows = Math.floor(ps.length / verticesPerRow) - 1;\n var cols = verticesPerRow - 1;\n\n for (i = 0; i < rows; i++) {\n var q = i * verticesPerRow;\n\n for (var j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n\n break;\n\n case 'triangles':\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n\n break;\n\n default:\n throw new Error('illegal figure');\n }\n }\n\n function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) {\n var EXPECTED_SCALE = 1.1;\n var MAX_PATTERN_SIZE = 3000;\n var BORDER_SIZE = 2;\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var boundsWidth = Math.ceil(bounds[2]) - offsetX;\n var boundsHeight = Math.ceil(bounds[3]) - offsetY;\n var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var scaleX = boundsWidth / width;\n var scaleY = boundsHeight / height;\n var context = {\n coords: coords,\n colors: colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n var paddedWidth = width + BORDER_SIZE * 2;\n var paddedHeight = height + BORDER_SIZE * 2;\n var canvas, tmpCanvas, i, ii;\n\n if (webGLContext.isEnabled) {\n canvas = webGLContext.drawFigures({\n width: width,\n height: height,\n backgroundColor: backgroundColor,\n figures: figures,\n context: context\n });\n tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false);\n tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n } else {\n tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false);\n var tmpCtx = tmpCanvas.context;\n var data = tmpCtx.createImageData(width, height);\n\n if (backgroundColor) {\n var bytes = data.data;\n\n for (i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n\n for (i = 0; i < figures.length; i++) {\n drawFigure(data, figures[i], context);\n }\n\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n }\n\n return {\n canvas: canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX: scaleX,\n scaleY: scaleY\n };\n }\n\n return createMeshCanvas;\n}();\n\nShadingIRs.Mesh = {\n fromIR: function Mesh_fromIR(raw) {\n var coords = raw[2];\n var colors = raw[3];\n var figures = raw[4];\n var bounds = raw[5];\n var matrix = raw[6];\n var background = raw[8];\n return {\n type: 'Pattern',\n getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n var scale;\n\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n\n if (matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);\n\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\n }\n\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, 'no-repeat');\n }\n };\n }\n};\nShadingIRs.Dummy = {\n fromIR: function Dummy_fromIR() {\n return {\n type: 'Pattern',\n getPattern: function Dummy_fromIR_getPattern() {\n return 'hotpink';\n }\n };\n }\n};\n\nfunction getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n\n if (!shadingIR) {\n throw new Error(\"Unknown IR type: \".concat(raw[0]));\n }\n\n return shadingIR.fromIR(raw);\n}\n\nvar TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\n\n function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n this.type = 'Pattern';\n this.ctx = ctx;\n }\n\n TilingPattern.prototype = {\n createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n var operatorList = this.operatorList;\n var bbox = this.bbox;\n var xstep = this.xstep;\n var ystep = this.ystep;\n var paintType = this.paintType;\n var tilingType = this.tilingType;\n var color = this.color;\n var canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)('TilingType: ' + tilingType);\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n\n var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n var tmpCanvas = owner.cachedCanvases.getCanvas('pattern', dimx.size, dimy.size, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n graphics.transform(1, 0, 0, 1, -x0, -y0);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n this.ctx.transform(1, 0, 0, 1, x0, y0);\n this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);\n return tmpCanvas.canvas;\n },\n getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);\n var size = Math.ceil(step * scale);\n\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n\n return {\n scale: scale,\n size: size\n };\n },\n clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n if (Array.isArray(bbox) && bbox.length === 4) {\n var bboxWidth = x1 - x0;\n var bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.clip();\n graphics.endPath();\n }\n },\n setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {\n var context = graphics.ctx,\n current = graphics.current;\n\n switch (paintType) {\n case PaintType.COLORED:\n var ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n\n case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n\n default:\n throw new _util.FormatError(\"Unsupported paint type: \".concat(paintType));\n }\n },\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n return ctx.createPattern(temporaryPatternCanvas, 'repeat');\n }\n };\n return TilingPattern;\n}();\n\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GlobalWorkerOptions = void 0;\nvar GlobalWorkerOptions = Object.create(null);\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\nGlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\nGlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? '' : GlobalWorkerOptions.workerSrc;\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageHandler = MessageHandler;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction resolveCall(_x, _x2) {\n return _resolveCall.apply(this, arguments);\n}\n\nfunction _resolveCall() {\n _resolveCall = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(fn, args) {\n var thisArg,\n _args = arguments;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n thisArg = _args.length > 2 && _args[2] !== undefined ? _args[2] : null;\n\n if (fn) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", undefined);\n\n case 3:\n return _context.abrupt(\"return\", fn.apply(thisArg, args));\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _resolveCall.apply(this, arguments);\n}\n\nfunction wrapReason(reason) {\n if (_typeof(reason) !== 'object') {\n return reason;\n }\n\n switch (reason.name) {\n case 'AbortException':\n return new _util.AbortException(reason.message);\n\n case 'MissingPDFException':\n return new _util.MissingPDFException(reason.message);\n\n case 'UnexpectedResponseException':\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.details);\n }\n}\n\nfunction makeReasonSerializable(reason) {\n if (!(reason instanceof Error) || reason instanceof _util.AbortException || reason instanceof _util.MissingPDFException || reason instanceof _util.UnexpectedResponseException || reason instanceof _util.UnknownErrorException) {\n return reason;\n }\n\n return new _util.UnknownErrorException(reason.message, reason.toString());\n}\n\nfunction resolveOrReject(capability, success, reason) {\n if (success) {\n capability.resolve();\n } else {\n capability.reject(reason);\n }\n}\n\nfunction finalize(promise) {\n return Promise.resolve(promise)[\"catch\"](function () {});\n}\n\nfunction MessageHandler(sourceName, targetName, comObj) {\n var _this = this;\n\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.postMessageTransfers = true;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n var callbacksCapabilities = this.callbacksCapabilities = Object.create(null);\n var ah = this.actionHandler = Object.create(null);\n\n this._onComObjOnMessage = function (event) {\n var data = event.data;\n\n if (data.targetName !== _this.sourceName) {\n return;\n }\n\n if (data.stream) {\n _this._processStreamMessage(data);\n } else if (data.isReply) {\n var callbackId = data.callbackId;\n\n if (data.callbackId in callbacksCapabilities) {\n var callback = callbacksCapabilities[callbackId];\n delete callbacksCapabilities[callbackId];\n\n if ('error' in data) {\n callback.reject(wrapReason(data.error));\n } else {\n callback.resolve(data.data);\n }\n } else {\n throw new Error(\"Cannot resolve callback \".concat(callbackId));\n }\n } else if (data.action in ah) {\n var action = ah[data.action];\n\n if (data.callbackId) {\n var _sourceName = _this.sourceName;\n var _targetName = data.sourceName;\n Promise.resolve().then(function () {\n return action[0].call(action[1], data.data);\n }).then(function (result) {\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n isReply: true,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n isReply: true,\n callbackId: data.callbackId,\n error: makeReasonSerializable(reason)\n });\n });\n } else if (data.streamId) {\n _this._createStreamSink(data);\n } else {\n action[0].call(action[1], data.data);\n }\n } else {\n throw new Error(\"Unknown action from worker: \".concat(data.action));\n }\n };\n\n comObj.addEventListener('message', this._onComObjOnMessage);\n}\n\nMessageHandler.prototype = {\n on: function on(actionName, handler, scope) {\n var ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(\"There is already an actionName called \\\"\".concat(actionName, \"\\\"\"));\n }\n\n ah[actionName] = [handler, scope];\n },\n send: function send(actionName, data, transfers) {\n var message = {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n };\n this.postMessage(message, transfers);\n },\n sendWithPromise: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var message = {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data,\n callbackId: callbackId\n };\n var capability = (0, _util.createPromiseCapability)();\n this.callbacksCapabilities[callbackId] = capability;\n\n try {\n this.postMessage(message, transfers);\n } catch (e) {\n capability.reject(e);\n }\n\n return capability.promise;\n },\n sendWithStream: function sendWithStream(actionName, data, queueingStrategy, transfers) {\n var _this2 = this;\n\n var streamId = this.streamId++;\n var sourceName = this.sourceName;\n var targetName = this.targetName;\n return new _util.ReadableStream({\n start: function start(controller) {\n var startCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\n isClosed: false\n };\n\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n action: actionName,\n streamId: streamId,\n data: data,\n desiredSize: controller.desiredSize\n });\n\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].pullCall = pullCapability;\n\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: 'pull',\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n var cancelCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].cancelCall = cancelCapability;\n _this2.streamControllers[streamId].isClosed = true;\n\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: 'cancel',\n reason: reason,\n streamId: streamId\n });\n\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n },\n _createStreamSink: function _createStreamSink(data) {\n var _this3 = this;\n\n var self = this;\n var action = this.actionHandler[data.action];\n var streamId = data.streamId;\n var desiredSize = data.desiredSize;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var capability = (0, _util.createPromiseCapability)();\n\n var sendStreamRequest = function sendStreamRequest(_ref) {\n var stream = _ref.stream,\n chunk = _ref.chunk,\n transfers = _ref.transfers,\n success = _ref.success,\n reason = _ref.reason;\n\n _this3.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: stream,\n streamId: streamId,\n chunk: chunk,\n success: success,\n reason: reason\n }, transfers);\n };\n\n var streamSink = {\n enqueue: function enqueue(chunk) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var transfers = arguments.length > 2 ? arguments[2] : undefined;\n\n if (this.isCancelled) {\n return;\n }\n\n var lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n\n sendStreamRequest({\n stream: 'enqueue',\n chunk: chunk,\n transfers: transfers\n });\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n sendStreamRequest({\n stream: 'close'\n });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n sendStreamRequest({\n stream: 'error',\n reason: reason\n });\n },\n sinkCapability: capability,\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n resolveCall(action[0], [data.data, streamSink], action[1]).then(function () {\n sendStreamRequest({\n stream: 'start_complete',\n success: true\n });\n }, function (reason) {\n sendStreamRequest({\n stream: 'start_complete',\n success: false,\n reason: reason\n });\n });\n },\n _processStreamMessage: function _processStreamMessage(data) {\n var _this4 = this;\n\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var streamId = data.streamId;\n\n var sendStreamResponse = function sendStreamResponse(_ref2) {\n var stream = _ref2.stream,\n success = _ref2.success,\n reason = _ref2.reason;\n\n _this4.comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: stream,\n success: success,\n streamId: streamId,\n reason: reason\n });\n };\n\n var deleteStreamController = function deleteStreamController() {\n Promise.all([_this4.streamControllers[data.streamId].startCall, _this4.streamControllers[data.streamId].pullCall, _this4.streamControllers[data.streamId].cancelCall].map(function (capability) {\n return capability && finalize(capability.promise);\n })).then(function () {\n delete _this4.streamControllers[data.streamId];\n });\n };\n\n switch (data.stream) {\n case 'start_complete':\n resolveOrReject(this.streamControllers[data.streamId].startCall, data.success, wrapReason(data.reason));\n break;\n\n case 'pull_complete':\n resolveOrReject(this.streamControllers[data.streamId].pullCall, data.success, wrapReason(data.reason));\n break;\n\n case 'pull':\n if (!this.streamSinks[data.streamId]) {\n sendStreamResponse({\n stream: 'pull_complete',\n success: true\n });\n break;\n }\n\n if (this.streamSinks[data.streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[data.streamId].sinkCapability.resolve();\n }\n\n this.streamSinks[data.streamId].desiredSize = data.desiredSize;\n resolveCall(this.streamSinks[data.streamId].onPull).then(function () {\n sendStreamResponse({\n stream: 'pull_complete',\n success: true\n });\n }, function (reason) {\n sendStreamResponse({\n stream: 'pull_complete',\n success: false,\n reason: reason\n });\n });\n break;\n\n case 'enqueue':\n (0, _util.assert)(this.streamControllers[data.streamId], 'enqueue should have stream controller');\n\n if (!this.streamControllers[data.streamId].isClosed) {\n this.streamControllers[data.streamId].controller.enqueue(data.chunk);\n }\n\n break;\n\n case 'close':\n (0, _util.assert)(this.streamControllers[data.streamId], 'close should have stream controller');\n\n if (this.streamControllers[data.streamId].isClosed) {\n break;\n }\n\n this.streamControllers[data.streamId].isClosed = true;\n this.streamControllers[data.streamId].controller.close();\n deleteStreamController();\n break;\n\n case 'error':\n (0, _util.assert)(this.streamControllers[data.streamId], 'error should have stream controller');\n this.streamControllers[data.streamId].controller.error(wrapReason(data.reason));\n deleteStreamController();\n break;\n\n case 'cancel_complete':\n resolveOrReject(this.streamControllers[data.streamId].cancelCall, data.success, wrapReason(data.reason));\n deleteStreamController();\n break;\n\n case 'cancel':\n if (!this.streamSinks[data.streamId]) {\n break;\n }\n\n resolveCall(this.streamSinks[data.streamId].onCancel, [wrapReason(data.reason)]).then(function () {\n sendStreamResponse({\n stream: 'cancel_complete',\n success: true\n });\n }, function (reason) {\n sendStreamResponse({\n stream: 'cancel_complete',\n success: false,\n reason: reason\n });\n });\n this.streamSinks[data.streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[data.streamId].isCancelled = true;\n delete this.streamSinks[data.streamId];\n break;\n\n default:\n throw new Error('Unexpected stream case');\n }\n },\n postMessage: function postMessage(message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n },\n destroy: function destroy() {\n this.comObj.removeEventListener('message', this._onComObjOnMessage);\n }\n};\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Metadata = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _xml_parser = __w_pdfjs_require__(159);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar Metadata =\n/*#__PURE__*/\nfunction () {\n function Metadata(data) {\n _classCallCheck(this, Metadata);\n\n (0, _util.assert)(typeof data === 'string', 'Metadata: input is not a string');\n data = this._repair(data);\n var parser = new _xml_parser.SimpleXMLParser();\n var xmlDocument = parser.parseFromString(data);\n this._metadata = Object.create(null);\n\n if (xmlDocument) {\n this._parse(xmlDocument);\n }\n }\n\n _createClass(Metadata, [{\n key: \"_repair\",\n value: function _repair(data) {\n return data.replace(/^([^<]+)/, '').replace(/>\\\\376\\\\377([^<]+)/g, function (all, codes) {\n var bytes = codes.replace(/\\\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {\n return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);\n }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {\n switch (name) {\n case 'amp':\n return '&';\n\n case 'apos':\n return '\\'';\n\n case 'gt':\n return '>';\n\n case 'lt':\n return '<';\n\n case 'quot':\n return '\\\"';\n }\n\n throw new Error(\"_repair: \".concat(name, \" isn't defined.\"));\n });\n var chars = '';\n\n for (var i = 0, ii = bytes.length; i < ii; i += 2) {\n var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n\n if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {\n chars += String.fromCharCode(code);\n } else {\n chars += '&#x' + (0x10000 + code).toString(16).substring(1) + ';';\n }\n }\n\n return '>' + chars;\n });\n }\n }, {\n key: \"_parse\",\n value: function _parse(xmlDocument) {\n var rdf = xmlDocument.documentElement;\n\n if (rdf.nodeName.toLowerCase() !== 'rdf:rdf') {\n rdf = rdf.firstChild;\n\n while (rdf && rdf.nodeName.toLowerCase() !== 'rdf:rdf') {\n rdf = rdf.nextSibling;\n }\n }\n\n var nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n\n if (!rdf || nodeName !== 'rdf:rdf' || !rdf.hasChildNodes()) {\n return;\n }\n\n var children = rdf.childNodes;\n\n for (var i = 0, ii = children.length; i < ii; i++) {\n var desc = children[i];\n\n if (desc.nodeName.toLowerCase() !== 'rdf:description') {\n continue;\n }\n\n for (var j = 0, jj = desc.childNodes.length; j < jj; j++) {\n if (desc.childNodes[j].nodeName.toLowerCase() !== '#text') {\n var entry = desc.childNodes[j];\n var name = entry.nodeName.toLowerCase();\n this._metadata[name] = entry.textContent.trim();\n }\n }\n }\n }\n }, {\n key: \"get\",\n value: function get(name) {\n var data = this._metadata[name];\n return typeof data !== 'undefined' ? data : null;\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n return this._metadata;\n }\n }, {\n key: \"has\",\n value: function has(name) {\n return typeof this._metadata[name] !== 'undefined';\n }\n }]);\n\n return Metadata;\n}();\n\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleXMLParser = void 0;\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar XMLParserErrorCode = {\n NoError: 0,\n EndOfDocument: -1,\n UnterminatedCdat: -2,\n UnterminatedXmlDeclaration: -3,\n UnterminatedDoctypeDeclaration: -4,\n UnterminatedComment: -5,\n MalformedElement: -6,\n OutOfMemory: -7,\n UnterminatedAttributeValue: -8,\n UnterminatedElement: -9,\n ElementNeverBegun: -10\n};\n\nfunction isWhitespace(s, index) {\n var ch = s[index];\n return ch === ' ' || ch === '\\n' || ch === '\\r' || ch === '\\t';\n}\n\nfunction isWhitespaceString(s) {\n for (var i = 0, ii = s.length; i < ii; i++) {\n if (!isWhitespace(s, i)) {\n return false;\n }\n }\n\n return true;\n}\n\nvar XMLParserBase =\n/*#__PURE__*/\nfunction () {\n function XMLParserBase() {\n _classCallCheck(this, XMLParserBase);\n }\n\n _createClass(XMLParserBase, [{\n key: \"_resolveEntities\",\n value: function _resolveEntities(s) {\n var _this = this;\n\n return s.replace(/&([^;]+);/g, function (all, entity) {\n if (entity.substring(0, 2) === '#x') {\n return String.fromCharCode(parseInt(entity.substring(2), 16));\n } else if (entity.substring(0, 1) === '#') {\n return String.fromCharCode(parseInt(entity.substring(1), 10));\n }\n\n switch (entity) {\n case 'lt':\n return '<';\n\n case 'gt':\n return '>';\n\n case 'amp':\n return '&';\n\n case 'quot':\n return '\\\"';\n }\n\n return _this.onResolveEntity(entity);\n });\n }\n }, {\n key: \"_parseContent\",\n value: function _parseContent(s, start) {\n var pos = start,\n name,\n attributes = [];\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '>' && s[pos] !== '/') {\n ++pos;\n }\n\n name = s.substring(start, pos);\n skipWs();\n\n while (pos < s.length && s[pos] !== '>' && s[pos] !== '/' && s[pos] !== '?') {\n skipWs();\n var attrName = '',\n attrValue = '';\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '=') {\n attrName += s[pos];\n ++pos;\n }\n\n skipWs();\n\n if (s[pos] !== '=') {\n return null;\n }\n\n ++pos;\n skipWs();\n var attrEndChar = s[pos];\n\n if (attrEndChar !== '\\\"' && attrEndChar !== '\\'') {\n return null;\n }\n\n var attrEndIndex = s.indexOf(attrEndChar, ++pos);\n\n if (attrEndIndex < 0) {\n return null;\n }\n\n attrValue = s.substring(pos, attrEndIndex);\n attributes.push({\n name: attrName,\n value: this._resolveEntities(attrValue)\n });\n pos = attrEndIndex + 1;\n skipWs();\n }\n\n return {\n name: name,\n attributes: attributes,\n parsed: pos - start\n };\n }\n }, {\n key: \"_parseProcessingInstruction\",\n value: function _parseProcessingInstruction(s, start) {\n var pos = start,\n name,\n value;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '>' && s[pos] !== '/') {\n ++pos;\n }\n\n name = s.substring(start, pos);\n skipWs();\n var attrStart = pos;\n\n while (pos < s.length && (s[pos] !== '?' || s[pos + 1] !== '>')) {\n ++pos;\n }\n\n value = s.substring(attrStart, pos);\n return {\n name: name,\n value: value,\n parsed: pos - start\n };\n }\n }, {\n key: \"parseXml\",\n value: function parseXml(s) {\n var i = 0;\n\n while (i < s.length) {\n var ch = s[i];\n var j = i;\n\n if (ch === '<') {\n ++j;\n var ch2 = s[j];\n var q = void 0;\n\n switch (ch2) {\n case '/':\n ++j;\n q = s.indexOf('>', j);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onEndElement(s.substring(j, q));\n j = q + 1;\n break;\n\n case '?':\n ++j;\n\n var pi = this._parseProcessingInstruction(s, j);\n\n if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== '?>') {\n this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n return;\n }\n\n this.onPi(pi.name, pi.value);\n j += pi.parsed + 2;\n break;\n\n case '!':\n if (s.substring(j + 1, j + 3) === '--') {\n q = s.indexOf('-->', j + 3);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedComment);\n return;\n }\n\n this.onComment(s.substring(j + 3, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === '[CDATA[') {\n q = s.indexOf(']]>', j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedCdat);\n return;\n }\n\n this.onCdata(s.substring(j + 8, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === 'DOCTYPE') {\n var q2 = s.indexOf('[', j + 8);\n var complexDoctype = false;\n q = s.indexOf('>', j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n if (q2 > 0 && q > q2) {\n q = s.indexOf(']>', j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n complexDoctype = true;\n }\n\n var doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));\n this.onDoctype(doctypeContent);\n j = q + (complexDoctype ? 2 : 1);\n } else {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n break;\n\n default:\n var content = this._parseContent(s, j);\n\n if (content === null) {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n var isClosed = false;\n\n if (s.substring(j + content.parsed, j + content.parsed + 2) === '/>') {\n isClosed = true;\n } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== '>') {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onBeginElement(content.name, content.attributes, isClosed);\n j += content.parsed + (isClosed ? 2 : 1);\n break;\n }\n } else {\n while (j < s.length && s[j] !== '<') {\n j++;\n }\n\n var text = s.substring(i, j);\n this.onText(this._resolveEntities(text));\n }\n\n i = j;\n }\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n return \"&\".concat(name, \";\");\n }\n }, {\n key: \"onPi\",\n value: function onPi(name, value) {}\n }, {\n key: \"onComment\",\n value: function onComment(text) {}\n }, {\n key: \"onCdata\",\n value: function onCdata(text) {}\n }, {\n key: \"onDoctype\",\n value: function onDoctype(doctypeContent) {}\n }, {\n key: \"onText\",\n value: function onText(text) {}\n }, {\n key: \"onBeginElement\",\n value: function onBeginElement(name, attributes, isEmpty) {}\n }, {\n key: \"onEndElement\",\n value: function onEndElement(name) {}\n }, {\n key: \"onError\",\n value: function onError(code) {}\n }]);\n\n return XMLParserBase;\n}();\n\nvar SimpleDOMNode =\n/*#__PURE__*/\nfunction () {\n function SimpleDOMNode(nodeName, nodeValue) {\n _classCallCheck(this, SimpleDOMNode);\n\n this.nodeName = nodeName;\n this.nodeValue = nodeValue;\n Object.defineProperty(this, 'parentNode', {\n value: null,\n writable: true\n });\n }\n\n _createClass(SimpleDOMNode, [{\n key: \"hasChildNodes\",\n value: function hasChildNodes() {\n return this.childNodes && this.childNodes.length > 0;\n }\n }, {\n key: \"firstChild\",\n get: function get() {\n return this.childNodes && this.childNodes[0];\n }\n }, {\n key: \"nextSibling\",\n get: function get() {\n var childNodes = this.parentNode.childNodes;\n\n if (!childNodes) {\n return undefined;\n }\n\n var index = childNodes.indexOf(this);\n\n if (index === -1) {\n return undefined;\n }\n\n return childNodes[index + 1];\n }\n }, {\n key: \"textContent\",\n get: function get() {\n if (!this.childNodes) {\n return this.nodeValue || '';\n }\n\n return this.childNodes.map(function (child) {\n return child.textContent;\n }).join('');\n }\n }]);\n\n return SimpleDOMNode;\n}();\n\nvar SimpleXMLParser =\n/*#__PURE__*/\nfunction (_XMLParserBase) {\n _inherits(SimpleXMLParser, _XMLParserBase);\n\n function SimpleXMLParser() {\n var _this2;\n\n _classCallCheck(this, SimpleXMLParser);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(SimpleXMLParser).call(this));\n _this2._currentFragment = null;\n _this2._stack = null;\n _this2._errorCode = XMLParserErrorCode.NoError;\n return _this2;\n }\n\n _createClass(SimpleXMLParser, [{\n key: \"parseFromString\",\n value: function parseFromString(data) {\n this._currentFragment = [];\n this._stack = [];\n this._errorCode = XMLParserErrorCode.NoError;\n this.parseXml(data);\n\n if (this._errorCode !== XMLParserErrorCode.NoError) {\n return undefined;\n }\n\n var _this$_currentFragmen = _slicedToArray(this._currentFragment, 1),\n documentElement = _this$_currentFragmen[0];\n\n if (!documentElement) {\n return undefined;\n }\n\n return {\n documentElement: documentElement\n };\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n switch (name) {\n case 'apos':\n return '\\'';\n }\n\n return _get(_getPrototypeOf(SimpleXMLParser.prototype), \"onResolveEntity\", this).call(this, name);\n }\n }, {\n key: \"onText\",\n value: function onText(text) {\n if (isWhitespaceString(text)) {\n return;\n }\n\n var node = new SimpleDOMNode('#text', text);\n\n this._currentFragment.push(node);\n }\n }, {\n key: \"onCdata\",\n value: function onCdata(text) {\n var node = new SimpleDOMNode('#text', text);\n\n this._currentFragment.push(node);\n }\n }, {\n key: \"onBeginElement\",\n value: function onBeginElement(name, attributes, isEmpty) {\n var node = new SimpleDOMNode(name);\n node.childNodes = [];\n\n this._currentFragment.push(node);\n\n if (isEmpty) {\n return;\n }\n\n this._stack.push(this._currentFragment);\n\n this._currentFragment = node.childNodes;\n }\n }, {\n key: \"onEndElement\",\n value: function onEndElement(name) {\n this._currentFragment = this._stack.pop() || [];\n var lastElement = this._currentFragment[this._currentFragment.length - 1];\n\n if (!lastElement) {\n return;\n }\n\n for (var i = 0, ii = lastElement.childNodes.length; i < ii; i++) {\n lastElement.childNodes[i].parentNode = lastElement;\n }\n }\n }, {\n key: \"onError\",\n value: function onError(code) {\n this._errorCode = code;\n }\n }]);\n\n return SimpleXMLParser;\n}(XMLParserBase);\n\nexports.SimpleXMLParser = SimpleXMLParser;\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFDataTransportStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\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 PDFDataTransportStream =\n/*#__PURE__*/\nfunction () {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this = this;\n\n _classCallCheck(this, PDFDataTransportStream);\n\n (0, _util.assert)(pdfDataRangeTransport);\n this._queuedChunks = [];\n this._progressiveDone = params.progressiveDone || false;\n var initialData = params.initialData;\n\n if (initialData && initialData.length > 0) {\n var buffer = new Uint8Array(initialData).buffer;\n\n this._queuedChunks.push(buffer);\n }\n\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !params.disableStream;\n this._isRangeSupported = !params.disableRange;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n\n this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {\n _this._onReceiveData({\n begin: begin,\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressListener(function (loaded, total) {\n _this._onProgress({\n loaded: loaded,\n total: total\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n _this._onReceiveData({\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveDoneListener(function () {\n _this._onProgressiveDone();\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n _createClass(PDFDataTransportStream, [{\n key: \"_onReceiveData\",\n value: function _onReceiveData(args) {\n var buffer = new Uint8Array(args.chunk).buffer;\n\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n var found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n\n rangeReader._enqueue(buffer);\n\n return true;\n });\n\n (0, _util.assert)(found);\n }\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (evt.total === undefined) {\n var firstReader = this._rangeReaders[0];\n\n if (firstReader && firstReader.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n } else {\n var fullReader = this._fullRequestReader;\n\n if (fullReader && fullReader.onProgress) {\n fullReader.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n }\n }, {\n key: \"_onProgressiveDone\",\n value: function _onProgressiveDone() {\n if (this._fullRequestReader) {\n this._fullRequestReader.progressiveDone();\n }\n\n this._progressiveDone = true;\n }\n }, {\n key: \"_removeRangeReader\",\n value: function _removeRangeReader(reader) {\n var i = this._rangeReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n var queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n\n this._rangeReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeReaders.slice(0);\n\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n\n this._pdfDataRangeTransport.abort();\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFDataTransportStream;\n}();\n\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\nvar PDFDataTransportStreamReader =\n/*#__PURE__*/\nfunction () {\n function PDFDataTransportStreamReader(stream, queuedChunks) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, PDFDataTransportStreamReader);\n\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this._queuedChunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var chunk = _step.value;\n this._loaded += chunk.byteLength;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n\n _createClass(PDFDataTransportStreamReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n\n this._loaded += chunk.byteLength;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(this._queuedChunks.length > 0)) {\n _context.next = 3;\n break;\n }\n\n chunk = this._queuedChunks.shift();\n return _context.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 3:\n if (!this._done) {\n _context.next = 5;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 5:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context.abrupt(\"return\", requestCapability.promise);\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n }, {\n key: \"progressiveDone\",\n value: function progressiveDone() {\n if (this._done) {\n return;\n }\n\n this._done = true;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReady;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._stream._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._stream._isStreamingSupported;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._stream._contentLength;\n }\n }]);\n\n return PDFDataTransportStreamReader;\n}();\n\nvar PDFDataTransportStreamRangeReader =\n/*#__PURE__*/\nfunction () {\n function PDFDataTransportStreamRangeReader(stream, begin, end) {\n _classCallCheck(this, PDFDataTransportStreamRangeReader);\n\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n\n _createClass(PDFDataTransportStreamRangeReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n var requestsCapability = this._requests.shift();\n\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n\n this._done = true;\n\n this._stream._removeRangeReader(this);\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this._queuedChunk) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context2.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context2.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._stream._removeRangeReader(this);\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }]);\n\n return PDFDataTransportStreamRangeReader;\n}();\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WebGLContext = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar WebGLContext =\n/*#__PURE__*/\nfunction () {\n function WebGLContext(_ref) {\n var _ref$enable = _ref.enable,\n enable = _ref$enable === void 0 ? false : _ref$enable;\n\n _classCallCheck(this, WebGLContext);\n\n this._enabled = enable === true;\n }\n\n _createClass(WebGLContext, [{\n key: \"composeSMask\",\n value: function composeSMask(_ref2) {\n var layer = _ref2.layer,\n mask = _ref2.mask,\n properties = _ref2.properties;\n return WebGLUtils.composeSMask(layer, mask, properties);\n }\n }, {\n key: \"drawFigures\",\n value: function drawFigures(_ref3) {\n var width = _ref3.width,\n height = _ref3.height,\n backgroundColor = _ref3.backgroundColor,\n figures = _ref3.figures,\n context = _ref3.context;\n return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n WebGLUtils.cleanup();\n }\n }, {\n key: \"isEnabled\",\n get: function get() {\n var enabled = this._enabled;\n\n if (enabled) {\n enabled = WebGLUtils.tryInitGL();\n }\n\n return (0, _util.shadow)(this, 'isEnabled', enabled);\n }\n }]);\n\n return WebGLContext;\n}();\n\nexports.WebGLContext = WebGLContext;\n\nvar WebGLUtils = function WebGLUtilsClosure() {\n function loadShader(gl, code, shaderType) {\n var shader = gl.createShader(shaderType);\n gl.shaderSource(shader, code);\n gl.compileShader(shader);\n var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n\n if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error('Error during shader compilation: ' + errorMsg);\n }\n\n return shader;\n }\n\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error('Error during program linking: ' + errorMsg);\n }\n\n return program;\n }\n\n function createTexture(gl, image, textureId) {\n gl.activeTexture(textureId);\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n return texture;\n }\n\n var currentGL, currentCanvas;\n\n function generateGL() {\n if (currentGL) {\n return;\n }\n\n currentCanvas = document.createElement('canvas');\n currentGL = currentCanvas.getContext('webgl', {\n premultipliedalpha: false\n });\n }\n\n var smaskVertexShaderCode = '\\\n attribute vec2 a_position; \\\n attribute vec2 a_texCoord; \\\n \\\n uniform vec2 u_resolution; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_texCoord = a_texCoord; \\\n } ';\n var smaskFragmentShaderCode = '\\\n precision mediump float; \\\n \\\n uniform vec4 u_backdrop; \\\n uniform int u_subtype; \\\n uniform sampler2D u_image; \\\n uniform sampler2D u_mask; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec4 imageColor = texture2D(u_image, v_texCoord); \\\n vec4 maskColor = texture2D(u_mask, v_texCoord); \\\n if (u_backdrop.a > 0.0) { \\\n maskColor.rgb = maskColor.rgb * maskColor.a + \\\n u_backdrop.rgb * (1.0 - maskColor.a); \\\n } \\\n float lum; \\\n if (u_subtype == 0) { \\\n lum = maskColor.a; \\\n } else { \\\n lum = maskColor.r * 0.3 + maskColor.g * 0.59 + \\\n maskColor.b * 0.11; \\\n } \\\n imageColor.a *= lum; \\\n imageColor.rgb *= imageColor.a; \\\n gl_FragColor = imageColor; \\\n } ';\n var smaskCache = null;\n\n function initSmaskGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, smaskVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution');\n cache.positionLocation = gl.getAttribLocation(program, 'a_position');\n cache.backdropLocation = gl.getUniformLocation(program, 'u_backdrop');\n cache.subtypeLocation = gl.getUniformLocation(program, 'u_subtype');\n var texCoordLocation = gl.getAttribLocation(program, 'a_texCoord');\n var texLayerLocation = gl.getUniformLocation(program, 'u_image');\n var texMaskLocation = gl.getUniformLocation(program, 'u_mask');\n var texCoordBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(texCoordLocation);\n gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);\n gl.uniform1i(texLayerLocation, 0);\n gl.uniform1i(texMaskLocation, 1);\n smaskCache = cache;\n }\n\n function composeSMask(layer, mask, properties) {\n var width = layer.width,\n height = layer.height;\n\n if (!smaskCache) {\n initSmaskGL();\n }\n\n var cache = smaskCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n\n if (properties.backdrop) {\n gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);\n } else {\n gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);\n }\n\n gl.uniform1i(cache.subtypeLocation, properties.subtype === 'Luminosity' ? 1 : 0);\n var texture = createTexture(gl, layer, gl.TEXTURE0);\n var maskTexture = createTexture(gl, mask, gl.TEXTURE1);\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n gl.clearColor(0, 0, 0, 0);\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n gl.clear(gl.COLOR_BUFFER_BIT);\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n gl.flush();\n gl.deleteTexture(texture);\n gl.deleteTexture(maskTexture);\n gl.deleteBuffer(buffer);\n return canvas;\n }\n\n var figuresVertexShaderCode = '\\\n attribute vec2 a_position; \\\n attribute vec3 a_color; \\\n \\\n uniform vec2 u_resolution; \\\n uniform vec2 u_scale; \\\n uniform vec2 u_offset; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n vec2 position = (a_position + u_offset) * u_scale; \\\n vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_color = vec4(a_color / 255.0, 1.0); \\\n } ';\n var figuresFragmentShaderCode = '\\\n precision mediump float; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n gl_FragColor = v_color; \\\n } ';\n var figuresCache = null;\n\n function initFiguresGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, figuresVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution');\n cache.scaleLocation = gl.getUniformLocation(program, 'u_scale');\n cache.offsetLocation = gl.getUniformLocation(program, 'u_offset');\n cache.positionLocation = gl.getAttribLocation(program, 'a_position');\n cache.colorLocation = gl.getAttribLocation(program, 'a_color');\n figuresCache = cache;\n }\n\n function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\n }\n\n var cache = figuresCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n var count = 0;\n var i, ii, rows;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n switch (figures[i].type) {\n case 'lattice':\n rows = figures[i].coords.length / figures[i].verticesPerRow | 0;\n count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;\n break;\n\n case 'triangles':\n count += figures[i].coords.length;\n break;\n }\n }\n\n var coords = new Float32Array(count * 2);\n var colors = new Uint8Array(count * 3);\n var coordsMap = context.coords,\n colorsMap = context.colors;\n var pIndex = 0,\n cIndex = 0;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n\n switch (figure.type) {\n case 'lattice':\n var cols = figure.verticesPerRow;\n rows = ps.length / cols | 0;\n\n for (var row = 1; row < rows; row++) {\n var offset = row * cols + 1;\n\n for (var col = 1; col < cols; col++, offset++) {\n coords[pIndex] = coordsMap[ps[offset - cols - 1]];\n coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];\n coords[pIndex + 2] = coordsMap[ps[offset - cols]];\n coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];\n coords[pIndex + 4] = coordsMap[ps[offset - 1]];\n coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];\n colors[cIndex] = colorsMap[cs[offset - cols - 1]];\n colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];\n colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];\n colors[cIndex + 3] = colorsMap[cs[offset - cols]];\n colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];\n colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];\n colors[cIndex + 6] = colorsMap[cs[offset - 1]];\n colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];\n colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];\n coords[pIndex + 6] = coords[pIndex + 2];\n coords[pIndex + 7] = coords[pIndex + 3];\n coords[pIndex + 8] = coords[pIndex + 4];\n coords[pIndex + 9] = coords[pIndex + 5];\n coords[pIndex + 10] = coordsMap[ps[offset]];\n coords[pIndex + 11] = coordsMap[ps[offset] + 1];\n colors[cIndex + 9] = colors[cIndex + 3];\n colors[cIndex + 10] = colors[cIndex + 4];\n colors[cIndex + 11] = colors[cIndex + 5];\n colors[cIndex + 12] = colors[cIndex + 6];\n colors[cIndex + 13] = colors[cIndex + 7];\n colors[cIndex + 14] = colors[cIndex + 8];\n colors[cIndex + 15] = colorsMap[cs[offset]];\n colors[cIndex + 16] = colorsMap[cs[offset] + 1];\n colors[cIndex + 17] = colorsMap[cs[offset] + 2];\n pIndex += 12;\n cIndex += 18;\n }\n }\n\n break;\n\n case 'triangles':\n for (var j = 0, jj = ps.length; j < jj; j++) {\n coords[pIndex] = coordsMap[ps[j]];\n coords[pIndex + 1] = coordsMap[ps[j] + 1];\n colors[cIndex] = colorsMap[cs[j]];\n colors[cIndex + 1] = colorsMap[cs[j] + 1];\n colors[cIndex + 2] = colorsMap[cs[j] + 2];\n pIndex += 2;\n cIndex += 3;\n }\n\n break;\n }\n }\n\n if (backgroundColor) {\n gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);\n } else {\n gl.clearColor(0, 0, 0, 0);\n }\n\n gl.clear(gl.COLOR_BUFFER_BIT);\n var coordsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n var colorsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.colorLocation);\n gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);\n gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);\n gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);\n gl.drawArrays(gl.TRIANGLES, 0, count);\n gl.flush();\n gl.deleteBuffer(coordsBuffer);\n gl.deleteBuffer(colorsBuffer);\n return canvas;\n }\n\n return {\n tryInitGL: function tryInitGL() {\n try {\n generateGL();\n return !!currentGL;\n } catch (ex) {}\n\n return false;\n },\n composeSMask: composeSMask,\n drawFigures: drawFigures,\n cleanup: function cleanup() {\n if (smaskCache && smaskCache.canvas) {\n smaskCache.canvas.width = 0;\n smaskCache.canvas.height = 0;\n }\n\n if (figuresCache && figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n\n smaskCache = null;\n figuresCache = null;\n }\n };\n}();\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.renderTextLayer = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _global_scope = _interopRequireDefault(__w_pdfjs_require__(3));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar renderTextLayer = function renderTextLayerClosure() {\n var MAX_TEXT_DIVS_TO_RENDER = 100000;\n var NonWhitespaceRegexp = /\\S/;\n\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\n\n var styleBuf = ['left: ', 0, 'px; top: ', 0, 'px; font-size: ', 0, 'px; font-family: ', '', ';'];\n\n function appendText(task, geom, styles) {\n var textDiv = document.createElement('span');\n var textDivProperties = {\n style: null,\n angle: 0,\n canvasWidth: 0,\n isWhitespace: false,\n originalTransform: null,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n scale: 1\n };\n\n task._textDivs.push(textDiv);\n\n if (isAllWhitespace(geom.str)) {\n textDivProperties.isWhitespace = true;\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n return;\n }\n\n var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n\n var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n var fontAscent = fontHeight;\n\n if (style.ascent) {\n fontAscent = style.ascent * fontAscent;\n } else if (style.descent) {\n fontAscent = (1 + style.descent) * fontAscent;\n }\n\n var left;\n var top;\n\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n\n styleBuf[1] = left;\n styleBuf[3] = top;\n styleBuf[5] = fontHeight;\n styleBuf[7] = style.fontFamily;\n textDivProperties.style = styleBuf.join('');\n textDiv.setAttribute('style', textDivProperties.style);\n textDiv.textContent = geom.str;\n\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n\n if (geom.str.length > 1) {\n if (style.vertical) {\n textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n } else {\n textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n }\n }\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n\n if (task._enhanceTextSelection) {\n var angleCos = 1,\n angleSin = 0;\n\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n\n var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n var m, b;\n\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n } else {\n b = [left, top, left + divWidth, top + divHeight];\n }\n\n task._bounds.push({\n left: b[0],\n top: b[1],\n right: b[2],\n bottom: b[3],\n div: textDiv,\n size: [divWidth, divHeight],\n m: m\n });\n }\n }\n\n function render(task) {\n if (task._canceled) {\n return;\n }\n\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n\n if (!task._textContentStream) {\n for (var i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n\n task._renderingDone = true;\n capability.resolve();\n }\n\n function expand(task) {\n var bounds = task._bounds;\n var viewport = task._viewport;\n var expanded = expandBounds(viewport.width, viewport.height, bounds);\n\n for (var i = 0; i < expanded.length; i++) {\n var div = bounds[i].div;\n\n var divProperties = task._textDivProperties.get(div);\n\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n\n task._textDivProperties.set(div, divProperties);\n\n continue;\n }\n\n var e = expanded[i],\n b = bounds[i];\n var m = b.m,\n c = m[0],\n s = m[1];\n var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n var ts = new Float64Array(64);\n points.forEach(function (p, i) {\n var t = _util.Util.applyTransform(p, m);\n\n ts[i + 0] = c && (e.left - t[0]) / c;\n ts[i + 4] = s && (e.top - t[1]) / s;\n ts[i + 8] = c && (e.right - t[0]) / c;\n ts[i + 12] = s && (e.bottom - t[1]) / s;\n ts[i + 16] = s && (e.left - t[0]) / -s;\n ts[i + 20] = c && (e.top - t[1]) / c;\n ts[i + 24] = s && (e.right - t[0]) / -s;\n ts[i + 28] = c && (e.bottom - t[1]) / c;\n ts[i + 32] = c && (e.left - t[0]) / -c;\n ts[i + 36] = s && (e.top - t[1]) / -s;\n ts[i + 40] = c && (e.right - t[0]) / -c;\n ts[i + 44] = s && (e.bottom - t[1]) / -s;\n ts[i + 48] = s && (e.left - t[0]) / s;\n ts[i + 52] = c && (e.top - t[1]) / -c;\n ts[i + 56] = s && (e.right - t[0]) / s;\n ts[i + 60] = c && (e.bottom - t[1]) / -c;\n });\n\n var findPositiveMin = function findPositiveMin(ts, offset, count) {\n var result = 0;\n\n for (var i = 0; i < count; i++) {\n var t = ts[offset++];\n\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n\n return result;\n };\n\n var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n\n task._textDivProperties.set(div, divProperties);\n }\n }\n\n function expandBounds(width, height, boxes) {\n var bounds = boxes.map(function (box, i) {\n return {\n x1: box.left,\n y1: box.top,\n x2: box.right,\n y2: box.bottom,\n index: i,\n x1New: undefined,\n x2New: undefined\n };\n });\n expandBoundsLTR(width, bounds);\n var expanded = new Array(boxes.length);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i] = {\n left: b.x1New,\n top: 0,\n right: b.x2New,\n bottom: 0\n };\n });\n boxes.map(function (box, i) {\n var e = expanded[i],\n b = bounds[i];\n b.x1 = box.top;\n b.y1 = width - e.right;\n b.x2 = box.bottom;\n b.y2 = width - e.left;\n b.index = i;\n b.x1New = undefined;\n b.x2New = undefined;\n });\n expandBoundsLTR(height, bounds);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i].top = b.x1New;\n expanded[i].bottom = b.x2New;\n });\n return expanded;\n }\n\n function expandBoundsLTR(width, bounds) {\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n var fakeBoundary = {\n x1: -Infinity,\n y1: -Infinity,\n x2: 0,\n y2: Infinity,\n index: -1,\n x1New: 0,\n x2New: 0\n };\n var horizon = [{\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary\n }];\n bounds.forEach(function (boundary) {\n var i = 0;\n\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n\n var j = horizon.length - 1;\n\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n\n var horizonPart, affectedBoundary;\n var q,\n k,\n maxXNew = -Infinity;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var xNew;\n\n if (affectedBoundary.x2 > boundary.x1) {\n xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;\n } else if (affectedBoundary.x2New === undefined) {\n xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n xNew = affectedBoundary.x2New;\n }\n\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n\n boundary.x1New = maxXNew;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n if (affectedBoundary.x2 > boundary.x1) {\n if (affectedBoundary.index > boundary.index) {\n affectedBoundary.x2New = affectedBoundary.x2;\n }\n } else {\n affectedBoundary.x2New = maxXNew;\n }\n } else if (affectedBoundary.x2New > maxXNew) {\n affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n }\n }\n\n var changedHorizon = [],\n lastBoundary = null;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n\n if (lastBoundary === useBoundary) {\n changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n } else {\n changedHorizon.push({\n start: horizonPart.start,\n end: horizonPart.end,\n boundary: useBoundary\n });\n lastBoundary = useBoundary;\n }\n }\n\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary\n });\n }\n\n if (boundary.y2 < horizon[j].end) {\n changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary\n });\n }\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n\n var used = false;\n\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\n }\n\n Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));\n });\n horizon.forEach(function (horizonPart) {\n var affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n });\n }\n\n function TextLayerRenderTask(_ref) {\n var _this = this;\n\n var textContent = _ref.textContent,\n textContentStream = _ref.textContentStream,\n container = _ref.container,\n viewport = _ref.viewport,\n textDivs = _ref.textDivs,\n textContentItemsStr = _ref.textContentItemsStr,\n enhanceTextSelection = _ref.enhanceTextSelection;\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!(_global_scope[\"default\"].FontInspector && _global_scope[\"default\"].FontInspector.enabled);\n this._reader = null;\n this._layoutTextLastFontSize = null;\n this._layoutTextLastFontFamily = null;\n this._layoutTextCtx = null;\n this._textDivProperties = new WeakMap();\n this._renderingDone = false;\n this._canceled = false;\n this._capability = (0, _util.createPromiseCapability)();\n this._renderTimer = null;\n this._bounds = [];\n\n this._capability.promise[\"finally\"](function () {\n if (_this._layoutTextCtx) {\n _this._layoutTextCtx.canvas.width = 0;\n _this._layoutTextCtx.canvas.height = 0;\n _this._layoutTextCtx = null;\n }\n });\n }\n\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n\n cancel: function TextLayer_cancel() {\n this._canceled = true;\n\n if (this._reader) {\n this._reader.cancel(new _util.AbortException('TextLayer task cancelled.'));\n\n this._reader = null;\n }\n\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n\n this._capability.reject(new Error('TextLayer task cancelled.'));\n },\n _processItems: function _processItems(items, styleCache) {\n for (var i = 0, len = items.length; i < len; i++) {\n this._textContentItemsStr.push(items[i].str);\n\n appendText(this, items[i], styleCache);\n }\n },\n _layoutText: function _layoutText(textDiv) {\n var textLayerFrag = this._container;\n\n var textDivProperties = this._textDivProperties.get(textDiv);\n\n if (textDivProperties.isWhitespace) {\n return;\n }\n\n var fontSize = textDiv.style.fontSize;\n var fontFamily = textDiv.style.fontFamily;\n\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = fontSize + ' ' + fontFamily;\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n\n var width = this._layoutTextCtx.measureText(textDiv.textContent).width;\n\n var transform = '';\n\n if (textDivProperties.canvasWidth !== 0 && width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = \"scaleX(\".concat(textDivProperties.scale, \")\");\n }\n\n if (textDivProperties.angle !== 0) {\n transform = \"rotate(\".concat(textDivProperties.angle, \"deg) \").concat(transform);\n }\n\n if (transform.length > 0) {\n textDivProperties.originalTransform = transform;\n textDiv.style.transform = transform;\n }\n\n this._textDivProperties.set(textDiv, textDivProperties);\n\n textLayerFrag.appendChild(textDiv);\n },\n _render: function TextLayer_render(timeout) {\n var _this2 = this;\n\n var capability = (0, _util.createPromiseCapability)();\n var styleCache = Object.create(null);\n var canvas = document.createElement('canvas');\n canvas.mozOpaque = true;\n this._layoutTextCtx = canvas.getContext('2d', {\n alpha: false\n });\n\n if (this._textContent) {\n var textItems = this._textContent.items;\n var textStyles = this._textContent.styles;\n\n this._processItems(textItems, textStyles);\n\n capability.resolve();\n } else if (this._textContentStream) {\n var pump = function pump() {\n _this2._reader.read().then(function (_ref2) {\n var value = _ref2.value,\n done = _ref2.done;\n\n if (done) {\n capability.resolve();\n return;\n }\n\n Object.assign(styleCache, value.styles);\n\n _this2._processItems(value.items, styleCache);\n\n pump();\n }, capability.reject);\n };\n\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\"' + ' parameters specified.');\n }\n\n capability.promise.then(function () {\n styleCache = null;\n\n if (!timeout) {\n render(_this2);\n } else {\n _this2._renderTimer = setTimeout(function () {\n render(_this2);\n _this2._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n },\n expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n\n for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n var div = this._textDivs[i];\n\n var divProperties = this._textDivProperties.get(div);\n\n if (divProperties.isWhitespace) {\n continue;\n }\n\n if (expandDivs) {\n var transform = '',\n padding = '';\n\n if (divProperties.scale !== 1) {\n transform = 'scaleX(' + divProperties.scale + ')';\n }\n\n if (divProperties.angle !== 0) {\n transform = 'rotate(' + divProperties.angle + 'deg) ' + transform;\n }\n\n if (divProperties.paddingLeft !== 0) {\n padding += ' padding-left: ' + divProperties.paddingLeft / divProperties.scale + 'px;';\n transform += ' translateX(' + -divProperties.paddingLeft / divProperties.scale + 'px)';\n }\n\n if (divProperties.paddingTop !== 0) {\n padding += ' padding-top: ' + divProperties.paddingTop + 'px;';\n transform += ' translateY(' + -divProperties.paddingTop + 'px)';\n }\n\n if (divProperties.paddingRight !== 0) {\n padding += ' padding-right: ' + divProperties.paddingRight / divProperties.scale + 'px;';\n }\n\n if (divProperties.paddingBottom !== 0) {\n padding += ' padding-bottom: ' + divProperties.paddingBottom + 'px;';\n }\n\n if (padding !== '') {\n div.setAttribute('style', divProperties.style + padding);\n }\n\n if (transform !== '') {\n div.style.transform = transform;\n }\n } else {\n div.style.padding = 0;\n div.style.transform = divProperties.originalTransform || '';\n }\n }\n }\n };\n\n function renderTextLayer(renderParameters) {\n var task = new TextLayerRenderTask({\n textContent: renderParameters.textContent,\n textContentStream: renderParameters.textContentStream,\n container: renderParameters.container,\n viewport: renderParameters.viewport,\n textDivs: renderParameters.textDivs,\n textContentItemsStr: renderParameters.textContentItemsStr,\n enhanceTextSelection: renderParameters.enhanceTextSelection\n });\n\n task._render(renderParameters.timeout);\n\n return task;\n }\n\n return renderTextLayer;\n}();\n\nexports.renderTextLayer = renderTextLayer;\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnnotationLayer = void 0;\n\nvar _display_utils = __w_pdfjs_require__(151);\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationElementFactory =\n/*#__PURE__*/\nfunction () {\n function AnnotationElementFactory() {\n _classCallCheck(this, AnnotationElementFactory);\n }\n\n _createClass(AnnotationElementFactory, null, [{\n key: \"create\",\n value: function create(parameters) {\n var subtype = parameters.data.annotationType;\n\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n\n case _util.AnnotationType.WIDGET:\n var fieldType = parameters.data.fieldType;\n\n switch (fieldType) {\n case 'Tx':\n return new TextWidgetAnnotationElement(parameters);\n\n case 'Btn':\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n\n return new PushButtonWidgetAnnotationElement(parameters);\n\n case 'Ch':\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n\n return new WidgetAnnotationElement(parameters);\n\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n\n default:\n return new AnnotationElement(parameters);\n }\n }\n }]);\n\n return AnnotationElementFactory;\n}();\n\nvar AnnotationElement =\n/*#__PURE__*/\nfunction () {\n function AnnotationElement(parameters) {\n var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, AnnotationElement);\n\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderInteractiveForms = parameters.renderInteractiveForms;\n this.svgFactory = parameters.svgFactory;\n\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n }\n\n _createClass(AnnotationElement, [{\n key: \"_createContainer\",\n value: function _createContainer() {\n var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var data = this.data,\n page = this.page,\n viewport = this.viewport;\n var container = document.createElement('section');\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n container.setAttribute('data-annotation-id', data.id);\n\n var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n\n container.style.transform = 'matrix(' + viewport.transform.join(',') + ')';\n container.style.transformOrigin = -rect[0] + 'px ' + -rect[1] + 'px';\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = data.borderStyle.width + 'px';\n\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width = width - 2 * data.borderStyle.width;\n height = height - 2 * data.borderStyle.width;\n }\n\n var horizontalRadius = data.borderStyle.horizontalCornerRadius;\n var verticalRadius = data.borderStyle.verticalCornerRadius;\n\n if (horizontalRadius > 0 || verticalRadius > 0) {\n var radius = horizontalRadius + 'px / ' + verticalRadius + 'px';\n container.style.borderRadius = radius;\n }\n\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = 'solid';\n break;\n\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = 'dashed';\n break;\n\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)('Unimplemented border style: beveled');\n break;\n\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)('Unimplemented border style: inset');\n break;\n\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = 'solid';\n break;\n\n default:\n break;\n }\n\n if (data.color) {\n container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n\n container.style.left = rect[0] + 'px';\n container.style.top = rect[1] + 'px';\n container.style.width = width + 'px';\n container.style.height = height + 'px';\n return container;\n }\n }, {\n key: \"_createPopup\",\n value: function _createPopup(container, trigger, data) {\n if (!trigger) {\n trigger = document.createElement('div');\n trigger.style.height = container.style.height;\n trigger.style.width = container.style.width;\n container.appendChild(trigger);\n }\n\n var popupElement = new PopupElement({\n container: container,\n trigger: trigger,\n color: data.color,\n title: data.title,\n modificationDate: data.modificationDate,\n contents: data.contents,\n hideWrapper: true\n });\n var popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n }\n }, {\n key: \"render\",\n value: function render() {\n (0, _util.unreachable)('Abstract method `AnnotationElement.render` called');\n }\n }]);\n\n return AnnotationElement;\n}();\n\nvar LinkAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement) {\n _inherits(LinkAnnotationElement, _AnnotationElement);\n\n function LinkAnnotationElement(parameters) {\n _classCallCheck(this, LinkAnnotationElement);\n\n var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);\n return _possibleConstructorReturn(this, _getPrototypeOf(LinkAnnotationElement).call(this, parameters, isRenderable));\n }\n\n _createClass(LinkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'linkAnnotation';\n var data = this.data,\n linkService = this.linkService;\n var link = document.createElement('a');\n (0, _display_utils.addLinkAttributes)(link, {\n url: data.url,\n target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,\n rel: linkService.externalLinkRel\n });\n\n if (!data.url) {\n if (data.action) {\n this._bindNamedAction(link, data.action);\n } else {\n this._bindLink(link, data.dest);\n }\n }\n\n this.container.appendChild(link);\n return this.container;\n }\n }, {\n key: \"_bindLink\",\n value: function _bindLink(link, destination) {\n var _this = this;\n\n link.href = this.linkService.getDestinationHash(destination);\n\n link.onclick = function () {\n if (destination) {\n _this.linkService.navigateTo(destination);\n }\n\n return false;\n };\n\n if (destination) {\n link.className = 'internalLink';\n }\n }\n }, {\n key: \"_bindNamedAction\",\n value: function _bindNamedAction(link, action) {\n var _this2 = this;\n\n link.href = this.linkService.getAnchorUrl('');\n\n link.onclick = function () {\n _this2.linkService.executeNamedAction(action);\n\n return false;\n };\n\n link.className = 'internalLink';\n }\n }]);\n\n return LinkAnnotationElement;\n}(AnnotationElement);\n\nvar TextAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement2) {\n _inherits(TextAnnotationElement, _AnnotationElement2);\n\n function TextAnnotationElement(parameters) {\n _classCallCheck(this, TextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(TextAnnotationElement).call(this, parameters, isRenderable));\n }\n\n _createClass(TextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'textAnnotation';\n var image = document.createElement('img');\n image.style.height = this.container.style.height;\n image.style.width = this.container.style.width;\n image.src = this.imageResourcesPath + 'annotation-' + this.data.name.toLowerCase() + '.svg';\n image.alt = '[{{type}} Annotation]';\n image.dataset.l10nId = 'text_annotation_type';\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, image, this.data);\n }\n\n this.container.appendChild(image);\n return this.container;\n }\n }]);\n\n return TextAnnotationElement;\n}(AnnotationElement);\n\nvar WidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement3) {\n _inherits(WidgetAnnotationElement, _AnnotationElement3);\n\n function WidgetAnnotationElement() {\n _classCallCheck(this, WidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(WidgetAnnotationElement).apply(this, arguments));\n }\n\n _createClass(WidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n return this.container;\n }\n }]);\n\n return WidgetAnnotationElement;\n}(AnnotationElement);\n\nvar TextWidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_WidgetAnnotationElem) {\n _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);\n\n function TextWidgetAnnotationElement(parameters) {\n _classCallCheck(this, TextWidgetAnnotationElement);\n\n var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n return _possibleConstructorReturn(this, _getPrototypeOf(TextWidgetAnnotationElement).call(this, parameters, isRenderable));\n }\n\n _createClass(TextWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var TEXT_ALIGNMENT = ['left', 'center', 'right'];\n this.container.className = 'textWidgetAnnotation';\n var element = null;\n\n if (this.renderInteractiveForms) {\n if (this.data.multiLine) {\n element = document.createElement('textarea');\n element.textContent = this.data.fieldValue;\n } else {\n element = document.createElement('input');\n element.type = 'text';\n element.setAttribute('value', this.data.fieldValue);\n }\n\n element.disabled = this.data.readOnly;\n\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\n\n if (this.data.comb) {\n var fieldWidth = this.data.rect[2] - this.data.rect[0];\n var combWidth = fieldWidth / this.data.maxLen;\n element.classList.add('comb');\n element.style.letterSpacing = 'calc(' + combWidth + 'px - 1ch)';\n }\n } else {\n element = document.createElement('div');\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = 'middle';\n element.style.display = 'table-cell';\n var font = null;\n\n if (this.data.fontRefName && this.page.commonObjs.has(this.data.fontRefName)) {\n font = this.page.commonObjs.get(this.data.fontRefName);\n }\n\n this._setTextStyle(element, font);\n }\n\n if (this.data.textAlignment !== null) {\n element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }, {\n key: \"_setTextStyle\",\n value: function _setTextStyle(element, font) {\n var style = element.style;\n style.fontSize = this.data.fontSize + 'px';\n style.direction = this.data.fontDirection < 0 ? 'rtl' : 'ltr';\n\n if (!font) {\n return;\n }\n\n style.fontWeight = font.black ? font.bold ? '900' : 'bold' : font.bold ? 'bold' : 'normal';\n style.fontStyle = font.italic ? 'italic' : 'normal';\n var fontFamily = font.loadedName ? '\"' + font.loadedName + '\", ' : '';\n var fallbackName = font.fallbackName || 'Helvetica, sans-serif';\n style.fontFamily = fontFamily + fallbackName;\n }\n }]);\n\n return TextWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar CheckboxWidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_WidgetAnnotationElem2) {\n _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);\n\n function CheckboxWidgetAnnotationElement(parameters) {\n _classCallCheck(this, CheckboxWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(CheckboxWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms));\n }\n\n _createClass(CheckboxWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'buttonWidgetAnnotation checkBox';\n var element = document.createElement('input');\n element.disabled = this.data.readOnly;\n element.type = 'checkbox';\n\n if (this.data.fieldValue && this.data.fieldValue !== 'Off') {\n element.setAttribute('checked', true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return CheckboxWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar RadioButtonWidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_WidgetAnnotationElem3) {\n _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);\n\n function RadioButtonWidgetAnnotationElement(parameters) {\n _classCallCheck(this, RadioButtonWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(RadioButtonWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms));\n }\n\n _createClass(RadioButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'buttonWidgetAnnotation radioButton';\n var element = document.createElement('input');\n element.disabled = this.data.readOnly;\n element.type = 'radio';\n element.name = this.data.fieldName;\n\n if (this.data.fieldValue === this.data.buttonValue) {\n element.setAttribute('checked', true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return RadioButtonWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PushButtonWidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_LinkAnnotationElemen) {\n _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);\n\n function PushButtonWidgetAnnotationElement() {\n _classCallCheck(this, PushButtonWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(PushButtonWidgetAnnotationElement).apply(this, arguments));\n }\n\n _createClass(PushButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), \"render\", this).call(this);\n\n container.className = 'buttonWidgetAnnotation pushButton';\n return container;\n }\n }]);\n\n return PushButtonWidgetAnnotationElement;\n}(LinkAnnotationElement);\n\nvar ChoiceWidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_WidgetAnnotationElem4) {\n _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);\n\n function ChoiceWidgetAnnotationElement(parameters) {\n _classCallCheck(this, ChoiceWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(ChoiceWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms));\n }\n\n _createClass(ChoiceWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'choiceWidgetAnnotation';\n var selectElement = document.createElement('select');\n selectElement.disabled = this.data.readOnly;\n\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n\n for (var i = 0, ii = this.data.options.length; i < ii; i++) {\n var option = this.data.options[i];\n var optionElement = document.createElement('option');\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n\n if (this.data.fieldValue.includes(option.displayValue)) {\n optionElement.setAttribute('selected', true);\n }\n\n selectElement.appendChild(optionElement);\n }\n\n this.container.appendChild(selectElement);\n return this.container;\n }\n }]);\n\n return ChoiceWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PopupAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement4) {\n _inherits(PopupAnnotationElement, _AnnotationElement4);\n\n function PopupAnnotationElement(parameters) {\n _classCallCheck(this, PopupAnnotationElement);\n\n var isRenderable = !!(parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(PopupAnnotationElement).call(this, parameters, isRenderable));\n }\n\n _createClass(PopupAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var IGNORE_TYPES = ['Line', 'Square', 'Circle', 'PolyLine', 'Polygon', 'Ink'];\n this.container.className = 'popupAnnotation';\n\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n\n var selector = '[data-annotation-id=\"' + this.data.parentId + '\"]';\n var parentElement = this.layer.querySelector(selector);\n\n if (!parentElement) {\n return this.container;\n }\n\n var popup = new PopupElement({\n container: this.container,\n trigger: parentElement,\n color: this.data.color,\n title: this.data.title,\n modificationDate: this.data.modificationDate,\n contents: this.data.contents\n });\n var parentLeft = parseFloat(parentElement.style.left);\n var parentWidth = parseFloat(parentElement.style.width);\n this.container.style.transformOrigin = -(parentLeft + parentWidth) + 'px -' + parentElement.style.top;\n this.container.style.left = parentLeft + parentWidth + 'px';\n this.container.appendChild(popup.render());\n return this.container;\n }\n }]);\n\n return PopupAnnotationElement;\n}(AnnotationElement);\n\nvar PopupElement =\n/*#__PURE__*/\nfunction () {\n function PopupElement(parameters) {\n _classCallCheck(this, PopupElement);\n\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.title = parameters.title;\n this.modificationDate = parameters.modificationDate;\n this.contents = parameters.contents;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n\n _createClass(PopupElement, [{\n key: \"render\",\n value: function render() {\n var BACKGROUND_ENLIGHT = 0.7;\n var wrapper = document.createElement('div');\n wrapper.className = 'popupWrapper';\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.setAttribute('hidden', true);\n var popup = document.createElement('div');\n popup.className = 'popup';\n var color = this.color;\n\n if (color) {\n var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);\n }\n\n var title = document.createElement('h1');\n title.textContent = this.title;\n popup.appendChild(title);\n\n var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n\n if (dateObject) {\n var modificationDate = document.createElement('span');\n modificationDate.textContent = '{{date}}, {{time}}';\n modificationDate.dataset.l10nId = 'annotation_date_string';\n modificationDate.dataset.l10nArgs = JSON.stringify({\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n popup.appendChild(modificationDate);\n }\n\n var contents = this._formatContents(this.contents);\n\n popup.appendChild(contents);\n this.trigger.addEventListener('click', this._toggle.bind(this));\n this.trigger.addEventListener('mouseover', this._show.bind(this, false));\n this.trigger.addEventListener('mouseout', this._hide.bind(this, false));\n popup.addEventListener('click', this._hide.bind(this, true));\n wrapper.appendChild(popup);\n return wrapper;\n }\n }, {\n key: \"_formatContents\",\n value: function _formatContents(contents) {\n var p = document.createElement('p');\n var lines = contents.split(/(?:\\r\\n?|\\n)/);\n\n for (var i = 0, ii = lines.length; i < ii; ++i) {\n var line = lines[i];\n p.appendChild(document.createTextNode(line));\n\n if (i < ii - 1) {\n p.appendChild(document.createElement('br'));\n }\n }\n\n return p;\n }\n }, {\n key: \"_toggle\",\n value: function _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n }, {\n key: \"_show\",\n value: function _show() {\n var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (pin) {\n this.pinned = true;\n }\n\n if (this.hideElement.hasAttribute('hidden')) {\n this.hideElement.removeAttribute('hidden');\n this.container.style.zIndex += 1;\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide() {\n var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (unpin) {\n this.pinned = false;\n }\n\n if (!this.hideElement.hasAttribute('hidden') && !this.pinned) {\n this.hideElement.setAttribute('hidden', true);\n this.container.style.zIndex -= 1;\n }\n }\n }]);\n\n return PopupElement;\n}();\n\nvar FreeTextAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement5) {\n _inherits(FreeTextAnnotationElement, _AnnotationElement5);\n\n function FreeTextAnnotationElement(parameters) {\n _classCallCheck(this, FreeTextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(FreeTextAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(FreeTextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'freeTextAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return FreeTextAnnotationElement;\n}(AnnotationElement);\n\nvar LineAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement6) {\n _inherits(LineAnnotationElement, _AnnotationElement6);\n\n function LineAnnotationElement(parameters) {\n _classCallCheck(this, LineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(LineAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(LineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'lineAnnotation';\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var line = this.svgFactory.createElement('svg:line');\n line.setAttribute('x1', data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute('y1', data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute('x2', data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute('y2', data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute('stroke-width', data.borderStyle.width);\n line.setAttribute('stroke', 'transparent');\n svg.appendChild(line);\n this.container.append(svg);\n\n this._createPopup(this.container, line, data);\n\n return this.container;\n }\n }]);\n\n return LineAnnotationElement;\n}(AnnotationElement);\n\nvar SquareAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement7) {\n _inherits(SquareAnnotationElement, _AnnotationElement7);\n\n function SquareAnnotationElement(parameters) {\n _classCallCheck(this, SquareAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(SquareAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(SquareAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'squareAnnotation';\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var square = this.svgFactory.createElement('svg:rect');\n square.setAttribute('x', borderWidth / 2);\n square.setAttribute('y', borderWidth / 2);\n square.setAttribute('width', width - borderWidth);\n square.setAttribute('height', height - borderWidth);\n square.setAttribute('stroke-width', borderWidth);\n square.setAttribute('stroke', 'transparent');\n square.setAttribute('fill', 'none');\n svg.appendChild(square);\n this.container.append(svg);\n\n this._createPopup(this.container, square, data);\n\n return this.container;\n }\n }]);\n\n return SquareAnnotationElement;\n}(AnnotationElement);\n\nvar CircleAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement8) {\n _inherits(CircleAnnotationElement, _AnnotationElement8);\n\n function CircleAnnotationElement(parameters) {\n _classCallCheck(this, CircleAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(CircleAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(CircleAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'circleAnnotation';\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var circle = this.svgFactory.createElement('svg:ellipse');\n circle.setAttribute('cx', width / 2);\n circle.setAttribute('cy', height / 2);\n circle.setAttribute('rx', width / 2 - borderWidth / 2);\n circle.setAttribute('ry', height / 2 - borderWidth / 2);\n circle.setAttribute('stroke-width', borderWidth);\n circle.setAttribute('stroke', 'transparent');\n circle.setAttribute('fill', 'none');\n svg.appendChild(circle);\n this.container.append(svg);\n\n this._createPopup(this.container, circle, data);\n\n return this.container;\n }\n }]);\n\n return CircleAnnotationElement;\n}(AnnotationElement);\n\nvar PolylineAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement9) {\n _inherits(PolylineAnnotationElement, _AnnotationElement9);\n\n function PolylineAnnotationElement(parameters) {\n var _this3;\n\n _classCallCheck(this, PolylineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this3 = _possibleConstructorReturn(this, _getPrototypeOf(PolylineAnnotationElement).call(this, parameters, isRenderable, true));\n _this3.containerClassName = 'polylineAnnotation';\n _this3.svgElementName = 'svg:polyline';\n return _this3;\n }\n\n _createClass(PolylineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var vertices = data.vertices;\n var points = [];\n\n for (var i = 0, ii = vertices.length; i < ii; i++) {\n var x = vertices[i].x - data.rect[0];\n var y = data.rect[3] - vertices[i].y;\n points.push(x + ',' + y);\n }\n\n points = points.join(' ');\n var borderWidth = data.borderStyle.width;\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute('points', points);\n polyline.setAttribute('stroke-width', borderWidth);\n polyline.setAttribute('stroke', 'transparent');\n polyline.setAttribute('fill', 'none');\n svg.appendChild(polyline);\n this.container.append(svg);\n\n this._createPopup(this.container, polyline, data);\n\n return this.container;\n }\n }]);\n\n return PolylineAnnotationElement;\n}(AnnotationElement);\n\nvar PolygonAnnotationElement =\n/*#__PURE__*/\nfunction (_PolylineAnnotationEl) {\n _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);\n\n function PolygonAnnotationElement(parameters) {\n var _this4;\n\n _classCallCheck(this, PolygonAnnotationElement);\n\n _this4 = _possibleConstructorReturn(this, _getPrototypeOf(PolygonAnnotationElement).call(this, parameters));\n _this4.containerClassName = 'polygonAnnotation';\n _this4.svgElementName = 'svg:polygon';\n return _this4;\n }\n\n return PolygonAnnotationElement;\n}(PolylineAnnotationElement);\n\nvar CaretAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement10) {\n _inherits(CaretAnnotationElement, _AnnotationElement10);\n\n function CaretAnnotationElement(parameters) {\n _classCallCheck(this, CaretAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(CaretAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(CaretAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'caretAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return CaretAnnotationElement;\n}(AnnotationElement);\n\nvar InkAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement11) {\n _inherits(InkAnnotationElement, _AnnotationElement11);\n\n function InkAnnotationElement(parameters) {\n var _this5;\n\n _classCallCheck(this, InkAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this5 = _possibleConstructorReturn(this, _getPrototypeOf(InkAnnotationElement).call(this, parameters, isRenderable, true));\n _this5.containerClassName = 'inkAnnotation';\n _this5.svgElementName = 'svg:polyline';\n return _this5;\n }\n\n _createClass(InkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var inkLists = data.inkLists;\n\n for (var i = 0, ii = inkLists.length; i < ii; i++) {\n var inkList = inkLists[i];\n var points = [];\n\n for (var j = 0, jj = inkList.length; j < jj; j++) {\n var x = inkList[j].x - data.rect[0];\n var y = data.rect[3] - inkList[j].y;\n points.push(x + ',' + y);\n }\n\n points = points.join(' ');\n var borderWidth = data.borderStyle.width;\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute('points', points);\n polyline.setAttribute('stroke-width', borderWidth);\n polyline.setAttribute('stroke', 'transparent');\n polyline.setAttribute('fill', 'none');\n\n this._createPopup(this.container, polyline, data);\n\n svg.appendChild(polyline);\n }\n\n this.container.append(svg);\n return this.container;\n }\n }]);\n\n return InkAnnotationElement;\n}(AnnotationElement);\n\nvar HighlightAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement12) {\n _inherits(HighlightAnnotationElement, _AnnotationElement12);\n\n function HighlightAnnotationElement(parameters) {\n _classCallCheck(this, HighlightAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(HighlightAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(HighlightAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'highlightAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return HighlightAnnotationElement;\n}(AnnotationElement);\n\nvar UnderlineAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement13) {\n _inherits(UnderlineAnnotationElement, _AnnotationElement13);\n\n function UnderlineAnnotationElement(parameters) {\n _classCallCheck(this, UnderlineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(UnderlineAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(UnderlineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'underlineAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return UnderlineAnnotationElement;\n}(AnnotationElement);\n\nvar SquigglyAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement14) {\n _inherits(SquigglyAnnotationElement, _AnnotationElement14);\n\n function SquigglyAnnotationElement(parameters) {\n _classCallCheck(this, SquigglyAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(SquigglyAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(SquigglyAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'squigglyAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return SquigglyAnnotationElement;\n}(AnnotationElement);\n\nvar StrikeOutAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement15) {\n _inherits(StrikeOutAnnotationElement, _AnnotationElement15);\n\n function StrikeOutAnnotationElement(parameters) {\n _classCallCheck(this, StrikeOutAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(StrikeOutAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(StrikeOutAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'strikeoutAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StrikeOutAnnotationElement;\n}(AnnotationElement);\n\nvar StampAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement16) {\n _inherits(StampAnnotationElement, _AnnotationElement16);\n\n function StampAnnotationElement(parameters) {\n _classCallCheck(this, StampAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(StampAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(StampAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'stampAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StampAnnotationElement;\n}(AnnotationElement);\n\nvar FileAttachmentAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement17) {\n _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);\n\n function FileAttachmentAnnotationElement(parameters) {\n var _this6;\n\n _classCallCheck(this, FileAttachmentAnnotationElement);\n\n _this6 = _possibleConstructorReturn(this, _getPrototypeOf(FileAttachmentAnnotationElement).call(this, parameters, true));\n var _this6$data$file = _this6.data.file,\n filename = _this6$data$file.filename,\n content = _this6$data$file.content;\n _this6.filename = (0, _display_utils.getFilenameFromUrl)(filename);\n _this6.content = content;\n\n if (_this6.linkService.eventBus) {\n _this6.linkService.eventBus.dispatch('fileattachmentannotation', {\n source: _assertThisInitialized(_this6),\n id: (0, _util.stringToPDFString)(filename),\n filename: filename,\n content: content\n });\n }\n\n return _this6;\n }\n\n _createClass(FileAttachmentAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'fileAttachmentAnnotation';\n var trigger = document.createElement('div');\n trigger.style.height = this.container.style.height;\n trigger.style.width = this.container.style.width;\n trigger.addEventListener('dblclick', this._download.bind(this));\n\n if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n this._createPopup(this.container, trigger, this.data);\n }\n\n this.container.appendChild(trigger);\n return this.container;\n }\n }, {\n key: \"_download\",\n value: function _download() {\n if (!this.downloadManager) {\n (0, _util.warn)('Download cannot be started due to unavailable download manager');\n return;\n }\n\n this.downloadManager.downloadData(this.content, this.filename, '');\n }\n }]);\n\n return FileAttachmentAnnotationElement;\n}(AnnotationElement);\n\nvar AnnotationLayer =\n/*#__PURE__*/\nfunction () {\n function AnnotationLayer() {\n _classCallCheck(this, AnnotationLayer);\n }\n\n _createClass(AnnotationLayer, null, [{\n key: \"render\",\n value: function render(parameters) {\n for (var i = 0, ii = parameters.annotations.length; i < ii; i++) {\n var data = parameters.annotations[i];\n\n if (!data) {\n continue;\n }\n\n var element = AnnotationElementFactory.create({\n data: data,\n layer: parameters.div,\n page: parameters.page,\n viewport: parameters.viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || '',\n renderInteractiveForms: parameters.renderInteractiveForms || false,\n svgFactory: new _display_utils.DOMSVGFactory()\n });\n\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n }\n }, {\n key: \"update\",\n value: function update(parameters) {\n for (var i = 0, ii = parameters.annotations.length; i < ii; i++) {\n var data = parameters.annotations[i];\n var element = parameters.div.querySelector('[data-annotation-id=\"' + data.id + '\"]');\n\n if (element) {\n element.style.transform = 'matrix(' + parameters.viewport.transform.join(',') + ')';\n }\n }\n\n parameters.div.removeAttribute('hidden');\n }\n }]);\n\n return AnnotationLayer;\n}();\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SVGGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(151);\n\nvar _is_node = _interopRequireDefault(__w_pdfjs_require__(4));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar SVGGraphics = function SVGGraphics() {\n throw new Error('Not implemented: SVGGraphics');\n};\n\nexports.SVGGraphics = SVGGraphics;\n{\n var opListToTree = function opListToTree(opList) {\n var opTree = [];\n var tmp = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = opList[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var opListElement = _step.value;\n\n if (opListElement.fn === 'save') {\n opTree.push({\n 'fnId': 92,\n 'fn': 'group',\n 'items': []\n });\n tmp.push(opTree);\n opTree = opTree[opTree.length - 1].items;\n continue;\n }\n\n if (opListElement.fn === 'restore') {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator[\"return\"] != null) {\n _iterator[\"return\"]();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return opTree;\n };\n\n var pf = function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n var s = value.toFixed(10);\n var i = s.length - 1;\n\n if (s[i] !== '0') {\n return s;\n }\n\n do {\n i--;\n } while (s[i] === '0');\n\n return s.substring(0, s[i] === '.' ? i : i + 1);\n };\n\n var pm = function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return '';\n }\n\n return \"scale(\".concat(pf(m[0]), \" \").concat(pf(m[3]), \")\");\n }\n\n if (m[0] === m[3] && m[1] === -m[2]) {\n var a = Math.acos(m[0]) * 180 / Math.PI;\n return \"rotate(\".concat(pf(a), \")\");\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return \"translate(\".concat(pf(m[4]), \" \").concat(pf(m[5]), \")\");\n }\n }\n\n return \"matrix(\".concat(pf(m[0]), \" \").concat(pf(m[1]), \" \").concat(pf(m[2]), \" \").concat(pf(m[3]), \" \").concat(pf(m[4]), \" \") + \"\".concat(pf(m[5]), \")\");\n };\n\n var SVG_DEFAULTS = {\n fontStyle: 'normal',\n fontWeight: 'normal',\n fillColor: '#000000'\n };\n var XML_NS = 'http://www.w3.org/XML/1998/namespace';\n var XLINK_NS = 'http://www.w3.org/1999/xlink';\n var LINE_CAP_STYLES = ['butt', 'round', 'square'];\n var LINE_JOIN_STYLES = ['miter', 'round', 'bevel'];\n\n var convertImgDataToPng = function () {\n var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n var CHUNK_WRAPPER_SIZE = 12;\n var crcTable = new Int32Array(256);\n\n for (var i = 0; i < 256; i++) {\n var c = i;\n\n for (var h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedB88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n\n crcTable[i] = c;\n }\n\n function crc32(data, start, end) {\n var crc = -1;\n\n for (var _i = start; _i < end; _i++) {\n var a = (crc ^ data[_i]) & 0xff;\n var b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n\n return crc ^ -1;\n }\n\n function writePngChunk(type, body, data, offset) {\n var p = offset;\n var len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n var crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n\n function adler32(data, start, end) {\n var a = 1;\n var b = 0;\n\n for (var _i2 = start; _i2 < end; ++_i2) {\n a = (a + (data[_i2] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n\n return b << 16 | a;\n }\n\n function deflateSync(literals) {\n if (!(0, _is_node[\"default\"])()) {\n return deflateSyncUncompressed(literals);\n }\n\n try {\n var input;\n\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = new Buffer(literals);\n }\n\n var output = require('zlib').deflateSync(input, {\n level: 9\n });\n\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)('Not compressing PNG because zlib.deflateSync is unavailable: ' + e);\n }\n\n return deflateSyncUncompressed(literals);\n }\n\n function deflateSyncUncompressed(literals) {\n var len = literals.length;\n var maxBlockLength = 0xFFFF;\n var deflateBlocks = Math.ceil(len / maxBlockLength);\n var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n var pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n var pos = 0;\n\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n var adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n\n function encode(imgData, kind, forceDataSchema, isMask) {\n var width = imgData.width;\n var height = imgData.height;\n var bitDepth, colorType, lineSize;\n var bytes = imgData.data;\n\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n\n default:\n throw new Error('invalid format');\n }\n\n var literals = new Uint8Array((1 + lineSize) * height);\n var offsetLiterals = 0,\n offsetBytes = 0;\n\n for (var y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n\n for (var _y = 0; _y < height; _y++) {\n offsetLiterals++;\n\n for (var _i3 = 0; _i3 < lineSize; _i3++) {\n literals[offsetLiterals++] ^= 0xFF;\n }\n }\n }\n\n var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n var idat = deflateSync(literals);\n var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n var data = new Uint8Array(pngLength);\n var offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk('IHDR', ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk('IDATA', idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk('IEND', new Uint8Array(0), data, offset);\n return (0, _util.createObjectURL)(data, 'image/png', forceDataSchema);\n }\n\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n\n var SVGExtraState =\n /*#__PURE__*/\n function () {\n function SVGExtraState() {\n _classCallCheck(this, SVGExtraState);\n\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = '#000000';\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = '';\n this.lineCap = '';\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = '';\n }\n\n _createClass(SVGExtraState, [{\n key: \"clone\",\n value: function clone() {\n return Object.create(this);\n }\n }, {\n key: \"setCurrentPoint\",\n value: function setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n }]);\n\n return SVGExtraState;\n }();\n\n var clipCount = 0;\n var maskCount = 0;\n var shadingCount = 0;\n\n exports.SVGGraphics = SVGGraphics =\n /*#__PURE__*/\n function () {\n function SVGGraphics(commonObjs, objs, forceDataSchema) {\n _classCallCheck(this, SVGGraphics);\n\n this.svgFactory = new _display_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n this._operatorIdMapping = [];\n\n for (var op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n\n _createClass(SVGGraphics, [{\n key: \"save\",\n value: function save() {\n this.transformStack.push(this.transformMatrix);\n var old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n }, {\n key: \"restore\",\n value: function restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n }, {\n key: \"group\",\n value: function group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n }, {\n key: \"loadDependencies\",\n value: function loadDependencies(operatorList) {\n var _this = this;\n\n var fnArray = operatorList.fnArray;\n var argsArray = operatorList.argsArray;\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n var _loop = function _loop() {\n var obj = _step2.value;\n var objsPool = obj.startsWith('g_') ? _this.commonObjs : _this.objs;\n var promise = new Promise(function (resolve) {\n objsPool.get(obj, resolve);\n });\n\n _this.current.dependencies.push(promise);\n };\n\n for (var _iterator2 = argsArray[i][Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n _loop();\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2[\"return\"] != null) {\n _iterator2[\"return\"]();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n\n return Promise.all(this.current.dependencies);\n }\n }, {\n key: \"transform\",\n value: function transform(a, b, c, d, e, f) {\n var transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n }\n }, {\n key: \"getSVG\",\n value: function getSVG(operatorList, viewport) {\n var _this2 = this;\n\n this.viewport = viewport;\n\n var svgElement = this._initialize(viewport);\n\n return this.loadDependencies(operatorList).then(function () {\n _this2.transformMatrix = _util.IDENTITY_MATRIX;\n\n _this2.executeOpTree(_this2.convertOpList(operatorList));\n\n return svgElement;\n });\n }\n }, {\n key: \"convertOpList\",\n value: function convertOpList(operatorList) {\n var operatorIdMapping = this._operatorIdMapping;\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var opList = [];\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n var fnId = fnArray[i];\n opList.push({\n 'fnId': fnId,\n 'fn': operatorIdMapping[fnId],\n 'args': argsArray[i]\n });\n }\n\n return opListToTree(opList);\n }\n }, {\n key: \"executeOpTree\",\n value: function executeOpTree(opTree) {\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = opTree[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var opTreeElement = _step3.value;\n var fn = opTreeElement.fn;\n var fnId = opTreeElement.fnId;\n var args = opTreeElement.args;\n\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n\n case _util.OPS.dependency:\n break;\n\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.endText:\n this.endText();\n break;\n\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n\n case _util.OPS.fill:\n this.fill();\n break;\n\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n\n case _util.OPS.stroke:\n this.stroke();\n break;\n\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n\n case _util.OPS.clip:\n this.clip('nonzero');\n break;\n\n case _util.OPS.eoClip:\n this.clip('evenodd');\n break;\n\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n\n case _util.OPS.paintJpegXObject:\n this.paintJpegXObject(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n\n case _util.OPS.closePath:\n this.closePath();\n break;\n\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n\n case _util.OPS.endPath:\n this.endPath();\n break;\n\n case 92:\n this.group(opTreeElement.items);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented operator \".concat(fn));\n break;\n }\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3[\"return\"] != null) {\n _iterator3[\"return\"]();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n }\n }, {\n key: \"setWordSpacing\",\n value: function setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n }, {\n key: \"setCharSpacing\",\n value: function setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n }, {\n key: \"nextLine\",\n value: function nextLine() {\n this.moveText(0, this.current.leading);\n }\n }, {\n key: \"setTextMatrix\",\n value: function setTextMatrix(a, b, c, d, e, f) {\n var current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.sqrt(a * a + b * b);\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.txtElement = this.svgFactory.createElement('svg:text');\n current.txtElement.appendChild(current.tspan);\n }\n }, {\n key: \"beginText\",\n value: function beginText() {\n var current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.txtElement = this.svgFactory.createElement('svg:text');\n current.txtgrp = this.svgFactory.createElement('svg:g');\n current.xcoords = [];\n }\n }, {\n key: \"moveText\",\n value: function moveText(x, y) {\n var current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n }\n }, {\n key: \"showText\",\n value: function showText(glyphs) {\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return;\n }\n\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var vertical = font.vertical;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var x = 0;\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = glyphs[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var glyph = _step4.value;\n\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if ((0, _util.isNum)(glyph)) {\n x += -glyph * fontSize * 0.001;\n continue;\n }\n\n var width = glyph.width;\n var character = glyph.fontChar;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n\n if (!glyph.isInFont && !font.missingFile) {\n x += charWidth;\n continue;\n }\n\n current.xcoords.push(current.x + x * textHScale);\n current.tspan.textContent += character;\n x += charWidth;\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4[\"return\"] != null) {\n _iterator4[\"return\"]();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\n }\n\n current.tspan.setAttributeNS(null, 'x', current.xcoords.map(pf).join(' '));\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', \"\".concat(pf(current.fontSize), \"px\"));\n\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, 'font-style', current.fontStyle);\n }\n\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, 'font-weight', current.fontWeight);\n }\n\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, 'fill', current.fillColor);\n }\n\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, 'fill-opacity', current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, 'fill', 'transparent');\n } else {\n current.tspan.setAttributeNS(null, 'fill', 'none');\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n var lineWidthScale = 1 / (current.textMatrixScale || 1);\n\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n\n var textMatrix = current.textMatrix;\n\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n\n current.txtElement.setAttributeNS(null, 'transform', \"\".concat(pm(textMatrix), \" scale(1, -1)\"));\n current.txtElement.setAttributeNS(XML_NS, 'xml:space', 'preserve');\n current.txtElement.appendChild(current.tspan);\n current.txtgrp.appendChild(current.txtElement);\n\n this._ensureTransformGroup().appendChild(current.txtElement);\n }\n }, {\n key: \"setLeadingMoveText\",\n value: function setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n }, {\n key: \"addFontStyle\",\n value: function addFontStyle(fontObj) {\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement('svg:style');\n this.cssStyle.setAttributeNS(null, 'type', 'text/css');\n this.defs.appendChild(this.cssStyle);\n }\n\n var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += \"@font-face { font-family: \\\"\".concat(fontObj.loadedName, \"\\\";\") + \" src: url(\".concat(url, \"); }\\n\");\n }\n }, {\n key: \"setFont\",\n value: function setFont(details) {\n var current = this.current;\n var fontObj = this.commonObjs.get(details[0]);\n var size = details[1];\n current.font = fontObj;\n\n if (this.embedFonts && fontObj.data && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n var bold = fontObj.black ? fontObj.bold ? 'bolder' : 'bold' : fontObj.bold ? 'bold' : 'normal';\n var italic = fontObj.italic ? 'italic' : 'normal';\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.xcoords = [];\n }\n }, {\n key: \"endText\",\n value: function endText() {\n var current = this.current;\n\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && current.txtElement.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip('nonzero');\n this.endPath();\n }\n }\n }, {\n key: \"setLineWidth\",\n value: function setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n }, {\n key: \"setLineCap\",\n value: function setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n }, {\n key: \"setLineJoin\",\n value: function setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n }, {\n key: \"setMiterLimit\",\n value: function setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n }, {\n key: \"setStrokeAlpha\",\n value: function setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n }, {\n key: \"setStrokeRGBColor\",\n value: function setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeCssRgb(r, g, b);\n }\n }, {\n key: \"setFillAlpha\",\n value: function setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n }, {\n key: \"setFillRGBColor\",\n value: function setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeCssRgb(r, g, b);\n this.current.tspan = this.svgFactory.createElement('svg:tspan');\n this.current.xcoords = [];\n }\n }, {\n key: \"setStrokeColorN\",\n value: function setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"setFillColorN\",\n value: function setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"shadingFill\",\n value: function shadingFill(args) {\n var width = this.viewport.width;\n var height = this.viewport.height;\n\n var inv = _util.Util.inverseTransform(this.transformMatrix);\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n var rect = this.svgFactory.createElement('svg:rect');\n rect.setAttributeNS(null, 'x', x0);\n rect.setAttributeNS(null, 'y', y0);\n rect.setAttributeNS(null, 'width', x1 - x0);\n rect.setAttributeNS(null, 'height', y1 - y0);\n rect.setAttributeNS(null, 'fill', this._makeShadingPattern(args));\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"_makeColorN_Pattern\",\n value: function _makeColorN_Pattern(args) {\n if (args[0] === 'TilingPattern') {\n return this._makeTilingPattern(args);\n }\n\n return this._makeShadingPattern(args);\n }\n }, {\n key: \"_makeTilingPattern\",\n value: function _makeTilingPattern(args) {\n var color = args[1];\n var operatorList = args[2];\n var matrix = args[3] || _util.IDENTITY_MATRIX;\n\n var _args$ = _slicedToArray(args[4], 4),\n x0 = _args$[0],\n y0 = _args$[1],\n x1 = _args$[2],\n y1 = _args$[3];\n\n var xstep = args[5];\n var ystep = args[6];\n var paintType = args[7];\n var tilingId = \"shading\".concat(shadingCount++);\n\n var _Util$applyTransform = _util.Util.applyTransform([x0, y0], matrix),\n _Util$applyTransform2 = _slicedToArray(_Util$applyTransform, 2),\n tx0 = _Util$applyTransform2[0],\n ty0 = _Util$applyTransform2[1];\n\n var _Util$applyTransform3 = _util.Util.applyTransform([x1, y1], matrix),\n _Util$applyTransform4 = _slicedToArray(_Util$applyTransform3, 2),\n tx1 = _Util$applyTransform4[0],\n ty1 = _Util$applyTransform4[1];\n\n var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(matrix),\n _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2),\n xscale = _Util$singularValueDe2[0],\n yscale = _Util$singularValueDe2[1];\n\n var txstep = xstep * xscale;\n var tystep = ystep * yscale;\n var tiling = this.svgFactory.createElement('svg:pattern');\n tiling.setAttributeNS(null, 'id', tilingId);\n tiling.setAttributeNS(null, 'patternUnits', 'userSpaceOnUse');\n tiling.setAttributeNS(null, 'width', txstep);\n tiling.setAttributeNS(null, 'height', tystep);\n tiling.setAttributeNS(null, 'x', \"\".concat(tx0));\n tiling.setAttributeNS(null, 'y', \"\".concat(ty0));\n var svg = this.svg;\n var transformMatrix = this.transformMatrix;\n var fillColor = this.current.fillColor;\n var strokeColor = this.current.strokeColor;\n var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n\n if (paintType === 2) {\n var cssColor = _util.Util.makeCssRgb.apply(_util.Util, _toConsumableArray(color));\n\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.appendChild(bbox.childNodes[0]);\n this.defs.appendChild(tiling);\n return \"url(#\".concat(tilingId, \")\");\n }\n }, {\n key: \"_makeShadingPattern\",\n value: function _makeShadingPattern(args) {\n switch (args[0]) {\n case 'RadialAxial':\n var shadingId = \"shading\".concat(shadingCount++);\n var colorStops = args[2];\n var gradient;\n\n switch (args[1]) {\n case 'axial':\n var point0 = args[3];\n var point1 = args[4];\n gradient = this.svgFactory.createElement('svg:linearGradient');\n gradient.setAttributeNS(null, 'id', shadingId);\n gradient.setAttributeNS(null, 'gradientUnits', 'userSpaceOnUse');\n gradient.setAttributeNS(null, 'x1', point0[0]);\n gradient.setAttributeNS(null, 'y1', point0[1]);\n gradient.setAttributeNS(null, 'x2', point1[0]);\n gradient.setAttributeNS(null, 'y2', point1[1]);\n break;\n\n case 'radial':\n var focalPoint = args[3];\n var circlePoint = args[4];\n var focalRadius = args[5];\n var circleRadius = args[6];\n gradient = this.svgFactory.createElement('svg:radialGradient');\n gradient.setAttributeNS(null, 'id', shadingId);\n gradient.setAttributeNS(null, 'gradientUnits', 'userSpaceOnUse');\n gradient.setAttributeNS(null, 'cx', circlePoint[0]);\n gradient.setAttributeNS(null, 'cy', circlePoint[1]);\n gradient.setAttributeNS(null, 'r', circleRadius);\n gradient.setAttributeNS(null, 'fx', focalPoint[0]);\n gradient.setAttributeNS(null, 'fy', focalPoint[1]);\n gradient.setAttributeNS(null, 'fr', focalRadius);\n break;\n\n default:\n throw new Error(\"Unknown RadialAxial type: \".concat(args[1]));\n }\n\n var _iteratorNormalCompletion5 = true;\n var _didIteratorError5 = false;\n var _iteratorError5 = undefined;\n\n try {\n for (var _iterator5 = colorStops[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n var colorStop = _step5.value;\n var stop = this.svgFactory.createElement('svg:stop');\n stop.setAttributeNS(null, 'offset', colorStop[0]);\n stop.setAttributeNS(null, 'stop-color', colorStop[1]);\n gradient.appendChild(stop);\n }\n } catch (err) {\n _didIteratorError5 = true;\n _iteratorError5 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion5 && _iterator5[\"return\"] != null) {\n _iterator5[\"return\"]();\n }\n } finally {\n if (_didIteratorError5) {\n throw _iteratorError5;\n }\n }\n }\n\n this.defs.appendChild(gradient);\n return \"url(#\".concat(shadingId, \")\");\n\n case 'Mesh':\n (0, _util.warn)('Unimplemented pattern Mesh');\n return null;\n\n case 'Dummy':\n return 'hotpink';\n\n default:\n throw new Error(\"Unknown IR type: \".concat(args[0]));\n }\n }\n }, {\n key: \"setDash\",\n value: function setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n }, {\n key: \"constructPath\",\n value: function constructPath(ops, args) {\n var current = this.current;\n var x = current.x,\n y = current.y;\n var d = [];\n var j = 0;\n var _iteratorNormalCompletion6 = true;\n var _didIteratorError6 = false;\n var _iteratorError6 = undefined;\n\n try {\n for (var _iterator6 = ops[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {\n var op = _step6.value;\n\n switch (op | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n var xw = x + width;\n var yh = y + height;\n d.push('M', pf(x), pf(y), 'L', pf(xw), pf(y), 'L', pf(xw), pf(yh), 'L', pf(x), pf(yh), 'Z');\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push('M', pf(x), pf(y));\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push('L', pf(x), pf(y));\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push('C', pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n x = args[j + 2];\n y = args[j + 3];\n d.push('C', pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push('C', pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n\n case _util.OPS.closePath:\n d.push('Z');\n break;\n }\n }\n } catch (err) {\n _didIteratorError6 = true;\n _iteratorError6 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion6 && _iterator6[\"return\"] != null) {\n _iterator6[\"return\"]();\n }\n } finally {\n if (_didIteratorError6) {\n throw _iteratorError6;\n }\n }\n }\n\n d = d.join(' ');\n\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, 'd') + d;\n } else {\n current.path = this.svgFactory.createElement('svg:path');\n\n this._ensureTransformGroup().appendChild(current.path);\n }\n\n current.path.setAttributeNS(null, 'd', d);\n current.path.setAttributeNS(null, 'fill', 'none');\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n }, {\n key: \"endPath\",\n value: function endPath() {\n var current = this.current;\n current.path = null;\n\n if (!this.pendingClip) {\n return;\n }\n\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n\n var clipId = \"clippath\".concat(clipCount++);\n var clipPath = this.svgFactory.createElement('svg:clipPath');\n clipPath.setAttributeNS(null, 'id', clipId);\n clipPath.setAttributeNS(null, 'transform', pm(this.transformMatrix));\n var clipElement = current.element.cloneNode(true);\n\n if (this.pendingClip === 'evenodd') {\n clipElement.setAttributeNS(null, 'clip-rule', 'evenodd');\n } else {\n clipElement.setAttributeNS(null, 'clip-rule', 'nonzero');\n }\n\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n\n if (current.activeClipUrl) {\n current.clipGroup = null;\n this.extraStack.forEach(function (prev) {\n prev.clipGroup = null;\n });\n clipPath.setAttributeNS(null, 'clip-path', current.activeClipUrl);\n }\n\n current.activeClipUrl = \"url(#\".concat(clipId, \")\");\n this.tgrp = null;\n }\n }, {\n key: \"clip\",\n value: function clip(type) {\n this.pendingClip = type;\n }\n }, {\n key: \"closePath\",\n value: function closePath() {\n var current = this.current;\n\n if (current.path) {\n var d = \"\".concat(current.path.getAttributeNS(null, 'd'), \"Z\");\n current.path.setAttributeNS(null, 'd', d);\n }\n }\n }, {\n key: \"setLeading\",\n value: function setLeading(leading) {\n this.current.leading = -leading;\n }\n }, {\n key: \"setTextRise\",\n value: function setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n }, {\n key: \"setTextRenderingMode\",\n value: function setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n }, {\n key: \"setHScale\",\n value: function setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n }, {\n key: \"setRenderingIntent\",\n value: function setRenderingIntent(intent) {}\n }, {\n key: \"setFlatness\",\n value: function setFlatness(flatness) {}\n }, {\n key: \"setGState\",\n value: function setGState(states) {\n var _iteratorNormalCompletion7 = true;\n var _didIteratorError7 = false;\n var _iteratorError7 = undefined;\n\n try {\n for (var _iterator7 = states[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {\n var _step7$value = _slicedToArray(_step7.value, 2),\n key = _step7$value[0],\n value = _step7$value[1];\n\n switch (key) {\n case 'LW':\n this.setLineWidth(value);\n break;\n\n case 'LC':\n this.setLineCap(value);\n break;\n\n case 'LJ':\n this.setLineJoin(value);\n break;\n\n case 'ML':\n this.setMiterLimit(value);\n break;\n\n case 'D':\n this.setDash(value[0], value[1]);\n break;\n\n case 'RI':\n this.setRenderingIntent(value);\n break;\n\n case 'FL':\n this.setFlatness(value);\n break;\n\n case 'Font':\n this.setFont(value);\n break;\n\n case 'CA':\n this.setStrokeAlpha(value);\n break;\n\n case 'ca':\n this.setFillAlpha(value);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented graphic state operator \".concat(key));\n break;\n }\n }\n } catch (err) {\n _didIteratorError7 = true;\n _iteratorError7 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion7 && _iterator7[\"return\"] != null) {\n _iterator7[\"return\"]();\n }\n } finally {\n if (_didIteratorError7) {\n throw _iteratorError7;\n }\n }\n }\n }\n }, {\n key: \"fill\",\n value: function fill() {\n var current = this.current;\n\n if (current.element) {\n current.element.setAttributeNS(null, 'fill', current.fillColor);\n current.element.setAttributeNS(null, 'fill-opacity', current.fillAlpha);\n this.endPath();\n }\n }\n }, {\n key: \"stroke\",\n value: function stroke() {\n var current = this.current;\n\n if (current.element) {\n this._setStrokeAttributes(current.element);\n\n current.element.setAttributeNS(null, 'fill', 'none');\n this.endPath();\n }\n }\n }, {\n key: \"_setStrokeAttributes\",\n value: function _setStrokeAttributes(element) {\n var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var current = this.current;\n var dashArray = current.dashArray;\n\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n\n element.setAttributeNS(null, 'stroke', current.strokeColor);\n element.setAttributeNS(null, 'stroke-opacity', current.strokeAlpha);\n element.setAttributeNS(null, 'stroke-miterlimit', pf(current.miterLimit));\n element.setAttributeNS(null, 'stroke-linecap', current.lineCap);\n element.setAttributeNS(null, 'stroke-linejoin', current.lineJoin);\n element.setAttributeNS(null, 'stroke-width', pf(lineWidthScale * current.lineWidth) + 'px');\n element.setAttributeNS(null, 'stroke-dasharray', dashArray.map(pf).join(' '));\n element.setAttributeNS(null, 'stroke-dashoffset', pf(lineWidthScale * current.dashPhase) + 'px');\n }\n }, {\n key: \"eoFill\",\n value: function eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n }\n\n this.fill();\n }\n }, {\n key: \"fillStroke\",\n value: function fillStroke() {\n this.stroke();\n this.fill();\n }\n }, {\n key: \"eoFillStroke\",\n value: function eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n }\n\n this.fillStroke();\n }\n }, {\n key: \"closeStroke\",\n value: function closeStroke() {\n this.closePath();\n this.stroke();\n }\n }, {\n key: \"closeFillStroke\",\n value: function closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n }, {\n key: \"closeEOFillStroke\",\n value: function closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n }, {\n key: \"paintSolidColorImageMask\",\n value: function paintSolidColorImageMask() {\n var rect = this.svgFactory.createElement('svg:rect');\n rect.setAttributeNS(null, 'x', '0');\n rect.setAttributeNS(null, 'y', '0');\n rect.setAttributeNS(null, 'width', '1px');\n rect.setAttributeNS(null, 'height', '1px');\n rect.setAttributeNS(null, 'fill', this.current.fillColor);\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"paintJpegXObject\",\n value: function paintJpegXObject(objId, w, h) {\n var imgObj = this.objs.get(objId);\n var imgEl = this.svgFactory.createElement('svg:image');\n imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgObj.src);\n imgEl.setAttributeNS(null, 'width', pf(w));\n imgEl.setAttributeNS(null, 'height', pf(h));\n imgEl.setAttributeNS(null, 'x', '0');\n imgEl.setAttributeNS(null, 'y', pf(-h));\n imgEl.setAttributeNS(null, 'transform', \"scale(\".concat(pf(1 / w), \" \").concat(pf(-1 / h), \")\"));\n\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }, {\n key: \"paintImageXObject\",\n value: function paintImageXObject(objId) {\n var imgData = this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image with object ID \".concat(objId, \" is not ready yet\"));\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n }, {\n key: \"paintInlineImageXObject\",\n value: function paintInlineImageXObject(imgData, mask) {\n var width = imgData.width;\n var height = imgData.height;\n var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n var cliprect = this.svgFactory.createElement('svg:rect');\n cliprect.setAttributeNS(null, 'x', '0');\n cliprect.setAttributeNS(null, 'y', '0');\n cliprect.setAttributeNS(null, 'width', pf(width));\n cliprect.setAttributeNS(null, 'height', pf(height));\n this.current.element = cliprect;\n this.clip('nonzero');\n var imgEl = this.svgFactory.createElement('svg:image');\n imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgSrc);\n imgEl.setAttributeNS(null, 'x', '0');\n imgEl.setAttributeNS(null, 'y', pf(-height));\n imgEl.setAttributeNS(null, 'width', pf(width) + 'px');\n imgEl.setAttributeNS(null, 'height', pf(height) + 'px');\n imgEl.setAttributeNS(null, 'transform', \"scale(\".concat(pf(1 / width), \" \").concat(pf(-1 / height), \")\"));\n\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }\n }, {\n key: \"paintImageMaskXObject\",\n value: function paintImageMaskXObject(imgData) {\n var current = this.current;\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = current.fillColor;\n current.maskId = \"mask\".concat(maskCount++);\n var mask = this.svgFactory.createElement('svg:mask');\n mask.setAttributeNS(null, 'id', current.maskId);\n var rect = this.svgFactory.createElement('svg:rect');\n rect.setAttributeNS(null, 'x', '0');\n rect.setAttributeNS(null, 'y', '0');\n rect.setAttributeNS(null, 'width', pf(width));\n rect.setAttributeNS(null, 'height', pf(height));\n rect.setAttributeNS(null, 'fill', fillColor);\n rect.setAttributeNS(null, 'mask', \"url(#\".concat(current.maskId, \")\"));\n this.defs.appendChild(mask);\n\n this._ensureTransformGroup().appendChild(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n }\n }, {\n key: \"paintFormXObjectBegin\",\n value: function paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var cliprect = this.svgFactory.createElement('svg:rect');\n cliprect.setAttributeNS(null, 'x', bbox[0]);\n cliprect.setAttributeNS(null, 'y', bbox[1]);\n cliprect.setAttributeNS(null, 'width', pf(width));\n cliprect.setAttributeNS(null, 'height', pf(height));\n this.current.element = cliprect;\n this.clip('nonzero');\n this.endPath();\n }\n }\n }, {\n key: \"paintFormXObjectEnd\",\n value: function paintFormXObjectEnd() {}\n }, {\n key: \"_initialize\",\n value: function _initialize(viewport) {\n var svg = this.svgFactory.create(viewport.width, viewport.height);\n var definitions = this.svgFactory.createElement('svg:defs');\n svg.appendChild(definitions);\n this.defs = definitions;\n var rootGroup = this.svgFactory.createElement('svg:g');\n rootGroup.setAttributeNS(null, 'transform', pm(viewport.transform));\n svg.appendChild(rootGroup);\n this.svg = rootGroup;\n return svg;\n }\n }, {\n key: \"_ensureClipGroup\",\n value: function _ensureClipGroup() {\n if (!this.current.clipGroup) {\n var clipGroup = this.svgFactory.createElement('svg:g');\n clipGroup.setAttributeNS(null, 'clip-path', this.current.activeClipUrl);\n this.svg.appendChild(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n\n return this.current.clipGroup;\n }\n }, {\n key: \"_ensureTransformGroup\",\n value: function _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement('svg:g');\n this.tgrp.setAttributeNS(null, 'transform', pm(this.transformMatrix));\n\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n\n return this.tgrp;\n }\n }]);\n\n return SVGGraphics;\n }();\n}\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNodeStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(166);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar fs = require('fs');\n\nvar http = require('http');\n\nvar https = require('https');\n\nvar url = require('url');\n\nvar fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\nfunction parseUrl(sourceUrl) {\n var parsedUrl = url.parse(sourceUrl);\n\n if (parsedUrl.protocol === 'file:' || parsedUrl.host) {\n return parsedUrl;\n }\n\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(\"file:///\".concat(sourceUrl));\n }\n\n if (!parsedUrl.host) {\n parsedUrl.protocol = 'file:';\n }\n\n return parsedUrl;\n}\n\nvar PDFNodeStream =\n/*#__PURE__*/\nfunction () {\n function PDFNodeStream(source) {\n _classCallCheck(this, PDFNodeStream);\n\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === 'http:' || this.url.protocol === 'https:';\n this.isFsUrl = this.url.protocol === 'file:';\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNodeStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n\n this._rangeRequestReaders.push(rangeReader);\n\n return rangeReader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._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 key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFNodeStream;\n}();\n\nexports.PDFNodeStream = PDFNodeStream;\n\nvar BaseFullReader =\n/*#__PURE__*/\nfunction () {\n function BaseFullReader(stream) {\n _classCallCheck(this, BaseFullReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n var source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._headersCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(BaseFullReader, [{\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var chunk, buffer;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this = this;\n\n this._readableStream = readableStream;\n readableStream.on('readable', function () {\n _this._readCapability.resolve();\n });\n readableStream.on('end', function () {\n readableStream.destroy();\n _this._done = true;\n\n _this._readCapability.resolve();\n });\n readableStream.on('error', function (reason) {\n _this._error(reason);\n });\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException('streaming is disabled'));\n }\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return BaseFullReader;\n}();\n\nvar BaseRangeReader =\n/*#__PURE__*/\nfunction () {\n function BaseRangeReader(stream) {\n _classCallCheck(this, BaseRangeReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n var source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n _createClass(BaseRangeReader, [{\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n var chunk, buffer;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context2.next = 4;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context2.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context2.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context2.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context2.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this2 = this;\n\n this._readableStream = readableStream;\n readableStream.on('readable', function () {\n _this2._readCapability.resolve();\n });\n readableStream.on('end', function () {\n readableStream.destroy();\n _this2._done = true;\n\n _this2._readCapability.resolve();\n });\n readableStream.on('error', function (reason) {\n _this2._error(reason);\n });\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return BaseRangeReader;\n}();\n\nfunction createRequestOptions(url, headers) {\n return {\n protocol: url.protocol,\n auth: url.auth,\n host: url.hostname,\n port: url.port,\n path: url.path,\n method: 'GET',\n headers: headers\n };\n}\n\nvar PDFNodeStreamFullReader =\n/*#__PURE__*/\nfunction (_BaseFullReader) {\n _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n function PDFNodeStreamFullReader(stream) {\n var _this3;\n\n _classCallCheck(this, PDFNodeStreamFullReader);\n\n _this3 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFullReader).call(this, stream));\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this3._url, \"\\\".\"));\n _this3._storedError = error;\n\n _this3._headersCapability.reject(error);\n\n return;\n }\n\n _this3._headersCapability.resolve();\n\n _this3._setReadableStream(response);\n\n var getResponseHeader = function getResponseHeader(name) {\n return _this3._readableStream.headers[name.toLowerCase()];\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: _this3._rangeChunkSize,\n disableRange: _this3._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n _this3._isRangeSupported = allowRangeRequests;\n _this3._contentLength = suggestedLength || _this3._contentLength;\n _this3._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n\n _this3._request = null;\n\n if (_this3._url.protocol === 'http:') {\n _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n } else {\n _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n }\n\n _this3._request.on('error', function (reason) {\n _this3._storedError = reason;\n\n _this3._headersCapability.reject(reason);\n });\n\n _this3._request.end();\n\n return _this3;\n }\n\n return PDFNodeStreamFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamRangeReader =\n/*#__PURE__*/\nfunction (_BaseRangeReader) {\n _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n function PDFNodeStreamRangeReader(stream, start, end) {\n var _this4;\n\n _classCallCheck(this, PDFNodeStreamRangeReader);\n\n _this4 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamRangeReader).call(this, stream));\n _this4._httpHeaders = {};\n\n for (var property in stream.httpHeaders) {\n var value = stream.httpHeaders[property];\n\n if (typeof value === 'undefined') {\n continue;\n }\n\n _this4._httpHeaders[property] = value;\n }\n\n _this4._httpHeaders['Range'] = \"bytes=\".concat(start, \"-\").concat(end - 1);\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this4._url, \"\\\".\"));\n _this4._storedError = error;\n return;\n }\n\n _this4._setReadableStream(response);\n };\n\n _this4._request = null;\n\n if (_this4._url.protocol === 'http:') {\n _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n } else {\n _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n }\n\n _this4._request.on('error', function (reason) {\n _this4._storedError = reason;\n });\n\n _this4._request.end();\n\n return _this4;\n }\n\n return PDFNodeStreamRangeReader;\n}(BaseRangeReader);\n\nvar PDFNodeStreamFsFullReader =\n/*#__PURE__*/\nfunction (_BaseFullReader2) {\n _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n function PDFNodeStreamFsFullReader(stream) {\n var _this5;\n\n _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n _this5 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFsFullReader).call(this, stream));\n var path = decodeURIComponent(_this5._url.path);\n\n if (fileUriRegex.test(_this5._url.href)) {\n path = path.replace(/^\\//, '');\n }\n\n fs.lstat(path, function (error, stat) {\n if (error) {\n if (error.code === 'ENOENT') {\n error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(path, \"\\\".\"));\n }\n\n _this5._storedError = error;\n\n _this5._headersCapability.reject(error);\n\n return;\n }\n\n _this5._contentLength = stat.size;\n\n _this5._setReadableStream(fs.createReadStream(path));\n\n _this5._headersCapability.resolve();\n });\n return _this5;\n }\n\n return PDFNodeStreamFsFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamFsRangeReader =\n/*#__PURE__*/\nfunction (_BaseRangeReader2) {\n _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n function PDFNodeStreamFsRangeReader(stream, start, end) {\n var _this6;\n\n _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n _this6 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFsRangeReader).call(this, stream));\n var path = decodeURIComponent(_this6._url.path);\n\n if (fileUriRegex.test(_this6._url.href)) {\n path = path.replace(/^\\//, '');\n }\n\n _this6._setReadableStream(fs.createReadStream(path, {\n start: start,\n end: end - 1\n }));\n\n return _this6;\n }\n\n return PDFNodeStreamFsRangeReader;\n}(BaseRangeReader);\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _content_disposition = __w_pdfjs_require__(167);\n\nfunction validateRangeRequestCapabilities(_ref) {\n var getResponseHeader = _ref.getResponseHeader,\n isHttp = _ref.isHttp,\n rangeChunkSize = _ref.rangeChunkSize,\n disableRange = _ref.disableRange;\n (0, _util.assert)(rangeChunkSize > 0, 'Range chunk size must be larger than zero');\n var returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n var length = parseInt(getResponseHeader('Content-Length'), 10);\n\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n\n returnValues.suggestedLength = length;\n\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n\n if (disableRange || !isHttp) {\n return returnValues;\n }\n\n if (getResponseHeader('Accept-Ranges') !== 'bytes') {\n return returnValues;\n }\n\n var contentEncoding = getResponseHeader('Content-Encoding') || 'identity';\n\n if (contentEncoding !== 'identity') {\n return returnValues;\n }\n\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\n\nfunction extractFilenameFromHeader(getResponseHeader) {\n var contentDisposition = getResponseHeader('Content-Disposition');\n\n if (contentDisposition) {\n var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n\n if (/\\.pdf$/i.test(filename)) {\n return filename;\n }\n }\n\n return null;\n}\n\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && /^file:/.test(url)) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n\n return new _util.UnexpectedResponseException('Unexpected server response (' + status + ') while retrieving PDF \"' + url + '\".', status);\n}\n\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n var needsEncodingFixup = true;\n var tmp = toParamRegExp('filename\\\\*', 'i').exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n var filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n tmp = rfc2231getparam(contentDisposition);\n\n if (tmp) {\n var _filename = rfc2047decode(tmp);\n\n return fixupEncoding(_filename);\n }\n\n tmp = toParamRegExp('filename', 'i').exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n\n var _filename2 = rfc2616unquote(tmp);\n\n _filename2 = rfc2047decode(_filename2);\n return fixupEncoding(_filename2);\n }\n\n function toParamRegExp(attributePattern, flags) {\n return new RegExp('(?:^|;)\\\\s*' + attributePattern + '\\\\s*=\\\\s*' + '(' + '[^\";\\\\s][^;\\\\s]*' + '|' + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + ')', flags);\n }\n\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n\n try {\n var decoder = new TextDecoder(encoding, {\n fatal: true\n });\n var bytes = Array.from(value, function (ch) {\n return ch.charCodeAt(0) & 0xFF;\n });\n value = decoder.decode(new Uint8Array(bytes));\n needsEncodingFixup = false;\n } catch (e) {\n if (/^utf-?8$/i.test(encoding)) {\n try {\n value = decodeURIComponent(escape(value));\n needsEncodingFixup = false;\n } catch (err) {}\n }\n }\n }\n\n return value;\n }\n\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode('utf-8', value);\n\n if (needsEncodingFixup) {\n value = textdecode('iso-8859-1', value);\n }\n }\n\n return value;\n }\n\n function rfc2231getparam(contentDisposition) {\n var matches = [],\n match;\n var iter = toParamRegExp('filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)', 'ig');\n\n while ((match = iter.exec(contentDisposition)) !== null) {\n var _match = match,\n _match2 = _slicedToArray(_match, 4),\n n = _match2[1],\n quot = _match2[2],\n part = _match2[3];\n\n n = parseInt(n, 10);\n\n if (n in matches) {\n if (n === 0) {\n break;\n }\n\n continue;\n }\n\n matches[n] = [quot, part];\n }\n\n var parts = [];\n\n for (var n = 0; n < matches.length; ++n) {\n if (!(n in matches)) {\n break;\n }\n\n var _matches$n = _slicedToArray(matches[n], 2),\n quot = _matches$n[0],\n part = _matches$n[1];\n\n part = rfc2616unquote(part);\n\n if (quot) {\n part = unescape(part);\n\n if (n === 0) {\n part = rfc5987decode(part);\n }\n }\n\n parts.push(part);\n }\n\n return parts.join('');\n }\n\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n var parts = value.slice(1).split('\\\\\"');\n\n for (var i = 0; i < parts.length; ++i) {\n var quotindex = parts[i].indexOf('\"');\n\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n\n parts[i] = parts[i].replace(/\\\\(.)/g, '$1');\n }\n\n value = parts.join('\"');\n }\n\n return value;\n }\n\n function rfc5987decode(extvalue) {\n var encodingend = extvalue.indexOf('\\'');\n\n if (encodingend === -1) {\n return extvalue;\n }\n\n var encoding = extvalue.slice(0, encodingend);\n var langvalue = extvalue.slice(encodingend + 1);\n var value = langvalue.replace(/^[^']*'/, '');\n return textdecode(encoding, value);\n }\n\n function rfc2047decode(value) {\n if (!value.startsWith('=?') || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n\n return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (_, charset, encoding, text) {\n if (encoding === 'q' || encoding === 'Q') {\n text = text.replace(/_/g, ' ');\n text = text.replace(/=([0-9a-fA-F]{2})/g, function (_, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n\n try {\n text = atob(text);\n } catch (e) {}\n\n return textdecode(charset, text);\n });\n }\n\n return '';\n}\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNetworkStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(166);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n;\nvar OK_RESPONSE = 200;\nvar PARTIAL_CONTENT_RESPONSE = 206;\n\nfunction getArrayBuffer(xhr) {\n var data = xhr.response;\n\n if (typeof data !== 'string') {\n return data;\n }\n\n var array = (0, _util.stringToBytes)(data);\n return array.buffer;\n}\n\nvar NetworkManager =\n/*#__PURE__*/\nfunction () {\n function NetworkManager(url, args) {\n _classCallCheck(this, NetworkManager);\n\n this.url = url;\n args = args || {};\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || {};\n this.withCredentials = args.withCredentials || false;\n\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n\n _createClass(NetworkManager, [{\n key: \"requestRange\",\n value: function requestRange(begin, end, listeners) {\n var args = {\n begin: begin,\n end: end\n };\n\n for (var prop in listeners) {\n args[prop] = listeners[prop];\n }\n\n return this.request(args);\n }\n }, {\n key: \"requestFull\",\n value: function requestFull(listeners) {\n return this.request(listeners);\n }\n }, {\n key: \"request\",\n value: function request(args) {\n var xhr = this.getXhr();\n var xhrId = this.currXhrId++;\n var pendingRequest = this.pendingRequests[xhrId] = {\n xhr: xhr\n };\n xhr.open('GET', this.url);\n xhr.withCredentials = this.withCredentials;\n\n for (var property in this.httpHeaders) {\n var value = this.httpHeaders[property];\n\n if (typeof value === 'undefined') {\n continue;\n }\n\n xhr.setRequestHeader(property, value);\n }\n\n if (this.isHttp && 'begin' in args && 'end' in args) {\n xhr.setRequestHeader('Range', \"bytes=\".concat(args.begin, \"-\").concat(args.end - 1));\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n\n xhr.responseType = 'arraybuffer';\n\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n }, {\n key: \"onProgress\",\n value: function onProgress(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n if (pendingRequest.onProgress) {\n pendingRequest.onProgress(evt);\n }\n }\n }, {\n key: \"onStateChange\",\n value: function onStateChange(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n var xhr = pendingRequest.xhr;\n\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n\n delete this.pendingRequests[xhrId];\n\n if (xhr.status === 0 && this.isHttp) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var xhrStatus = xhr.status || OK_RESPONSE;\n var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var chunk = getArrayBuffer(xhr);\n\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n var rangeHeader = xhr.getResponseHeader('Content-Range');\n var matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk: chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk: chunk\n });\n } else if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n }\n }, {\n key: \"hasPendingRequests\",\n value: function hasPendingRequests() {\n for (var xhrId in this.pendingRequests) {\n return true;\n }\n\n return false;\n }\n }, {\n key: \"getRequestXhr\",\n value: function getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n }, {\n key: \"isPendingRequest\",\n value: function isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n }, {\n key: \"abortAllRequests\",\n value: function abortAllRequests() {\n for (var xhrId in this.pendingRequests) {\n this.abortRequest(xhrId | 0);\n }\n }\n }, {\n key: \"abortRequest\",\n value: function abortRequest(xhrId) {\n var xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n }]);\n\n return NetworkManager;\n}();\n\nvar PDFNetworkStream =\n/*#__PURE__*/\nfunction () {\n function PDFNetworkStream(source) {\n _classCallCheck(this, PDFNetworkStream);\n\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNetworkStream, [{\n key: \"_onRangeRequestReaderClosed\",\n value: function _onRangeRequestReaderClosed(reader) {\n var i = this._rangeRequestReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\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 PDFNetworkStream;\n}();\n\nexports.PDFNetworkStream = PDFNetworkStream;\n\nvar PDFNetworkStreamFullRequestReader =\n/*#__PURE__*/\nfunction () {\n function PDFNetworkStreamFullRequestReader(manager, source) {\n _classCallCheck(this, PDFNetworkStreamFullRequestReader);\n\n this._manager = manager;\n var args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n }\n\n _createClass(PDFNetworkStreamFullRequestReader, [{\n key: \"_onHeadersReceived\",\n value: function _onHeadersReceived() {\n var fullRequestXhrId = this._fullRequestId;\n\n var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n var getResponseHeader = function getResponseHeader(name) {\n return fullRequestXhr.getResponseHeader(name);\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n\n this._headersReceivedCapability.resolve();\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(args) {\n if (args) {\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: args.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(args.chunk);\n }\n }\n\n this._done = true;\n\n if (this._cachedChunks.length > 0) {\n return;\n }\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n }, {\n key: \"_onError\",\n value: function _onError(status) {\n var url = this._url;\n var exception = (0, _network_utils.createResponseStatusError)(status, url);\n this._storedError = exception;\n\n this._headersReceivedCapability.reject(exception);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.reject(exception);\n });\n\n this._requests = [];\n this._cachedChunks = [];\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(data) {\n if (this.onProgress) {\n this.onProgress({\n loaded: data.loaded,\n total: data.lengthComputable ? data.total : this._contentLength\n });\n }\n }\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!this._storedError) {\n _context.next = 2;\n break;\n }\n\n throw this._storedError;\n\n case 2:\n if (!(this._cachedChunks.length > 0)) {\n _context.next = 5;\n break;\n }\n\n chunk = this._cachedChunks.shift();\n return _context.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 5:\n if (!this._done) {\n _context.next = 7;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 7:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context.abrupt(\"return\", requestCapability.promise);\n\n case 10:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._headersReceivedCapability.reject(reason);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n\n this._fullRequestReader = null;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReceivedCapability.promise;\n }\n }]);\n\n return PDFNetworkStreamFullRequestReader;\n}();\n\nvar PDFNetworkStreamRangeRequestReader =\n/*#__PURE__*/\nfunction () {\n function PDFNetworkStreamRangeRequestReader(manager, begin, end) {\n _classCallCheck(this, PDFNetworkStreamRangeRequestReader);\n\n this._manager = manager;\n var args = {\n onDone: this._onDone.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this.onProgress = null;\n this.onClosed = null;\n }\n\n _createClass(PDFNetworkStreamRangeRequestReader, [{\n key: \"_close\",\n value: function _close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(data) {\n var chunk = data.chunk;\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._close();\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({\n loaded: evt.loaded\n });\n }\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(this._queuedChunk !== null)) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context2.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context2.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n\n this._close();\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }]);\n\n return PDFNetworkStreamRangeRequestReader;\n}();\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFetchStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(148));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(166);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: 'GET',\n headers: headers,\n signal: abortController && abortController.signal,\n mode: 'cors',\n credentials: withCredentials ? 'include' : 'same-origin',\n redirect: 'follow'\n };\n}\n\nvar PDFFetchStream =\n/*#__PURE__*/\nfunction () {\n function PDFFetchStream(source) {\n _classCallCheck(this, PDFFetchStream);\n\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFFetchStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFFetchStreamRangeReader(this, begin, end);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }]);\n\n return PDFFetchStream;\n}();\n\nexports.PDFFetchStream = PDFFetchStream;\n\nvar PDFFetchStreamReader =\n/*#__PURE__*/\nfunction () {\n function PDFFetchStreamReader(stream) {\n var _this = this;\n\n _classCallCheck(this, PDFFetchStreamReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n var source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n if (typeof AbortController !== 'undefined') {\n this._abortController = new AbortController();\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = new Headers();\n\n for (var property in this._stream.httpHeaders) {\n var value = this._stream.httpHeaders[property];\n\n if (typeof value === 'undefined') {\n continue;\n }\n\n this._headers.append(property, value);\n }\n\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this._reader = response.body.getReader();\n\n _this._headersCapability.resolve();\n\n var getResponseHeader = function getResponseHeader(name) {\n return response.headers.get(name);\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: _this._stream.isHttp,\n rangeChunkSize: _this._rangeChunkSize,\n disableRange: _this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n _this._isRangeSupported = allowRangeRequests;\n _this._contentLength = suggestedLength || _this._contentLength;\n _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (!_this._isStreamingSupported && _this._isRangeSupported) {\n _this.cancel(new _util.AbortException('Streaming is disabled.'));\n }\n })[\"catch\"](this._headersCapability.reject);\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamReader, [{\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var _ref, value, done, buffer;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._headersCapability.promise;\n\n case 2:\n _context.next = 4;\n return this._reader.read();\n\n case 4:\n _ref = _context.sent;\n value = _ref.value;\n done = _ref.done;\n\n if (!done) {\n _context.next = 9;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(value).buffer;\n return _context.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return PDFFetchStreamReader;\n}();\n\nvar PDFFetchStreamRangeReader =\n/*#__PURE__*/\nfunction () {\n function PDFFetchStreamRangeReader(stream, begin, end) {\n var _this2 = this;\n\n _classCallCheck(this, PDFFetchStreamRangeReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n var source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n\n if (typeof AbortController !== 'undefined') {\n this._abortController = new AbortController();\n }\n\n this._headers = new Headers();\n\n for (var property in this._stream.httpHeaders) {\n var value = this._stream.httpHeaders[property];\n\n if (typeof value === 'undefined') {\n continue;\n }\n\n this._headers.append(property, value);\n }\n\n this._headers.append('Range', \"bytes=\".concat(begin, \"-\").concat(end - 1));\n\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this2._readCapability.resolve();\n\n _this2._reader = response.body.getReader();\n });\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamRangeReader, [{\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n var _ref2, value, done, buffer;\n\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n _context2.next = 4;\n return this._reader.read();\n\n case 4:\n _ref2 = _context2.sent;\n value = _ref2.value;\n done = _ref2.done;\n\n if (!done) {\n _context2.next = 9;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(value).buffer;\n return _context2.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return PDFFetchStreamRangeReader;\n}();\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf.js.map","var initialState = {\n animating: false,\n autoplaying: null,\n currentDirection: 0,\n currentLeft: null,\n currentSlide: 0,\n direction: 1,\n dragging: false,\n edgeDragged: false,\n initialized: false,\n lazyLoadedList: [],\n listHeight: null,\n listWidth: null,\n scrolling: false,\n slideCount: null,\n slideHeight: null,\n slideWidth: null,\n swipeLeft: null,\n swiped: false,\n // used by swipeEvent. differentites between touch and swipe.\n swiping: false,\n touchObject: {\n startX: 0,\n startY: 0,\n curX: 0,\n curY: 0\n },\n trackStyle: {},\n trackWidth: 0,\n targetSlide: 0\n};\nexport default initialState;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport React from \"react\";\nexport function clamp(number, lowerBound, upperBound) {\n return Math.max(lowerBound, Math.min(number, upperBound));\n}\nexport var safePreventDefault = function safePreventDefault(event) {\n var passiveEvents = [\"onTouchStart\", \"onTouchMove\", \"onWheel\"];\n\n if (!passiveEvents.includes(event._reactName)) {\n event.preventDefault();\n }\n};\nexport var getOnDemandLazySlides = function getOnDemandLazySlides(spec) {\n var onDemandSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n if (spec.lazyLoadedList.indexOf(slideIndex) < 0) {\n onDemandSlides.push(slideIndex);\n }\n }\n\n return onDemandSlides;\n}; // return list of slides that need to be present\n\nexport var getRequiredLazySlides = function getRequiredLazySlides(spec) {\n var requiredSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n requiredSlides.push(slideIndex);\n }\n\n return requiredSlides;\n}; // startIndex that needs to be present\n\nexport var lazyStartIndex = function lazyStartIndex(spec) {\n return spec.currentSlide - lazySlidesOnLeft(spec);\n};\nexport var lazyEndIndex = function lazyEndIndex(spec) {\n return spec.currentSlide + lazySlidesOnRight(spec);\n};\nexport var lazySlidesOnLeft = function lazySlidesOnLeft(spec) {\n return spec.centerMode ? Math.floor(spec.slidesToShow / 2) + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : 0;\n};\nexport var lazySlidesOnRight = function lazySlidesOnRight(spec) {\n return spec.centerMode ? Math.floor((spec.slidesToShow - 1) / 2) + 1 + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : spec.slidesToShow;\n}; // get width of an element\n\nexport var getWidth = function getWidth(elem) {\n return elem && elem.offsetWidth || 0;\n};\nexport var getHeight = function getHeight(elem) {\n return elem && elem.offsetHeight || 0;\n};\nexport var getSwipeDirection = function getSwipeDirection(touchObject) {\n var verticalSwiping = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var xDist, yDist, r, swipeAngle;\n xDist = touchObject.startX - touchObject.curX;\n yDist = touchObject.startY - touchObject.curY;\n r = Math.atan2(yDist, xDist);\n swipeAngle = Math.round(r * 180 / Math.PI);\n\n if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n\n if (swipeAngle <= 45 && swipeAngle >= 0 || swipeAngle <= 360 && swipeAngle >= 315) {\n return \"left\";\n }\n\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return \"right\";\n }\n\n if (verticalSwiping === true) {\n if (swipeAngle >= 35 && swipeAngle <= 135) {\n return \"up\";\n } else {\n return \"down\";\n }\n }\n\n return \"vertical\";\n}; // whether or not we can go next\n\nexport var canGoNext = function canGoNext(spec) {\n var canGo = true;\n\n if (!spec.infinite) {\n if (spec.centerMode && spec.currentSlide >= spec.slideCount - 1) {\n canGo = false;\n } else if (spec.slideCount <= spec.slidesToShow || spec.currentSlide >= spec.slideCount - spec.slidesToShow) {\n canGo = false;\n }\n }\n\n return canGo;\n}; // given an object and a list of keys, return new object with given keys\n\nexport var extractObject = function extractObject(spec, keys) {\n var newObject = {};\n keys.forEach(function (key) {\n return newObject[key] = spec[key];\n });\n return newObject;\n}; // get initialized state\n\nexport var initializedState = function initializedState(spec) {\n // spec also contains listRef, trackRef\n var slideCount = React.Children.count(spec.children);\n var listNode = spec.listRef;\n var listWidth = Math.ceil(getWidth(listNode));\n var trackNode = spec.trackRef && spec.trackRef.node;\n var trackWidth = Math.ceil(getWidth(trackNode));\n var slideWidth;\n\n if (!spec.vertical) {\n var centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2;\n\n if (typeof spec.centerPadding === \"string\" && spec.centerPadding.slice(-1) === \"%\") {\n centerPaddingAdj *= listWidth / 100;\n }\n\n slideWidth = Math.ceil((listWidth - centerPaddingAdj) / spec.slidesToShow);\n } else {\n slideWidth = listWidth;\n }\n\n var slideHeight = listNode && getHeight(listNode.querySelector('[data-index=\"0\"]'));\n var listHeight = slideHeight * spec.slidesToShow;\n var currentSlide = spec.currentSlide === undefined ? spec.initialSlide : spec.currentSlide;\n\n if (spec.rtl && spec.currentSlide === undefined) {\n currentSlide = slideCount - 1 - spec.initialSlide;\n }\n\n var lazyLoadedList = spec.lazyLoadedList || [];\n var slidesToLoad = getOnDemandLazySlides(_objectSpread(_objectSpread({}, spec), {}, {\n currentSlide: currentSlide,\n lazyLoadedList: lazyLoadedList\n }));\n lazyLoadedList = lazyLoadedList.concat(slidesToLoad);\n var state = {\n slideCount: slideCount,\n slideWidth: slideWidth,\n listWidth: listWidth,\n trackWidth: trackWidth,\n currentSlide: currentSlide,\n slideHeight: slideHeight,\n listHeight: listHeight,\n lazyLoadedList: lazyLoadedList\n };\n\n if (spec.autoplaying === null && spec.autoplay) {\n state[\"autoplaying\"] = \"playing\";\n }\n\n return state;\n};\nexport var slideHandler = function slideHandler(spec) {\n var waitForAnimate = spec.waitForAnimate,\n animating = spec.animating,\n fade = spec.fade,\n infinite = spec.infinite,\n index = spec.index,\n slideCount = spec.slideCount,\n lazyLoad = spec.lazyLoad,\n currentSlide = spec.currentSlide,\n centerMode = spec.centerMode,\n slidesToScroll = spec.slidesToScroll,\n slidesToShow = spec.slidesToShow,\n useCSS = spec.useCSS;\n var lazyLoadedList = spec.lazyLoadedList;\n if (waitForAnimate && animating) return {};\n var animationSlide = index,\n finalSlide,\n animationLeft,\n finalLeft;\n var state = {},\n nextState = {};\n var targetSlide = infinite ? index : clamp(index, 0, slideCount - 1);\n\n if (fade) {\n if (!infinite && (index < 0 || index >= slideCount)) return {};\n\n if (index < 0) {\n animationSlide = index + slideCount;\n } else if (index >= slideCount) {\n animationSlide = index - slideCount;\n }\n\n if (lazyLoad && lazyLoadedList.indexOf(animationSlide) < 0) {\n lazyLoadedList = lazyLoadedList.concat(animationSlide);\n }\n\n state = {\n animating: true,\n currentSlide: animationSlide,\n lazyLoadedList: lazyLoadedList,\n targetSlide: animationSlide\n };\n nextState = {\n animating: false,\n targetSlide: animationSlide\n };\n } else {\n finalSlide = animationSlide;\n\n if (animationSlide < 0) {\n finalSlide = animationSlide + slideCount;\n if (!infinite) finalSlide = 0;else if (slideCount % slidesToScroll !== 0) finalSlide = slideCount - slideCount % slidesToScroll;\n } else if (!canGoNext(spec) && animationSlide > currentSlide) {\n animationSlide = finalSlide = currentSlide;\n } else if (centerMode && animationSlide >= slideCount) {\n animationSlide = infinite ? slideCount : slideCount - 1;\n finalSlide = infinite ? 0 : slideCount - 1;\n } else if (animationSlide >= slideCount) {\n finalSlide = animationSlide - slideCount;\n if (!infinite) finalSlide = slideCount - slidesToShow;else if (slideCount % slidesToScroll !== 0) finalSlide = 0;\n }\n\n if (!infinite && animationSlide + slidesToShow >= slideCount) {\n finalSlide = slideCount - slidesToShow;\n }\n\n animationLeft = getTrackLeft(_objectSpread(_objectSpread({}, spec), {}, {\n slideIndex: animationSlide\n }));\n finalLeft = getTrackLeft(_objectSpread(_objectSpread({}, spec), {}, {\n slideIndex: finalSlide\n }));\n\n if (!infinite) {\n if (animationLeft === finalLeft) animationSlide = finalSlide;\n animationLeft = finalLeft;\n }\n\n if (lazyLoad) {\n lazyLoadedList = lazyLoadedList.concat(getOnDemandLazySlides(_objectSpread(_objectSpread({}, spec), {}, {\n currentSlide: animationSlide\n })));\n }\n\n if (!useCSS) {\n state = {\n currentSlide: finalSlide,\n trackStyle: getTrackCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: finalLeft\n })),\n lazyLoadedList: lazyLoadedList,\n targetSlide: targetSlide\n };\n } else {\n state = {\n animating: true,\n currentSlide: finalSlide,\n trackStyle: getTrackAnimateCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: animationLeft\n })),\n lazyLoadedList: lazyLoadedList,\n targetSlide: targetSlide\n };\n nextState = {\n animating: false,\n currentSlide: finalSlide,\n trackStyle: getTrackCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: finalLeft\n })),\n swipeLeft: null,\n targetSlide: targetSlide\n };\n }\n }\n\n return {\n state: state,\n nextState: nextState\n };\n};\nexport var changeSlide = function changeSlide(spec, options) {\n var indexOffset, previousInt, slideOffset, unevenOffset, targetSlide;\n var slidesToScroll = spec.slidesToScroll,\n slidesToShow = spec.slidesToShow,\n slideCount = spec.slideCount,\n currentSlide = spec.currentSlide,\n previousTargetSlide = spec.targetSlide,\n lazyLoad = spec.lazyLoad,\n infinite = spec.infinite;\n unevenOffset = slideCount % slidesToScroll !== 0;\n indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll;\n\n if (options.message === \"previous\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : slidesToShow - indexOffset;\n targetSlide = currentSlide - slideOffset;\n\n if (lazyLoad && !infinite) {\n previousInt = currentSlide - slideOffset;\n targetSlide = previousInt === -1 ? slideCount - 1 : previousInt;\n }\n\n if (!infinite) {\n targetSlide = previousTargetSlide - slidesToScroll;\n }\n } else if (options.message === \"next\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : indexOffset;\n targetSlide = currentSlide + slideOffset;\n\n if (lazyLoad && !infinite) {\n targetSlide = (currentSlide + slidesToScroll) % slideCount + indexOffset;\n }\n\n if (!infinite) {\n targetSlide = previousTargetSlide + slidesToScroll;\n }\n } else if (options.message === \"dots\") {\n // Click on dots\n targetSlide = options.index * options.slidesToScroll;\n } else if (options.message === \"children\") {\n // Click on the slides\n targetSlide = options.index;\n\n if (infinite) {\n var direction = siblingDirection(_objectSpread(_objectSpread({}, spec), {}, {\n targetSlide: targetSlide\n }));\n\n if (targetSlide > options.currentSlide && direction === \"left\") {\n targetSlide = targetSlide - slideCount;\n } else if (targetSlide < options.currentSlide && direction === \"right\") {\n targetSlide = targetSlide + slideCount;\n }\n }\n } else if (options.message === \"index\") {\n targetSlide = Number(options.index);\n }\n\n return targetSlide;\n};\nexport var keyHandler = function keyHandler(e, accessibility, rtl) {\n if (e.target.tagName.match(\"TEXTAREA|INPUT|SELECT\") || !accessibility) return \"\";\n if (e.keyCode === 37) return rtl ? \"next\" : \"previous\";\n if (e.keyCode === 39) return rtl ? \"previous\" : \"next\";\n return \"\";\n};\nexport var swipeStart = function swipeStart(e, swipe, draggable) {\n e.target.tagName === \"IMG\" && safePreventDefault(e);\n if (!swipe || !draggable && e.type.indexOf(\"mouse\") !== -1) return \"\";\n return {\n dragging: true,\n touchObject: {\n startX: e.touches ? e.touches[0].pageX : e.clientX,\n startY: e.touches ? e.touches[0].pageY : e.clientY,\n curX: e.touches ? e.touches[0].pageX : e.clientX,\n curY: e.touches ? e.touches[0].pageY : e.clientY\n }\n };\n};\nexport var swipeMove = function swipeMove(e, spec) {\n // spec also contains, trackRef and slideIndex\n var scrolling = spec.scrolling,\n animating = spec.animating,\n vertical = spec.vertical,\n swipeToSlide = spec.swipeToSlide,\n verticalSwiping = spec.verticalSwiping,\n rtl = spec.rtl,\n currentSlide = spec.currentSlide,\n edgeFriction = spec.edgeFriction,\n edgeDragged = spec.edgeDragged,\n onEdge = spec.onEdge,\n swiped = spec.swiped,\n swiping = spec.swiping,\n slideCount = spec.slideCount,\n slidesToScroll = spec.slidesToScroll,\n infinite = spec.infinite,\n touchObject = spec.touchObject,\n swipeEvent = spec.swipeEvent,\n listHeight = spec.listHeight,\n listWidth = spec.listWidth;\n if (scrolling) return;\n if (animating) return safePreventDefault(e);\n if (vertical && swipeToSlide && verticalSwiping) safePreventDefault(e);\n var swipeLeft,\n state = {};\n var curLeft = getTrackLeft(spec);\n touchObject.curX = e.touches ? e.touches[0].pageX : e.clientX;\n touchObject.curY = e.touches ? e.touches[0].pageY : e.clientY;\n touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(touchObject.curX - touchObject.startX, 2)));\n var verticalSwipeLength = Math.round(Math.sqrt(Math.pow(touchObject.curY - touchObject.startY, 2)));\n\n if (!verticalSwiping && !swiping && verticalSwipeLength > 10) {\n return {\n scrolling: true\n };\n }\n\n if (verticalSwiping) touchObject.swipeLength = verticalSwipeLength;\n var positionOffset = (!rtl ? 1 : -1) * (touchObject.curX > touchObject.startX ? 1 : -1);\n if (verticalSwiping) positionOffset = touchObject.curY > touchObject.startY ? 1 : -1;\n var dotCount = Math.ceil(slideCount / slidesToScroll);\n var swipeDirection = getSwipeDirection(spec.touchObject, verticalSwiping);\n var touchSwipeLength = touchObject.swipeLength;\n\n if (!infinite) {\n if (currentSlide === 0 && (swipeDirection === \"right\" || swipeDirection === \"down\") || currentSlide + 1 >= dotCount && (swipeDirection === \"left\" || swipeDirection === \"up\") || !canGoNext(spec) && (swipeDirection === \"left\" || swipeDirection === \"up\")) {\n touchSwipeLength = touchObject.swipeLength * edgeFriction;\n\n if (edgeDragged === false && onEdge) {\n onEdge(swipeDirection);\n state[\"edgeDragged\"] = true;\n }\n }\n }\n\n if (!swiped && swipeEvent) {\n swipeEvent(swipeDirection);\n state[\"swiped\"] = true;\n }\n\n if (!vertical) {\n if (!rtl) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n } else {\n swipeLeft = curLeft - touchSwipeLength * positionOffset;\n }\n } else {\n swipeLeft = curLeft + touchSwipeLength * (listHeight / listWidth) * positionOffset;\n }\n\n if (verticalSwiping) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n }\n\n state = _objectSpread(_objectSpread({}, state), {}, {\n touchObject: touchObject,\n swipeLeft: swipeLeft,\n trackStyle: getTrackCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: swipeLeft\n }))\n });\n\n if (Math.abs(touchObject.curX - touchObject.startX) < Math.abs(touchObject.curY - touchObject.startY) * 0.8) {\n return state;\n }\n\n if (touchObject.swipeLength > 10) {\n state[\"swiping\"] = true;\n safePreventDefault(e);\n }\n\n return state;\n};\nexport var swipeEnd = function swipeEnd(e, spec) {\n var dragging = spec.dragging,\n swipe = spec.swipe,\n touchObject = spec.touchObject,\n listWidth = spec.listWidth,\n touchThreshold = spec.touchThreshold,\n verticalSwiping = spec.verticalSwiping,\n listHeight = spec.listHeight,\n swipeToSlide = spec.swipeToSlide,\n scrolling = spec.scrolling,\n onSwipe = spec.onSwipe,\n targetSlide = spec.targetSlide,\n currentSlide = spec.currentSlide,\n infinite = spec.infinite;\n\n if (!dragging) {\n if (swipe) safePreventDefault(e);\n return {};\n }\n\n var minSwipe = verticalSwiping ? listHeight / touchThreshold : listWidth / touchThreshold;\n var swipeDirection = getSwipeDirection(touchObject, verticalSwiping); // reset the state of touch related state variables.\n\n var state = {\n dragging: false,\n edgeDragged: false,\n scrolling: false,\n swiping: false,\n swiped: false,\n swipeLeft: null,\n touchObject: {}\n };\n\n if (scrolling) {\n return state;\n }\n\n if (!touchObject.swipeLength) {\n return state;\n }\n\n if (touchObject.swipeLength > minSwipe) {\n safePreventDefault(e);\n\n if (onSwipe) {\n onSwipe(swipeDirection);\n }\n\n var slideCount, newSlide;\n var activeSlide = infinite ? currentSlide : targetSlide;\n\n switch (swipeDirection) {\n case \"left\":\n case \"up\":\n newSlide = activeSlide + getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 0;\n break;\n\n case \"right\":\n case \"down\":\n newSlide = activeSlide - getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 1;\n break;\n\n default:\n slideCount = activeSlide;\n }\n\n state[\"triggerSlideHandler\"] = slideCount;\n } else {\n // Adjust the track back to it's original position.\n var currentLeft = getTrackLeft(spec);\n state[\"trackStyle\"] = getTrackAnimateCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: currentLeft\n }));\n }\n\n return state;\n};\nexport var getNavigableIndexes = function getNavigableIndexes(spec) {\n var max = spec.infinite ? spec.slideCount * 2 : spec.slideCount;\n var breakpoint = spec.infinite ? spec.slidesToShow * -1 : 0;\n var counter = spec.infinite ? spec.slidesToShow * -1 : 0;\n var indexes = [];\n\n while (breakpoint < max) {\n indexes.push(breakpoint);\n breakpoint = counter + spec.slidesToScroll;\n counter += Math.min(spec.slidesToScroll, spec.slidesToShow);\n }\n\n return indexes;\n};\nexport var checkNavigable = function checkNavigable(spec, index) {\n var navigables = getNavigableIndexes(spec);\n var prevNavigable = 0;\n\n if (index > navigables[navigables.length - 1]) {\n index = navigables[navigables.length - 1];\n } else {\n for (var n in navigables) {\n if (index < navigables[n]) {\n index = prevNavigable;\n break;\n }\n\n prevNavigable = navigables[n];\n }\n }\n\n return index;\n};\nexport var getSlideCount = function getSlideCount(spec) {\n var centerOffset = spec.centerMode ? spec.slideWidth * Math.floor(spec.slidesToShow / 2) : 0;\n\n if (spec.swipeToSlide) {\n var swipedSlide;\n var slickList = spec.listRef;\n var slides = slickList.querySelectorAll && slickList.querySelectorAll(\".slick-slide\") || [];\n Array.from(slides).every(function (slide) {\n if (!spec.vertical) {\n if (slide.offsetLeft - centerOffset + getWidth(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n } else {\n if (slide.offsetTop + getHeight(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n }\n\n return true;\n });\n\n if (!swipedSlide) {\n return 0;\n }\n\n var currentIndex = spec.rtl === true ? spec.slideCount - spec.currentSlide : spec.currentSlide;\n var slidesTraversed = Math.abs(swipedSlide.dataset.index - currentIndex) || 1;\n return slidesTraversed;\n } else {\n return spec.slidesToScroll;\n }\n};\nexport var checkSpecKeys = function checkSpecKeys(spec, keysArray) {\n return (// eslint-disable-next-line no-prototype-builtins\n keysArray.reduce(function (value, key) {\n return value && spec.hasOwnProperty(key);\n }, true) ? null : console.error(\"Keys Missing:\", spec)\n );\n};\nexport var getTrackCSS = function getTrackCSS(spec) {\n checkSpecKeys(spec, [\"left\", \"variableWidth\", \"slideCount\", \"slidesToShow\", \"slideWidth\"]);\n var trackWidth, trackHeight;\n var trackChildren = spec.slideCount + 2 * spec.slidesToShow;\n\n if (!spec.vertical) {\n trackWidth = getTotalSlides(spec) * spec.slideWidth;\n } else {\n trackHeight = trackChildren * spec.slideHeight;\n }\n\n var style = {\n opacity: 1,\n transition: \"\",\n WebkitTransition: \"\"\n };\n\n if (spec.useTransform) {\n var WebkitTransform = !spec.vertical ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\" : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n var transform = !spec.vertical ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\" : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n var msTransform = !spec.vertical ? \"translateX(\" + spec.left + \"px)\" : \"translateY(\" + spec.left + \"px)\";\n style = _objectSpread(_objectSpread({}, style), {}, {\n WebkitTransform: WebkitTransform,\n transform: transform,\n msTransform: msTransform\n });\n } else {\n if (spec.vertical) {\n style[\"top\"] = spec.left;\n } else {\n style[\"left\"] = spec.left;\n }\n }\n\n if (spec.fade) style = {\n opacity: 1\n };\n if (trackWidth) style.width = trackWidth;\n if (trackHeight) style.height = trackHeight; // Fallback for IE8\n\n if (window && !window.addEventListener && window.attachEvent) {\n if (!spec.vertical) {\n style.marginLeft = spec.left + \"px\";\n } else {\n style.marginTop = spec.left + \"px\";\n }\n }\n\n return style;\n};\nexport var getTrackAnimateCSS = function getTrackAnimateCSS(spec) {\n checkSpecKeys(spec, [\"left\", \"variableWidth\", \"slideCount\", \"slidesToShow\", \"slideWidth\", \"speed\", \"cssEase\"]);\n var style = getTrackCSS(spec); // useCSS is true by default so it can be undefined\n\n if (spec.useTransform) {\n style.WebkitTransition = \"-webkit-transform \" + spec.speed + \"ms \" + spec.cssEase;\n style.transition = \"transform \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n if (spec.vertical) {\n style.transition = \"top \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n style.transition = \"left \" + spec.speed + \"ms \" + spec.cssEase;\n }\n }\n\n return style;\n};\nexport var getTrackLeft = function getTrackLeft(spec) {\n if (spec.unslick) {\n return 0;\n }\n\n checkSpecKeys(spec, [\"slideIndex\", \"trackRef\", \"infinite\", \"centerMode\", \"slideCount\", \"slidesToShow\", \"slidesToScroll\", \"slideWidth\", \"listWidth\", \"variableWidth\", \"slideHeight\"]);\n var slideIndex = spec.slideIndex,\n trackRef = spec.trackRef,\n infinite = spec.infinite,\n centerMode = spec.centerMode,\n slideCount = spec.slideCount,\n slidesToShow = spec.slidesToShow,\n slidesToScroll = spec.slidesToScroll,\n slideWidth = spec.slideWidth,\n listWidth = spec.listWidth,\n variableWidth = spec.variableWidth,\n slideHeight = spec.slideHeight,\n fade = spec.fade,\n vertical = spec.vertical;\n var slideOffset = 0;\n var targetLeft;\n var targetSlide;\n var verticalOffset = 0;\n\n if (fade || spec.slideCount === 1) {\n return 0;\n }\n\n var slidesToOffset = 0;\n\n if (infinite) {\n slidesToOffset = -getPreClones(spec); // bring active slide to the beginning of visual area\n // if next scroll doesn't have enough children, just reach till the end of original slides instead of shifting slidesToScroll children\n\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = -(slideIndex > slideCount ? slidesToShow - (slideIndex - slideCount) : slideCount % slidesToScroll);\n } // shift current slide to center of the frame\n\n\n if (centerMode) {\n slidesToOffset += parseInt(slidesToShow / 2);\n }\n } else {\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = slidesToShow - slideCount % slidesToScroll;\n }\n\n if (centerMode) {\n slidesToOffset = parseInt(slidesToShow / 2);\n }\n }\n\n slideOffset = slidesToOffset * slideWidth;\n verticalOffset = slidesToOffset * slideHeight;\n\n if (!vertical) {\n targetLeft = slideIndex * slideWidth * -1 + slideOffset;\n } else {\n targetLeft = slideIndex * slideHeight * -1 + verticalOffset;\n }\n\n if (variableWidth === true) {\n var targetSlideIndex;\n var trackElem = trackRef && trackRef.node;\n targetSlideIndex = slideIndex + getPreClones(spec);\n targetSlide = trackElem && trackElem.childNodes[targetSlideIndex];\n targetLeft = targetSlide ? targetSlide.offsetLeft * -1 : 0;\n\n if (centerMode === true) {\n targetSlideIndex = infinite ? slideIndex + getPreClones(spec) : slideIndex;\n targetSlide = trackElem && trackElem.children[targetSlideIndex];\n targetLeft = 0;\n\n for (var slide = 0; slide < targetSlideIndex; slide++) {\n targetLeft -= trackElem && trackElem.children[slide] && trackElem.children[slide].offsetWidth;\n }\n\n targetLeft -= parseInt(spec.centerPadding);\n targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2;\n }\n }\n\n return targetLeft;\n};\nexport var getPreClones = function getPreClones(spec) {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n\n if (spec.variableWidth) {\n return spec.slideCount;\n }\n\n return spec.slidesToShow + (spec.centerMode ? 1 : 0);\n};\nexport var getPostClones = function getPostClones(spec) {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n\n return spec.slideCount;\n};\nexport var getTotalSlides = function getTotalSlides(spec) {\n return spec.slideCount === 1 ? 1 : getPreClones(spec) + spec.slideCount + getPostClones(spec);\n};\nexport var siblingDirection = function siblingDirection(spec) {\n if (spec.targetSlide > spec.currentSlide) {\n if (spec.targetSlide > spec.currentSlide + slidesOnRight(spec)) {\n return \"left\";\n }\n\n return \"right\";\n } else {\n if (spec.targetSlide < spec.currentSlide - slidesOnLeft(spec)) {\n return \"right\";\n }\n\n return \"left\";\n }\n};\nexport var slidesOnRight = function slidesOnRight(_ref) {\n var slidesToShow = _ref.slidesToShow,\n centerMode = _ref.centerMode,\n rtl = _ref.rtl,\n centerPadding = _ref.centerPadding;\n\n // returns no of slides on the right of active slide\n if (centerMode) {\n var right = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) right += 1;\n if (rtl && slidesToShow % 2 === 0) right += 1;\n return right;\n }\n\n if (rtl) {\n return 0;\n }\n\n return slidesToShow - 1;\n};\nexport var slidesOnLeft = function slidesOnLeft(_ref2) {\n var slidesToShow = _ref2.slidesToShow,\n centerMode = _ref2.centerMode,\n rtl = _ref2.rtl,\n centerPadding = _ref2.centerPadding;\n\n // returns no of slides on the left of active slide\n if (centerMode) {\n var left = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) left += 1;\n if (!rtl && slidesToShow % 2 === 0) left += 1;\n return left;\n }\n\n if (rtl) {\n return slidesToShow - 1;\n }\n\n return 0;\n};\nexport var canUseDOM = function canUseDOM() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n};","\"use strict\";\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport React from \"react\";\nimport classnames from \"classnames\";\nimport { lazyStartIndex, lazyEndIndex, getPreClones } from \"./utils/innerSliderUtils\"; // given specifications/props for a slide, fetch all the classes that need to be applied to the slide\n\nvar getSlideClasses = function getSlideClasses(spec) {\n var slickActive, slickCenter, slickCloned;\n var centerOffset, index;\n\n if (spec.rtl) {\n index = spec.slideCount - 1 - spec.index;\n } else {\n index = spec.index;\n }\n\n slickCloned = index < 0 || index >= spec.slideCount;\n\n if (spec.centerMode) {\n centerOffset = Math.floor(spec.slidesToShow / 2);\n slickCenter = (index - spec.currentSlide) % spec.slideCount === 0;\n\n if (index > spec.currentSlide - centerOffset - 1 && index <= spec.currentSlide + centerOffset) {\n slickActive = true;\n }\n } else {\n slickActive = spec.currentSlide <= index && index < spec.currentSlide + spec.slidesToShow;\n }\n\n var focusedSlide;\n\n if (spec.targetSlide < 0) {\n focusedSlide = spec.targetSlide + spec.slideCount;\n } else if (spec.targetSlide >= spec.slideCount) {\n focusedSlide = spec.targetSlide - spec.slideCount;\n } else {\n focusedSlide = spec.targetSlide;\n }\n\n var slickCurrent = index === focusedSlide;\n return {\n \"slick-slide\": true,\n \"slick-active\": slickActive,\n \"slick-center\": slickCenter,\n \"slick-cloned\": slickCloned,\n \"slick-current\": slickCurrent // dubious in case of RTL\n\n };\n};\n\nvar getSlideStyle = function getSlideStyle(spec) {\n var style = {};\n\n if (spec.variableWidth === undefined || spec.variableWidth === false) {\n style.width = spec.slideWidth;\n }\n\n if (spec.fade) {\n style.position = \"relative\";\n\n if (spec.vertical) {\n style.top = -spec.index * parseInt(spec.slideHeight);\n } else {\n style.left = -spec.index * parseInt(spec.slideWidth);\n }\n\n style.opacity = spec.currentSlide === spec.index ? 1 : 0;\n\n if (spec.useCSS) {\n style.transition = \"opacity \" + spec.speed + \"ms \" + spec.cssEase + \", \" + \"visibility \" + spec.speed + \"ms \" + spec.cssEase;\n }\n }\n\n return style;\n};\n\nvar getKey = function getKey(child, fallbackKey) {\n return child.key + \"-\" + fallbackKey;\n};\n\nvar renderSlides = function renderSlides(spec) {\n var key;\n var slides = [];\n var preCloneSlides = [];\n var postCloneSlides = [];\n var childrenCount = React.Children.count(spec.children);\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n React.Children.forEach(spec.children, function (elem, index) {\n var child;\n var childOnClickOptions = {\n message: \"children\",\n index: index,\n slidesToScroll: spec.slidesToScroll,\n currentSlide: spec.currentSlide\n }; // in case of lazyLoad, whether or not we want to fetch the slide\n\n if (!spec.lazyLoad || spec.lazyLoad && spec.lazyLoadedList.indexOf(index) >= 0) {\n child = elem;\n } else {\n child = /*#__PURE__*/React.createElement(\"div\", null);\n }\n\n var childStyle = getSlideStyle(_objectSpread(_objectSpread({}, spec), {}, {\n index: index\n }));\n var slideClass = child.props.className || \"\";\n var slideClasses = getSlideClasses(_objectSpread(_objectSpread({}, spec), {}, {\n index: index\n })); // push a cloned element of the desired slide\n\n slides.push( /*#__PURE__*/React.cloneElement(child, {\n key: \"original\" + getKey(child, index),\n \"data-index\": index,\n className: classnames(slideClasses, slideClass),\n tabIndex: \"-1\",\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread(_objectSpread({\n outline: \"none\"\n }, child.props.style || {}), childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n })); // if slide needs to be precloned or postcloned\n\n if (spec.infinite && spec.fade === false) {\n var preCloneNo = childrenCount - index;\n\n if (preCloneNo <= getPreClones(spec) && childrenCount !== spec.slidesToShow) {\n key = -preCloneNo;\n\n if (key >= startIndex) {\n child = elem;\n }\n\n slideClasses = getSlideClasses(_objectSpread(_objectSpread({}, spec), {}, {\n index: key\n }));\n preCloneSlides.push( /*#__PURE__*/React.cloneElement(child, {\n key: \"precloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: classnames(slideClasses, slideClass),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread(_objectSpread({}, child.props.style || {}), childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n }));\n }\n\n if (childrenCount !== spec.slidesToShow) {\n key = childrenCount + index;\n\n if (key < endIndex) {\n child = elem;\n }\n\n slideClasses = getSlideClasses(_objectSpread(_objectSpread({}, spec), {}, {\n index: key\n }));\n postCloneSlides.push( /*#__PURE__*/React.cloneElement(child, {\n key: \"postcloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: classnames(slideClasses, slideClass),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread(_objectSpread({}, child.props.style || {}), childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n }));\n }\n }\n });\n\n if (spec.rtl) {\n return preCloneSlides.concat(slides, postCloneSlides).reverse();\n } else {\n return preCloneSlides.concat(slides, postCloneSlides);\n }\n};\n\nexport var Track = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(Track, _React$PureComponent);\n\n var _super = _createSuper(Track);\n\n function Track() {\n var _this;\n\n _classCallCheck(this, Track);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"node\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"handleRef\", function (ref) {\n _this.node = ref;\n });\n\n return _this;\n }\n\n _createClass(Track, [{\n key: \"render\",\n value: function render() {\n var slides = renderSlides(this.props);\n var _this$props = this.props,\n onMouseEnter = _this$props.onMouseEnter,\n onMouseOver = _this$props.onMouseOver,\n onMouseLeave = _this$props.onMouseLeave;\n var mouseEvents = {\n onMouseEnter: onMouseEnter,\n onMouseOver: onMouseOver,\n onMouseLeave: onMouseLeave\n };\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: this.handleRef,\n className: \"slick-track\",\n style: this.props.trackStyle\n }, mouseEvents), slides);\n }\n }]);\n\n return Track;\n}(React.PureComponent);","\"use strict\";\n\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport React from \"react\";\nimport classnames from \"classnames\";\nimport { clamp } from \"./utils/innerSliderUtils\";\n\nvar getDotCount = function getDotCount(spec) {\n var dots;\n\n if (spec.infinite) {\n dots = Math.ceil(spec.slideCount / spec.slidesToScroll);\n } else {\n dots = Math.ceil((spec.slideCount - spec.slidesToShow) / spec.slidesToScroll) + 1;\n }\n\n return dots;\n};\n\nexport var Dots = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(Dots, _React$PureComponent);\n\n var _super = _createSuper(Dots);\n\n function Dots() {\n _classCallCheck(this, Dots);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Dots, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n // In Autoplay the focus stays on clicked button even after transition\n // to next slide. That only goes away by click somewhere outside\n e.preventDefault();\n this.props.clickHandler(options);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n onMouseEnter = _this$props.onMouseEnter,\n onMouseOver = _this$props.onMouseOver,\n onMouseLeave = _this$props.onMouseLeave,\n infinite = _this$props.infinite,\n slidesToScroll = _this$props.slidesToScroll,\n slidesToShow = _this$props.slidesToShow,\n slideCount = _this$props.slideCount,\n currentSlide = _this$props.currentSlide;\n var dotCount = getDotCount({\n slideCount: slideCount,\n slidesToScroll: slidesToScroll,\n slidesToShow: slidesToShow,\n infinite: infinite\n });\n var mouseEvents = {\n onMouseEnter: onMouseEnter,\n onMouseOver: onMouseOver,\n onMouseLeave: onMouseLeave\n };\n var dots = [];\n\n for (var i = 0; i < dotCount; i++) {\n var _rightBound = (i + 1) * slidesToScroll - 1;\n\n var rightBound = infinite ? _rightBound : clamp(_rightBound, 0, slideCount - 1);\n\n var _leftBound = rightBound - (slidesToScroll - 1);\n\n var leftBound = infinite ? _leftBound : clamp(_leftBound, 0, slideCount - 1);\n var className = classnames({\n \"slick-active\": infinite ? currentSlide >= leftBound && currentSlide <= rightBound : currentSlide === leftBound\n });\n var dotOptions = {\n message: \"dots\",\n index: i,\n slidesToScroll: slidesToScroll,\n currentSlide: currentSlide\n };\n var onClick = this.clickHandler.bind(this, dotOptions);\n dots = dots.concat( /*#__PURE__*/React.createElement(\"li\", {\n key: i,\n className: className\n }, /*#__PURE__*/React.cloneElement(this.props.customPaging(i), {\n onClick: onClick\n })));\n }\n\n return /*#__PURE__*/React.cloneElement(this.props.appendDots(dots), _objectSpread({\n className: this.props.dotsClass\n }, mouseEvents));\n }\n }]);\n\n return Dots;\n}(React.PureComponent);","\"use strict\";\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport React from \"react\";\nimport classnames from \"classnames\";\nimport { canGoNext } from \"./utils/innerSliderUtils\";\nexport var PrevArrow = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(PrevArrow, _React$PureComponent);\n\n var _super = _createSuper(PrevArrow);\n\n function PrevArrow() {\n _classCallCheck(this, PrevArrow);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PrevArrow, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n\n this.props.clickHandler(options, e);\n }\n }, {\n key: \"render\",\n value: function render() {\n var prevClasses = {\n \"slick-arrow\": true,\n \"slick-prev\": true\n };\n var prevHandler = this.clickHandler.bind(this, {\n message: \"previous\"\n });\n\n if (!this.props.infinite && (this.props.currentSlide === 0 || this.props.slideCount <= this.props.slidesToShow)) {\n prevClasses[\"slick-disabled\"] = true;\n prevHandler = null;\n }\n\n var prevArrowProps = {\n key: \"0\",\n \"data-role\": \"none\",\n className: classnames(prevClasses),\n style: {\n display: \"block\"\n },\n onClick: prevHandler\n };\n var customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n var prevArrow;\n\n if (this.props.prevArrow) {\n prevArrow = /*#__PURE__*/React.cloneElement(this.props.prevArrow, _objectSpread(_objectSpread({}, prevArrowProps), customProps));\n } else {\n prevArrow = /*#__PURE__*/React.createElement(\"button\", _extends({\n key: \"0\",\n type: \"button\"\n }, prevArrowProps), \" \", \"Previous\");\n }\n\n return prevArrow;\n }\n }]);\n\n return PrevArrow;\n}(React.PureComponent);\nexport var NextArrow = /*#__PURE__*/function (_React$PureComponent2) {\n _inherits(NextArrow, _React$PureComponent2);\n\n var _super2 = _createSuper(NextArrow);\n\n function NextArrow() {\n _classCallCheck(this, NextArrow);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(NextArrow, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n\n this.props.clickHandler(options, e);\n }\n }, {\n key: \"render\",\n value: function render() {\n var nextClasses = {\n \"slick-arrow\": true,\n \"slick-next\": true\n };\n var nextHandler = this.clickHandler.bind(this, {\n message: \"next\"\n });\n\n if (!canGoNext(this.props)) {\n nextClasses[\"slick-disabled\"] = true;\n nextHandler = null;\n }\n\n var nextArrowProps = {\n key: \"1\",\n \"data-role\": \"none\",\n className: classnames(nextClasses),\n style: {\n display: \"block\"\n },\n onClick: nextHandler\n };\n var customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n var nextArrow;\n\n if (this.props.nextArrow) {\n nextArrow = /*#__PURE__*/React.cloneElement(this.props.nextArrow, _objectSpread(_objectSpread({}, nextArrowProps), customProps));\n } else {\n nextArrow = /*#__PURE__*/React.createElement(\"button\", _extends({\n key: \"1\",\n type: \"button\"\n }, nextArrowProps), \" \", \"Next\");\n }\n\n return nextArrow;\n }\n }]);\n\n return NextArrow;\n}(React.PureComponent);","\"use strict\";\n\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport React from \"react\";\nimport initialState from \"./initial-state\";\nimport debounce from \"lodash/debounce\";\nimport classnames from \"classnames\";\nimport { getOnDemandLazySlides, extractObject, initializedState, getHeight, canGoNext, slideHandler, changeSlide, keyHandler, swipeStart, swipeMove, swipeEnd, getPreClones, getPostClones, getTrackLeft, getTrackCSS } from \"./utils/innerSliderUtils\";\nimport { Track } from \"./track\";\nimport { Dots } from \"./dots\";\nimport { PrevArrow, NextArrow } from \"./arrows\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nexport var InnerSlider = /*#__PURE__*/function (_React$Component) {\n _inherits(InnerSlider, _React$Component);\n\n var _super = _createSuper(InnerSlider);\n\n function InnerSlider(props) {\n var _this;\n\n _classCallCheck(this, InnerSlider);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"listRefHandler\", function (ref) {\n return _this.list = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"trackRefHandler\", function (ref) {\n return _this.track = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"adaptHeight\", function () {\n if (_this.props.adaptiveHeight && _this.list) {\n var elem = _this.list.querySelector(\"[data-index=\\\"\".concat(_this.state.currentSlide, \"\\\"]\"));\n\n _this.list.style.height = getHeight(elem) + \"px\";\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidMount\", function () {\n _this.props.onInit && _this.props.onInit();\n\n if (_this.props.lazyLoad) {\n var slidesToLoad = getOnDemandLazySlides(_objectSpread(_objectSpread({}, _this.props), _this.state));\n\n if (slidesToLoad.length > 0) {\n _this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n };\n });\n\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n }\n }\n\n var spec = _objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props);\n\n _this.updateState(spec, true, function () {\n _this.adaptHeight();\n\n _this.props.autoplay && _this.autoPlay(\"playing\");\n });\n\n if (_this.props.lazyLoad === \"progressive\") {\n _this.lazyLoadTimer = setInterval(_this.progressiveLazyLoad, 1000);\n }\n\n _this.ro = new ResizeObserver(function () {\n if (_this.state.animating) {\n _this.onWindowResized(false); // don't set trackStyle hence don't break animation\n\n\n _this.callbackTimers.push(setTimeout(function () {\n return _this.onWindowResized();\n }, _this.props.speed));\n } else {\n _this.onWindowResized();\n }\n });\n\n _this.ro.observe(_this.list);\n\n document.querySelectorAll && Array.prototype.forEach.call(document.querySelectorAll(\".slick-slide\"), function (slide) {\n slide.onfocus = _this.props.pauseOnFocus ? _this.onSlideFocus : null;\n slide.onblur = _this.props.pauseOnFocus ? _this.onSlideBlur : null;\n });\n\n if (window.addEventListener) {\n window.addEventListener(\"resize\", _this.onWindowResized);\n } else {\n window.attachEvent(\"onresize\", _this.onWindowResized);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentWillUnmount\", function () {\n if (_this.animationEndCallback) {\n clearTimeout(_this.animationEndCallback);\n }\n\n if (_this.lazyLoadTimer) {\n clearInterval(_this.lazyLoadTimer);\n }\n\n if (_this.callbackTimers.length) {\n _this.callbackTimers.forEach(function (timer) {\n return clearTimeout(timer);\n });\n\n _this.callbackTimers = [];\n }\n\n if (window.addEventListener) {\n window.removeEventListener(\"resize\", _this.onWindowResized);\n } else {\n window.detachEvent(\"onresize\", _this.onWindowResized);\n }\n\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n }\n\n _this.ro.disconnect();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidUpdate\", function (prevProps) {\n _this.checkImagesLoad();\n\n _this.props.onReInit && _this.props.onReInit();\n\n if (_this.props.lazyLoad) {\n var slidesToLoad = getOnDemandLazySlides(_objectSpread(_objectSpread({}, _this.props), _this.state));\n\n if (slidesToLoad.length > 0) {\n _this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n };\n });\n\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n }\n } // if (this.props.onLazyLoad) {\n // this.props.onLazyLoad([leftMostSlide])\n // }\n\n\n _this.adaptHeight();\n\n var spec = _objectSpread(_objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props), _this.state);\n\n var setTrackStyle = _this.didPropsChange(prevProps);\n\n setTrackStyle && _this.updateState(spec, setTrackStyle, function () {\n if (_this.state.currentSlide >= React.Children.count(_this.props.children)) {\n _this.changeSlide({\n message: \"index\",\n index: React.Children.count(_this.props.children) - _this.props.slidesToShow,\n currentSlide: _this.state.currentSlide\n });\n }\n\n if (prevProps.autoplay !== _this.props.autoplay || prevProps.autoplaySpeed !== _this.props.autoplaySpeed) {\n if (!prevProps.autoplay && _this.props.autoplay) {\n _this.autoPlay(\"playing\");\n } else if (_this.props.autoplay) {\n _this.autoPlay(\"update\");\n } else {\n _this.pause(\"paused\");\n }\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onWindowResized\", function (setTrackStyle) {\n if (_this.debouncedResize) _this.debouncedResize.cancel();\n _this.debouncedResize = debounce(function () {\n return _this.resizeWindow(setTrackStyle);\n }, 50);\n\n _this.debouncedResize();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"resizeWindow\", function () {\n var setTrackStyle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var isTrackMounted = Boolean(_this.track && _this.track.node); // prevent warning: setting state on unmounted component (server side rendering)\n\n if (!isTrackMounted) return;\n\n var spec = _objectSpread(_objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props), _this.state);\n\n _this.updateState(spec, setTrackStyle, function () {\n if (_this.props.autoplay) _this.autoPlay(\"update\");else _this.pause(\"paused\");\n }); // animating state should be cleared while resizing, otherwise autoplay stops working\n\n\n _this.setState({\n animating: false\n });\n\n clearTimeout(_this.animationEndCallback);\n delete _this.animationEndCallback;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updateState\", function (spec, setTrackStyle, callback) {\n var updatedState = initializedState(spec);\n spec = _objectSpread(_objectSpread(_objectSpread({}, spec), updatedState), {}, {\n slideIndex: updatedState.currentSlide\n });\n var targetLeft = getTrackLeft(spec);\n spec = _objectSpread(_objectSpread({}, spec), {}, {\n left: targetLeft\n });\n var trackStyle = getTrackCSS(spec);\n\n if (setTrackStyle || React.Children.count(_this.props.children) !== React.Children.count(spec.children)) {\n updatedState[\"trackStyle\"] = trackStyle;\n }\n\n _this.setState(updatedState, callback);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"ssrInit\", function () {\n if (_this.props.variableWidth) {\n var _trackWidth = 0,\n _trackLeft = 0;\n var childrenWidths = [];\n var preClones = getPreClones(_objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n slideCount: _this.props.children.length\n }));\n var postClones = getPostClones(_objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n slideCount: _this.props.children.length\n }));\n\n _this.props.children.forEach(function (child) {\n childrenWidths.push(child.props.style.width);\n _trackWidth += child.props.style.width;\n });\n\n for (var i = 0; i < preClones; i++) {\n _trackLeft += childrenWidths[childrenWidths.length - 1 - i];\n _trackWidth += childrenWidths[childrenWidths.length - 1 - i];\n }\n\n for (var _i = 0; _i < postClones; _i++) {\n _trackWidth += childrenWidths[_i];\n }\n\n for (var _i2 = 0; _i2 < _this.state.currentSlide; _i2++) {\n _trackLeft += childrenWidths[_i2];\n }\n\n var _trackStyle = {\n width: _trackWidth + \"px\",\n left: -_trackLeft + \"px\"\n };\n\n if (_this.props.centerMode) {\n var currentWidth = \"\".concat(childrenWidths[_this.state.currentSlide], \"px\");\n _trackStyle.left = \"calc(\".concat(_trackStyle.left, \" + (100% - \").concat(currentWidth, \") / 2 ) \");\n }\n\n return {\n trackStyle: _trackStyle\n };\n }\n\n var childrenCount = React.Children.count(_this.props.children);\n\n var spec = _objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n slideCount: childrenCount\n });\n\n var slideCount = getPreClones(spec) + getPostClones(spec) + childrenCount;\n var trackWidth = 100 / _this.props.slidesToShow * slideCount;\n var slideWidth = 100 / slideCount;\n var trackLeft = -slideWidth * (getPreClones(spec) + _this.state.currentSlide) * trackWidth / 100;\n\n if (_this.props.centerMode) {\n trackLeft += (100 - slideWidth * trackWidth / 100) / 2;\n }\n\n var trackStyle = {\n width: trackWidth + \"%\",\n left: trackLeft + \"%\"\n };\n return {\n slideWidth: slideWidth + \"%\",\n trackStyle: trackStyle\n };\n });\n\n _defineProperty(_assertThisInitialized(_this), \"checkImagesLoad\", function () {\n var images = _this.list && _this.list.querySelectorAll && _this.list.querySelectorAll(\".slick-slide img\") || [];\n var imagesCount = images.length,\n loadedCount = 0;\n Array.prototype.forEach.call(images, function (image) {\n var handler = function handler() {\n return ++loadedCount && loadedCount >= imagesCount && _this.onWindowResized();\n };\n\n if (!image.onclick) {\n image.onclick = function () {\n return image.parentNode.focus();\n };\n } else {\n var prevClickHandler = image.onclick;\n\n image.onclick = function () {\n prevClickHandler();\n image.parentNode.focus();\n };\n }\n\n if (!image.onload) {\n if (_this.props.lazyLoad) {\n image.onload = function () {\n _this.adaptHeight();\n\n _this.callbackTimers.push(setTimeout(_this.onWindowResized, _this.props.speed));\n };\n } else {\n image.onload = handler;\n\n image.onerror = function () {\n handler();\n _this.props.onLazyLoadError && _this.props.onLazyLoadError();\n };\n }\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"progressiveLazyLoad\", function () {\n var slidesToLoad = [];\n\n var spec = _objectSpread(_objectSpread({}, _this.props), _this.state);\n\n for (var index = _this.state.currentSlide; index < _this.state.slideCount + getPostClones(spec); index++) {\n if (_this.state.lazyLoadedList.indexOf(index) < 0) {\n slidesToLoad.push(index);\n break;\n }\n }\n\n for (var _index = _this.state.currentSlide - 1; _index >= -getPreClones(spec); _index--) {\n if (_this.state.lazyLoadedList.indexOf(_index) < 0) {\n slidesToLoad.push(_index);\n break;\n }\n }\n\n if (slidesToLoad.length > 0) {\n _this.setState(function (state) {\n return {\n lazyLoadedList: state.lazyLoadedList.concat(slidesToLoad)\n };\n });\n\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n } else {\n if (_this.lazyLoadTimer) {\n clearInterval(_this.lazyLoadTimer);\n delete _this.lazyLoadTimer;\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slideHandler\", function (index) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var _this$props = _this.props,\n asNavFor = _this$props.asNavFor,\n beforeChange = _this$props.beforeChange,\n onLazyLoad = _this$props.onLazyLoad,\n speed = _this$props.speed,\n afterChange = _this$props.afterChange; // capture currentslide before state is updated\n\n var currentSlide = _this.state.currentSlide;\n\n var _slideHandler = slideHandler(_objectSpread(_objectSpread(_objectSpread({\n index: index\n }, _this.props), _this.state), {}, {\n trackRef: _this.track,\n useCSS: _this.props.useCSS && !dontAnimate\n })),\n state = _slideHandler.state,\n nextState = _slideHandler.nextState;\n\n if (!state) return;\n beforeChange && beforeChange(currentSlide, state.currentSlide);\n var slidesToLoad = state.lazyLoadedList.filter(function (value) {\n return _this.state.lazyLoadedList.indexOf(value) < 0;\n });\n onLazyLoad && slidesToLoad.length > 0 && onLazyLoad(slidesToLoad);\n\n if (!_this.props.waitForAnimate && _this.animationEndCallback) {\n clearTimeout(_this.animationEndCallback);\n afterChange && afterChange(currentSlide);\n delete _this.animationEndCallback;\n }\n\n _this.setState(state, function () {\n // asNavForIndex check is to avoid recursive calls of slideHandler in waitForAnimate=false mode\n if (asNavFor && _this.asNavForIndex !== index) {\n _this.asNavForIndex = index;\n asNavFor.innerSlider.slideHandler(index);\n }\n\n if (!nextState) return;\n _this.animationEndCallback = setTimeout(function () {\n var animating = nextState.animating,\n firstBatch = _objectWithoutProperties(nextState, [\"animating\"]);\n\n _this.setState(firstBatch, function () {\n _this.callbackTimers.push(setTimeout(function () {\n return _this.setState({\n animating: animating\n });\n }, 10));\n\n afterChange && afterChange(state.currentSlide);\n delete _this.animationEndCallback;\n });\n }, speed);\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"changeSlide\", function (options) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var spec = _objectSpread(_objectSpread({}, _this.props), _this.state);\n\n var targetSlide = changeSlide(spec, options);\n if (targetSlide !== 0 && !targetSlide) return;\n\n if (dontAnimate === true) {\n _this.slideHandler(targetSlide, dontAnimate);\n } else {\n _this.slideHandler(targetSlide);\n }\n\n _this.props.autoplay && _this.autoPlay(\"update\");\n\n if (_this.props.focusOnSelect) {\n var nodes = _this.list.querySelectorAll(\".slick-current\");\n\n nodes[0] && nodes[0].focus();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"clickHandler\", function (e) {\n if (_this.clickable === false) {\n e.stopPropagation();\n e.preventDefault();\n }\n\n _this.clickable = true;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"keyHandler\", function (e) {\n var dir = keyHandler(e, _this.props.accessibility, _this.props.rtl);\n dir !== \"\" && _this.changeSlide({\n message: dir\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"selectHandler\", function (options) {\n _this.changeSlide(options);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"disableBodyScroll\", function () {\n var preventDefault = function preventDefault(e) {\n e = e || window.event;\n if (e.preventDefault) e.preventDefault();\n e.returnValue = false;\n };\n\n window.ontouchmove = preventDefault;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"enableBodyScroll\", function () {\n window.ontouchmove = null;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"swipeStart\", function (e) {\n if (_this.props.verticalSwiping) {\n _this.disableBodyScroll();\n }\n\n var state = swipeStart(e, _this.props.swipe, _this.props.draggable);\n state !== \"\" && _this.setState(state);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"swipeMove\", function (e) {\n var state = swipeMove(e, _objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n trackRef: _this.track,\n listRef: _this.list,\n slideIndex: _this.state.currentSlide\n }));\n if (!state) return;\n\n if (state[\"swiping\"]) {\n _this.clickable = false;\n }\n\n _this.setState(state);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"swipeEnd\", function (e) {\n var state = swipeEnd(e, _objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n trackRef: _this.track,\n listRef: _this.list,\n slideIndex: _this.state.currentSlide\n }));\n if (!state) return;\n var triggerSlideHandler = state[\"triggerSlideHandler\"];\n delete state[\"triggerSlideHandler\"];\n\n _this.setState(state);\n\n if (triggerSlideHandler === undefined) return;\n\n _this.slideHandler(triggerSlideHandler);\n\n if (_this.props.verticalSwiping) {\n _this.enableBodyScroll();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"touchEnd\", function (e) {\n _this.swipeEnd(e);\n\n _this.clickable = true;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPrev\", function () {\n // this and fellow methods are wrapped in setTimeout\n // to make sure initialize setState has happened before\n // any of such methods are called\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"previous\"\n });\n }, 0));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickNext\", function () {\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"next\"\n });\n }, 0));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickGoTo\", function (slide) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n slide = Number(slide);\n if (isNaN(slide)) return \"\";\n\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"index\",\n index: slide,\n currentSlide: _this.state.currentSlide\n }, dontAnimate);\n }, 0));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"play\", function () {\n var nextIndex;\n\n if (_this.props.rtl) {\n nextIndex = _this.state.currentSlide - _this.props.slidesToScroll;\n } else {\n if (canGoNext(_objectSpread(_objectSpread({}, _this.props), _this.state))) {\n nextIndex = _this.state.currentSlide + _this.props.slidesToScroll;\n } else {\n return false;\n }\n }\n\n _this.slideHandler(nextIndex);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"autoPlay\", function (playType) {\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n }\n\n var autoplaying = _this.state.autoplaying;\n\n if (playType === \"update\") {\n if (autoplaying === \"hovered\" || autoplaying === \"focused\" || autoplaying === \"paused\") {\n return;\n }\n } else if (playType === \"leave\") {\n if (autoplaying === \"paused\" || autoplaying === \"focused\") {\n return;\n }\n } else if (playType === \"blur\") {\n if (autoplaying === \"paused\" || autoplaying === \"hovered\") {\n return;\n }\n }\n\n _this.autoplayTimer = setInterval(_this.play, _this.props.autoplaySpeed + 50);\n\n _this.setState({\n autoplaying: \"playing\"\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"pause\", function (pauseType) {\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n _this.autoplayTimer = null;\n }\n\n var autoplaying = _this.state.autoplaying;\n\n if (pauseType === \"paused\") {\n _this.setState({\n autoplaying: \"paused\"\n });\n } else if (pauseType === \"focused\") {\n if (autoplaying === \"hovered\" || autoplaying === \"playing\") {\n _this.setState({\n autoplaying: \"focused\"\n });\n }\n } else {\n // pauseType is 'hovered'\n if (autoplaying === \"playing\") {\n _this.setState({\n autoplaying: \"hovered\"\n });\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDotsOver\", function () {\n return _this.props.autoplay && _this.pause(\"hovered\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDotsLeave\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"hovered\" && _this.autoPlay(\"leave\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onTrackOver\", function () {\n return _this.props.autoplay && _this.pause(\"hovered\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onTrackLeave\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"hovered\" && _this.autoPlay(\"leave\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSlideFocus\", function () {\n return _this.props.autoplay && _this.pause(\"focused\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSlideBlur\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"focused\" && _this.autoPlay(\"blur\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"render\", function () {\n var className = classnames(\"slick-slider\", _this.props.className, {\n \"slick-vertical\": _this.props.vertical,\n \"slick-initialized\": true\n });\n\n var spec = _objectSpread(_objectSpread({}, _this.props), _this.state);\n\n var trackProps = extractObject(spec, [\"fade\", \"cssEase\", \"speed\", \"infinite\", \"centerMode\", \"focusOnSelect\", \"currentSlide\", \"lazyLoad\", \"lazyLoadedList\", \"rtl\", \"slideWidth\", \"slideHeight\", \"listHeight\", \"vertical\", \"slidesToShow\", \"slidesToScroll\", \"slideCount\", \"trackStyle\", \"variableWidth\", \"unslick\", \"centerPadding\", \"targetSlide\", \"useCSS\"]);\n var pauseOnHover = _this.props.pauseOnHover;\n trackProps = _objectSpread(_objectSpread({}, trackProps), {}, {\n onMouseEnter: pauseOnHover ? _this.onTrackOver : null,\n onMouseLeave: pauseOnHover ? _this.onTrackLeave : null,\n onMouseOver: pauseOnHover ? _this.onTrackOver : null,\n focusOnSelect: _this.props.focusOnSelect && _this.clickable ? _this.selectHandler : null\n });\n var dots;\n\n if (_this.props.dots === true && _this.state.slideCount >= _this.props.slidesToShow) {\n var dotProps = extractObject(spec, [\"dotsClass\", \"slideCount\", \"slidesToShow\", \"currentSlide\", \"slidesToScroll\", \"clickHandler\", \"children\", \"customPaging\", \"infinite\", \"appendDots\"]);\n var pauseOnDotsHover = _this.props.pauseOnDotsHover;\n dotProps = _objectSpread(_objectSpread({}, dotProps), {}, {\n clickHandler: _this.changeSlide,\n onMouseEnter: pauseOnDotsHover ? _this.onDotsLeave : null,\n onMouseOver: pauseOnDotsHover ? _this.onDotsOver : null,\n onMouseLeave: pauseOnDotsHover ? _this.onDotsLeave : null\n });\n dots = /*#__PURE__*/React.createElement(Dots, dotProps);\n }\n\n var prevArrow, nextArrow;\n var arrowProps = extractObject(spec, [\"infinite\", \"centerMode\", \"currentSlide\", \"slideCount\", \"slidesToShow\", \"prevArrow\", \"nextArrow\"]);\n arrowProps.clickHandler = _this.changeSlide;\n\n if (_this.props.arrows) {\n prevArrow = /*#__PURE__*/React.createElement(PrevArrow, arrowProps);\n nextArrow = /*#__PURE__*/React.createElement(NextArrow, arrowProps);\n }\n\n var verticalHeightStyle = null;\n\n if (_this.props.vertical) {\n verticalHeightStyle = {\n height: _this.state.listHeight\n };\n }\n\n var centerPaddingStyle = null;\n\n if (_this.props.vertical === false) {\n if (_this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: \"0px \" + _this.props.centerPadding\n };\n }\n } else {\n if (_this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: _this.props.centerPadding + \" 0px\"\n };\n }\n }\n\n var listStyle = _objectSpread(_objectSpread({}, verticalHeightStyle), centerPaddingStyle);\n\n var touchMove = _this.props.touchMove;\n var listProps = {\n className: \"slick-list\",\n style: listStyle,\n onClick: _this.clickHandler,\n onMouseDown: touchMove ? _this.swipeStart : null,\n onMouseMove: _this.state.dragging && touchMove ? _this.swipeMove : null,\n onMouseUp: touchMove ? _this.swipeEnd : null,\n onMouseLeave: _this.state.dragging && touchMove ? _this.swipeEnd : null,\n onTouchStart: touchMove ? _this.swipeStart : null,\n onTouchMove: _this.state.dragging && touchMove ? _this.swipeMove : null,\n onTouchEnd: touchMove ? _this.touchEnd : null,\n onTouchCancel: _this.state.dragging && touchMove ? _this.swipeEnd : null,\n onKeyDown: _this.props.accessibility ? _this.keyHandler : null\n };\n var innerSliderProps = {\n className: className,\n dir: \"ltr\",\n style: _this.props.style\n };\n\n if (_this.props.unslick) {\n listProps = {\n className: \"slick-list\"\n };\n innerSliderProps = {\n className: className\n };\n }\n\n return /*#__PURE__*/React.createElement(\"div\", innerSliderProps, !_this.props.unslick ? prevArrow : \"\", /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: _this.listRefHandler\n }, listProps), /*#__PURE__*/React.createElement(Track, _extends({\n ref: _this.trackRefHandler\n }, trackProps), _this.props.children)), !_this.props.unslick ? nextArrow : \"\", !_this.props.unslick ? dots : \"\");\n });\n\n _this.list = null;\n _this.track = null;\n _this.state = _objectSpread(_objectSpread({}, initialState), {}, {\n currentSlide: _this.props.initialSlide,\n slideCount: React.Children.count(_this.props.children)\n });\n _this.callbackTimers = [];\n _this.clickable = true;\n _this.debouncedResize = null;\n\n var ssrState = _this.ssrInit();\n\n _this.state = _objectSpread(_objectSpread({}, _this.state), ssrState);\n return _this;\n }\n\n _createClass(InnerSlider, [{\n key: \"didPropsChange\",\n value: function didPropsChange(prevProps) {\n var setTrackStyle = false;\n\n for (var _i3 = 0, _Object$keys = Object.keys(this.props); _i3 < _Object$keys.length; _i3++) {\n var key = _Object$keys[_i3];\n\n // eslint-disable-next-line no-prototype-builtins\n if (!prevProps.hasOwnProperty(key)) {\n setTrackStyle = true;\n break;\n }\n\n if (_typeof(prevProps[key]) === \"object\" || typeof prevProps[key] === \"function\") {\n continue;\n }\n\n if (prevProps[key] !== this.props[key]) {\n setTrackStyle = true;\n break;\n }\n }\n\n return setTrackStyle || React.Children.count(this.props.children) !== React.Children.count(prevProps.children);\n }\n }]);\n\n return InnerSlider;\n}(React.Component);","import React from \"react\";\nvar defaultProps = {\n accessibility: true,\n adaptiveHeight: false,\n afterChange: null,\n appendDots: function appendDots(dots) {\n return /*#__PURE__*/React.createElement(\"ul\", {\n style: {\n display: \"block\"\n }\n }, dots);\n },\n arrows: true,\n autoplay: false,\n autoplaySpeed: 3000,\n beforeChange: null,\n centerMode: false,\n centerPadding: \"50px\",\n className: \"\",\n cssEase: \"ease\",\n customPaging: function customPaging(i) {\n return /*#__PURE__*/React.createElement(\"button\", null, i + 1);\n },\n dots: false,\n dotsClass: \"slick-dots\",\n draggable: true,\n easing: \"linear\",\n edgeFriction: 0.35,\n fade: false,\n focusOnSelect: false,\n infinite: true,\n initialSlide: 0,\n lazyLoad: null,\n nextArrow: null,\n onEdge: null,\n onInit: null,\n onLazyLoadError: null,\n onReInit: null,\n pauseOnDotsHover: false,\n pauseOnFocus: false,\n pauseOnHover: true,\n prevArrow: null,\n responsive: null,\n rows: 1,\n rtl: false,\n slide: \"div\",\n slidesPerRow: 1,\n slidesToScroll: 1,\n slidesToShow: 1,\n speed: 500,\n swipe: true,\n swipeEvent: null,\n swipeToSlide: false,\n touchMove: true,\n touchThreshold: 5,\n useCSS: true,\n useTransform: true,\n variableWidth: false,\n vertical: false,\n waitForAnimate: true\n};\nexport default defaultProps;","import Slider from \"./slider\";\nexport default Slider;","\"use strict\";\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport React from \"react\";\nimport { InnerSlider } from \"./inner-slider\";\nimport json2mq from \"json2mq\";\nimport defaultProps from \"./default-props\";\nimport { canUseDOM } from \"./utils/innerSliderUtils\";\n\nvar Slider = /*#__PURE__*/function (_React$Component) {\n _inherits(Slider, _React$Component);\n\n var _super = _createSuper(Slider);\n\n function Slider(props) {\n var _this;\n\n _classCallCheck(this, Slider);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"innerSliderRefHandler\", function (ref) {\n return _this.innerSlider = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPrev\", function () {\n return _this.innerSlider.slickPrev();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickNext\", function () {\n return _this.innerSlider.slickNext();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickGoTo\", function (slide) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return _this.innerSlider.slickGoTo(slide, dontAnimate);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPause\", function () {\n return _this.innerSlider.pause(\"paused\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPlay\", function () {\n return _this.innerSlider.autoPlay(\"play\");\n });\n\n _this.state = {\n breakpoint: null\n };\n _this._responsiveMediaHandlers = [];\n return _this;\n }\n\n _createClass(Slider, [{\n key: \"media\",\n value: function media(query, handler) {\n // javascript handler for css media query\n var mql = window.matchMedia(query);\n\n var listener = function listener(_ref) {\n var matches = _ref.matches;\n\n if (matches) {\n handler();\n }\n };\n\n mql.addListener(listener);\n listener(mql);\n\n this._responsiveMediaHandlers.push({\n mql: mql,\n query: query,\n listener: listener\n });\n } // handles responsive breakpoints\n\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n // performance monitoring\n //if (process.env.NODE_ENV !== 'production') {\n //const { whyDidYouUpdate } = require('why-did-you-update')\n //whyDidYouUpdate(React)\n //}\n if (this.props.responsive) {\n var breakpoints = this.props.responsive.map(function (breakpt) {\n return breakpt.breakpoint;\n }); // sort them in increasing order of their numerical value\n\n breakpoints.sort(function (x, y) {\n return x - y;\n });\n breakpoints.forEach(function (breakpoint, index) {\n // media query for each breakpoint\n var bQuery;\n\n if (index === 0) {\n bQuery = json2mq({\n minWidth: 0,\n maxWidth: breakpoint\n });\n } else {\n bQuery = json2mq({\n minWidth: breakpoints[index - 1] + 1,\n maxWidth: breakpoint\n });\n } // when not using server side rendering\n\n\n canUseDOM() && _this2.media(bQuery, function () {\n _this2.setState({\n breakpoint: breakpoint\n });\n });\n }); // Register media query for full screen. Need to support resize from small to large\n // convert javascript object to media query string\n\n var query = json2mq({\n minWidth: breakpoints.slice(-1)[0]\n });\n canUseDOM() && this.media(query, function () {\n _this2.setState({\n breakpoint: null\n });\n });\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this._responsiveMediaHandlers.forEach(function (obj) {\n obj.mql.removeListener(obj.listener);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var settings;\n var newProps;\n\n if (this.state.breakpoint) {\n newProps = this.props.responsive.filter(function (resp) {\n return resp.breakpoint === _this3.state.breakpoint;\n });\n settings = newProps[0].settings === \"unslick\" ? \"unslick\" : _objectSpread(_objectSpread(_objectSpread({}, defaultProps), this.props), newProps[0].settings);\n } else {\n settings = _objectSpread(_objectSpread({}, defaultProps), this.props);\n } // force scrolling by one if centerMode is on\n\n\n if (settings.centerMode) {\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToScroll should be equal to 1 in centerMode, you are using \".concat(settings.slidesToScroll));\n }\n\n settings.slidesToScroll = 1;\n } // force showing one slide and scrolling by one if the fade mode is on\n\n\n if (settings.fade) {\n if (settings.slidesToShow > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToShow should be equal to 1 when fade is true, you're using \".concat(settings.slidesToShow));\n }\n\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToScroll should be equal to 1 when fade is true, you're using \".concat(settings.slidesToScroll));\n }\n\n settings.slidesToShow = 1;\n settings.slidesToScroll = 1;\n } // makes sure that children is an array, even when there is only 1 child\n\n\n var children = React.Children.toArray(this.props.children); // Children may contain false or null, so we should filter them\n // children may also contain string filled with spaces (in certain cases where we use jsx strings)\n\n children = children.filter(function (child) {\n if (typeof child === \"string\") {\n return !!child.trim();\n }\n\n return !!child;\n }); // rows and slidesPerRow logic is handled here\n\n if (settings.variableWidth && (settings.rows > 1 || settings.slidesPerRow > 1)) {\n console.warn(\"variableWidth is not supported in case of rows > 1 or slidesPerRow > 1\");\n settings.variableWidth = false;\n }\n\n var newChildren = [];\n var currentWidth = null;\n\n for (var i = 0; i < children.length; i += settings.rows * settings.slidesPerRow) {\n var newSlide = [];\n\n for (var j = i; j < i + settings.rows * settings.slidesPerRow; j += settings.slidesPerRow) {\n var row = [];\n\n for (var k = j; k < j + settings.slidesPerRow; k += 1) {\n if (settings.variableWidth && children[k].props.style) {\n currentWidth = children[k].props.style.width;\n }\n\n if (k >= children.length) break;\n row.push( /*#__PURE__*/React.cloneElement(children[k], {\n key: 100 * i + 10 * j + k,\n tabIndex: -1,\n style: {\n width: \"\".concat(100 / settings.slidesPerRow, \"%\"),\n display: \"inline-block\"\n }\n }));\n }\n\n newSlide.push( /*#__PURE__*/React.createElement(\"div\", {\n key: 10 * i + j\n }, row));\n }\n\n if (settings.variableWidth) {\n newChildren.push( /*#__PURE__*/React.createElement(\"div\", {\n key: i,\n style: {\n width: currentWidth\n }\n }, newSlide));\n } else {\n newChildren.push( /*#__PURE__*/React.createElement(\"div\", {\n key: i\n }, newSlide));\n }\n }\n\n if (settings === \"unslick\") {\n var className = \"regular slider \" + (this.props.className || \"\");\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className\n }, children);\n } else if (newChildren.length <= settings.slidesToShow) {\n settings.unslick = true;\n }\n\n return /*#__PURE__*/React.createElement(InnerSlider, _extends({\n style: this.props.style,\n ref: this.innerSliderRefHandler\n }, settings), newChildren);\n }\n }]);\n\n return Slider;\n}(React.Component);\n\nexport { Slider as default };","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport SlickCarousel from '@ant-design/react-slick';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider';\nvar Carousel = /*#__PURE__*/React.forwardRef(function (_a, ref) {\n var _classNames;\n\n var _a$dots = _a.dots,\n dots = _a$dots === void 0 ? true : _a$dots,\n _a$arrows = _a.arrows,\n arrows = _a$arrows === void 0 ? false : _a$arrows,\n _a$draggable = _a.draggable,\n draggable = _a$draggable === void 0 ? false : _a$draggable,\n _a$dotPosition = _a.dotPosition,\n dotPosition = _a$dotPosition === void 0 ? 'bottom' : _a$dotPosition,\n props = __rest(_a, [\"dots\", \"arrows\", \"draggable\", \"dotPosition\"]);\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var slickRef = React.useRef();\n\n var goTo = function goTo(slide) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n slickRef.current.slickGoTo(slide, dontAnimate);\n };\n\n React.useImperativeHandle(ref, function () {\n return {\n goTo: goTo,\n autoPlay: slickRef.current.innerSlider.autoPlay,\n innerSlider: slickRef.current.innerSlider,\n prev: slickRef.current.slickPrev,\n next: slickRef.current.slickNext\n };\n }, [slickRef.current]);\n var prevCount = React.useRef(React.Children.count(props.children));\n React.useEffect(function () {\n if (prevCount.current !== React.Children.count(props.children)) {\n goTo(props.initialSlide || 0, false);\n prevCount.current = React.Children.count(props.children);\n }\n }, [props.children]);\n\n var newProps = _extends({}, props);\n\n if (newProps.effect === 'fade') {\n newProps.fade = true;\n }\n\n var prefixCls = getPrefixCls('carousel', newProps.prefixCls);\n var dotsClass = 'slick-dots';\n newProps.vertical = dotPosition === 'left' || dotPosition === 'right';\n var enableDots = !!dots;\n var dsClass = classNames(dotsClass, \"\".concat(dotsClass, \"-\").concat(dotPosition), typeof dots === 'boolean' ? false : dots === null || dots === void 0 ? void 0 : dots.className);\n var className = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-vertical\"), newProps.vertical), _classNames));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className\n }, /*#__PURE__*/React.createElement(SlickCarousel, _extends({\n ref: slickRef\n }, newProps, {\n dots: enableDots,\n dotsClass: dsClass,\n arrows: arrows,\n draggable: draggable\n })));\n});\nexport default Carousel;","export default {\n // Options.jsx\n items_per_page: '/ side',\n jump_to: 'Gå til side',\n page: 'Side',\n // Pagination.jsx\n prev_page: 'Forrige side',\n next_page: 'Neste side',\n prev_5: '5 forrige',\n next_5: '5 neste',\n prev_3: '3 forrige',\n next_3: '3 neste',\n page_size: 'sidestørrelse'\n};","var locale = {\n locale: 'nb_NO',\n today: 'I dag',\n now: 'Nå',\n backToToday: 'Gå til i dag',\n ok: 'Ok',\n clear: 'Annuller',\n month: 'Måned',\n year: 'År',\n timeSelect: 'Velg tidspunkt',\n dateSelect: 'Velg dato',\n weekSelect: 'Velg uke',\n monthSelect: 'Velg måned',\n yearSelect: 'Velg år',\n decadeSelect: 'Velg tiår',\n yearFormat: 'YYYY',\n dateFormat: 'DD.MM.YYYY',\n dayFormat: 'DD',\n dateTimeFormat: 'DD.MM.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Forrige måned (PageUp)',\n nextMonth: 'Neste måned (PageDown)',\n previousYear: 'Forrige år (Control + venstre)',\n nextYear: 'Neste år (Control + høyre)',\n previousDecade: 'Forrige tiår',\n nextDecade: 'Neste tiår',\n previousCentury: 'Forrige århundre',\n nextCentury: 'Neste århundre'\n};\nexport default locale;","var locale = {\n placeholder: 'Velg tid',\n rangePlaceholder: ['Starttid', 'Sluttid']\n};\nexport default locale;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport CalendarLocale from \"rc-picker/es/locale/nb_NO\";\nimport TimePickerLocale from '../../time-picker/locale/nb_NO'; // Merge into a locale object\n\nvar locale = {\n lang: _extends({\n placeholder: 'Velg dato',\n yearPlaceholder: 'Velg år',\n quarterPlaceholder: 'Velg kvartal',\n monthPlaceholder: 'Velg måned',\n weekPlaceholder: 'Velg uke',\n rangePlaceholder: ['Startdato', 'Sluttdato'],\n rangeYearPlaceholder: ['Startår', 'Sluttår'],\n rangeMonthPlaceholder: ['Startmåned', 'Sluttmåned'],\n rangeWeekPlaceholder: ['Start uke', 'Sluttuke']\n }, CalendarLocale),\n timePickerLocale: _extends({}, TimePickerLocale)\n}; // All settings at:\n// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json\n\nexport default locale;","/* eslint-disable no-template-curly-in-string */\nimport Pagination from \"rc-pagination/es/locale/nb_NO\";\nimport DatePicker from '../date-picker/locale/nb_NO';\nimport TimePicker from '../time-picker/locale/nb_NO';\nimport Calendar from '../calendar/locale/nb_NO';\nvar typeTemplate = '${label} er ikke et gyldig ${type}';\nvar localeValues = {\n locale: 'nb',\n Pagination: Pagination,\n DatePicker: DatePicker,\n TimePicker: TimePicker,\n Calendar: Calendar,\n global: {\n placeholder: 'Vennligst velg'\n },\n Table: {\n filterTitle: 'Filtermeny',\n filterConfirm: 'OK',\n filterReset: 'Nullstill',\n filterEmptyText: 'Ingen filtre',\n selectAll: 'Velg alle',\n selectInvert: 'Inverter gjeldende side',\n selectionAll: 'Velg all data',\n sortTitle: 'Sorter',\n expand: 'Utvid rad',\n collapse: 'Skjul rad',\n triggerDesc: 'Sorter data i synkende rekkefølge',\n triggerAsc: 'Sorterer data i stigende rekkefølge',\n cancelSort: 'Klikk for å avbryte sorteringen'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Avbryt',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Avbryt'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Søk her',\n itemUnit: 'element',\n itemsUnit: 'elementer',\n remove: 'Fjern',\n selectCurrent: 'Velg gjeldende side',\n removeCurrent: 'Fjern gjeldende side',\n selectAll: 'Velg all data',\n removeAll: 'Fjern all data',\n selectInvert: 'Inverter gjeldende side'\n },\n Upload: {\n uploading: 'Laster opp...',\n removeFile: 'Fjern fil',\n uploadError: 'Feil ved opplastning',\n previewFile: 'Forhåndsvisning',\n downloadFile: 'Last ned fil'\n },\n Empty: {\n description: 'Ingen data'\n },\n Icon: {\n icon: 'ikon'\n },\n Text: {\n edit: 'Rediger',\n copy: 'Kopier',\n copied: 'Kopiert',\n expand: 'Utvid'\n },\n PageHeader: {\n back: 'Tilbake'\n },\n Form: {\n defaultValidateMessages: {\n \"default\": 'Feltvalideringsfeil ${label}',\n required: 'Vennligst skriv inn ${label}',\n \"enum\": '${label} må være en av [${enum}]',\n whitespace: '${label} kan ikke være et blankt tegn',\n date: {\n format: '${label} datoformatet er ugyldig',\n parse: '${label} kan ikke konverteres til en dato',\n invalid: '${label} er en ugyldig dato'\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n \"boolean\": typeTemplate,\n integer: typeTemplate,\n \"float\": typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: '${label} må være ${len} tegn',\n min: '${label} må minst ha ${min} tegn',\n max: '${label} opp til ${max} tegn',\n range: '${label} må være mellom ${min}-${max} tegn'\n },\n number: {\n len: '${label} må være lik ${len}',\n min: '${label} minimumsverdien er ${min}',\n max: '${label} maksimumsverdien er ${max}',\n range: '${label} må være mellom ${min}-${max}'\n },\n array: {\n len: 'Må være ${len} ${label}',\n min: 'Må være minst ${min} ${label}',\n max: 'På det meste ${max} ${label}',\n range: 'Totalt av ${label} må være mellom ${min}-${max}'\n },\n pattern: {\n mismatch: '${label} stemmer ikke overens med mønsteret ${pattern}'\n }\n }\n }\n};\nexport default localeValues;","var camel2hyphen = require('string-convert/camel2hyphen');\n\nvar isDimension = function (feature) {\n var re = /[height|width]$/;\n return re.test(feature);\n};\n\nvar obj2mq = function (obj) {\n var mq = '';\n var features = Object.keys(obj);\n features.forEach(function (feature, index) {\n var value = obj[feature];\n feature = camel2hyphen(feature);\n // Add px to dimension features\n if (isDimension(feature) && typeof value === 'number') {\n value = value + 'px';\n }\n if (value === true) {\n mq += feature;\n } else if (value === false) {\n mq += 'not ' + feature;\n } else {\n mq += '(' + feature + ': ' + value + ')';\n }\n if (index < features.length-1) {\n mq += ' and '\n }\n });\n return mq;\n};\n\nvar json2mq = function (query) {\n var mq = '';\n if (typeof query === 'string') {\n return query;\n }\n // Handling array of media queries\n if (query instanceof Array) {\n query.forEach(function (q, index) {\n mq += obj2mq(q);\n if (index < query.length-1) {\n mq += ', '\n }\n });\n return mq;\n }\n // Handling single media query\n return obj2mq(query);\n};\n\nmodule.exports = json2mq;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = require(\"react\");\n\nvar IconContext = /*#__PURE__*/(0, _react.createContext)({});\nvar _default = IconContext;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _en_US = _interopRequireDefault(require(\"rc-pagination/lib/locale/en_US\"));\n\nvar _en_US2 = _interopRequireDefault(require(\"../date-picker/locale/en_US\"));\n\nvar _en_US3 = _interopRequireDefault(require(\"../time-picker/locale/en_US\"));\n\nvar _en_US4 = _interopRequireDefault(require(\"../calendar/locale/en_US\"));\n\n/* eslint-disable no-template-curly-in-string */\nvar typeTemplate = '${label} is not a valid ${type}';\nvar localeValues = {\n locale: 'en',\n Pagination: _en_US[\"default\"],\n DatePicker: _en_US2[\"default\"],\n TimePicker: _en_US3[\"default\"],\n Calendar: _en_US4[\"default\"],\n global: {\n placeholder: 'Please select'\n },\n Table: {\n filterTitle: 'Filter menu',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n filterEmptyText: 'No filters',\n filterCheckall: 'Select all items',\n filterSearchPlaceholder: 'Search in filters',\n emptyText: 'No data',\n selectAll: 'Select current page',\n selectInvert: 'Invert current page',\n selectNone: 'Clear all data',\n selectionAll: 'Select all data',\n sortTitle: 'Sort',\n expand: 'Expand row',\n collapse: 'Collapse row',\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Cancel',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Cancel'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Search here',\n itemUnit: 'item',\n itemsUnit: 'items',\n remove: 'Remove',\n selectCurrent: 'Select current page',\n removeCurrent: 'Remove current page',\n selectAll: 'Select all data',\n removeAll: 'Remove all data',\n selectInvert: 'Invert current page'\n },\n Upload: {\n uploading: 'Uploading...',\n removeFile: 'Remove file',\n uploadError: 'Upload error',\n previewFile: 'Preview file',\n downloadFile: 'Download file'\n },\n Empty: {\n description: 'No Data'\n },\n Icon: {\n icon: 'icon'\n },\n Text: {\n edit: 'Edit',\n copy: 'Copy',\n copied: 'Copied',\n expand: 'Expand'\n },\n PageHeader: {\n back: 'Back'\n },\n Form: {\n optional: '(optional)',\n defaultValidateMessages: {\n \"default\": 'Field validation error for ${label}',\n required: 'Please enter ${label}',\n \"enum\": '${label} must be one of [${enum}]',\n whitespace: '${label} cannot be a blank character',\n date: {\n format: '${label} date format is invalid',\n parse: '${label} cannot be converted to a date',\n invalid: '${label} is an invalid date'\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n \"boolean\": typeTemplate,\n integer: typeTemplate,\n \"float\": typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: '${label} must be ${len} characters',\n min: '${label} must be at least ${min} characters',\n max: '${label} must be up to ${max} characters',\n range: '${label} must be between ${min}-${max} characters'\n },\n number: {\n len: '${label} must be equal to ${len}',\n min: '${label} must be minimum ${min}',\n max: '${label} must be maximum ${max}',\n range: '${label} must be between ${min}-${max}'\n },\n array: {\n len: 'Must be ${len} ${label}',\n min: 'At least ${min} ${label}',\n max: 'At most ${max} ${label}',\n range: 'The amount of ${label} must be between ${min}-${max}'\n },\n pattern: {\n mismatch: '${label} does not match the pattern ${pattern}'\n }\n }\n },\n Image: {\n preview: 'Preview'\n }\n};\nvar _default = localeValues;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nexports.useLocaleReceiver = useLocaleReceiver;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _createSuper2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createSuper\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _default = _interopRequireDefault(require(\"./default\"));\n\nvar _context = _interopRequireDefault(require(\"./context\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar LocaleReceiver = /*#__PURE__*/function (_React$Component) {\n (0, _inherits2[\"default\"])(LocaleReceiver, _React$Component);\n\n var _super = (0, _createSuper2[\"default\"])(LocaleReceiver);\n\n function LocaleReceiver() {\n (0, _classCallCheck2[\"default\"])(this, LocaleReceiver);\n return _super.apply(this, arguments);\n }\n\n (0, _createClass2[\"default\"])(LocaleReceiver, [{\n key: \"getLocale\",\n value: function getLocale() {\n var _this$props = this.props,\n componentName = _this$props.componentName,\n defaultLocale = _this$props.defaultLocale;\n var locale = defaultLocale || _default[\"default\"][componentName !== null && componentName !== void 0 ? componentName : 'global'];\n var antLocale = this.context;\n var localeFromContext = componentName && antLocale ? antLocale[componentName] : {};\n return (0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, locale instanceof Function ? locale() : locale), localeFromContext || {});\n }\n }, {\n key: \"getLocaleCode\",\n value: function getLocaleCode() {\n var antLocale = this.context;\n var localeCode = antLocale && antLocale.locale; // Had use LocaleProvide but didn't set locale\n\n if (antLocale && antLocale.exist && !localeCode) {\n return _default[\"default\"].locale;\n }\n\n return localeCode;\n }\n }, {\n key: \"render\",\n value: function render() {\n return this.props.children(this.getLocale(), this.getLocaleCode(), this.context);\n }\n }]);\n return LocaleReceiver;\n}(React.Component);\n\nexports[\"default\"] = LocaleReceiver;\nLocaleReceiver.defaultProps = {\n componentName: 'global'\n};\nLocaleReceiver.contextType = _context[\"default\"];\n\nfunction useLocaleReceiver(componentName, defaultLocale) {\n var antLocale = React.useContext(_context[\"default\"]);\n var componentLocale = React.useMemo(function () {\n var locale = defaultLocale || _default[\"default\"][componentName || 'global'];\n var localeFromContext = componentName && antLocale ? antLocale[componentName] : {};\n return (0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, typeof locale === 'function' ? locale() : locale), localeFromContext || {});\n }, [componentName, defaultLocale, antLocale]);\n return [componentLocale];\n}","\"use strict\";\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.SizeContextProvider = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar SizeContext = /*#__PURE__*/React.createContext(undefined);\n\nvar SizeContextProvider = function SizeContextProvider(_ref) {\n var children = _ref.children,\n size = _ref.size;\n return /*#__PURE__*/React.createElement(SizeContext.Consumer, null, function (originSize) {\n return /*#__PURE__*/React.createElement(SizeContext.Provider, {\n value: size || originSize\n }, children);\n });\n};\n\nexports.SizeContextProvider = SizeContextProvider;\nvar _default = SizeContext;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.warning = warning;\nexports.isIconDefinition = isIconDefinition;\nexports.normalizeAttrs = normalizeAttrs;\nexports.generate = generate;\nexports.getSecondaryColor = getSecondaryColor;\nexports.normalizeTwoToneColors = normalizeTwoToneColors;\nexports.useInsertStyles = exports.iconStyles = exports.svgBaseProps = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\n\nvar _colors = require(\"@ant-design/colors\");\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _warning = _interopRequireDefault(require(\"rc-util/lib/warning\"));\n\nvar _dynamicCSS = require(\"rc-util/lib/Dom/dynamicCSS\");\n\nvar _Context = _interopRequireDefault(require(\"./components/Context\"));\n\nfunction warning(valid, message) {\n (0, _warning.default)(valid, \"[@ant-design/icons] \".concat(message));\n}\n\nfunction isIconDefinition(target) {\n return (0, _typeof2.default)(target) === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && ((0, _typeof2.default)(target.icon) === 'object' || typeof target.icon === 'function');\n}\n\nfunction normalizeAttrs() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Object.keys(attrs).reduce(function (acc, key) {\n var val = attrs[key];\n\n switch (key) {\n case 'class':\n acc.className = val;\n delete acc.class;\n break;\n\n default:\n acc[key] = val;\n }\n\n return acc;\n }, {});\n}\n\nfunction generate(node, key, rootProps) {\n if (!rootProps) {\n return /*#__PURE__*/_react.default.createElement(node.tag, (0, _objectSpread2.default)({\n key: key\n }, normalizeAttrs(node.attrs)), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n }\n\n return /*#__PURE__*/_react.default.createElement(node.tag, (0, _objectSpread2.default)((0, _objectSpread2.default)({\n key: key\n }, normalizeAttrs(node.attrs)), rootProps), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n}\n\nfunction getSecondaryColor(primaryColor) {\n // choose the second color\n return (0, _colors.generate)(primaryColor)[0];\n}\n\nfunction normalizeTwoToneColors(twoToneColor) {\n if (!twoToneColor) {\n return [];\n }\n\n return Array.isArray(twoToneColor) ? twoToneColor : [twoToneColor];\n} // These props make sure that the SVG behaviours like general text.\n// Reference: https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\n\n\nvar svgBaseProps = {\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true',\n focusable: 'false'\n};\nexports.svgBaseProps = svgBaseProps;\nvar iconStyles = \"\\n.anticon {\\n display: inline-block;\\n color: inherit;\\n font-style: normal;\\n line-height: 0;\\n text-align: center;\\n text-transform: none;\\n vertical-align: -0.125em;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n line-height: 1;\\n}\\n\\n.anticon svg {\\n display: inline-block;\\n}\\n\\n.anticon::before {\\n display: none;\\n}\\n\\n.anticon .anticon-icon {\\n display: block;\\n}\\n\\n.anticon[tabindex] {\\n cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n display: inline-block;\\n -webkit-animation: loadingCircle 1s infinite linear;\\n animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\";\nexports.iconStyles = iconStyles;\n\nvar useInsertStyles = function useInsertStyles() {\n var styleStr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : iconStyles;\n\n var _useContext = (0, _react.useContext)(_Context.default),\n csp = _useContext.csp;\n\n (0, _react.useEffect)(function () {\n (0, _dynamicCSS.updateCSS)(styleStr, '@ant-design-icons', {\n prepend: true,\n csp: csp\n });\n }, []);\n};\n\nexports.useInsertStyles = useInsertStyles;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = canUseDom;\n\nfunction canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.tupleNum = exports.tuple = void 0;\n\n// https://stackoverflow.com/questions/46176165/ways-to-get-string-literal-type-of-array-values-without-enum-overhead\nvar tuple = function tuple() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return args;\n};\n\nexports.tuple = tuple;\n\nvar tupleNum = function tupleNum() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return args;\n};\n\nexports.tupleNum = tupleNum;","import { TinyColor } from './index';\n// Readability Functions\n// ---------------------\n// false\n * new TinyColor().isReadable('#000', '#111', { level: 'AA', size: 'large' }) => false\n * ```\n */\nexport function isReadable(color1, color2, wcag2) {\n var _a, _b;\n if (wcag2 === void 0) { wcag2 = { level: 'AA', size: 'small' }; }\n var readabilityLevel = readability(color1, color2);\n switch (((_a = wcag2.level) !== null && _a !== void 0 ? _a : 'AA') + ((_b = wcag2.size) !== null && _b !== void 0 ? _b : 'small')) {\n case 'AAsmall':\n case 'AAAlarge':\n return readabilityLevel >= 4.5;\n case 'AAlarge':\n return readabilityLevel >= 3;\n case 'AAAsmall':\n return readabilityLevel >= 7;\n default:\n return false;\n }\n}\n/**\n * Given a base color and a list of possible foreground or background\n * colors for that base, returns the most readable color.\n * Optionally returns Black or White if the most readable color is unreadable.\n *\n * @param baseColor - the base color.\n * @param colorList - array of colors to pick the most readable one from.\n * @param args - and object with extra arguments\n *\n * Example\n * ```ts\n * new TinyColor().mostReadable('#123', ['#124\", \"#125'], { includeFallbackColors: false }).toHexString(); // \"#112255\"\n * new TinyColor().mostReadable('#123', ['#124\", \"#125'],{ includeFallbackColors: true }).toHexString(); // \"#ffffff\"\n * new TinyColor().mostReadable('#a8015a', [\"#faf3f3\"], { includeFallbackColors:true, level: 'AAA', size: 'large' }).toHexString(); // \"#faf3f3\"\n * new TinyColor().mostReadable('#a8015a', [\"#faf3f3\"], { includeFallbackColors:true, level: 'AAA', size: 'small' }).toHexString(); // \"#ffffff\"\n * ```\n */\nexport function mostReadable(baseColor, colorList, args) {\n if (args === void 0) { args = { includeFallbackColors: false, level: 'AA', size: 'small' }; }\n var bestColor = null;\n var bestScore = 0;\n var includeFallbackColors = args.includeFallbackColors, level = args.level, size = args.size;\n for (var _i = 0, colorList_1 = colorList; _i < colorList_1.length; _i++) {\n var color = colorList_1[_i];\n var score = readability(baseColor, color);\n if (score > bestScore) {\n bestScore = score;\n bestColor = new TinyColor(color);\n }\n }\n if (isReadable(baseColor, bestColor, { level: level, size: size }) || !includeFallbackColors) {\n return bestColor;\n }\n args.includeFallbackColors = false;\n return mostReadable(baseColor, ['#fff', '#000'], args);\n}\n","import { rgbaToArgbHex } from './conversion';\nimport { TinyColor } from './index';\n/**\n * Returns the color represented as a Microsoft filter for use in old versions of IE.\n */\nexport function toMsFilter(firstColor, secondColor) {\n var color = new TinyColor(firstColor);\n var hex8String = '#' + rgbaToArgbHex(color.r, color.g, color.b, color.a);\n var secondHex8String = hex8String;\n var gradientType = color.gradientType ? 'GradientType = 1, ' : '';\n if (secondColor) {\n var s = new TinyColor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s.r, s.g, s.b, s.a);\n }\n return \"progid:DXImageTransform.Microsoft.gradient(\" + gradientType + \"startColorstr=\" + hex8String + \",endColorstr=\" + secondHex8String + \")\";\n}\n","import { TinyColor } from './index';\nimport { convertToPercentage } from './util';\n/**\n * If input is an object, force 1 into \"1.0\" to handle ratios properly\n * String input requires \"1.0\" as input, so 1 will be treated as 1\n */\nexport function fromRatio(ratio, opts) {\n var newColor = {\n r: convertToPercentage(ratio.r),\n g: convertToPercentage(ratio.g),\n b: convertToPercentage(ratio.b),\n };\n if (ratio.a !== undefined) {\n newColor.a = Number(ratio.a);\n }\n return new TinyColor(newColor, opts);\n}\n/** old random function */\nexport function legacyRandom() {\n return new TinyColor({\n r: Math.random(),\n g: Math.random(),\n b: Math.random(),\n });\n}\n","// randomColor by David Merfield under the CC0 license\n// https://github.com/davidmerfield/randomColor/\nimport { TinyColor } from './index';\nexport function random(options) {\n if (options === void 0) { options = {}; }\n // Check if we need to generate multiple colors\n if (options.count !== undefined &&\n options.count !== null) {\n var totalColors = options.count;\n var colors = [];\n options.count = undefined;\n while (totalColors > colors.length) {\n // Since we're generating multiple colors,\n // incremement the seed. Otherwise we'd just\n // generate the same color each time...\n options.count = null;\n if (options.seed) {\n options.seed += 1;\n }\n colors.push(random(options));\n }\n options.count = totalColors;\n return colors;\n }\n // First we pick a hue (H)\n var h = pickHue(options.hue, options.seed);\n // Then use H to determine saturation (S)\n var s = pickSaturation(h, options);\n // Then use S and H to determine brightness (B).\n var v = pickBrightness(h, s, options);\n var res = { h: h, s: s, v: v };\n if (options.alpha !== undefined) {\n res.a = options.alpha;\n }\n // Then we return the HSB color in the desired format\n return new TinyColor(res);\n}\nfunction pickHue(hue, seed) {\n var hueRange = getHueRange(hue);\n var res = randomWithin(hueRange, seed);\n // Instead of storing red as two seperate ranges,\n // we group them, using negative numbers\n if (res < 0) {\n res = 360 + res;\n }\n return res;\n}\nfunction pickSaturation(hue, options) {\n if (options.hue === 'monochrome') {\n return 0;\n }\n if (options.luminosity === 'random') {\n return randomWithin([0, 100], options.seed);\n }\n var saturationRange = getColorInfo(hue).saturationRange;\n var sMin = saturationRange[0];\n var sMax = saturationRange[1];\n switch (options.luminosity) {\n case 'bright':\n sMin = 55;\n break;\n case 'dark':\n sMin = sMax - 10;\n break;\n case 'light':\n sMax = 55;\n break;\n default:\n break;\n }\n return randomWithin([sMin, sMax], options.seed);\n}\nfunction pickBrightness(H, S, options) {\n var bMin = getMinimumBrightness(H, S);\n var bMax = 100;\n switch (options.luminosity) {\n case 'dark':\n bMax = bMin + 20;\n break;\n case 'light':\n bMin = (bMax + bMin) / 2;\n break;\n case 'random':\n bMin = 0;\n bMax = 100;\n break;\n default:\n break;\n }\n return randomWithin([bMin, bMax], options.seed);\n}\nfunction getMinimumBrightness(H, S) {\n var lowerBounds = getColorInfo(H).lowerBounds;\n for (var i = 0; i < lowerBounds.length - 1; i++) {\n var s1 = lowerBounds[i][0];\n var v1 = lowerBounds[i][1];\n var s2 = lowerBounds[i + 1][0];\n var v2 = lowerBounds[i + 1][1];\n if (S >= s1 && S <= s2) {\n var m = (v2 - v1) / (s2 - s1);\n var b = v1 - m * s1;\n return m * S + b;\n }\n }\n return 0;\n}\nfunction getHueRange(colorInput) {\n var num = parseInt(colorInput, 10);\n if (!Number.isNaN(num) && num < 360 && num > 0) {\n return [num, num];\n }\n if (typeof colorInput === 'string') {\n var namedColor = bounds.find(function (n) { return n.name === colorInput; });\n if (namedColor) {\n var color = defineColor(namedColor);\n if (color.hueRange) {\n return color.hueRange;\n }\n }\n var parsed = new TinyColor(colorInput);\n if (parsed.isValid) {\n var hue = parsed.toHsv().h;\n return [hue, hue];\n }\n }\n return [0, 360];\n}\nfunction getColorInfo(hue) {\n // Maps red colors to make picking hue easier\n if (hue >= 334 && hue <= 360) {\n hue -= 360;\n }\n for (var _i = 0, bounds_1 = bounds; _i < bounds_1.length; _i++) {\n var bound = bounds_1[_i];\n var color = defineColor(bound);\n if (color.hueRange && hue >= color.hueRange[0] && hue <= color.hueRange[1]) {\n return color;\n }\n }\n throw Error('Color not found');\n}\nfunction randomWithin(range, seed) {\n if (seed === undefined) {\n return Math.floor(range[0] + Math.random() * (range[1] + 1 - range[0]));\n }\n // Seeded random algorithm from http://indiegamr.com/generate-repeatable-random-numbers-in-js/\n var max = range[1] || 1;\n var min = range[0] || 0;\n seed = (seed * 9301 + 49297) % 233280;\n var rnd = seed / 233280.0;\n return Math.floor(min + rnd * (max - min));\n}\nfunction defineColor(bound) {\n var sMin = bound.lowerBounds[0][0];\n var sMax = bound.lowerBounds[bound.lowerBounds.length - 1][0];\n var bMin = bound.lowerBounds[bound.lowerBounds.length - 1][1];\n var bMax = bound.lowerBounds[0][1];\n return {\n name: bound.name,\n hueRange: bound.hueRange,\n lowerBounds: bound.lowerBounds,\n saturationRange: [sMin, sMax],\n brightnessRange: [bMin, bMax],\n };\n}\n/**\n * @hidden\n */\nexport var bounds = [\n {\n name: 'monochrome',\n hueRange: null,\n lowerBounds: [\n [0, 0],\n [100, 0],\n ],\n },\n {\n name: 'red',\n hueRange: [-26, 18],\n lowerBounds: [\n [20, 100],\n [30, 92],\n [40, 89],\n [50, 85],\n [60, 78],\n [70, 70],\n [80, 60],\n [90, 55],\n [100, 50],\n ],\n },\n {\n name: 'orange',\n hueRange: [19, 46],\n lowerBounds: [\n [20, 100],\n [30, 93],\n [40, 88],\n [50, 86],\n [60, 85],\n [70, 70],\n [100, 70],\n ],\n },\n {\n name: 'yellow',\n hueRange: [47, 62],\n lowerBounds: [\n [25, 100],\n [40, 94],\n [50, 89],\n [60, 86],\n [70, 84],\n [80, 82],\n [90, 80],\n [100, 75],\n ],\n },\n {\n name: 'green',\n hueRange: [63, 178],\n lowerBounds: [\n [30, 100],\n [40, 90],\n [50, 85],\n [60, 81],\n [70, 74],\n [80, 64],\n [90, 50],\n [100, 40],\n ],\n },\n {\n name: 'blue',\n hueRange: [179, 257],\n lowerBounds: [\n [20, 100],\n [30, 86],\n [40, 80],\n [50, 74],\n [60, 60],\n [70, 52],\n [80, 44],\n [90, 39],\n [100, 35],\n ],\n },\n {\n name: 'purple',\n hueRange: [258, 282],\n lowerBounds: [\n [20, 100],\n [30, 87],\n [40, 79],\n [50, 70],\n [60, 65],\n [70, 59],\n [80, 52],\n [90, 45],\n [100, 42],\n ],\n },\n {\n name: 'pink',\n hueRange: [283, 334],\n lowerBounds: [\n [20, 100],\n [30, 90],\n [40, 86],\n [60, 84],\n [80, 80],\n [90, 75],\n [100, 73],\n ],\n },\n];\n","import { tinycolor } from './index';\nexport * from './index';\nexport * from './css-color-names';\nexport * from './readability';\nexport * from './to-ms-filter';\nexport * from './from-ratio';\nexport * from './format-input';\nexport * from './random';\nexport * from './interfaces';\nexport * from './conversion';\n// kept for backwards compatability with v1\nexport default tinycolor;\n","import './index.less';","import '../../style/default.less';\nimport './index.less';","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","var _typeof = require(\"../helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _ref2 = require(\"rc-util/lib/ref\");\n\nvar _configProvider = require(\"../config-provider\");\n\nvar _devWarning = _interopRequireDefault(require(\"../_util/devWarning\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar __rest = void 0 && (void 0).__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nvar Typography = function Typography(_a, ref) {\n var customizePrefixCls = _a.prefixCls,\n _a$component = _a.component,\n component = _a$component === void 0 ? 'article' : _a$component,\n className = _a.className,\n ariaLabel = _a['aria-label'],\n setContentRef = _a.setContentRef,\n children = _a.children,\n restProps = __rest(_a, [\"prefixCls\", \"component\", \"className\", 'aria-label', \"setContentRef\", \"children\"]);\n\n var mergedRef = ref;\n\n if (setContentRef) {\n (0, _devWarning[\"default\"])(false, 'Typography', '`setContentRef` is deprecated. Please use `ref` instead.');\n mergedRef = (0, _ref2.composeRef)(ref, setContentRef);\n }\n\n return /*#__PURE__*/React.createElement(_configProvider.ConfigConsumer, null, function (_ref) {\n var getPrefixCls = _ref.getPrefixCls,\n direction = _ref.direction;\n var Component = component;\n var prefixCls = getPrefixCls('typography', customizePrefixCls);\n var componentClassName = (0, _classnames[\"default\"])(prefixCls, (0, _defineProperty2[\"default\"])({}, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), className);\n return /*#__PURE__*/React.createElement(Component, (0, _extends2[\"default\"])({\n className: componentClassName,\n \"aria-label\": ariaLabel,\n ref: mergedRef\n }, restProps), children);\n });\n};\n\nvar RefTypography = /*#__PURE__*/React.forwardRef(Typography);\nRefTypography.displayName = 'Typography'; // es default export should use const instead of let\n\nvar ExportTypography = RefTypography;\nvar _default = ExportTypography;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = useMemo;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nfunction useMemo(getValue, condition, shouldUpdate) {\n var cacheRef = React.useRef({});\n\n if (!('value' in cacheRef.current) || shouldUpdate(cacheRef.current.condition, condition)) {\n cacheRef.current.value = getValue();\n cacheRef.current.condition = condition;\n }\n\n return cacheRef.current.value;\n}","var _typeof = require(\"@babel/runtime/helpers/typeof\")[\"default\"];\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\n\nfunction _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj[\"default\"] = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nmodule.exports = _interopRequireWildcard;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.warning = warning;\nexports.note = note;\nexports.resetWarned = resetWarned;\nexports.call = call;\nexports.warningOnce = warningOnce;\nexports.noteOnce = noteOnce;\nexports.default = void 0;\n\n/* eslint-disable no-console */\nvar warned = {};\n\nfunction warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error(\"Warning: \".concat(message));\n }\n}\n\nfunction note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn(\"Note: \".concat(message));\n }\n}\n\nfunction resetWarned() {\n warned = {};\n}\n\nfunction call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\n\nfunction warningOnce(valid, message) {\n call(warning, valid, message);\n}\n\nfunction noteOnce(valid, message) {\n call(note, valid, message);\n}\n\nvar _default = warningOnce;\n/* eslint-enable */\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _en_US = _interopRequireDefault(require(\"rc-picker/lib/locale/en_US\"));\n\nvar _en_US2 = _interopRequireDefault(require(\"../../time-picker/locale/en_US\"));\n\n// Merge into a locale object\nvar locale = {\n lang: (0, _extends2[\"default\"])({\n placeholder: 'Select date',\n yearPlaceholder: 'Select year',\n quarterPlaceholder: 'Select quarter',\n monthPlaceholder: 'Select month',\n weekPlaceholder: 'Select week',\n rangePlaceholder: ['Start date', 'End date'],\n rangeYearPlaceholder: ['Start year', 'End year'],\n rangeMonthPlaceholder: ['Start month', 'End month'],\n rangeWeekPlaceholder: ['Start week', 'End week']\n }, _en_US[\"default\"]),\n timePickerLocale: (0, _extends2[\"default\"])({}, _en_US2[\"default\"])\n}; // All settings at:\n// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json\n\nvar _default = locale;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar locale = {\n placeholder: 'Select time',\n rangePlaceholder: ['Start time', 'End time']\n};\nvar _default = locale;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = require(\"react\");\n\nvar LocaleContext = /*#__PURE__*/(0, _react.createContext)(undefined);\nvar _default = LocaleContext;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.attachTypeApi = attachTypeApi;\nexports.getInstance = exports[\"default\"] = void 0;\nexports.getKeyThenIncreaseKey = getKeyThenIncreaseKey;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _rcNotification = _interopRequireDefault(require(\"rc-notification\"));\n\nvar _LoadingOutlined = _interopRequireDefault(require(\"@ant-design/icons/LoadingOutlined\"));\n\nvar _ExclamationCircleFilled = _interopRequireDefault(require(\"@ant-design/icons/ExclamationCircleFilled\"));\n\nvar _CloseCircleFilled = _interopRequireDefault(require(\"@ant-design/icons/CloseCircleFilled\"));\n\nvar _CheckCircleFilled = _interopRequireDefault(require(\"@ant-design/icons/CheckCircleFilled\"));\n\nvar _InfoCircleFilled = _interopRequireDefault(require(\"@ant-design/icons/InfoCircleFilled\"));\n\nvar _useMessage = _interopRequireDefault(require(\"./hooks/useMessage\"));\n\nvar _configProvider = _interopRequireWildcard(require(\"../config-provider\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar messageInstance;\nvar defaultDuration = 3;\nvar defaultTop;\nvar key = 1;\nvar localPrefixCls = '';\nvar transitionName = 'move-up';\nvar hasTransitionName = false;\nvar getContainer;\nvar maxCount;\nvar rtl = false;\n\nfunction getKeyThenIncreaseKey() {\n return key++;\n}\n\nfunction setMessageConfig(options) {\n if (options.top !== undefined) {\n defaultTop = options.top;\n messageInstance = null; // delete messageInstance for new defaultTop\n }\n\n if (options.duration !== undefined) {\n defaultDuration = options.duration;\n }\n\n if (options.prefixCls !== undefined) {\n localPrefixCls = options.prefixCls;\n }\n\n if (options.getContainer !== undefined) {\n getContainer = options.getContainer;\n }\n\n if (options.transitionName !== undefined) {\n transitionName = options.transitionName;\n messageInstance = null; // delete messageInstance for new transitionName\n\n hasTransitionName = true;\n }\n\n if (options.maxCount !== undefined) {\n maxCount = options.maxCount;\n messageInstance = null;\n }\n\n if (options.rtl !== undefined) {\n rtl = options.rtl;\n }\n}\n\nfunction getRCNotificationInstance(args, callback) {\n var customizePrefixCls = args.prefixCls,\n getContextPopupContainer = args.getPopupContainer;\n\n var _globalConfig = (0, _configProvider.globalConfig)(),\n getPrefixCls = _globalConfig.getPrefixCls,\n getRootPrefixCls = _globalConfig.getRootPrefixCls,\n getIconPrefixCls = _globalConfig.getIconPrefixCls;\n\n var prefixCls = getPrefixCls('message', customizePrefixCls || localPrefixCls);\n var rootPrefixCls = getRootPrefixCls(args.rootPrefixCls, prefixCls);\n var iconPrefixCls = getIconPrefixCls();\n\n if (messageInstance) {\n callback({\n prefixCls: prefixCls,\n rootPrefixCls: rootPrefixCls,\n iconPrefixCls: iconPrefixCls,\n instance: messageInstance\n });\n return;\n }\n\n var instanceConfig = {\n prefixCls: prefixCls,\n transitionName: hasTransitionName ? transitionName : \"\".concat(rootPrefixCls, \"-\").concat(transitionName),\n style: {\n top: defaultTop\n },\n getContainer: getContainer || getContextPopupContainer,\n maxCount: maxCount\n };\n\n _rcNotification[\"default\"].newInstance(instanceConfig, function (instance) {\n if (messageInstance) {\n callback({\n prefixCls: prefixCls,\n rootPrefixCls: rootPrefixCls,\n iconPrefixCls: iconPrefixCls,\n instance: messageInstance\n });\n return;\n }\n\n messageInstance = instance;\n\n if (process.env.NODE_ENV === 'test') {\n messageInstance.config = instanceConfig;\n }\n\n callback({\n prefixCls: prefixCls,\n rootPrefixCls: rootPrefixCls,\n iconPrefixCls: iconPrefixCls,\n instance: instance\n });\n });\n}\n\nvar typeToIcon = {\n info: _InfoCircleFilled[\"default\"],\n success: _CheckCircleFilled[\"default\"],\n error: _CloseCircleFilled[\"default\"],\n warning: _ExclamationCircleFilled[\"default\"],\n loading: _LoadingOutlined[\"default\"]\n};\n\nfunction getRCNoticeProps(args, prefixCls, iconPrefixCls) {\n var _classNames;\n\n var duration = args.duration !== undefined ? args.duration : defaultDuration;\n var IconComponent = typeToIcon[args.type];\n var messageClass = (0, _classnames[\"default\"])(\"\".concat(prefixCls, \"-custom-content\"), (_classNames = {}, (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-\").concat(args.type), args.type), (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-rtl\"), rtl === true), _classNames));\n return {\n key: args.key,\n duration: duration,\n style: args.style || {},\n className: args.className,\n content: /*#__PURE__*/React.createElement(_configProvider[\"default\"], {\n iconPrefixCls: iconPrefixCls\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: messageClass\n }, args.icon || IconComponent && /*#__PURE__*/React.createElement(IconComponent, null), /*#__PURE__*/React.createElement(\"span\", null, args.content))),\n onClose: args.onClose,\n onClick: args.onClick\n };\n}\n\nfunction notice(args) {\n var target = args.key || getKeyThenIncreaseKey();\n var closePromise = new Promise(function (resolve) {\n var callback = function callback() {\n if (typeof args.onClose === 'function') {\n args.onClose();\n }\n\n return resolve(true);\n };\n\n getRCNotificationInstance(args, function (_ref) {\n var prefixCls = _ref.prefixCls,\n iconPrefixCls = _ref.iconPrefixCls,\n instance = _ref.instance;\n instance.notice(getRCNoticeProps((0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, args), {\n key: target,\n onClose: callback\n }), prefixCls, iconPrefixCls));\n });\n });\n\n var result = function result() {\n if (messageInstance) {\n messageInstance.removeNotice(target);\n }\n };\n\n result.then = function (filled, rejected) {\n return closePromise.then(filled, rejected);\n };\n\n result.promise = closePromise;\n return result;\n}\n\nfunction isArgsProps(content) {\n return Object.prototype.toString.call(content) === '[object Object]' && !!content.content;\n}\n\nvar api = {\n open: notice,\n config: setMessageConfig,\n destroy: function destroy(messageKey) {\n if (messageInstance) {\n if (messageKey) {\n var _messageInstance = messageInstance,\n removeNotice = _messageInstance.removeNotice;\n removeNotice(messageKey);\n } else {\n var _messageInstance2 = messageInstance,\n destroy = _messageInstance2.destroy;\n destroy();\n messageInstance = null;\n }\n }\n }\n};\n\nfunction attachTypeApi(originalApi, type) {\n originalApi[type] = function (content, duration, onClose) {\n if (isArgsProps(content)) {\n return originalApi.open((0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, content), {\n type: type\n }));\n }\n\n if (typeof duration === 'function') {\n onClose = duration;\n duration = undefined;\n }\n\n return originalApi.open({\n content: content,\n duration: duration,\n type: type,\n onClose: onClose\n });\n };\n}\n\n['success', 'info', 'warning', 'error', 'loading'].forEach(function (type) {\n return attachTypeApi(api, type);\n});\napi.warn = api.warning;\napi.useMessage = (0, _useMessage[\"default\"])(getRCNotificationInstance, getRCNoticeProps);\n/** @private test Only function. Not work on production */\n\nvar getInstance = function getInstance() {\n return process.env.NODE_ENV === 'test' ? messageInstance : null;\n};\n\nexports.getInstance = getInstance;\nvar _default = api;\nexports[\"default\"] = _default;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar _utils = require(\"../utils\");\n\nvar _excluded = [\"icon\", \"className\", \"onClick\", \"style\", \"primaryColor\", \"secondaryColor\"];\nvar twoToneColorPalette = {\n primaryColor: '#333',\n secondaryColor: '#E6E6E6',\n calculated: false\n};\n\nfunction setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || (0, _utils.getSecondaryColor)(primaryColor);\n twoToneColorPalette.calculated = !!secondaryColor;\n}\n\nfunction getTwoToneColors() {\n return (0, _objectSpread2.default)({}, twoToneColorPalette);\n}\n\nvar IconBase = function IconBase(props) {\n var icon = props.icon,\n className = props.className,\n onClick = props.onClick,\n style = props.style,\n primaryColor = props.primaryColor,\n secondaryColor = props.secondaryColor,\n restProps = (0, _objectWithoutProperties2.default)(props, _excluded);\n var colors = twoToneColorPalette;\n\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || (0, _utils.getSecondaryColor)(primaryColor)\n };\n }\n\n (0, _utils.useInsertStyles)();\n (0, _utils.warning)((0, _utils.isIconDefinition)(icon), \"icon should be icon definiton, but got \".concat(icon));\n\n if (!(0, _utils.isIconDefinition)(icon)) {\n return null;\n }\n\n var target = icon;\n\n if (target && typeof target.icon === 'function') {\n target = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, target), {}, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n\n return (0, _utils.generate)(target.icon, \"svg-\".concat(target.name), (0, _objectSpread2.default)({\n className: className,\n onClick: onClick,\n style: style,\n 'data-icon': target.name,\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true'\n }, restProps));\n};\n\nIconBase.displayName = 'IconReact';\nIconBase.getTwoToneColors = getTwoToneColors;\nIconBase.setTwoToneColors = setTwoToneColors;\nvar _default = IconBase;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.injectCSS = injectCSS;\nexports.updateCSS = updateCSS;\n\nvar _canUseDom = _interopRequireDefault(require(\"./canUseDom\"));\n\nvar MARK_KEY = \"rc-util-key\";\n\nfunction getContainer(option) {\n if (option.attachTo) {\n return option.attachTo;\n }\n\n var head = document.querySelector('head');\n return head || document.body;\n}\n\nfunction injectCSS(css) {\n var _option$csp;\n\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!(0, _canUseDom.default)()) {\n return null;\n }\n\n var styleNode = document.createElement('style');\n\n if ((_option$csp = option.csp) === null || _option$csp === void 0 ? void 0 : _option$csp.nonce) {\n var _option$csp2;\n\n styleNode.nonce = (_option$csp2 = option.csp) === null || _option$csp2 === void 0 ? void 0 : _option$csp2.nonce;\n }\n\n styleNode.innerHTML = css;\n var container = getContainer(option);\n var firstChild = container.firstChild;\n\n if (option.prepend && container.prepend) {\n // Use `prepend` first\n container.prepend(styleNode);\n } else if (option.prepend && firstChild) {\n // Fallback to `insertBefore` like IE not support `prepend`\n container.insertBefore(styleNode, firstChild);\n } else {\n container.appendChild(styleNode);\n }\n\n return styleNode;\n}\n\nvar containerCache = new Map();\n\nfunction updateCSS(css, key) {\n var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var container = getContainer(option); // Get real parent\n\n if (!containerCache.has(container)) {\n var placeholderStyle = injectCSS('', option);\n var parentNode = placeholderStyle.parentNode;\n containerCache.set(container, parentNode);\n parentNode.removeChild(placeholderStyle);\n }\n\n var existNode = Array.from(containerCache.get(container).children).find(function (node) {\n return node.tagName === 'STYLE' && node[MARK_KEY] === key;\n });\n\n if (existNode) {\n var _option$csp3, _option$csp4;\n\n if (((_option$csp3 = option.csp) === null || _option$csp3 === void 0 ? void 0 : _option$csp3.nonce) && existNode.nonce !== ((_option$csp4 = option.csp) === null || _option$csp4 === void 0 ? void 0 : _option$csp4.nonce)) {\n var _option$csp5;\n\n existNode.nonce = (_option$csp5 = option.csp) === null || _option$csp5 === void 0 ? void 0 : _option$csp5.nonce;\n }\n\n if (existNode.innerHTML !== css) {\n existNode.innerHTML = css;\n }\n\n return existNode;\n }\n\n var newNode = injectCSS(css, option);\n newNode[MARK_KEY] = key;\n return newNode;\n}","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _CloseCircleFilled = _interopRequireDefault(require('./lib/icons/CloseCircleFilled'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _CloseCircleFilled;\n exports.default = _default;\n module.exports = _default;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = useNotification;\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _Notice = _interopRequireDefault(require(\"./Notice\"));\n\nfunction useNotification(notificationInstance) {\n var createdRef = React.useRef({});\n\n var _React$useState = React.useState([]),\n _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),\n elements = _React$useState2[0],\n setElements = _React$useState2[1];\n\n function notify(noticeProps) {\n var firstMount = true;\n notificationInstance.add(noticeProps, function (div, props) {\n var key = props.key;\n\n if (div && (!createdRef.current[key] || firstMount)) {\n var noticeEle = /*#__PURE__*/React.createElement(_Notice.default, (0, _extends2.default)({}, props, {\n holder: div\n }));\n createdRef.current[key] = noticeEle;\n setElements(function (originElements) {\n var index = originElements.findIndex(function (ele) {\n return ele.key === props.key;\n });\n\n if (index === -1) {\n return [].concat((0, _toConsumableArray2.default)(originElements), [noticeEle]);\n }\n\n var cloneList = (0, _toConsumableArray2.default)(originElements);\n cloneList[index] = noticeEle;\n return cloneList;\n });\n }\n\n firstMount = false;\n });\n }\n\n return [notify, /*#__PURE__*/React.createElement(React.Fragment, null, elements)];\n}","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = toArray;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactIs = require(\"react-is\");\n\nfunction toArray(children) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var ret = [];\n\n _react.default.Children.forEach(children, function (child) {\n if ((child === undefined || child === null) && !option.keepEmpty) {\n return;\n }\n\n if (Array.isArray(child)) {\n ret = ret.concat(toArray(child));\n } else if ((0, _reactIs.isFragment)(child) && child.props) {\n ret = ret.concat(toArray(child.props.children, option));\n } else {\n ret.push(child);\n }\n });\n\n return ret;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\nvar KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n\n /**\n * TAB\n */\n TAB: 9,\n\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12,\n\n /**\n * ENTER\n */\n ENTER: 13,\n\n /**\n * SHIFT\n */\n SHIFT: 16,\n\n /**\n * CTRL\n */\n CTRL: 17,\n\n /**\n * ALT\n */\n ALT: 18,\n\n /**\n * PAUSE\n */\n PAUSE: 19,\n\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n\n /**\n * ESC\n */\n ESC: 27,\n\n /**\n * SPACE\n */\n SPACE: 32,\n\n /**\n * PAGE_UP\n */\n PAGE_UP: 33,\n\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34,\n\n /**\n * END\n */\n END: 35,\n\n /**\n * HOME\n */\n HOME: 36,\n\n /**\n * LEFT\n */\n LEFT: 37,\n\n /**\n * UP\n */\n UP: 38,\n\n /**\n * RIGHT\n */\n RIGHT: 39,\n\n /**\n * DOWN\n */\n DOWN: 40,\n\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n\n /**\n * INSERT\n */\n INSERT: 45,\n\n /**\n * DELETE\n */\n DELETE: 46,\n\n /**\n * ZERO\n */\n ZERO: 48,\n\n /**\n * ONE\n */\n ONE: 49,\n\n /**\n * TWO\n */\n TWO: 50,\n\n /**\n * THREE\n */\n THREE: 51,\n\n /**\n * FOUR\n */\n FOUR: 52,\n\n /**\n * FIVE\n */\n FIVE: 53,\n\n /**\n * SIX\n */\n SIX: 54,\n\n /**\n * SEVEN\n */\n SEVEN: 55,\n\n /**\n * EIGHT\n */\n EIGHT: 56,\n\n /**\n * NINE\n */\n NINE: 57,\n\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63,\n\n /**\n * A\n */\n A: 65,\n\n /**\n * B\n */\n B: 66,\n\n /**\n * C\n */\n C: 67,\n\n /**\n * D\n */\n D: 68,\n\n /**\n * E\n */\n E: 69,\n\n /**\n * F\n */\n F: 70,\n\n /**\n * G\n */\n G: 71,\n\n /**\n * H\n */\n H: 72,\n\n /**\n * I\n */\n I: 73,\n\n /**\n * J\n */\n J: 74,\n\n /**\n * K\n */\n K: 75,\n\n /**\n * L\n */\n L: 76,\n\n /**\n * M\n */\n M: 77,\n\n /**\n * N\n */\n N: 78,\n\n /**\n * O\n */\n O: 79,\n\n /**\n * P\n */\n P: 80,\n\n /**\n * Q\n */\n Q: 81,\n\n /**\n * R\n */\n R: 82,\n\n /**\n * S\n */\n S: 83,\n\n /**\n * T\n */\n T: 84,\n\n /**\n * U\n */\n U: 85,\n\n /**\n * V\n */\n V: 86,\n\n /**\n * W\n */\n W: 87,\n\n /**\n * X\n */\n X: 88,\n\n /**\n * Y\n */\n Y: 89,\n\n /**\n * Z\n */\n Z: 90,\n\n /**\n * META\n */\n META: 91,\n\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n\n /**\n * F1\n */\n F1: 112,\n\n /**\n * F2\n */\n F2: 113,\n\n /**\n * F3\n */\n F3: 114,\n\n /**\n * F4\n */\n F4: 115,\n\n /**\n * F5\n */\n F5: 116,\n\n /**\n * F6\n */\n F6: 117,\n\n /**\n * F7\n */\n F7: 118,\n\n /**\n * F8\n */\n F8: 119,\n\n /**\n * F9\n */\n F9: 120,\n\n /**\n * F10\n */\n F10: 121,\n\n /**\n * F11\n */\n F11: 122,\n\n /**\n * F12\n */\n F12: 123,\n\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n\n /**\n * SEMICOLON\n */\n SEMICOLON: 186,\n\n /**\n * DASH\n */\n DASH: 189,\n\n /**\n * EQUALS\n */\n EQUALS: 187,\n\n /**\n * COMMA\n */\n COMMA: 188,\n\n /**\n * PERIOD\n */\n PERIOD: 190,\n\n /**\n * SLASH\n */\n SLASH: 191,\n\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192,\n\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222,\n\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219,\n\n /**\n * BACKSLASH\n */\n BACKSLASH: 220,\n\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221,\n\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224,\n\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n // ======================== Function ========================\n\n /**\n * whether text and modified key is entered at the same time.\n */\n isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e) {\n var keyCode = e.keyCode;\n\n if (e.altKey && !e.ctrlKey || e.metaKey || keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\n return false;\n } // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n\n\n switch (keyCode) {\n case KeyCode.ALT:\n case KeyCode.CAPS_LOCK:\n case KeyCode.CONTEXT_MENU:\n case KeyCode.CTRL:\n case KeyCode.DOWN:\n case KeyCode.END:\n case KeyCode.ESC:\n case KeyCode.HOME:\n case KeyCode.INSERT:\n case KeyCode.LEFT:\n case KeyCode.MAC_FF_META:\n case KeyCode.META:\n case KeyCode.NUMLOCK:\n case KeyCode.NUM_CENTER:\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAUSE:\n case KeyCode.PRINT_SCREEN:\n case KeyCode.RIGHT:\n case KeyCode.SHIFT:\n case KeyCode.UP:\n case KeyCode.WIN_KEY:\n case KeyCode.WIN_KEY_RIGHT:\n return false;\n\n default:\n return true;\n }\n },\n\n /**\n * whether character is entered.\n */\n isCharacterKey: function isCharacterKey(keyCode) {\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n return true;\n }\n\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n } // Safari sends zero key code for non-latin characters.\n\n\n if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\n\n switch (keyCode) {\n case KeyCode.SPACE:\n case KeyCode.QUESTION_MARK:\n case KeyCode.NUM_PLUS:\n case KeyCode.NUM_MINUS:\n case KeyCode.NUM_PERIOD:\n case KeyCode.NUM_DIVISION:\n case KeyCode.SEMICOLON:\n case KeyCode.DASH:\n case KeyCode.EQUALS:\n case KeyCode.COMMA:\n case KeyCode.PERIOD:\n case KeyCode.SLASH:\n case KeyCode.APOSTROPHE:\n case KeyCode.SINGLE_QUOTE:\n case KeyCode.OPEN_SQUARE_BRACKET:\n case KeyCode.BACKSLASH:\n case KeyCode.CLOSE_SQUARE_BRACKET:\n return true;\n\n default:\n return false;\n }\n }\n};\nvar _default = KeyCode;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = useControlledState;\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nfunction useControlledState(defaultStateValue, option) {\n var _ref = option || {},\n defaultValue = _ref.defaultValue,\n value = _ref.value,\n onChange = _ref.onChange,\n postState = _ref.postState;\n\n var _React$useState = React.useState(function () {\n if (value !== undefined) {\n return value;\n }\n\n if (defaultValue !== undefined) {\n return typeof defaultValue === 'function' ? defaultValue() : defaultValue;\n }\n\n return typeof defaultStateValue === 'function' ? defaultStateValue() : defaultStateValue;\n }),\n _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),\n innerValue = _React$useState2[0],\n setInnerValue = _React$useState2[1];\n\n var mergedValue = value !== undefined ? value : innerValue;\n\n if (postState) {\n mergedValue = postState(mergedValue);\n }\n\n function triggerChange(newValue) {\n setInnerValue(newValue);\n\n if (mergedValue !== newValue && onChange) {\n onChange(newValue, mergedValue);\n }\n } // Effect of reset value to `undefined`\n\n\n var firstRenderRef = React.useRef(true);\n React.useEffect(function () {\n if (firstRenderRef.current) {\n firstRenderRef.current = false;\n return;\n }\n\n if (value === undefined) {\n setInnerValue(value);\n }\n }, [value]);\n return [mergedValue, triggerChange];\n}","\"use strict\";\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.cloneElement = cloneElement;\nexports.isValidElement = void 0;\nexports.replaceElement = replaceElement;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar isValidElement = React.isValidElement;\nexports.isValidElement = isValidElement;\n\nfunction replaceElement(element, replacement, props) {\n if (!isValidElement(element)) return replacement;\n return /*#__PURE__*/React.cloneElement(element, typeof props === 'function' ? props(element.props || {}) : props);\n}\n\nfunction cloneElement(element, props) {\n return replaceElement(element, element, props);\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _createSuper2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createSuper\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _CloseCircleFilled = _interopRequireDefault(require(\"@ant-design/icons/CloseCircleFilled\"));\n\nvar _type = require(\"../_util/type\");\n\nvar _reactNode = require(\"../_util/reactNode\");\n\nvar _utils = require(\"./utils\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar ClearableInputType = (0, _type.tuple)('text', 'input');\n\nfunction hasAddon(props) {\n return !!(props.addonBefore || props.addonAfter);\n}\n\nvar ClearableLabeledInput = /*#__PURE__*/function (_React$Component) {\n (0, _inherits2[\"default\"])(ClearableLabeledInput, _React$Component);\n\n var _super = (0, _createSuper2[\"default\"])(ClearableLabeledInput);\n\n function ClearableLabeledInput() {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, ClearableLabeledInput);\n _this = _super.apply(this, arguments);\n /** @private Do Not use out of this class. We do not promise this is always keep. */\n\n _this.containerRef = /*#__PURE__*/React.createRef();\n\n _this.onInputMouseUp = function (e) {\n var _a;\n\n if ((_a = _this.containerRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target)) {\n var triggerFocus = _this.props.triggerFocus;\n triggerFocus === null || triggerFocus === void 0 ? void 0 : triggerFocus();\n }\n };\n\n return _this;\n }\n\n (0, _createClass2[\"default\"])(ClearableLabeledInput, [{\n key: \"renderClearIcon\",\n value: function renderClearIcon(prefixCls) {\n var _classNames;\n\n var _this$props = this.props,\n allowClear = _this$props.allowClear,\n value = _this$props.value,\n disabled = _this$props.disabled,\n readOnly = _this$props.readOnly,\n handleReset = _this$props.handleReset,\n suffix = _this$props.suffix;\n\n if (!allowClear) {\n return null;\n }\n\n var needClear = !disabled && !readOnly && value;\n var className = \"\".concat(prefixCls, \"-clear-icon\");\n return /*#__PURE__*/React.createElement(_CloseCircleFilled[\"default\"], {\n onClick: handleReset // Do not trigger onBlur when clear input\n // https://github.com/ant-design/ant-design/issues/31200\n ,\n onMouseDown: function onMouseDown(e) {\n return e.preventDefault();\n },\n className: (0, _classnames[\"default\"])((_classNames = {}, (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(className, \"-hidden\"), !needClear), (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(className, \"-has-suffix\"), !!suffix), _classNames), className),\n role: \"button\"\n });\n }\n }, {\n key: \"renderSuffix\",\n value: function renderSuffix(prefixCls) {\n var _this$props2 = this.props,\n suffix = _this$props2.suffix,\n allowClear = _this$props2.allowClear;\n\n if (suffix || allowClear) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-suffix\")\n }, this.renderClearIcon(prefixCls), suffix);\n }\n\n return null;\n }\n }, {\n key: \"renderLabeledIcon\",\n value: function renderLabeledIcon(prefixCls, element) {\n var _classNames2;\n\n var _this$props3 = this.props,\n focused = _this$props3.focused,\n value = _this$props3.value,\n prefix = _this$props3.prefix,\n className = _this$props3.className,\n size = _this$props3.size,\n suffix = _this$props3.suffix,\n disabled = _this$props3.disabled,\n allowClear = _this$props3.allowClear,\n direction = _this$props3.direction,\n style = _this$props3.style,\n readOnly = _this$props3.readOnly,\n bordered = _this$props3.bordered;\n var suffixNode = this.renderSuffix(prefixCls);\n\n if (!(0, _utils.hasPrefixSuffix)(this.props)) {\n return (0, _reactNode.cloneElement)(element, {\n value: value\n });\n }\n\n var prefixNode = prefix ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-prefix\")\n }, prefix) : null;\n var affixWrapperCls = (0, _classnames[\"default\"])(\"\".concat(prefixCls, \"-affix-wrapper\"), (_classNames2 = {}, (0, _defineProperty2[\"default\"])(_classNames2, \"\".concat(prefixCls, \"-affix-wrapper-focused\"), focused), (0, _defineProperty2[\"default\"])(_classNames2, \"\".concat(prefixCls, \"-affix-wrapper-disabled\"), disabled), (0, _defineProperty2[\"default\"])(_classNames2, \"\".concat(prefixCls, \"-affix-wrapper-sm\"), size === 'small'), (0, _defineProperty2[\"default\"])(_classNames2, \"\".concat(prefixCls, \"-affix-wrapper-lg\"), size === 'large'), (0, _defineProperty2[\"default\"])(_classNames2, \"\".concat(prefixCls, \"-affix-wrapper-input-with-clear-btn\"), suffix && allowClear && value), (0, _defineProperty2[\"default\"])(_classNames2, \"\".concat(prefixCls, \"-affix-wrapper-rtl\"), direction === 'rtl'), (0, _defineProperty2[\"default\"])(_classNames2, \"\".concat(prefixCls, \"-affix-wrapper-readonly\"), readOnly), (0, _defineProperty2[\"default\"])(_classNames2, \"\".concat(prefixCls, \"-affix-wrapper-borderless\"), !bordered), (0, _defineProperty2[\"default\"])(_classNames2, \"\".concat(className), !hasAddon(this.props) && className), _classNames2));\n return /*#__PURE__*/React.createElement(\"span\", {\n ref: this.containerRef,\n className: affixWrapperCls,\n style: style,\n onMouseUp: this.onInputMouseUp\n }, prefixNode, (0, _reactNode.cloneElement)(element, {\n style: null,\n value: value,\n className: (0, _utils.getInputClassName)(prefixCls, bordered, size, disabled)\n }), suffixNode);\n }\n }, {\n key: \"renderInputWithLabel\",\n value: function renderInputWithLabel(prefixCls, labeledElement) {\n var _classNames4;\n\n var _this$props4 = this.props,\n addonBefore = _this$props4.addonBefore,\n addonAfter = _this$props4.addonAfter,\n style = _this$props4.style,\n size = _this$props4.size,\n className = _this$props4.className,\n direction = _this$props4.direction; // Not wrap when there is not addons\n\n if (!hasAddon(this.props)) {\n return labeledElement;\n }\n\n var wrapperClassName = \"\".concat(prefixCls, \"-group\");\n var addonClassName = \"\".concat(wrapperClassName, \"-addon\");\n var addonBeforeNode = addonBefore ? /*#__PURE__*/React.createElement(\"span\", {\n className: addonClassName\n }, addonBefore) : null;\n var addonAfterNode = addonAfter ? /*#__PURE__*/React.createElement(\"span\", {\n className: addonClassName\n }, addonAfter) : null;\n var mergedWrapperClassName = (0, _classnames[\"default\"])(\"\".concat(prefixCls, \"-wrapper\"), wrapperClassName, (0, _defineProperty2[\"default\"])({}, \"\".concat(wrapperClassName, \"-rtl\"), direction === 'rtl'));\n var mergedGroupClassName = (0, _classnames[\"default\"])(\"\".concat(prefixCls, \"-group-wrapper\"), (_classNames4 = {}, (0, _defineProperty2[\"default\"])(_classNames4, \"\".concat(prefixCls, \"-group-wrapper-sm\"), size === 'small'), (0, _defineProperty2[\"default\"])(_classNames4, \"\".concat(prefixCls, \"-group-wrapper-lg\"), size === 'large'), (0, _defineProperty2[\"default\"])(_classNames4, \"\".concat(prefixCls, \"-group-wrapper-rtl\"), direction === 'rtl'), _classNames4), className); // Need another wrapper for changing display:table to display:inline-block\n // and put style prop in wrapper\n\n return /*#__PURE__*/React.createElement(\"span\", {\n className: mergedGroupClassName,\n style: style\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: mergedWrapperClassName\n }, addonBeforeNode, (0, _reactNode.cloneElement)(labeledElement, {\n style: null\n }), addonAfterNode));\n }\n }, {\n key: \"renderTextAreaWithClearIcon\",\n value: function renderTextAreaWithClearIcon(prefixCls, element) {\n var _classNames5;\n\n var _this$props5 = this.props,\n value = _this$props5.value,\n allowClear = _this$props5.allowClear,\n className = _this$props5.className,\n style = _this$props5.style,\n direction = _this$props5.direction,\n bordered = _this$props5.bordered;\n\n if (!allowClear) {\n return (0, _reactNode.cloneElement)(element, {\n value: value\n });\n }\n\n var affixWrapperCls = (0, _classnames[\"default\"])(\"\".concat(prefixCls, \"-affix-wrapper\"), \"\".concat(prefixCls, \"-affix-wrapper-textarea-with-clear-btn\"), (_classNames5 = {}, (0, _defineProperty2[\"default\"])(_classNames5, \"\".concat(prefixCls, \"-affix-wrapper-rtl\"), direction === 'rtl'), (0, _defineProperty2[\"default\"])(_classNames5, \"\".concat(prefixCls, \"-affix-wrapper-borderless\"), !bordered), (0, _defineProperty2[\"default\"])(_classNames5, \"\".concat(className), !hasAddon(this.props) && className), _classNames5));\n return /*#__PURE__*/React.createElement(\"span\", {\n className: affixWrapperCls,\n style: style\n }, (0, _reactNode.cloneElement)(element, {\n style: null,\n value: value\n }), this.renderClearIcon(prefixCls));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props6 = this.props,\n prefixCls = _this$props6.prefixCls,\n inputType = _this$props6.inputType,\n element = _this$props6.element;\n\n if (inputType === ClearableInputType[0]) {\n return this.renderTextAreaWithClearIcon(prefixCls, element);\n }\n\n return this.renderInputWithLabel(prefixCls, this.renderLabeledIcon(prefixCls, element));\n }\n }]);\n return ClearableLabeledInput;\n}(React.Component);\n\nvar _default = ClearableLabeledInput;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getInputClassName = getInputClassName;\nexports.hasPrefixSuffix = hasPrefixSuffix;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nfunction getInputClassName(prefixCls, bordered, size, disabled, direction) {\n var _classNames;\n\n return (0, _classnames[\"default\"])(prefixCls, (_classNames = {}, (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-sm\"), size === 'small'), (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-lg\"), size === 'large'), (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-disabled\"), disabled), (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-borderless\"), !bordered), _classNames));\n}\n\nfunction hasPrefixSuffix(props) {\n return !!(props.prefix || props.suffix || props.allowClear);\n}","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//! Sigurd Gartmann : https://github.com/sigurdga\n//! Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var nb = moment.defineLocale('nb', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'noen sekunder',\n ss: '%d sekunder',\n m: 'ett minutt',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dager',\n M: 'en måned',\n MM: '%d måneder',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nb;\n\n})));\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var camel2hyphen = function (str) {\n return str\n .replace(/[A-Z]/g, function (match) {\n return '-' + match.toLowerCase();\n })\n .toLowerCase();\n};\n\nmodule.exports = camel2hyphen;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nfunction generateQuery(params) {\n return Object.entries(params).filter(function (_ref) {\n var _ref2 = (0, _slicedToArray2[\"default\"])(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n\n return value || value === false;\n }).map(function (_ref3) {\n var _ref4 = (0, _slicedToArray2[\"default\"])(_ref3, 2),\n key = _ref4[0],\n value = _ref4[1];\n\n return \"\".concat(encodeURIComponent(key), \"=\").concat(encodeURIComponent(value));\n }).join(\"&\");\n}\n\n;\nmodule.exports = {\n generateQuery: generateQuery\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.fillRef = fillRef;\nexports.composeRef = composeRef;\nexports.useComposeRef = useComposeRef;\nexports.supportRef = supportRef;\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\n\nvar _reactIs = require(\"react-is\");\n\nvar _useMemo = _interopRequireDefault(require(\"./hooks/useMemo\"));\n\nfunction fillRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else if ((0, _typeof2.default)(ref) === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n}\n/**\n * Merge refs into one ref function to support ref passing.\n */\n\n\nfunction composeRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n var refList = refs.filter(function (ref) {\n return ref;\n });\n\n if (refList.length <= 1) {\n return refList[0];\n }\n\n return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\n });\n };\n}\n\nfunction useComposeRef() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n }\n\n return (0, _useMemo.default)(function () {\n return composeRef.apply(void 0, refs);\n }, refs, function (prev, next) {\n return prev.length === next.length && prev.every(function (ref, i) {\n return ref === next[i];\n });\n });\n}\n\nfunction supportRef(nodeOrComponent) {\n var _type$prototype, _nodeOrComponent$prot;\n\n var type = (0, _reactIs.isMemo)(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type; // Function component node\n\n if (typeof type === 'function' && !((_type$prototype = type.prototype) === null || _type$prototype === void 0 ? void 0 : _type$prototype.render)) {\n return false;\n } // Class component\n\n\n if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) === null || _nodeOrComponent$prot === void 0 ? void 0 : _nodeOrComponent$prot.render)) {\n return false;\n }\n\n return true;\n}\n/* eslint-enable */","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.ANT_MARK = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _createSuper2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createSuper\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _memoizeOne = _interopRequireDefault(require(\"memoize-one\"));\n\nvar _devWarning = _interopRequireDefault(require(\"../_util/devWarning\"));\n\nvar _locale = require(\"../modal/locale\");\n\nvar _context = _interopRequireDefault(require(\"./context\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar ANT_MARK = 'internalMark';\nexports.ANT_MARK = ANT_MARK;\n\nvar LocaleProvider = /*#__PURE__*/function (_React$Component) {\n (0, _inherits2[\"default\"])(LocaleProvider, _React$Component);\n\n var _super = (0, _createSuper2[\"default\"])(LocaleProvider);\n\n function LocaleProvider(props) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, LocaleProvider);\n _this = _super.call(this, props);\n (0, _locale.changeConfirmLocale)(props.locale && props.locale.Modal);\n (0, _devWarning[\"default\"])(props._ANT_MARK__ === ANT_MARK, 'LocaleProvider', '`LocaleProvider` is deprecated. Please use `locale` with `ConfigProvider` instead: http://u.ant.design/locale');\n return _this;\n }\n\n (0, _createClass2[\"default\"])(LocaleProvider, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n (0, _locale.changeConfirmLocale)(this.props.locale && this.props.locale.Modal);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var locale = this.props.locale;\n\n if (prevProps.locale !== locale) {\n (0, _locale.changeConfirmLocale)(locale && locale.Modal);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n (0, _locale.changeConfirmLocale)();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n locale = _this$props.locale,\n children = _this$props.children;\n var contextValue = (0, _memoizeOne[\"default\"])(function (localeValue) {\n return (0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, localeValue), {\n exist: true\n });\n })(locale);\n return /*#__PURE__*/React.createElement(_context[\"default\"].Provider, {\n value: contextValue\n }, children);\n }\n }]);\n return LocaleProvider;\n}(React.Component);\n\nexports[\"default\"] = LocaleProvider;\nLocaleProvider.defaultProps = {\n locale: {}\n};","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var _typeof = require(\"@babel/runtime/helpers/typeof\")[\"default\"];\n\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.changeConfirmLocale = changeConfirmLocale;\nexports.getConfirmLocale = getConfirmLocale;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _default = _interopRequireDefault(require(\"../locale/default\"));\n\nvar runtimeLocale = (0, _extends2[\"default\"])({}, _default[\"default\"].Modal);\n\nfunction changeConfirmLocale(newLocale) {\n if (newLocale) {\n runtimeLocale = (0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, runtimeLocale), newLocale);\n } else {\n runtimeLocale = (0, _extends2[\"default\"])({}, _default[\"default\"].Modal);\n }\n}\n\nfunction getConfirmLocale() {\n return runtimeLocale;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = {\n // Options.jsx\n items_per_page: '/ page',\n jump_to: 'Go to',\n jump_to_confirm: 'confirm',\n page: 'Page',\n // Pagination.jsx\n prev_page: 'Previous Page',\n next_page: 'Next Page',\n prev_5: 'Previous 5 Pages',\n next_5: 'Next 5 Pages',\n prev_3: 'Previous 3 Pages',\n next_3: 'Next 3 Pages',\n page_size: 'Page Size'\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar locale = {\n locale: 'en_US',\n today: 'Today',\n now: 'Now',\n backToToday: 'Back to today',\n ok: 'Ok',\n clear: 'Clear',\n month: 'Month',\n year: 'Year',\n timeSelect: 'select time',\n dateSelect: 'select date',\n weekSelect: 'Choose a week',\n monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Previous month (PageUp)',\n nextMonth: 'Next month (PageDown)',\n previousYear: 'Last year (Control + left)',\n nextYear: 'Next year (Control + right)',\n previousDecade: 'Last decade',\n nextDecade: 'Next decade',\n previousCentury: 'Last century',\n nextCentury: 'Next century'\n};\nvar _default = locale;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _en_US = _interopRequireDefault(require(\"../../date-picker/locale/en_US\"));\n\nvar _default = _en_US[\"default\"];\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _default2 = _interopRequireDefault(require(\"../locale/default\"));\n\nvar _default = _default2[\"default\"];\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ConfigContext = exports.ConfigConsumer = void 0;\nexports.withConfigConsumer = withConfigConsumer;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _renderEmpty = _interopRequireDefault(require(\"./renderEmpty\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar defaultGetPrefixCls = function defaultGetPrefixCls(suffixCls, customizePrefixCls) {\n if (customizePrefixCls) return customizePrefixCls;\n return suffixCls ? \"ant-\".concat(suffixCls) : 'ant';\n};\n\nvar ConfigContext = /*#__PURE__*/React.createContext({\n // We provide a default function for Context without provider\n getPrefixCls: defaultGetPrefixCls,\n renderEmpty: _renderEmpty[\"default\"]\n});\nexports.ConfigContext = ConfigContext;\nvar ConfigConsumer = ConfigContext.Consumer;\n/** @deprecated Use hooks instead. This is a legacy function */\n\nexports.ConfigConsumer = ConfigConsumer;\n\nfunction withConfigConsumer(config) {\n return function withConfigConsumerFunc(Component) {\n // Wrap with ConfigConsumer. Since we need compatible with react 15, be care when using ref methods\n var SFC = function SFC(props) {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, function (configProps) {\n var basicPrefixCls = config.prefixCls;\n var getPrefixCls = configProps.getPrefixCls;\n var customizePrefixCls = props.prefixCls;\n var prefixCls = getPrefixCls(basicPrefixCls, customizePrefixCls);\n return /*#__PURE__*/React.createElement(Component, (0, _extends2[\"default\"])({}, configProps, props, {\n prefixCls: prefixCls\n }));\n });\n };\n\n var cons = Component.constructor;\n var name = cons && cons.displayName || Component.name || 'Component';\n SFC.displayName = \"withConfigConsumer(\".concat(name, \")\");\n return SFC;\n };\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _empty = _interopRequireDefault(require(\"../empty\"));\n\nvar _ = require(\".\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar renderEmpty = function renderEmpty(componentName) {\n return /*#__PURE__*/React.createElement(_.ConfigConsumer, null, function (_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n var prefix = getPrefixCls('empty');\n\n switch (componentName) {\n case 'Table':\n case 'List':\n return /*#__PURE__*/React.createElement(_empty[\"default\"], {\n image: _empty[\"default\"].PRESENTED_IMAGE_SIMPLE\n });\n\n case 'Select':\n case 'TreeSelect':\n case 'Cascader':\n case 'Transfer':\n case 'Mentions':\n return /*#__PURE__*/React.createElement(_empty[\"default\"], {\n image: _empty[\"default\"].PRESENTED_IMAGE_SIMPLE,\n className: \"\".concat(prefix, \"-small\")\n });\n\n default:\n return /*#__PURE__*/React.createElement(_empty[\"default\"], null);\n }\n });\n};\n\nvar _default = renderEmpty;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _configProvider = require(\"../config-provider\");\n\nvar _LocaleReceiver = _interopRequireDefault(require(\"../locale-provider/LocaleReceiver\"));\n\nvar _empty = _interopRequireDefault(require(\"./empty\"));\n\nvar _simple = _interopRequireDefault(require(\"./simple\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar __rest = void 0 && (void 0).__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nvar defaultEmptyImg = /*#__PURE__*/React.createElement(_empty[\"default\"], null);\nvar simpleEmptyImg = /*#__PURE__*/React.createElement(_simple[\"default\"], null);\n\nvar Empty = function Empty(_a) {\n var className = _a.className,\n customizePrefixCls = _a.prefixCls,\n _a$image = _a.image,\n image = _a$image === void 0 ? defaultEmptyImg : _a$image,\n description = _a.description,\n children = _a.children,\n imageStyle = _a.imageStyle,\n restProps = __rest(_a, [\"className\", \"prefixCls\", \"image\", \"description\", \"children\", \"imageStyle\"]);\n\n var _React$useContext = React.useContext(_configProvider.ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n return /*#__PURE__*/React.createElement(_LocaleReceiver[\"default\"], {\n componentName: \"Empty\"\n }, function (locale) {\n var _classNames;\n\n var prefixCls = getPrefixCls('empty', customizePrefixCls);\n var des = typeof description !== 'undefined' ? description : locale.description;\n var alt = typeof des === 'string' ? des : 'empty';\n var imageNode = null;\n\n if (typeof image === 'string') {\n imageNode = /*#__PURE__*/React.createElement(\"img\", {\n alt: alt,\n src: image\n });\n } else {\n imageNode = image;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", (0, _extends2[\"default\"])({\n className: (0, _classnames[\"default\"])(prefixCls, (_classNames = {}, (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-normal\"), image === simpleEmptyImg), (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className)\n }, restProps), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-image\"),\n style: imageStyle\n }, imageNode), des && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-description\")\n }, des), children && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-footer\")\n }, children));\n });\n};\n\nEmpty.PRESENTED_IMAGE_DEFAULT = defaultEmptyImg;\nEmpty.PRESENTED_IMAGE_SIMPLE = simpleEmptyImg;\nvar _default = Empty;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _configProvider = require(\"../config-provider\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar Empty = function Empty() {\n var _React$useContext = React.useContext(_configProvider.ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n\n var prefixCls = getPrefixCls('empty-img-default');\n return /*#__PURE__*/React.createElement(\"svg\", {\n className: prefixCls,\n width: \"184\",\n height: \"152\",\n viewBox: \"0 0 184 152\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(24 31.67)\"\n }, /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"\".concat(prefixCls, \"-ellipse\"),\n cx: \"67.797\",\n cy: \"106.89\",\n rx: \"67.797\",\n ry: \"12.668\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"\".concat(prefixCls, \"-path-1\"),\n d: \"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"\".concat(prefixCls, \"-path-2\"),\n d: \"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z\",\n transform: \"translate(13.56)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"\".concat(prefixCls, \"-path-3\"),\n d: \"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"\".concat(prefixCls, \"-path-4\"),\n d: \"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n className: \"\".concat(prefixCls, \"-path-5\"),\n d: \"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n className: \"\".concat(prefixCls, \"-g\"),\n transform: \"translate(149.65 15.383)\"\n }, /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: \"20.654\",\n cy: \"3.167\",\n rx: \"2.849\",\n ry: \"2.815\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z\"\n }))));\n};\n\nvar _default = Empty;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _configProvider = require(\"../config-provider\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar Simple = function Simple() {\n var _React$useContext = React.useContext(_configProvider.ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n\n var prefixCls = getPrefixCls('empty-img-simple');\n return /*#__PURE__*/React.createElement(\"svg\", {\n className: prefixCls,\n width: \"64\",\n height: \"41\",\n viewBox: \"0 0 64 41\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 1)\",\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"\".concat(prefixCls, \"-ellipse\"),\n cx: \"32\",\n cy: \"33\",\n rx: \"32\",\n ry: \"7\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n className: \"\".concat(prefixCls, \"-g\"),\n fillRule: \"nonzero\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z\",\n className: \"\".concat(prefixCls, \"-path\")\n }))));\n};\n\nvar _default = Simple;\nexports[\"default\"] = _default;","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _LoadingOutlined = _interopRequireDefault(require('./lib/icons/LoadingOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _LoadingOutlined;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _LoadingOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/LoadingOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar LoadingOutlined = function LoadingOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _LoadingOutlined.default\n }));\n};\n\nLoadingOutlined.displayName = 'LoadingOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(LoadingOutlined);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar LoadingOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z\" } }] }, \"name\": \"loading\", \"theme\": \"outlined\" };\nexports.default = LoadingOutlined;\n","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setTwoToneColor = setTwoToneColor;\nexports.getTwoToneColor = getTwoToneColor;\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _IconBase = _interopRequireDefault(require(\"./IconBase\"));\n\nvar _utils = require(\"../utils\");\n\nfunction setTwoToneColor(twoToneColor) {\n var _normalizeTwoToneColo = (0, _utils.normalizeTwoToneColors)(twoToneColor),\n _normalizeTwoToneColo2 = (0, _slicedToArray2.default)(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n\n return _IconBase.default.setTwoToneColors({\n primaryColor: primaryColor,\n secondaryColor: secondaryColor\n });\n}\n\nfunction getTwoToneColor() {\n var colors = _IconBase.default.getTwoToneColors();\n\n if (!colors.calculated) {\n return colors.primaryColor;\n }\n\n return [colors.primaryColor, colors.secondaryColor];\n}","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _ExclamationCircleFilled = _interopRequireDefault(require('./lib/icons/ExclamationCircleFilled'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _ExclamationCircleFilled;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _ExclamationCircleFilled = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/ExclamationCircleFilled\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar ExclamationCircleFilled = function ExclamationCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _ExclamationCircleFilled.default\n }));\n};\n\nExclamationCircleFilled.displayName = 'ExclamationCircleFilled';\n\nvar _default = /*#__PURE__*/React.forwardRef(ExclamationCircleFilled);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ExclamationCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z\" } }] }, \"name\": \"exclamation-circle\", \"theme\": \"filled\" };\nexports.default = ExclamationCircleFilled;\n","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _CloseCircleFilled = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/CloseCircleFilled\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar CloseCircleFilled = function CloseCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _CloseCircleFilled.default\n }));\n};\n\nCloseCircleFilled.displayName = 'CloseCircleFilled';\n\nvar _default = /*#__PURE__*/React.forwardRef(CloseCircleFilled);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CloseCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm165.4 618.2l-66-.3L512 563.4l-99.3 118.4-66.1.3c-4.4 0-8-3.5-8-8 0-1.9.7-3.7 1.9-5.2l130.1-155L340.5 359a8.32 8.32 0 01-1.9-5.2c0-4.4 3.6-8 8-8l66.1.3L512 464.6l99.3-118.4 66-.3c4.4 0 8 3.5 8 8 0 1.9-.7 3.7-1.9 5.2L553.5 514l130 155c1.2 1.5 1.9 3.3 1.9 5.2 0 4.4-3.6 8-8 8z\" } }] }, \"name\": \"close-circle\", \"theme\": \"filled\" };\nexports.default = CloseCircleFilled;\n","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _CheckCircleFilled = _interopRequireDefault(require('./lib/icons/CheckCircleFilled'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _CheckCircleFilled;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _CheckCircleFilled = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/CheckCircleFilled\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar CheckCircleFilled = function CheckCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _CheckCircleFilled.default\n }));\n};\n\nCheckCircleFilled.displayName = 'CheckCircleFilled';\n\nvar _default = /*#__PURE__*/React.forwardRef(CheckCircleFilled);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CheckCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z\" } }] }, \"name\": \"check-circle\", \"theme\": \"filled\" };\nexports.default = CheckCircleFilled;\n","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _InfoCircleFilled = _interopRequireDefault(require('./lib/icons/InfoCircleFilled'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _InfoCircleFilled;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _InfoCircleFilled = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/InfoCircleFilled\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar InfoCircleFilled = function InfoCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _InfoCircleFilled.default\n }));\n};\n\nInfoCircleFilled.displayName = 'InfoCircleFilled';\n\nvar _default = /*#__PURE__*/React.forwardRef(InfoCircleFilled);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar InfoCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z\" } }] }, \"name\": \"info-circle\", \"theme\": \"filled\" };\nexports.default = InfoCircleFilled;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = createUseMessage;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _useNotification = _interopRequireDefault(require(\"rc-notification/lib/useNotification\"));\n\nvar _configProvider = require(\"../../config-provider\");\n\nvar _ = require(\"..\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction createUseMessage(getRcNotificationInstance, getRCNoticeProps) {\n var useMessage = function useMessage() {\n // We can only get content by render\n var getPrefixCls;\n var getPopupContainer; // We create a proxy to handle delay created instance\n\n var innerInstance = null;\n var proxy = {\n add: function add(noticeProps, holderCallback) {\n innerInstance === null || innerInstance === void 0 ? void 0 : innerInstance.component.add(noticeProps, holderCallback);\n }\n };\n\n var _useRCNotification = (0, _useNotification[\"default\"])(proxy),\n _useRCNotification2 = (0, _slicedToArray2[\"default\"])(_useRCNotification, 2),\n hookNotify = _useRCNotification2[0],\n holder = _useRCNotification2[1];\n\n function notify(args) {\n var customizePrefixCls = args.prefixCls;\n var mergedPrefixCls = getPrefixCls('message', customizePrefixCls);\n var rootPrefixCls = getPrefixCls();\n var target = args.key || (0, _.getKeyThenIncreaseKey)();\n var closePromise = new Promise(function (resolve) {\n var callback = function callback() {\n if (typeof args.onClose === 'function') {\n args.onClose();\n }\n\n return resolve(true);\n };\n\n getRcNotificationInstance((0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, args), {\n prefixCls: mergedPrefixCls,\n rootPrefixCls: rootPrefixCls,\n getPopupContainer: getPopupContainer\n }), function (_ref) {\n var prefixCls = _ref.prefixCls,\n instance = _ref.instance;\n innerInstance = instance;\n hookNotify(getRCNoticeProps((0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, args), {\n key: target,\n onClose: callback\n }), prefixCls));\n });\n });\n\n var result = function result() {\n if (innerInstance) {\n innerInstance.removeNotice(target);\n }\n };\n\n result.then = function (filled, rejected) {\n return closePromise.then(filled, rejected);\n };\n\n result.promise = closePromise;\n return result;\n } // Fill functions\n\n\n var hookApiRef = React.useRef({});\n hookApiRef.current.open = notify;\n ['success', 'info', 'warning', 'error', 'loading'].forEach(function (type) {\n return (0, _.attachTypeApi)(hookApiRef.current, type);\n });\n return [hookApiRef.current, /*#__PURE__*/React.createElement(_configProvider.ConfigConsumer, {\n key: \"holder\"\n }, function (context) {\n getPrefixCls = context.getPrefixCls;\n getPopupContainer = context.getPopupContainer;\n return holder;\n })];\n };\n\n return useMessage;\n}","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _createSuper2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createSuper\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar Notice = /*#__PURE__*/function (_Component) {\n (0, _inherits2.default)(Notice, _Component);\n\n var _super = (0, _createSuper2.default)(Notice);\n\n function Notice() {\n var _this;\n\n (0, _classCallCheck2.default)(this, Notice);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.closeTimer = null;\n\n _this.close = function (e) {\n if (e) {\n e.stopPropagation();\n }\n\n _this.clearCloseTimer();\n\n var _this$props = _this.props,\n onClose = _this$props.onClose,\n noticeKey = _this$props.noticeKey;\n\n if (onClose) {\n onClose(noticeKey);\n }\n };\n\n _this.startCloseTimer = function () {\n if (_this.props.duration) {\n _this.closeTimer = window.setTimeout(function () {\n _this.close();\n }, _this.props.duration * 1000);\n }\n };\n\n _this.clearCloseTimer = function () {\n if (_this.closeTimer) {\n clearTimeout(_this.closeTimer);\n _this.closeTimer = null;\n }\n };\n\n return _this;\n }\n\n (0, _createClass2.default)(Notice, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.startCloseTimer();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (this.props.duration !== prevProps.duration || this.props.updateMark !== prevProps.updateMark || // Visible again need reset timer\n this.props.visible !== prevProps.visible && this.props.visible) {\n this.restartCloseTimer();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.clearCloseTimer();\n }\n }, {\n key: \"restartCloseTimer\",\n value: function restartCloseTimer() {\n this.clearCloseTimer();\n this.startCloseTimer();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n prefixCls = _this$props2.prefixCls,\n className = _this$props2.className,\n closable = _this$props2.closable,\n closeIcon = _this$props2.closeIcon,\n style = _this$props2.style,\n onClick = _this$props2.onClick,\n children = _this$props2.children,\n holder = _this$props2.holder;\n var componentClass = \"\".concat(prefixCls, \"-notice\");\n var dataOrAriaAttributeProps = Object.keys(this.props).reduce(function (acc, key) {\n if (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role') {\n acc[key] = _this2.props[key];\n }\n\n return acc;\n }, {});\n var node = /*#__PURE__*/React.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(componentClass, className, (0, _defineProperty2.default)({}, \"\".concat(componentClass, \"-closable\"), closable)),\n style: style,\n onMouseEnter: this.clearCloseTimer,\n onMouseLeave: this.startCloseTimer,\n onClick: onClick\n }, dataOrAriaAttributeProps), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(componentClass, \"-content\")\n }, children), closable ? /*#__PURE__*/React.createElement(\"a\", {\n tabIndex: 0,\n onClick: this.close,\n className: \"\".concat(componentClass, \"-close\")\n }, closeIcon || /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(componentClass, \"-close-x\")\n })) : null);\n\n if (holder) {\n return /*#__PURE__*/_reactDom.default.createPortal(node, holder);\n }\n\n return node;\n }\n }]);\n return Notice;\n}(React.Component);\n\nexports.default = Notice;\nNotice.defaultProps = {\n onClose: function onClose() {},\n duration: 1.5\n};","var getPrototypeOf = require(\"./getPrototypeOf\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct\");\n\nvar possibleConstructorReturn = require(\"./possibleConstructorReturn\");\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}\n\nmodule.exports = _createSuper;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getInstance = exports[\"default\"] = void 0;\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _rcNotification = _interopRequireDefault(require(\"rc-notification\"));\n\nvar _CloseOutlined = _interopRequireDefault(require(\"@ant-design/icons/CloseOutlined\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _CheckCircleOutlined = _interopRequireDefault(require(\"@ant-design/icons/CheckCircleOutlined\"));\n\nvar _CloseCircleOutlined = _interopRequireDefault(require(\"@ant-design/icons/CloseCircleOutlined\"));\n\nvar _ExclamationCircleOutlined = _interopRequireDefault(require(\"@ant-design/icons/ExclamationCircleOutlined\"));\n\nvar _InfoCircleOutlined = _interopRequireDefault(require(\"@ant-design/icons/InfoCircleOutlined\"));\n\nvar _useNotification = _interopRequireDefault(require(\"./hooks/useNotification\"));\n\nvar _configProvider = _interopRequireWildcard(require(\"../config-provider\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nvar notificationInstance = {};\nvar defaultDuration = 4.5;\nvar defaultTop = 24;\nvar defaultBottom = 24;\nvar defaultPrefixCls = '';\nvar defaultPlacement = 'topRight';\nvar defaultGetContainer;\nvar defaultCloseIcon;\nvar rtl = false;\nvar maxCount;\n\nfunction setNotificationConfig(options) {\n var duration = options.duration,\n placement = options.placement,\n bottom = options.bottom,\n top = options.top,\n getContainer = options.getContainer,\n closeIcon = options.closeIcon,\n prefixCls = options.prefixCls;\n\n if (prefixCls !== undefined) {\n defaultPrefixCls = prefixCls;\n }\n\n if (duration !== undefined) {\n defaultDuration = duration;\n }\n\n if (placement !== undefined) {\n defaultPlacement = placement;\n } else if (options.rtl) {\n defaultPlacement = 'topLeft';\n }\n\n if (bottom !== undefined) {\n defaultBottom = bottom;\n }\n\n if (top !== undefined) {\n defaultTop = top;\n }\n\n if (getContainer !== undefined) {\n defaultGetContainer = getContainer;\n }\n\n if (closeIcon !== undefined) {\n defaultCloseIcon = closeIcon;\n }\n\n if (options.rtl !== undefined) {\n rtl = options.rtl;\n }\n\n if (options.maxCount !== undefined) {\n maxCount = options.maxCount;\n }\n}\n\nfunction getPlacementStyle(placement) {\n var top = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultTop;\n var bottom = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultBottom;\n var style;\n\n switch (placement) {\n case 'topLeft':\n style = {\n left: 0,\n top: top,\n bottom: 'auto'\n };\n break;\n\n case 'topRight':\n style = {\n right: 0,\n top: top,\n bottom: 'auto'\n };\n break;\n\n case 'bottomLeft':\n style = {\n left: 0,\n top: 'auto',\n bottom: bottom\n };\n break;\n\n default:\n style = {\n right: 0,\n top: 'auto',\n bottom: bottom\n };\n break;\n }\n\n return style;\n}\n\nfunction getNotificationInstance(args, callback) {\n var _args$placement = args.placement,\n placement = _args$placement === void 0 ? defaultPlacement : _args$placement,\n top = args.top,\n bottom = args.bottom,\n _args$getContainer = args.getContainer,\n getContainer = _args$getContainer === void 0 ? defaultGetContainer : _args$getContainer,\n customizePrefixCls = args.prefixCls;\n\n var _globalConfig = (0, _configProvider.globalConfig)(),\n getPrefixCls = _globalConfig.getPrefixCls,\n getIconPrefixCls = _globalConfig.getIconPrefixCls;\n\n var prefixCls = getPrefixCls('notification', customizePrefixCls || defaultPrefixCls);\n var iconPrefixCls = getIconPrefixCls();\n var cacheKey = \"\".concat(prefixCls, \"-\").concat(placement);\n var cacheInstance = notificationInstance[cacheKey];\n\n if (cacheInstance) {\n Promise.resolve(cacheInstance).then(function (instance) {\n callback({\n prefixCls: \"\".concat(prefixCls, \"-notice\"),\n iconPrefixCls: iconPrefixCls,\n instance: instance\n });\n });\n return;\n }\n\n var notificationClass = (0, _classnames[\"default\"])(\"\".concat(prefixCls, \"-\").concat(placement), (0, _defineProperty2[\"default\"])({}, \"\".concat(prefixCls, \"-rtl\"), rtl === true));\n notificationInstance[cacheKey] = new Promise(function (resolve) {\n _rcNotification[\"default\"].newInstance({\n prefixCls: prefixCls,\n className: notificationClass,\n style: getPlacementStyle(placement, top, bottom),\n getContainer: getContainer,\n maxCount: maxCount\n }, function (notification) {\n resolve(notification);\n callback({\n prefixCls: \"\".concat(prefixCls, \"-notice\"),\n iconPrefixCls: iconPrefixCls,\n instance: notification\n });\n });\n });\n}\n\nvar typeToIcon = {\n success: _CheckCircleOutlined[\"default\"],\n info: _InfoCircleOutlined[\"default\"],\n error: _CloseCircleOutlined[\"default\"],\n warning: _ExclamationCircleOutlined[\"default\"]\n};\n\nfunction getRCNoticeProps(args, prefixCls, iconPrefixCls) {\n var durationArg = args.duration,\n icon = args.icon,\n type = args.type,\n description = args.description,\n message = args.message,\n btn = args.btn,\n onClose = args.onClose,\n onClick = args.onClick,\n key = args.key,\n style = args.style,\n className = args.className,\n _args$closeIcon = args.closeIcon,\n closeIcon = _args$closeIcon === void 0 ? defaultCloseIcon : _args$closeIcon;\n var duration = durationArg === undefined ? defaultDuration : durationArg;\n var iconNode = null;\n\n if (icon) {\n iconNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-icon\")\n }, args.icon);\n } else if (type) {\n iconNode = /*#__PURE__*/React.createElement(typeToIcon[type] || null, {\n className: \"\".concat(prefixCls, \"-icon \").concat(prefixCls, \"-icon-\").concat(type)\n });\n }\n\n var closeIconToRender = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-close-x\")\n }, closeIcon || /*#__PURE__*/React.createElement(_CloseOutlined[\"default\"], {\n className: \"\".concat(prefixCls, \"-close-icon\")\n }));\n var autoMarginTag = !description && iconNode ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-message-single-line-auto-margin\")\n }) : null;\n return {\n content: /*#__PURE__*/React.createElement(_configProvider[\"default\"], {\n iconPrefixCls: iconPrefixCls\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: iconNode ? \"\".concat(prefixCls, \"-with-icon\") : '',\n role: \"alert\"\n }, iconNode, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-message\")\n }, autoMarginTag, message), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-description\")\n }, description), btn ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-btn\")\n }, btn) : null)),\n duration: duration,\n closable: true,\n closeIcon: closeIconToRender,\n onClose: onClose,\n onClick: onClick,\n key: key,\n style: style || {},\n className: (0, _classnames[\"default\"])(className, (0, _defineProperty2[\"default\"])({}, \"\".concat(prefixCls, \"-\").concat(type), !!type))\n };\n}\n\nfunction notice(args) {\n getNotificationInstance(args, function (_ref) {\n var prefixCls = _ref.prefixCls,\n iconPrefixCls = _ref.iconPrefixCls,\n instance = _ref.instance;\n instance.notice(getRCNoticeProps(args, prefixCls, iconPrefixCls));\n });\n}\n\nvar api = {\n open: notice,\n close: function close(key) {\n Object.keys(notificationInstance).forEach(function (cacheKey) {\n return Promise.resolve(notificationInstance[cacheKey]).then(function (instance) {\n instance.removeNotice(key);\n });\n });\n },\n config: setNotificationConfig,\n destroy: function destroy() {\n Object.keys(notificationInstance).forEach(function (cacheKey) {\n Promise.resolve(notificationInstance[cacheKey]).then(function (instance) {\n instance.destroy();\n });\n delete notificationInstance[cacheKey]; // lgtm[js/missing-await]\n });\n }\n};\n['success', 'info', 'warning', 'error'].forEach(function (type) {\n api[type] = function (args) {\n return api.open((0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, args), {\n type: type\n }));\n };\n});\napi.warn = api.warning;\napi.useNotification = (0, _useNotification[\"default\"])(getNotificationInstance, getRCNoticeProps);\n/** @private test Only function. Not work on production */\n\nvar getInstance = function getInstance(cacheKey) {\n return __awaiter(void 0, void 0, void 0, /*#__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 return _context.abrupt(\"return\", process.env.NODE_ENV === 'test' ? notificationInstance[cacheKey] : null);\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n};\n\nexports.getInstance = getInstance;\nvar _default = api;\nexports[\"default\"] = _default;","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _CloseOutlined = _interopRequireDefault(require('./lib/icons/CloseOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _CloseOutlined;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _CloseOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/CloseOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar CloseOutlined = function CloseOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _CloseOutlined.default\n }));\n};\n\nCloseOutlined.displayName = 'CloseOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(CloseOutlined);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CloseOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 00203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z\" } }] }, \"name\": \"close\", \"theme\": \"outlined\" };\nexports.default = CloseOutlined;\n","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _CheckCircleOutlined = _interopRequireDefault(require('./lib/icons/CheckCircleOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _CheckCircleOutlined;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _CheckCircleOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/CheckCircleOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar CheckCircleOutlined = function CheckCircleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _CheckCircleOutlined.default\n }));\n};\n\nCheckCircleOutlined.displayName = 'CheckCircleOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(CheckCircleOutlined);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CheckCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }] }, \"name\": \"check-circle\", \"theme\": \"outlined\" };\nexports.default = CheckCircleOutlined;\n","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _CloseCircleOutlined = _interopRequireDefault(require('./lib/icons/CloseCircleOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _CloseCircleOutlined;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _CloseCircleOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/CloseCircleOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar CloseCircleOutlined = function CloseCircleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _CloseCircleOutlined.default\n }));\n};\n\nCloseCircleOutlined.displayName = 'CloseCircleOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(CloseCircleOutlined);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CloseCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M685.4 354.8c0-4.4-3.6-8-8-8l-66 .3L512 465.6l-99.3-118.4-66.1-.3c-4.4 0-8 3.5-8 8 0 1.9.7 3.7 1.9 5.2l130.1 155L340.5 670a8.32 8.32 0 00-1.9 5.2c0 4.4 3.6 8 8 8l66.1-.3L512 564.4l99.3 118.4 66 .3c4.4 0 8-3.5 8-8 0-1.9-.7-3.7-1.9-5.2L553.5 515l130.1-155c1.2-1.4 1.8-3.3 1.8-5.2z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M512 65C264.6 65 64 265.6 64 513s200.6 448 448 448 448-200.6 448-448S759.4 65 512 65zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }] }, \"name\": \"close-circle\", \"theme\": \"outlined\" };\nexports.default = CloseCircleOutlined;\n","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _ExclamationCircleOutlined = _interopRequireDefault(require('./lib/icons/ExclamationCircleOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _ExclamationCircleOutlined;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _ExclamationCircleOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/ExclamationCircleOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar ExclamationCircleOutlined = function ExclamationCircleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _ExclamationCircleOutlined.default\n }));\n};\n\nExclamationCircleOutlined.displayName = 'ExclamationCircleOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(ExclamationCircleOutlined);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ExclamationCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M464 688a48 48 0 1096 0 48 48 0 10-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z\" } }] }, \"name\": \"exclamation-circle\", \"theme\": \"outlined\" };\nexports.default = ExclamationCircleOutlined;\n","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _InfoCircleOutlined = _interopRequireDefault(require('./lib/icons/InfoCircleOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _InfoCircleOutlined;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _InfoCircleOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/InfoCircleOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar InfoCircleOutlined = function InfoCircleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _InfoCircleOutlined.default\n }));\n};\n\nInfoCircleOutlined.displayName = 'InfoCircleOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(InfoCircleOutlined);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar InfoCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z\" } }] }, \"name\": \"info-circle\", \"theme\": \"outlined\" };\nexports.default = InfoCircleOutlined;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = createUseNotification;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _useNotification = _interopRequireDefault(require(\"rc-notification/lib/useNotification\"));\n\nvar _configProvider = require(\"../../config-provider\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction createUseNotification(getNotificationInstance, getRCNoticeProps) {\n var useNotification = function useNotification() {\n // We can only get content by render\n var getPrefixCls; // We create a proxy to handle delay created instance\n\n var innerInstance = null;\n var proxy = {\n add: function add(noticeProps, holderCallback) {\n innerInstance === null || innerInstance === void 0 ? void 0 : innerInstance.component.add(noticeProps, holderCallback);\n }\n };\n\n var _useRCNotification = (0, _useNotification[\"default\"])(proxy),\n _useRCNotification2 = (0, _slicedToArray2[\"default\"])(_useRCNotification, 2),\n hookNotify = _useRCNotification2[0],\n holder = _useRCNotification2[1];\n\n function notify(args) {\n var customizePrefixCls = args.prefixCls;\n var mergedPrefixCls = getPrefixCls('notification', customizePrefixCls);\n getNotificationInstance((0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, args), {\n prefixCls: mergedPrefixCls\n }), function (_ref) {\n var prefixCls = _ref.prefixCls,\n instance = _ref.instance;\n innerInstance = instance;\n hookNotify(getRCNoticeProps(args, prefixCls));\n });\n } // Fill functions\n\n\n var hookApiRef = React.useRef({});\n hookApiRef.current.open = notify;\n ['success', 'info', 'warning', 'error'].forEach(function (type) {\n hookApiRef.current[type] = function (args) {\n return hookApiRef.current.open((0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, args), {\n type: type\n }));\n };\n });\n return [hookApiRef.current, /*#__PURE__*/React.createElement(_configProvider.ConfigConsumer, {\n key: \"holder\"\n }, function (context) {\n getPrefixCls = context.getPrefixCls;\n return holder;\n })];\n };\n\n return useNotification;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.registerTheme = registerTheme;\n\nvar _dynamicCSS = require(\"rc-util/lib/Dom/dynamicCSS\");\n\nvar _tinycolor = require(\"@ctrl/tinycolor\");\n\nvar _colors = require(\"@ant-design/colors\");\n\n/* eslint-disable import/prefer-default-export, prefer-destructuring */\nvar dynamicStyleMark = \"-ant-\".concat(Date.now(), \"-\").concat(Math.random());\n\nfunction registerTheme(globalPrefixCls, theme) {\n var variables = {};\n\n var formatColor = function formatColor(color, updater) {\n var clone = color.clone();\n clone = (updater === null || updater === void 0 ? void 0 : updater(clone)) || clone;\n return clone.toRgbString();\n };\n\n var fillColor = function fillColor(colorVal, type) {\n var baseColor = new _tinycolor.TinyColor(colorVal);\n var colorPalettes = (0, _colors.generate)(baseColor.toRgbString());\n variables[\"\".concat(type, \"-color\")] = formatColor(baseColor);\n variables[\"\".concat(type, \"-color-disabled\")] = colorPalettes[1];\n variables[\"\".concat(type, \"-color-hover\")] = colorPalettes[4];\n variables[\"\".concat(type, \"-color-active\")] = colorPalettes[7];\n variables[\"\".concat(type, \"-color-outline\")] = baseColor.clone().setAlpha(0.2).toRgbString();\n variables[\"\".concat(type, \"-color-deprecated-bg\")] = colorPalettes[1];\n variables[\"\".concat(type, \"-color-deprecated-border\")] = colorPalettes[3];\n }; // ================ Primary Color ================\n\n\n if (theme.primaryColor) {\n fillColor(theme.primaryColor, 'primary');\n var primaryColor = new _tinycolor.TinyColor(theme.primaryColor);\n var primaryColors = (0, _colors.generate)(primaryColor.toRgbString()); // Legacy - We should use semantic naming standard\n\n primaryColors.forEach(function (color, index) {\n variables[\"primary-\".concat(index + 1)] = color;\n }); // Deprecated\n\n variables['primary-color-deprecated-l-35'] = formatColor(primaryColor, function (c) {\n return c.lighten(35);\n });\n variables['primary-color-deprecated-l-20'] = formatColor(primaryColor, function (c) {\n return c.lighten(20);\n });\n variables['primary-color-deprecated-t-20'] = formatColor(primaryColor, function (c) {\n return c.tint(20);\n });\n variables['primary-color-deprecated-t-50'] = formatColor(primaryColor, function (c) {\n return c.tint(50);\n });\n variables['primary-color-deprecated-f-12'] = formatColor(primaryColor, function (c) {\n return c.setAlpha(c.getAlpha() * 0.12);\n });\n var primaryActiveColor = new _tinycolor.TinyColor(primaryColors[0]);\n variables['primary-color-active-deprecated-f-30'] = formatColor(primaryActiveColor, function (c) {\n return c.setAlpha(c.getAlpha() * 0.3);\n });\n variables['primary-color-active-deprecated-d-02'] = formatColor(primaryActiveColor, function (c) {\n return c.darken(2);\n });\n } // ================ Success Color ================\n\n\n if (theme.successColor) {\n fillColor(theme.successColor, 'success');\n } // ================ Warning Color ================\n\n\n if (theme.warningColor) {\n fillColor(theme.warningColor, 'warning');\n } // ================= Error Color =================\n\n\n if (theme.errorColor) {\n fillColor(theme.errorColor, 'error');\n } // ================= Info Color ==================\n\n\n if (theme.infoColor) {\n fillColor(theme.infoColor, 'info');\n } // Convert to css variables\n\n\n var cssList = Object.keys(variables).map(function (key) {\n return \"--\".concat(globalPrefixCls, \"-\").concat(key, \": \").concat(variables[key], \";\");\n });\n (0, _dynamicCSS.updateCSS)(\"\\n :root {\\n \".concat(cssList.join('\\n'), \"\\n }\\n \"), \"\".concat(dynamicStyleMark, \"-dynamic-theme\"));\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof3 = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _omit = _interopRequireDefault(require(\"rc-util/lib/omit\"));\n\nvar _devWarning = _interopRequireDefault(require(\"../_util/devWarning\"));\n\nvar _Base = _interopRequireDefault(require(\"./Base\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar __rest = void 0 && (void 0).__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nvar Text = function Text(_a) {\n var ellipsis = _a.ellipsis,\n restProps = __rest(_a, [\"ellipsis\"]);\n\n var mergedEllipsis = React.useMemo(function () {\n if (ellipsis && (0, _typeof2[\"default\"])(ellipsis) === 'object') {\n return (0, _omit[\"default\"])(ellipsis, ['expandable', 'rows']);\n }\n\n return ellipsis;\n }, [ellipsis]);\n (0, _devWarning[\"default\"])((0, _typeof2[\"default\"])(ellipsis) !== 'object' || !ellipsis || !('expandable' in ellipsis) && !('rows' in ellipsis), 'Typography.Text', '`ellipsis` do not support `expandable` or `rows` props.');\n return /*#__PURE__*/React.createElement(_Base[\"default\"], (0, _extends2[\"default\"])({}, restProps, {\n ellipsis: mergedEllipsis,\n component: \"span\"\n }));\n};\n\nvar _default = Text;\nexports[\"default\"] = _default;","var defineProperty = require(\"./defineProperty.js\");\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectSpread2;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _EditOutlined = _interopRequireDefault(require('./lib/icons/EditOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _EditOutlined;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _EditOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/EditOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar EditOutlined = function EditOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _EditOutlined.default\n }));\n};\n\nEditOutlined.displayName = 'EditOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(EditOutlined);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EditOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z\" } }] }, \"name\": \"edit\", \"theme\": \"outlined\" };\nexports.default = EditOutlined;\n","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _CheckOutlined = _interopRequireDefault(require('./lib/icons/CheckOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _CheckOutlined;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _CheckOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/CheckOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar CheckOutlined = function CheckOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _CheckOutlined.default\n }));\n};\n\nCheckOutlined.displayName = 'CheckOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(CheckOutlined);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CheckOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z\" } }] }, \"name\": \"check\", \"theme\": \"outlined\" };\nexports.default = CheckOutlined;\n","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _CopyOutlined = _interopRequireDefault(require('./lib/icons/CopyOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _CopyOutlined;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _CopyOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/CopyOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar CopyOutlined = function CopyOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _CopyOutlined.default\n }));\n};\n\nCopyOutlined.displayName = 'CopyOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(CopyOutlined);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CopyOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z\" } }] }, \"name\": \"copy\", \"theme\": \"outlined\" };\nexports.default = CopyOutlined;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _KeyCode = _interopRequireDefault(require(\"rc-util/lib/KeyCode\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar __rest = void 0 && (void 0).__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n/**\n * Wrap of sub component which need use as Button capacity (like Icon component).\n *\n * This helps accessibility reader to tread as a interactive button to operation.\n */\n\n\nvar inlineStyle = {\n border: 0,\n background: 'transparent',\n padding: 0,\n lineHeight: 'inherit',\n display: 'inline-block'\n};\nvar TransButton = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var onKeyDown = function onKeyDown(event) {\n var keyCode = event.keyCode;\n\n if (keyCode === _KeyCode[\"default\"].ENTER) {\n event.preventDefault();\n }\n };\n\n var onKeyUp = function onKeyUp(event) {\n var keyCode = event.keyCode;\n var onClick = props.onClick;\n\n if (keyCode === _KeyCode[\"default\"].ENTER && onClick) {\n onClick();\n }\n };\n\n var style = props.style,\n noStyle = props.noStyle,\n disabled = props.disabled,\n restProps = __rest(props, [\"style\", \"noStyle\", \"disabled\"]);\n\n var mergedStyle = {};\n\n if (!noStyle) {\n mergedStyle = (0, _extends2[\"default\"])({}, inlineStyle);\n }\n\n if (disabled) {\n mergedStyle.pointerEvents = 'none';\n }\n\n mergedStyle = (0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, mergedStyle), style);\n return /*#__PURE__*/React.createElement(\"div\", (0, _extends2[\"default\"])({\n role: \"button\",\n tabIndex: 0,\n ref: ref\n }, restProps, {\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp,\n style: mergedStyle\n }));\n});\nvar _default = TransButton;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = wrapperRaf;\n\nvar _raf = _interopRequireDefault(require(\"rc-util/lib/raf\"));\n\nvar id = 0;\nvar ids = {}; // Support call raf with delay specified frame\n\nfunction wrapperRaf(callback) {\n var delayFrames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var myId = id++;\n var restFrames = delayFrames;\n\n function internalCallback() {\n restFrames -= 1;\n\n if (restFrames <= 0) {\n callback();\n delete ids[myId];\n } else {\n ids[myId] = (0, _raf[\"default\"])(internalCallback);\n }\n }\n\n ids[myId] = (0, _raf[\"default\"])(internalCallback);\n return myId;\n}\n\nwrapperRaf.cancel = function cancel(pid) {\n if (pid === undefined) return;\n\n _raf[\"default\"].cancel(ids[pid]);\n\n delete ids[pid];\n};\n\nwrapperRaf.ids = ids; // export this for test usage","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = wrapperRaf;\n\nvar raf = function raf(callback) {\n return +setTimeout(callback, 16);\n};\n\nvar caf = function caf(num) {\n return clearTimeout(num);\n};\n\nif (typeof window !== 'undefined' && 'requestAnimationFrame' in window) {\n raf = function raf(callback) {\n return window.requestAnimationFrame(callback);\n };\n\n caf = function caf(handle) {\n return window.cancelAnimationFrame(handle);\n };\n}\n\nvar rafUUID = 0;\nvar rafIds = new Map();\n\nfunction cleanup(id) {\n rafIds.delete(id);\n}\n\nfunction wrapperRaf(callback) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n rafUUID += 1;\n var id = rafUUID;\n\n function callRef(leftTimes) {\n if (leftTimes === 0) {\n // Clean up\n cleanup(id); // Trigger\n\n callback();\n } else {\n // Next raf\n var realId = raf(function () {\n callRef(leftTimes - 1);\n }); // Bind real raf id\n\n rafIds.set(id, realId);\n }\n }\n\n callRef(times);\n return id;\n}\n\nwrapperRaf.cancel = function (id) {\n var realId = rafIds.get(id);\n cleanup(realId);\n return caf(realId);\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.detectFlexGapSupported = exports.canUseDocElement = void 0;\nObject.defineProperty(exports, \"isStyleSupport\", {\n enumerable: true,\n get: function get() {\n return _styleChecker.isStyleSupport;\n }\n});\n\nvar _canUseDom = _interopRequireDefault(require(\"rc-util/lib/Dom/canUseDom\"));\n\nvar _styleChecker = require(\"rc-util/lib/Dom/styleChecker\");\n\nvar canUseDocElement = function canUseDocElement() {\n return (0, _canUseDom[\"default\"])() && window.document.documentElement;\n};\n\nexports.canUseDocElement = canUseDocElement;\nvar flexGapSupported;\n\nvar detectFlexGapSupported = function detectFlexGapSupported() {\n if (!canUseDocElement()) {\n return false;\n }\n\n if (flexGapSupported !== undefined) {\n return flexGapSupported;\n } // create flex container with row-gap set\n\n\n var flex = document.createElement('div');\n flex.style.display = 'flex';\n flex.style.flexDirection = 'column';\n flex.style.rowGap = '1px'; // create two, elements inside it\n\n flex.appendChild(document.createElement('div'));\n flex.appendChild(document.createElement('div')); // append to the DOM (needed to obtain scrollHeight)\n\n document.body.appendChild(flex);\n flexGapSupported = flex.scrollHeight === 1; // flex container should be 1px high from the row-gap\n\n document.body.removeChild(flex);\n return flexGapSupported;\n};\n\nexports.detectFlexGapSupported = detectFlexGapSupported;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isStyleSupport = isStyleSupport;\n\nvar _canUseDom = _interopRequireDefault(require(\"./canUseDom\"));\n\nvar isStyleNameSupport = function isStyleNameSupport(styleName) {\n if ((0, _canUseDom.default)() && window.document.documentElement) {\n var styleNameList = Array.isArray(styleName) ? styleName : [styleName];\n var documentElement = window.document.documentElement;\n return styleNameList.some(function (name) {\n return name in documentElement.style;\n });\n }\n\n return false;\n};\n\nvar isStyleValueSupport = function isStyleValueSupport(styleName, value) {\n if (!isStyleNameSupport(styleName)) {\n return false;\n }\n\n var ele = document.createElement('div');\n var origin = ele.style[styleName];\n ele.style[styleName] = value;\n return ele.style[styleName] !== origin;\n};\n\nfunction isStyleSupport(styleName, styleValue) {\n if (!Array.isArray(styleName) && styleValue !== undefined) {\n return isStyleValueSupport(styleName, styleValue);\n }\n\n return isStyleNameSupport(styleName);\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _rcTooltip = _interopRequireDefault(require(\"rc-tooltip\"));\n\nvar _useMergedState3 = _interopRequireDefault(require(\"rc-util/lib/hooks/useMergedState\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _placements = _interopRequireDefault(require(\"./placements\"));\n\nvar _reactNode = require(\"../_util/reactNode\");\n\nvar _configProvider = require(\"../config-provider\");\n\nvar _colors = require(\"../_util/colors\");\n\nvar _motion = require(\"../_util/motion\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar __rest = void 0 && (void 0).__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nvar splitObject = function splitObject(obj, keys) {\n var picked = {};\n var omitted = (0, _extends2[\"default\"])({}, obj);\n keys.forEach(function (key) {\n if (obj && key in obj) {\n picked[key] = obj[key];\n delete omitted[key];\n }\n });\n return {\n picked: picked,\n omitted: omitted\n };\n};\n\nvar PresetColorRegex = new RegExp(\"^(\".concat(_colors.PresetColorTypes.join('|'), \")(-inverse)?$\")); // Fix Tooltip won't hide at disabled button\n// mouse events don't trigger at disabled button in Chrome\n// https://github.com/react-component/tooltip/issues/18\n\nfunction getDisabledCompatibleChildren(element, prefixCls) {\n var elementType = element.type;\n\n if ((elementType.__ANT_BUTTON === true || elementType.__ANT_SWITCH === true || elementType.__ANT_CHECKBOX === true || element.type === 'button') && element.props.disabled) {\n // Pick some layout related style properties up to span\n // Prevent layout bugs like https://github.com/ant-design/ant-design/issues/5254\n var _splitObject = splitObject(element.props.style, ['position', 'left', 'right', 'top', 'bottom', 'float', 'display', 'zIndex']),\n picked = _splitObject.picked,\n omitted = _splitObject.omitted;\n\n var spanStyle = (0, _extends2[\"default\"])((0, _extends2[\"default\"])({\n display: 'inline-block'\n }, picked), {\n cursor: 'not-allowed',\n width: element.props.block ? '100%' : null\n });\n var buttonStyle = (0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, omitted), {\n pointerEvents: 'none'\n });\n var child = (0, _reactNode.cloneElement)(element, {\n style: buttonStyle,\n className: null\n });\n return /*#__PURE__*/React.createElement(\"span\", {\n style: spanStyle,\n className: (0, _classnames[\"default\"])(element.props.className, \"\".concat(prefixCls, \"-disabled-compatible-wrapper\"))\n }, child);\n }\n\n return element;\n}\n\nvar Tooltip = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames2;\n\n var _React$useContext = React.useContext(_configProvider.ConfigContext),\n getContextPopupContainer = _React$useContext.getPopupContainer,\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var _useMergedState = (0, _useMergedState3[\"default\"])(false, {\n value: props.visible,\n defaultValue: props.defaultVisible\n }),\n _useMergedState2 = (0, _slicedToArray2[\"default\"])(_useMergedState, 2),\n visible = _useMergedState2[0],\n setVisible = _useMergedState2[1];\n\n var isNoTitle = function isNoTitle() {\n var title = props.title,\n overlay = props.overlay;\n return !title && !overlay && title !== 0; // overlay for old version compatibility\n };\n\n var onVisibleChange = function onVisibleChange(vis) {\n var _a;\n\n setVisible(isNoTitle() ? false : vis);\n\n if (!isNoTitle()) {\n (_a = props.onVisibleChange) === null || _a === void 0 ? void 0 : _a.call(props, vis);\n }\n };\n\n var getTooltipPlacements = function getTooltipPlacements() {\n var builtinPlacements = props.builtinPlacements,\n arrowPointAtCenter = props.arrowPointAtCenter,\n autoAdjustOverflow = props.autoAdjustOverflow;\n return builtinPlacements || (0, _placements[\"default\"])({\n arrowPointAtCenter: arrowPointAtCenter,\n autoAdjustOverflow: autoAdjustOverflow\n });\n }; // 动态设置动画点\n\n\n var onPopupAlign = function onPopupAlign(domNode, align) {\n var placements = getTooltipPlacements(); // 当前返回的位置\n\n var placement = Object.keys(placements).filter(function (key) {\n return placements[key].points[0] === align.points[0] && placements[key].points[1] === align.points[1];\n })[0];\n\n if (!placement) {\n return;\n } // 根据当前坐标设置动画点\n\n\n var rect = domNode.getBoundingClientRect();\n var transformOrigin = {\n top: '50%',\n left: '50%'\n };\n\n if (placement.indexOf('top') >= 0 || placement.indexOf('Bottom') >= 0) {\n transformOrigin.top = \"\".concat(rect.height - align.offset[1], \"px\");\n } else if (placement.indexOf('Top') >= 0 || placement.indexOf('bottom') >= 0) {\n transformOrigin.top = \"\".concat(-align.offset[1], \"px\");\n }\n\n if (placement.indexOf('left') >= 0 || placement.indexOf('Right') >= 0) {\n transformOrigin.left = \"\".concat(rect.width - align.offset[0], \"px\");\n } else if (placement.indexOf('right') >= 0 || placement.indexOf('Left') >= 0) {\n transformOrigin.left = \"\".concat(-align.offset[0], \"px\");\n }\n\n domNode.style.transformOrigin = \"\".concat(transformOrigin.left, \" \").concat(transformOrigin.top);\n };\n\n var getOverlay = function getOverlay() {\n var title = props.title,\n overlay = props.overlay;\n\n if (title === 0) {\n return title;\n }\n\n return overlay || title || '';\n };\n\n var getPopupContainer = props.getPopupContainer,\n otherProps = __rest(props, [\"getPopupContainer\"]);\n\n var customizePrefixCls = props.prefixCls,\n openClassName = props.openClassName,\n getTooltipContainer = props.getTooltipContainer,\n overlayClassName = props.overlayClassName,\n color = props.color,\n overlayInnerStyle = props.overlayInnerStyle,\n children = props.children;\n var prefixCls = getPrefixCls('tooltip', customizePrefixCls);\n var rootPrefixCls = getPrefixCls();\n var tempVisible = visible; // Hide tooltip when there is no title\n\n if (!('visible' in props) && isNoTitle()) {\n tempVisible = false;\n }\n\n var child = getDisabledCompatibleChildren((0, _reactNode.isValidElement)(children) ? children : /*#__PURE__*/React.createElement(\"span\", null, children), prefixCls);\n var childProps = child.props;\n var childCls = (0, _classnames[\"default\"])(childProps.className, (0, _defineProperty2[\"default\"])({}, openClassName || \"\".concat(prefixCls, \"-open\"), true));\n var customOverlayClassName = (0, _classnames[\"default\"])(overlayClassName, (_classNames2 = {}, (0, _defineProperty2[\"default\"])(_classNames2, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), (0, _defineProperty2[\"default\"])(_classNames2, \"\".concat(prefixCls, \"-\").concat(color), color && PresetColorRegex.test(color)), _classNames2));\n var formattedOverlayInnerStyle = overlayInnerStyle;\n var arrowContentStyle;\n\n if (color && !PresetColorRegex.test(color)) {\n formattedOverlayInnerStyle = (0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, overlayInnerStyle), {\n background: color\n });\n arrowContentStyle = {\n background: color\n };\n }\n\n return /*#__PURE__*/React.createElement(_rcTooltip[\"default\"], (0, _extends2[\"default\"])({}, otherProps, {\n prefixCls: prefixCls,\n overlayClassName: customOverlayClassName,\n getTooltipContainer: getPopupContainer || getTooltipContainer || getContextPopupContainer,\n ref: ref,\n builtinPlacements: getTooltipPlacements(),\n overlay: getOverlay(),\n visible: tempVisible,\n onVisibleChange: onVisibleChange,\n onPopupAlign: onPopupAlign,\n overlayInnerStyle: formattedOverlayInnerStyle,\n arrowContent: /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-arrow-content\"),\n style: arrowContentStyle\n }),\n motion: {\n motionName: (0, _motion.getTransitionName)(rootPrefixCls, 'zoom-big-fast', props.transitionName),\n motionDeadline: 1000\n }\n }), tempVisible ? (0, _reactNode.cloneElement)(child, {\n className: childCls\n }) : child);\n});\nTooltip.displayName = 'Tooltip';\nTooltip.defaultProps = {\n placement: 'top',\n mouseEnterDelay: 0.1,\n mouseLeaveDelay: 0.1,\n arrowPointAtCenter: false,\n autoAdjustOverflow: true\n};\nvar _default = Tooltip;\nexports[\"default\"] = _default;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getPlacements;\nexports.getOverflowOptions = getOverflowOptions;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _placements = require(\"rc-tooltip/lib/placements\");\n\nvar autoAdjustOverflowEnabled = {\n adjustX: 1,\n adjustY: 1\n};\nvar autoAdjustOverflowDisabled = {\n adjustX: 0,\n adjustY: 0\n};\nvar targetOffset = [0, 0];\n\nfunction getOverflowOptions(autoAdjustOverflow) {\n if (typeof autoAdjustOverflow === 'boolean') {\n return autoAdjustOverflow ? autoAdjustOverflowEnabled : autoAdjustOverflowDisabled;\n }\n\n return (0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, autoAdjustOverflowDisabled), autoAdjustOverflow);\n}\n\nfunction getPlacements(config) {\n var _config$arrowWidth = config.arrowWidth,\n arrowWidth = _config$arrowWidth === void 0 ? 4 : _config$arrowWidth,\n _config$horizontalArr = config.horizontalArrowShift,\n horizontalArrowShift = _config$horizontalArr === void 0 ? 16 : _config$horizontalArr,\n _config$verticalArrow = config.verticalArrowShift,\n verticalArrowShift = _config$verticalArrow === void 0 ? 8 : _config$verticalArrow,\n autoAdjustOverflow = config.autoAdjustOverflow;\n var placementMap = {\n left: {\n points: ['cr', 'cl'],\n offset: [-4, 0]\n },\n right: {\n points: ['cl', 'cr'],\n offset: [4, 0]\n },\n top: {\n points: ['bc', 'tc'],\n offset: [0, -4]\n },\n bottom: {\n points: ['tc', 'bc'],\n offset: [0, 4]\n },\n topLeft: {\n points: ['bl', 'tc'],\n offset: [-(horizontalArrowShift + arrowWidth), -4]\n },\n leftTop: {\n points: ['tr', 'cl'],\n offset: [-4, -(verticalArrowShift + arrowWidth)]\n },\n topRight: {\n points: ['br', 'tc'],\n offset: [horizontalArrowShift + arrowWidth, -4]\n },\n rightTop: {\n points: ['tl', 'cr'],\n offset: [4, -(verticalArrowShift + arrowWidth)]\n },\n bottomRight: {\n points: ['tr', 'bc'],\n offset: [horizontalArrowShift + arrowWidth, 4]\n },\n rightBottom: {\n points: ['bl', 'cr'],\n offset: [4, verticalArrowShift + arrowWidth]\n },\n bottomLeft: {\n points: ['tl', 'bc'],\n offset: [-(horizontalArrowShift + arrowWidth), 4]\n },\n leftBottom: {\n points: ['br', 'cl'],\n offset: [-4, verticalArrowShift + arrowWidth]\n }\n };\n Object.keys(placementMap).forEach(function (key) {\n placementMap[key] = config.arrowPointAtCenter ? (0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, placementMap[key]), {\n overflow: getOverflowOptions(autoAdjustOverflow),\n targetOffset: targetOffset\n }) : (0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, _placements.placements[key]), {\n overflow: getOverflowOptions(autoAdjustOverflow)\n });\n placementMap[key].ignoreShake = true;\n });\n return placementMap;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.placements = void 0;\nvar autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nvar targetOffset = [0, 0];\nvar placements = {\n left: {\n points: ['cr', 'cl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset: targetOffset\n },\n right: {\n points: ['cl', 'cr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n top: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n bottom: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset: targetOffset\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n rightBottom: {\n points: ['bl', 'br'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n leftBottom: {\n points: ['br', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset: targetOffset\n }\n};\nexports.placements = placements;\nvar _default = placements;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PresetStatusColorTypes = exports.PresetColorTypes = void 0;\n\nvar _type = require(\"./type\");\n\nvar PresetStatusColorTypes = (0, _type.tuple)('success', 'processing', 'error', 'default', 'warning'); // eslint-disable-next-line import/prefer-default-export\n\nexports.PresetStatusColorTypes = PresetStatusColorTypes;\nvar PresetColorTypes = (0, _type.tuple)('pink', 'red', 'yellow', 'orange', 'cyan', 'green', 'blue', 'purple', 'geekblue', 'magenta', 'volcano', 'gold', 'lime');\nexports.PresetColorTypes = PresetColorTypes;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getTransitionName = exports[\"default\"] = void 0;\n\n// ================== Collapse Motion ==================\nvar getCollapsedHeight = function getCollapsedHeight() {\n return {\n height: 0,\n opacity: 0\n };\n};\n\nvar getRealHeight = function getRealHeight(node) {\n var scrollHeight = node.scrollHeight;\n return {\n height: scrollHeight,\n opacity: 1\n };\n};\n\nvar getCurrentHeight = function getCurrentHeight(node) {\n return {\n height: node ? node.offsetHeight : 0\n };\n};\n\nvar skipOpacityTransition = function skipOpacityTransition(_, event) {\n return (event === null || event === void 0 ? void 0 : event.deadline) === true || event.propertyName === 'height';\n};\n\nvar collapseMotion = {\n motionName: 'ant-motion-collapse',\n onAppearStart: getCollapsedHeight,\n onEnterStart: getCollapsedHeight,\n onAppearActive: getRealHeight,\n onEnterActive: getRealHeight,\n onLeaveStart: getCurrentHeight,\n onLeaveActive: getCollapsedHeight,\n onAppearEnd: skipOpacityTransition,\n onEnterEnd: skipOpacityTransition,\n onLeaveEnd: skipOpacityTransition,\n motionDeadline: 500\n};\n\nvar getTransitionName = function getTransitionName(rootPrefixCls, motion, transitionName) {\n if (transitionName !== undefined) {\n return transitionName;\n }\n\n return \"\".concat(rootPrefixCls, \"-\").concat(motion);\n};\n\nexports.getTransitionName = getTransitionName;\nvar _default = collapseMotion;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _KeyCode = _interopRequireDefault(require(\"rc-util/lib/KeyCode\"));\n\nvar _EnterOutlined = _interopRequireDefault(require(\"@ant-design/icons/EnterOutlined\"));\n\nvar _TextArea = _interopRequireDefault(require(\"../input/TextArea\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar Editable = function Editable(_ref) {\n var prefixCls = _ref.prefixCls,\n ariaLabel = _ref['aria-label'],\n className = _ref.className,\n style = _ref.style,\n direction = _ref.direction,\n maxLength = _ref.maxLength,\n _ref$autoSize = _ref.autoSize,\n autoSize = _ref$autoSize === void 0 ? true : _ref$autoSize,\n value = _ref.value,\n onSave = _ref.onSave,\n onCancel = _ref.onCancel,\n onEnd = _ref.onEnd;\n var ref = React.useRef();\n var inComposition = React.useRef(false);\n var lastKeyCode = React.useRef();\n\n var _React$useState = React.useState(value),\n _React$useState2 = (0, _slicedToArray2[\"default\"])(_React$useState, 2),\n current = _React$useState2[0],\n setCurrent = _React$useState2[1];\n\n React.useEffect(function () {\n setCurrent(value);\n }, [value]);\n React.useEffect(function () {\n if (ref.current && ref.current.resizableTextArea) {\n var textArea = ref.current.resizableTextArea.textArea;\n textArea.focus();\n var length = textArea.value.length;\n textArea.setSelectionRange(length, length);\n }\n }, []);\n\n var onChange = function onChange(_ref2) {\n var target = _ref2.target;\n setCurrent(target.value.replace(/[\\n\\r]/g, ''));\n };\n\n var onCompositionStart = function onCompositionStart() {\n inComposition.current = true;\n };\n\n var onCompositionEnd = function onCompositionEnd() {\n inComposition.current = false;\n };\n\n var onKeyDown = function onKeyDown(_ref3) {\n var keyCode = _ref3.keyCode;\n // We don't record keyCode when IME is using\n if (inComposition.current) return;\n lastKeyCode.current = keyCode;\n };\n\n var confirmChange = function confirmChange() {\n onSave(current.trim());\n };\n\n var onKeyUp = function onKeyUp(_ref4) {\n var keyCode = _ref4.keyCode,\n ctrlKey = _ref4.ctrlKey,\n altKey = _ref4.altKey,\n metaKey = _ref4.metaKey,\n shiftKey = _ref4.shiftKey;\n\n // Check if it's a real key\n if (lastKeyCode.current === keyCode && !inComposition.current && !ctrlKey && !altKey && !metaKey && !shiftKey) {\n if (keyCode === _KeyCode[\"default\"].ENTER) {\n confirmChange();\n onEnd === null || onEnd === void 0 ? void 0 : onEnd();\n } else if (keyCode === _KeyCode[\"default\"].ESC) {\n onCancel();\n }\n }\n };\n\n var onBlur = function onBlur() {\n confirmChange();\n };\n\n var textAreaClassName = (0, _classnames[\"default\"])(prefixCls, \"\".concat(prefixCls, \"-edit-content\"), (0, _defineProperty2[\"default\"])({}, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), className);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: textAreaClassName,\n style: style\n }, /*#__PURE__*/React.createElement(_TextArea[\"default\"], {\n ref: ref,\n maxLength: maxLength,\n value: current,\n onChange: onChange,\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp,\n onCompositionStart: onCompositionStart,\n onCompositionEnd: onCompositionEnd,\n onBlur: onBlur,\n \"aria-label\": ariaLabel,\n autoSize: autoSize\n }), /*#__PURE__*/React.createElement(_EnterOutlined[\"default\"], {\n className: \"\".concat(prefixCls, \"-edit-content-confirm\")\n }));\n};\n\nvar _default = Editable;\nexports[\"default\"] = _default;","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _EnterOutlined = _interopRequireDefault(require('./lib/icons/EnterOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _EnterOutlined;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _EnterOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/EnterOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar EnterOutlined = function EnterOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _EnterOutlined.default\n }));\n};\n\nEnterOutlined.displayName = 'EnterOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(EnterOutlined);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar EnterOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M864 170h-60c-4.4 0-8 3.6-8 8v518H310v-73c0-6.7-7.8-10.5-13-6.3l-141.9 112a8 8 0 000 12.6l141.9 112c5.3 4.2 13 .4 13-6.3v-75h498c35.3 0 64-28.7 64-64V178c0-4.4-3.6-8-8-8z\" } }] }, \"name\": \"enter\", \"theme\": \"outlined\" };\nexports.default = EnterOutlined;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof3 = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _rcTextarea = _interopRequireDefault(require(\"rc-textarea\"));\n\nvar _omit = _interopRequireDefault(require(\"rc-util/lib/omit\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _useMergedState3 = _interopRequireDefault(require(\"rc-util/lib/hooks/useMergedState\"));\n\nvar _ClearableLabeledInput = _interopRequireDefault(require(\"./ClearableLabeledInput\"));\n\nvar _configProvider = require(\"../config-provider\");\n\nvar _Input = require(\"./Input\");\n\nvar _SizeContext = _interopRequireDefault(require(\"../config-provider/SizeContext\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar __rest = void 0 && (void 0).__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nfunction fixEmojiLength(value, maxLength) {\n return (0, _toConsumableArray2[\"default\"])(value || '').slice(0, maxLength).join('');\n}\n\nvar TextArea = /*#__PURE__*/React.forwardRef(function (_a, ref) {\n var _classNames;\n\n var customizePrefixCls = _a.prefixCls,\n _a$bordered = _a.bordered,\n bordered = _a$bordered === void 0 ? true : _a$bordered,\n _a$showCount = _a.showCount,\n showCount = _a$showCount === void 0 ? false : _a$showCount,\n maxLength = _a.maxLength,\n className = _a.className,\n style = _a.style,\n customizeSize = _a.size,\n onCompositionStart = _a.onCompositionStart,\n onCompositionEnd = _a.onCompositionEnd,\n onChange = _a.onChange,\n props = __rest(_a, [\"prefixCls\", \"bordered\", \"showCount\", \"maxLength\", \"className\", \"style\", \"size\", \"onCompositionStart\", \"onCompositionEnd\", \"onChange\"]);\n\n var _React$useContext = React.useContext(_configProvider.ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var size = React.useContext(_SizeContext[\"default\"]);\n var innerRef = React.useRef(null);\n var clearableInputRef = React.useRef(null);\n\n var _React$useState = React.useState(false),\n _React$useState2 = (0, _slicedToArray2[\"default\"])(_React$useState, 2),\n compositing = _React$useState2[0],\n setCompositing = _React$useState2[1];\n\n var _useMergedState = (0, _useMergedState3[\"default\"])(props.defaultValue, {\n value: props.value\n }),\n _useMergedState2 = (0, _slicedToArray2[\"default\"])(_useMergedState, 2),\n value = _useMergedState2[0],\n setValue = _useMergedState2[1];\n\n var handleSetValue = function handleSetValue(val, callback) {\n if (props.value === undefined) {\n setValue(val);\n callback === null || callback === void 0 ? void 0 : callback();\n }\n }; // =========================== Value Update ===========================\n // Max length value\n\n\n var hasMaxLength = Number(maxLength) > 0;\n\n var onInternalCompositionStart = function onInternalCompositionStart(e) {\n setCompositing(true);\n onCompositionStart === null || onCompositionStart === void 0 ? void 0 : onCompositionStart(e);\n };\n\n var onInternalCompositionEnd = function onInternalCompositionEnd(e) {\n setCompositing(false);\n var triggerValue = e.currentTarget.value;\n\n if (hasMaxLength) {\n triggerValue = fixEmojiLength(triggerValue, maxLength);\n } // Patch composition onChange when value changed\n\n\n if (triggerValue !== value) {\n handleSetValue(triggerValue);\n (0, _Input.resolveOnChange)(e.currentTarget, e, onChange, triggerValue);\n }\n\n onCompositionEnd === null || onCompositionEnd === void 0 ? void 0 : onCompositionEnd(e);\n };\n\n var handleChange = function handleChange(e) {\n var triggerValue = e.target.value;\n\n if (!compositing && hasMaxLength) {\n triggerValue = fixEmojiLength(triggerValue, maxLength);\n }\n\n handleSetValue(triggerValue);\n (0, _Input.resolveOnChange)(e.currentTarget, e, onChange, triggerValue);\n }; // ============================== Reset ===============================\n\n\n var handleReset = function handleReset(e) {\n var _a, _b;\n\n handleSetValue('', function () {\n var _a;\n\n (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n });\n (0, _Input.resolveOnChange)((_b = (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.resizableTextArea) === null || _b === void 0 ? void 0 : _b.textArea, e, onChange);\n };\n\n var prefixCls = getPrefixCls('input', customizePrefixCls);\n React.useImperativeHandle(ref, function () {\n var _a;\n\n return {\n resizableTextArea: (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.resizableTextArea,\n focus: function focus(option) {\n var _a, _b;\n\n (0, _Input.triggerFocus)((_b = (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.resizableTextArea) === null || _b === void 0 ? void 0 : _b.textArea, option);\n },\n blur: function blur() {\n var _a;\n\n return (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.blur();\n }\n };\n });\n var textArea = /*#__PURE__*/React.createElement(_rcTextarea[\"default\"], (0, _extends2[\"default\"])({}, (0, _omit[\"default\"])(props, ['allowClear']), {\n className: (0, _classnames[\"default\"])((_classNames = {}, (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-borderless\"), !bordered), (0, _defineProperty2[\"default\"])(_classNames, className, className && !showCount), (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-sm\"), size === 'small' || customizeSize === 'small'), (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-lg\"), size === 'large' || customizeSize === 'large'), _classNames)),\n style: showCount ? undefined : style,\n prefixCls: prefixCls,\n onCompositionStart: onInternalCompositionStart,\n onChange: handleChange,\n onCompositionEnd: onInternalCompositionEnd,\n ref: innerRef,\n maxLength: maxLength\n }));\n var val = (0, _Input.fixControlledValue)(value);\n\n if (!compositing && hasMaxLength && (props.value === null || props.value === undefined)) {\n // fix #27612 将value转为数组进行截取,解决 '😂'.length === 2 等emoji表情导致的截取乱码的问题\n val = fixEmojiLength(val, maxLength);\n } // TextArea\n\n\n var textareaNode = /*#__PURE__*/React.createElement(_ClearableLabeledInput[\"default\"], (0, _extends2[\"default\"])({}, props, {\n prefixCls: prefixCls,\n direction: direction,\n inputType: \"text\",\n value: val,\n element: textArea,\n handleReset: handleReset,\n ref: clearableInputRef,\n bordered: bordered,\n style: showCount ? undefined : style\n })); // Only show text area wrapper when needed\n\n if (showCount) {\n var valueLength = (0, _toConsumableArray2[\"default\"])(val).length;\n var dataCount = '';\n\n if ((0, _typeof2[\"default\"])(showCount) === 'object') {\n dataCount = showCount.formatter({\n count: valueLength,\n maxLength: maxLength\n });\n } else {\n dataCount = \"\".concat(valueLength).concat(hasMaxLength ? \" / \".concat(maxLength) : '');\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: (0, _classnames[\"default\"])(\"\".concat(prefixCls, \"-textarea\"), (0, _defineProperty2[\"default\"])({}, \"\".concat(prefixCls, \"-textarea-rtl\"), direction === 'rtl'), \"\".concat(prefixCls, \"-textarea-show-count\"), className),\n style: style,\n \"data-count\": dataCount\n }, textareaNode);\n }\n\n return textareaNode;\n});\nvar _default = TextArea;\nexports[\"default\"] = _default;"],"sourceRoot":""}