{"version":3,"sources":["webpack:///./node_modules/jsbarcode/bin/barcodes/ITF/ITF14.js","webpack:///./node_modules/jsbarcode/bin/barcodes/MSI/MSI.js","webpack:///./src/views/OrderRecord.vue?48b6","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN8.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js","webpack:///./node_modules/jsbarcode/bin/barcodes/ITF/constants.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE39/index.js","webpack:///./src/assets/953387474.png","webpack:///./node_modules/jsbarcode/bin/barcodes/ITF/ITF.js","webpack:///./node_modules/jsbarcode/bin/barcodes/MSI/MSI11.js","webpack:///./node_modules/jsbarcode/bin/barcodes/MSI/MSI10.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128.js","webpack:///./node_modules/jsbarcode/bin/renderers/object.js","webpack:///./node_modules/jsbarcode/bin/help/optionsFromStrings.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/encoder.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN5.js","webpack:///./node_modules/jsbarcode/bin/JsBarcode.js","webpack:///./src/assets/337327633.png","webpack:///./src/views/OrderRecord.vue?2a81","webpack:///./node_modules/qrcode.vue/dist/qrcode.vue.esm.js","webpack:///src/views/OrderRecord.vue","webpack:///./src/views/OrderRecord.vue?bc0f","webpack:///./src/views/OrderRecord.vue?a06f","webpack:///./node_modules/jsbarcode/bin/barcodes/MSI/checksums.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128_AUTO.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128B.js","webpack:///./node_modules/jsbarcode/bin/renderers/canvas.js","webpack:///./node_modules/jsbarcode/bin/renderers/index.js","webpack:///./node_modules/jsbarcode/bin/help/fixOptions.js","webpack:///./node_modules/jsbarcode/bin/barcodes/pharmacode/index.js","webpack:///./node_modules/jsbarcode/bin/barcodes/MSI/MSI1110.js","webpack:///./node_modules/jsbarcode/bin/barcodes/MSI/MSI1010.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN13.js","webpack:///./node_modules/jsbarcode/bin/barcodes/MSI/index.js","webpack:///./node_modules/jsbarcode/bin/barcodes/ITF/index.js","webpack:///./node_modules/jsbarcode/bin/help/linearizeEncodings.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN2.js","webpack:///./node_modules/jsbarcode/bin/help/getOptionsFromElement.js","webpack:///./node_modules/jsbarcode/bin/renderers/shared.js","webpack:///./node_modules/jsbarcode/bin/help/getRenderProperties.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/auto.js","webpack:///./node_modules/jsbarcode/bin/exceptions/ErrorHandler.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN.js","webpack:///./node_modules/jsbarcode/bin/renderers/svg.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/UPCE.js","webpack:///./node_modules/html2canvas/dist/html2canvas.js","webpack:///./node_modules/jsbarcode/bin/barcodes/codabar/index.js","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/constants.js","webpack:///./node_modules/jsbarcode/bin/options/defaults.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/index.js","webpack:///./node_modules/jsbarcode/bin/exceptions/exceptions.js","webpack:///./node_modules/jsbarcode/bin/barcodes/Barcode.js","webpack:///./src/assets/938793560.png","webpack:///./node_modules/jsbarcode/bin/barcodes/EAN_UPC/UPC.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128A.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/CODE128C.js","webpack:///./node_modules/jsbarcode/bin/barcodes/CODE128/constants.js","webpack:///./node_modules/vue-barcode/index.js","webpack:///./node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js","webpack:///./node_modules/jsbarcode/bin/help/merge.js","webpack:///./node_modules/jsbarcode/bin/barcodes/index.js"],"names":["Object","defineProperty","exports","value","_createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","key","Constructor","protoProps","staticProps","prototype","_ITF2","_ITF3","_interopRequireDefault","obj","__esModule","default","_classCallCheck","instance","TypeError","_possibleConstructorReturn","self","call","ReferenceError","_inherits","subClass","superClass","create","constructor","setPrototypeOf","__proto__","checksum","data","res","substr","split","map","num","parseInt","reduce","sum","n","idx","Math","ceil","ITF14","_ITF","options","this","search","getPrototypeOf","_Barcode2","_Barcode3","MSI","_Barcode","ret","digit","bin","toString","addZeroes","b","text","number","_get","get","object","property","receiver","Function","desc","getOwnPropertyDescriptor","undefined","parent","getter","_EAN2","_EAN3","a","EAN8","_EAN","UPCE","UPC","EAN2","EAN5","EAN13","_EAN4","_EAN5","_EAN6","_EAN7","_EAN8","_UPC","_UPC2","_UPCE","_UPCE2","START_BIN","END_BIN","BINARIES","CODE39","toUpperCase","mod43","getCharacter","mod43checksum","result","getEncoding","characters","encodings","character","getBinary","characterValue","indexOf","module","_constants","ITF","apply","arguments","_this2","encoded","match","pair","encodePair","join","second","first","_MSI2","_MSI3","_checksums","MSI11","_MSI","mod11","MSI10","mod10","CODE128","_this","substring","bytes","char","charCodeAt","test","startIndex","shift","startSet","SET_BY_CODE","RangeError","shouldEncodeAsEan128","unshift","FNC1","encodingResult","next","replace","getBar","MODULO","STOP","isEAN128","ean128","toLowerCase","index","BARS","set","SET_A","charCode","SET_B","pos","nextCode","nextSet","SWAP","SHIFT","correctIndex","enc","weight","ObjectRenderer","optionsFromStrings","intOptions","intOption","hasOwnProperty","encode","structure","separator","val","last","_encoder","_encoder2","EAN5_STRUCTURE","_barcodes","_barcodes2","_merge","_merge2","_linearizeEncodings","_linearizeEncodings2","_fixOptions","_fixOptions2","_getRenderProperties","_getRenderProperties2","_optionsFromStrings","_optionsFromStrings2","_ErrorHandler","_ErrorHandler2","_exceptions","_defaults","_defaults2","API","JsBarcode","element","api","Error","_renderProperties","_encodings","_options","_errorHandler","format","autoSelectBarcode","render","name","getModule","registerBarcode","barcodes","wrapBarcodeCall","newOptions","Encoder","push","encoder","valid","InvalidInputException","keys","renderProperties","Renderer","renderer","afterRender","blank","size","zeroes","Array","init","renderProperty","isArray","NoElementException","window","jQuery","fn","content","elementArray","each","_vm","_h","$createElement","_c","_self","_v","ref","on","$event","preventDefault","model","callback","$$v","validSearch","expression","attrs","v","searchModel","Model_CarNo","$set","staticClass","remindDialog","_e","_l","item","Model_ReservedOrderID","_s","Model_SpaceName","_f","Model_StartDate","Model_EndDate","Model_InsertDate","disableCancel","openCancel","siteInfo","ParkingReserved_SiteInfoCode","invDialog","staticStyle","invInfo","Model_UpCompanyCode","Model_InvMon","Model_Invoice","Model_InvDate","Model_InvGuiNo","Model_InvPrice","Model_SellerNum","Model_BuyerNum","Model_BarCode","barcodeOpts","width","height","Model_QRCodeLeft","Model_QRCodeRight","Model_MachineSetSerial","Model_SiteSerial","Model_UpCompanyName","Model_ComName","Model_SiteName","Model_SiteAddress","Model_SiteTel","Model_PayNo","Model_ChargeItemsName","Receipt_ItemName","Receipt_UnitPrice","Receipt_Quantity","Model_InvNoTaxPrice","Model_InvTaxPrice","Model_InvInfoMemo","downloadIng","printOut","cancelDialog","cancelOrder","editDialog","validEdit","editModel","Model_CarShow","goEdit","scopedSlots","_u","_g","_b","$router","go","staticRenderFns","mode","MODE_NUMBER","MODE_ALPHA_NUM","MODE_8BIT_BYTE","MODE_KANJI","QR8bitByte","getLength","buffer","write","put","_8BitByte","ErrorCorrectLevel","L","M","Q","H","QRRSBlock","totalCount","dataCount","RS_BLOCK_TABLE","getRSBlocks","typeNumber","errorCorrectLevel","rsBlock","getRsBlockTable","list","count","j","RSBlock","QRBitBuffer","bufIndex","floor","putBit","getLengthInBits","bit","BitBuffer","QRMath","glog","LOG_TABLE","gexp","EXP_TABLE","math","QRPolynomial","offset","multiply","e","mod","ratio","Polynomial","QRMaskPattern","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","QRUtil","PATTERN_POSITION_TABLE","G15","G18","G15_MASK","getBCHTypeInfo","d","getBCHDigit","getBCHTypeNumber","getPatternPosition","getMask","maskPattern","getErrorCorrectPolynomial","errorCorrectLength","mode$1","type","getLostPoint","qrCode","moduleCount","getModuleCount","lostPoint","row","col","sameCount","dark","isDark","r","c","darkCount","abs","util","QRCode","modules","dataCache","dataList","proto","addData","newData","make","rsBlocks","totalDataCount","makeImpl","getBestMaskPattern","setupPositionProbePattern","setupPositionAdjustPattern","setupTimingPattern","setupTypeInfo","setupTypeNumber","createData","mapData","minLostPoint","pattern","createMovieClip","target_mc","instance_name","depth","qr_mc","createEmptyMovieClip","cs","y","x","beginFill","moveTo","lineTo","endFill","bits","inc","bitIndex","byteIndex","mask","PAD0","PAD1","createBytes","maxDcCount","maxEcCount","dcdata","ecdata","dcCount","ecCount","max","rsPoly","rawPoly","modPoly","modIndex","totalCodeCount","QRCode_1","toUTF8String","str","utf8Str","String","fromCharCode","generatePath","margin","ops","forEach","start","cell","concat","QrcodeVue","required","className","Number","validator","s","isNaN","level","l","background","foreground","renderAs","as","numCells","fgPath","updated","mounted","methods","_size","cells","tileW","tileH","scale","devicePixelRatio","canvas","$refs","ctx","getContext","rdx","cdx","fillStyle","w","h","fillRect","round","createElement","class","shapeRendering","viewBox","style","fill","components","VueBarcode","computed","watch","created","$route","params","id","msg","dbio","LinkID","searchForm","validate","then","order","Model_PayState","Date","cancelModel","OrderID","openEdit","downloadImage","editeForm","link","href","toDataURL","setAttribute","display","document","body","appendChild","click","component","VBtn","VCard","VCardActions","VCardText","VCardTitle","VCol","VContainer","VDialog","VForm","VIcon","VImg","VRow","VSimpleTable","VSpacer","VTextField","VToolbar","VToolbarTitle","VTooltip","weights","_CODE2","_CODE3","_auto","_auto2","CODE128AUTO","_CODE","CODE128B","string","B_START_CHAR","RegExp","B_CHARS","_shared","CanvasRenderer","prepareCanvas","encodingOptions","drawCanvasBarcode","drawCanvasText","moveCanvasDrawing","restoreCanvas","save","calculateEncodingAttributes","totalWidth","getTotalWidthOfEncodings","maxHeight","getMaximumHeightOfEncodings","marginLeft","marginRight","clearRect","translate","encoding","yFrom","binary","textPosition","marginTop","fontSize","textMargin","lineColor","barcodePadding","font","fontOptions","displayValue","textAlign","fillText","restore","_canvas","_canvas2","_svg","_svg2","_object","_object2","SVGRenderer","fixOptions","marginBottom","pharmacode","z","slice","MSI1110","MSI1010","lastChar","EAN13_STRUCTURE","_MSI4","_MSI5","_MSI6","_MSI7","_MSI8","_MSI9","_MSI10","_ITF4","linearizeEncodings","linearEncodings","nextLevel","EAN2_STRUCTURE","getOptionsFromElement","hasAttribute","getAttribute","getBarcodePadding","getEncodingHeight","textWidth","barcodeWidth","barcodeOptions","context","messureText","measureTextResult","measureText","_typeof","Symbol","iterator","_getOptionsFromElement","_getOptionsFromElement2","_renderers","_renderers2","getRenderProperties","querySelectedRenderProperties","returnArray","HTMLCanvasElement","HTMLImageElement","newCanvasRenderProperties","nodeName","SVGElement","InvalidElementException","selector","querySelectorAll","imgElement","matchSetALength","A_CHARS","matchSetBLength","matchSetC","C_CHARS","autoSelectFromAB","isA","ranges","untilC","autoSelectFromC","chars","cMatch","newString","cLength","C_START_CHAR","A_START_CHAR","ErrorHandler","message","func","handleCatch","EAN","flat","guardHeight","encodeFlat","encodeGuarded","from","to","textOptions","guardOptions","SIDE_BIN","leftEncode","leftText","MIDDLE_BIN","rightEncode","rightText","svgns","svg","xmlDocument","currentX","prepareSVG","group","createGroup","setGroupOptions","drawSvgBarcode","drawSVGText","firstChild","removeChild","setSvgAttributes","drawRect","barWidth","textElem","createElementNS","createTextNode","rect","EXPANSIONS","PARITIES","isValid","middleDigits","upcA","expandToUPCA","flatEncoding","guardedEncoding","encodeMiddleDigits","numberSystem","checkDigit","parity","lastUpcE","expansion","digitIndex","global","factory","extendStatics","p","__extends","__","__assign","assign","t","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","rejected","done","__generator","f","g","_","label","sent","trys","verb","op","pop","__spreadArray","pack","ar","Bounds","left","top","add","fromClientRect","clientRect","windowBounds","fromDOMRectList","domRectList","domRect","find","EMPTY","parseBounds","node","getBoundingClientRect","parseDocumentSize","documentElement","scrollWidth","offsetWidth","clientWidth","scrollHeight","offsetHeight","clientHeight","toCodePoints$1","codePoints","extra","fromCodePoint$1","_i","fromCodePoint","codeUnits","codePoint","chars$2","lookup$2","Uint8Array","i$2","chars$1$1","lookup$1$1","i$1$1","decode$1","base64","encoded1","encoded2","encoded3","encoded4","bufferLength","len","ArrayBuffer","polyUint16Array$1","polyUint32Array$1","UTRIE2_SHIFT_2$1","UTRIE2_SHIFT_1$1","UTRIE2_INDEX_SHIFT$1","UTRIE2_SHIFT_1_2$1","UTRIE2_LSCP_INDEX_2_OFFSET$1","UTRIE2_DATA_BLOCK_LENGTH$1","UTRIE2_DATA_MASK$1","UTRIE2_LSCP_INDEX_2_LENGTH$1","UTRIE2_INDEX_2_BMP_LENGTH$1","UTRIE2_UTF8_2B_INDEX_2_OFFSET$1","UTRIE2_UTF8_2B_INDEX_2_LENGTH$1","UTRIE2_INDEX_1_OFFSET$1","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1","UTRIE2_INDEX_2_BLOCK_LENGTH$1","UTRIE2_INDEX_2_MASK$1","slice16$1","view","end","Uint16Array","slice32$1","Uint32Array","createTrieFromBase64$1","_byteLength","view32","view16","headerLength","Trie$1","Trie","initialValue","errorValue","highStart","highValueIndex","ix","chars$3","lookup$3","i$3","base64$1","LETTER_NUMBER_MODIFIER","BK","CR$1","LF$1","CM","NL","WJ","ZW","GL","SP","ZWJ$1","B2","BA","BB","HY","CB","CL","CP","EX","IN","NS","OP","QU","IS","NU","PO","PR","SY","AI","AL","CJ","EB","EM","H2","H3","HL","ID","JL","JV","JT","RI$1","SA","XX","ea_OP","BREAK_MANDATORY","BREAK_NOT_ALLOWED$1","BREAK_ALLOWED$1","UnicodeTrie$1","ALPHABETICS","HARD_LINE_BREAKS","SPACE$1","PREFIX_POSTFIX","LINE_BREAKS","KOREAN_SYLLABLE_BLOCK","HYPHEN","codePointsToCharacterClasses","lineBreak","types","indices","categories","classType","prev","isAdjacentWithSpaceIgnored","currentIndex","classTypes","current","previousNonSpaceClassType","_lineBreakAtIndex","indicies","forbiddenBreaks","beforeIndex","afterIndex","before","prevIndex","cssFormattedClasses","wordBreak","_a","isLetterNumber","forbiddenBreakpoints","letterNumber","Break","LineBreaker","lastEnd","nextIndex","FLAG_UNRESTRICTED","FLAG_ID","FLAG_INTEGER","FLAG_NUMBER","LINE_FEED","SOLIDUS","REVERSE_SOLIDUS","CHARACTER_TABULATION","SPACE","QUOTATION_MARK","EQUALS_SIGN","NUMBER_SIGN","DOLLAR_SIGN","PERCENTAGE_SIGN","APOSTROPHE","LEFT_PARENTHESIS","RIGHT_PARENTHESIS","LOW_LINE","HYPHEN_MINUS","EXCLAMATION_MARK","LESS_THAN_SIGN","GREATER_THAN_SIGN","COMMERCIAL_AT","LEFT_SQUARE_BRACKET","RIGHT_SQUARE_BRACKET","CIRCUMFLEX_ACCENT","LEFT_CURLY_BRACKET","QUESTION_MARK","RIGHT_CURLY_BRACKET","VERTICAL_LINE","TILDE","CONTROL","REPLACEMENT_CHARACTER","ASTERISK","PLUS_SIGN","COMMA","COLON","SEMICOLON","FULL_STOP","NULL","BACKSPACE","LINE_TABULATION","SHIFT_OUT","INFORMATION_SEPARATOR_ONE","DELETE","EOF","ZERO","u","A","E","F","U","Z","isDigit","isSurrogateCodePoint","isHex","isLowerCaseLetter","isUpperCaseLetter","isLetter","isNonASCIICodePoint","isWhiteSpace","isNameStartCodePoint","isNameCodePoint","isNonPrintableCodePoint","isValidEscape","c1","c2","isIdentifierStart","c3","isNumberStart","stringToNumber","sign","integers","int","fraction","fracd","frac","expsign","exponent","exp","pow","LEFT_PARENTHESIS_TOKEN","RIGHT_PARENTHESIS_TOKEN","COMMA_TOKEN","SUFFIX_MATCH_TOKEN","PREFIX_MATCH_TOKEN","COLUMN_TOKEN","DASH_MATCH_TOKEN","INCLUDE_MATCH_TOKEN","LEFT_CURLY_BRACKET_TOKEN","RIGHT_CURLY_BRACKET_TOKEN","SUBSTRING_MATCH_TOKEN","BAD_URL_TOKEN","BAD_STRING_TOKEN","CDO_TOKEN","CDC_TOKEN","COLON_TOKEN","SEMICOLON_TOKEN","LEFT_SQUARE_BRACKET_TOKEN","RIGHT_SQUARE_BRACKET_TOKEN","WHITESPACE_TOKEN","EOF_TOKEN","Tokenizer","_value","chunk","read","tokens","token","consumeToken","consumeCodePoint","consumeStringToken","peekCodePoint","flags","consumeName","reconsumeCodePoint","consumeNumericToken","e1","e2","e3","consumeIdentLikeToken","a1","a2","a3","u1","u2","consumeUnicodeRangeToken","consumeWhiteSpace","delta","digits","questionMarks","start_1","endDigits","consumeUrlToken","stringToken","consumeBadUrlRemnants","consumeEscapedCodePoint","consumeStringSlice","SLICE_STACK_SIZE","amount","min","splice","endingCodePoint","consumeNumber","repr","unit","hex","hexCodePoint","Parser","_tokens","tokenizer","parseValue","parseComponentValue","parseValues","parseComponentValues","SyntaxError","reconsumeToken","consumeComponentValue","values","consumeSimpleBlock","consumeFunction","block","isEndingTokenFor","functionToken","cssFunction","isDimensionToken","isNumberToken","isIdentToken","isStringToken","isIdentWithValue","nonWhiteSpace","nonFunctionArgSeparator","parseFunctionArgs","args","arg","isLength","isLengthPercentage","parseLengthPercentageTuple","ZERO_LENGTH","FIFTY_PERCENT","HUNDRED_PERCENT","getAbsoluteValueForTuple","tuple","getAbsoluteValue","DEG","GRAD","RAD","TURN","angle","parse","_context","PI","isAngle","parseNamedSide","sideOrCorner","filter","ident","deg","color$1","colorFunction","SUPPORTED_COLOR_FUNCTIONS","namedColor","COLORS","TRANSPARENT","isTransparent","color","asString","alpha","blue","green","red","getTokenColorValue","rgb","hue2rgb","t1","t2","hue","hsl","saturation","lightness","hsla","rgba","parseColor","ALICEBLUE","ANTIQUEWHITE","AQUA","AQUAMARINE","AZURE","BEIGE","BISQUE","BLACK","BLANCHEDALMOND","BLUE","BLUEVIOLET","BROWN","BURLYWOOD","CADETBLUE","CHARTREUSE","CHOCOLATE","CORAL","CORNFLOWERBLUE","CORNSILK","CRIMSON","CYAN","DARKBLUE","DARKCYAN","DARKGOLDENROD","DARKGRAY","DARKGREEN","DARKGREY","DARKKHAKI","DARKMAGENTA","DARKOLIVEGREEN","DARKORANGE","DARKORCHID","DARKRED","DARKSALMON","DARKSEAGREEN","DARKSLATEBLUE","DARKSLATEGRAY","DARKSLATEGREY","DARKTURQUOISE","DARKVIOLET","DEEPPINK","DEEPSKYBLUE","DIMGRAY","DIMGREY","DODGERBLUE","FIREBRICK","FLORALWHITE","FORESTGREEN","FUCHSIA","GAINSBORO","GHOSTWHITE","GOLD","GOLDENROD","GRAY","GREEN","GREENYELLOW","GREY","HONEYDEW","HOTPINK","INDIANRED","INDIGO","IVORY","KHAKI","LAVENDER","LAVENDERBLUSH","LAWNGREEN","LEMONCHIFFON","LIGHTBLUE","LIGHTCORAL","LIGHTCYAN","LIGHTGOLDENRODYELLOW","LIGHTGRAY","LIGHTGREEN","LIGHTGREY","LIGHTPINK","LIGHTSALMON","LIGHTSEAGREEN","LIGHTSKYBLUE","LIGHTSLATEGRAY","LIGHTSLATEGREY","LIGHTSTEELBLUE","LIGHTYELLOW","LIME","LIMEGREEN","LINEN","MAGENTA","MAROON","MEDIUMAQUAMARINE","MEDIUMBLUE","MEDIUMORCHID","MEDIUMPURPLE","MEDIUMSEAGREEN","MEDIUMSLATEBLUE","MEDIUMSPRINGGREEN","MEDIUMTURQUOISE","MEDIUMVIOLETRED","MIDNIGHTBLUE","MINTCREAM","MISTYROSE","MOCCASIN","NAVAJOWHITE","NAVY","OLDLACE","OLIVE","OLIVEDRAB","ORANGE","ORANGERED","ORCHID","PALEGOLDENROD","PALEGREEN","PALETURQUOISE","PALEVIOLETRED","PAPAYAWHIP","PEACHPUFF","PERU","PINK","PLUM","POWDERBLUE","PURPLE","REBECCAPURPLE","RED","ROSYBROWN","ROYALBLUE","SADDLEBROWN","SALMON","SANDYBROWN","SEAGREEN","SEASHELL","SIENNA","SILVER","SKYBLUE","SLATEBLUE","SLATEGRAY","SLATEGREY","SNOW","SPRINGGREEN","STEELBLUE","TAN","TEAL","THISTLE","TOMATO","TURQUOISE","VIOLET","WHEAT","WHITE","WHITESMOKE","YELLOW","YELLOWGREEN","backgroundClip","prefix","backgroundColor","parseColorStop","stop","processColorStops","stops","lineLength","processStops","previous","stop_1","absoluteValue","gapBegin","stop_2","gapLength","beforeGap","gapValue","getAngleFromCorner","corner","centerX","centerY","atan2","calculateGradientDirection","radian","sin","cos","halfWidth","halfHeight","halfLineLength","yDiff","xDiff","distance","sqrt","findCorner","closest","corners","stat","cx","cy","optimumDistance","optimumCorner","Infinity","calculateRadius","gradient","rx","ry","shape","linearGradient","angle$1","firstToken","colorStop","prefixLinearGradient","webkitGradient","position","CLOSEST_SIDE","FARTHEST_SIDE","CLOSEST_CORNER","FARTHEST_CORNER","CIRCLE","ELLIPSE","COVER","CONTAIN","radialGradient","isColorStop","isAtPosition_1","acc","prefixRadialGradient","isLinearGradient","isRadialGradient","image","image_1","url","cache","addImage","imageFunction","SUPPORTED_IMAGE_FUNCTIONS","isSupportedImage","BACKGROUND_SIZE","backgroundImage","backgroundOrigin","backgroundPosition","backgroundRepeat","parseBackgroundRepeat","LINE_BREAK","backgroundSize","isBackgroundSizeInfoToken","borderColorForSide","side","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderRadiusForSide","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","borderStyleForSide","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","borderWidthForSide","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","direction","parseDisplayValue","float","letterSpacing","WORD_BREAK","STRICT","NORMAL","lineHeight","computeLineHeight","listStyleImage","listStylePosition","listStyleType","marginForSide","overflow","overflowWrap","paddingForSide","paddingTop","paddingRight","paddingBottom","paddingLeft","textShadow","shadow","offsetX","offsetY","blur","textTransform","transform$1","transformFunction","SUPPORTED_TRANSFORM_FUNCTIONS","matrix","matrix3d","b1","b2","a4","b4","DEFAULT_VALUE","DEFAULT","transformOrigin","origins","visibility","BREAK_ALL","KEEP_ALL","zIndex","auto","time","opacity","textDecorationColor","textDecorationLine","line","fontFamily","accumulator","results","fontWeight","fontVariant","fontStyle","contains","counterIncrement","increments","filtered","counter","increment","counterReset","resets","reset","duration","quotes","open_1","close_1","open","close","getQuote","quote","boxShadow","spread","inset","paintOrder","layers","webkitTextStrokeColor","webkitTextStrokeWidth","CSSParsedDeclaration","declaration","animationDuration","cssFloat","overflowTuple","overflowX","overflowY","textDecoration","transform","isVisible","isTransformed","isPositioned","isPositionedWithZIndex","isFloating","isInlineLevel","CSSParsedPseudoDeclaration","CSSParsedCounterDeclaration","parser","length_1","value_1","elementDebuggerAttribute","getElementDebugType","attribute","isDebugging","elementType","ElementContainer","textNodes","elements","styles","getComputedStyle","isHTMLElementNode","some","bounds","chars$1","lookup$1","i$1","decode","polyUint16Array","polyUint32Array","UTRIE2_SHIFT_2","UTRIE2_SHIFT_1","UTRIE2_INDEX_SHIFT","UTRIE2_SHIFT_1_2","UTRIE2_LSCP_INDEX_2_OFFSET","UTRIE2_DATA_BLOCK_LENGTH","UTRIE2_DATA_MASK","UTRIE2_LSCP_INDEX_2_LENGTH","UTRIE2_INDEX_2_BMP_LENGTH","UTRIE2_UTF8_2B_INDEX_2_OFFSET","UTRIE2_UTF8_2B_INDEX_2_LENGTH","UTRIE2_INDEX_1_OFFSET","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH","UTRIE2_INDEX_2_BLOCK_LENGTH","UTRIE2_INDEX_2_MASK","slice16","slice32","createTrieFromBase64","lookup","PseudoElementType","Prepend","CR","LF","Control","Extend","SpacingMark","V","T","LV","LVT","ZWJ","Extended_Pictographic","RI","toCodePoints","UnicodeTrie","BREAK_NOT_ALLOWED","BREAK_ALLOWED","codePointToClass","_graphemeBreakAtIndex","_codePoints","countRI","GraphemeBreaker","graphemeBreak","splitGraphemes","bk","breaker","graphemes","testRangeBounds","TEST_HEIGHT","createRange","range","testElement","selectNode","rangeBounds","rangeHeight","testIOSLineBreak","wordSpacing","innerHTML","repeat","textList","supports","every","setStart","setEnd","boundAhead","testCORS","Image","crossOrigin","testResponseType","XMLHttpRequest","responseType","testSVG","img","src","drawImage","isGreenPixel","testForeignObject","greenImageSrc","createForeignObjectSVG","loadSerializedSVG$1","getImageData","catch","xmlns","foreignObject","setAttributeNS","onload","onerror","encodeURIComponent","XMLSerializer","serializeToString","FEATURES","SUPPORT_RANGE_BOUNDS","fetch","Intl","Segmenter","TextBounds","parseTextBounds","breakText","textBounds","trim","clientRects","getClientRects","subSegments","segmentGraphemes","subOffset_1","subSegment","replacementNode","splitText","getWrapperBounds","ownerDocument","wrapper","cloneNode","parentNode","replaceChild","SUPPORT_NATIVE_TEXT_SEGMENTATION","segmenter","granularity","segment","segmentWords","breakWords","wordSeparators","words","_loop_1","word_1","TextContainer","CAPITALIZE","capitalize","m","p1","p2","ImageElementContainer","_super","currentSrc","intrinsicWidth","naturalWidth","intrinsicHeight","naturalHeight","CanvasElementContainer","SVGElementContainer","baseVal","LIElementContainer","OLElementContainer","reversed","CHECKBOX_BORDER_RADIUS","RADIO_BORDER_RADIUS","reformatInputBounds","getInputValue","PASSWORD","placeholder","CHECKBOX","RADIO","INPUT_COLOR","InputElementContainer","input","checked","SelectElementContainer","option","selectedIndex","TextareaElementContainer","IFrameElementContainer","iframe","contentWindow","tree","parseTree","documentBackgroundColor","bodyBackgroundColor","LIST_OWNERS","parseNodeTree","root","childNode","nextNode","nextSibling","isTextNode","isElementNode","isSlotElement","assignedNodes","container","createContainer","createsRealStackingContext","createsStackingContext","tagName","slot","shadowRoot","isTextareaElement","isSVGElement","isSelectElement","isImageElement","isCanvasElement","isLIElement","isOLElement","isInputElement","isIFrameElement","isBodyElement","nodeType","Node","TEXT_NODE","ELEMENT_NODE","isSVGElementNode","isHTMLElement","isVideoElement","isStyleElement","isScriptElement","isCustomElement","CounterState","counters","getCounterValue","getCounterValues","canReset","entry","counterNames","ROMAN_UPPER","ARMENIAN","HEBREW","GEORGIAN","createAdditiveCounter","symbols","fallback","suffix","createCounterText","integer","createCounterStyleWithSymbolResolver","codePointRangeLength","isNumeric","resolver","createCounterStyleFromRange","codePointRangeStart","codePointRangeEnd","createCounterStyleFromSymbols","CJK_ZEROS","CJK_TEN_COEFFICIENTS","CJK_TEN_HIGH_COEFFICIENTS","CJK_HUNDRED_COEFFICIENTS","createCJKCounter","numbers","multipliers","negativeSign","tmp","coefficient","CHINESE_INFORMAL_MULTIPLIERS","CHINESE_FORMAL_MULTIPLIERS","JAPANESE_NEGATIVE","KOREAN_NEGATIVE","appendSuffix","defaultSuffix","cjkSuffix","koreanSuffix","spaceSuffix","IGNORE_ATTRIBUTE","DocumentCloner","scrolledElements","referenceElement","quoteDepth","toIFrame","windowSize","createIFrameContainer","scrollX","defaultView","pageXOffset","scrollY","pageYOffset","cloneWindow","documentClone","iframeLoad","iframeLoader","onclone","restoreNodeScroll","scrollTo","navigator","userAgent","logger","warn","clonedReferenceElement","fonts","ready","imagesReady","serializeDoctype","doctype","restoreOwnerScroll","adoptNode","createElementClone","createCanvasClone","createVideoClone","createStyleClone","clone","srcset","loading","createCustomElementClone","copyCSSStyles","sheet","cssRules","css","rule","cssText","textContent","error","inlineImages","info","clonedCanvas","clonedCtx","allowTaint","putImageData","gl","attribs","getContextAttributes","preserveDrawingBuffer","video","blankCanvas","appendChildNode","child","copyStyles","ignoreElements","cloneChildNodes","assignedNode","transitionProperty","styleBefore","styleAfter","createPseudoHideStyles","resolvePseudoContent","BEFORE","insertBefore","after","AFTER","scrollTop","scrollLeft","pseudoElt","anonymousReplacedElement","attr","counterStyle","counterState","counterType","delim","counterStates","counterType_1","PSEUDO_HIDE_ELEMENT_CLASS_BEFORE","PSEUDO_HIDE_ELEMENT_CLASS_AFTER","newClassName","baseValue","destroy","CORNER","cloneIframeContainer","border","scrolling","imageReady","complete","all","images","interval","setInterval","childNodes","readyState","clearInterval","ignoredStyleProperties","setProperty","getPropertyValue","internalSubset","publicId","systemId","PSEUDO_BEFORE","PSEUDO_AFTER","PSEUDO_HIDE_ELEMENT_STYLE","createStyles","CacheStorage","getOrigin","_link","protocol","hostname","port","isSameOrigin","_origin","setContext","location","Cache","_cache","has","isBlobImage","isRenderable","loadImage","useCORS","useProxy","isInlineImage","SUPPORT_CORS_IMAGES","proxy","SUPPORT_CORS_XHR","debug","isInlineBase64Image","setTimeout","imageTimeout","SUPPORT_RESPONSE_TYPE","xhr","status","response","reader_1","FileReader","addEventListener","readAsDataURL","queryString","timeout_1","timeout","ontimeout","send","INLINE_SVG","INLINE_BASE64","INLINE_IMG","SUPPORT_SVG_DRAWING","isSVG","Vector","deltaX","deltaY","lerp","BezierCurve","startControl","endControl","subdivide","firstHalf","ab","bc","cd","abbc","bccd","dest","reverse","isBezierCurve","path","BoundCurves","tlh","tlv","trh","trv","brh","brv","_d","blh","blv","factors","maxFactor","topWidth","rightHeight","bottomWidth","leftHeight","topLeftBorderDoubleOuterBox","getCurvePoints","TOP_LEFT","topRightBorderDoubleOuterBox","TOP_RIGHT","bottomRightBorderDoubleOuterBox","BOTTOM_RIGHT","bottomLeftBorderDoubleOuterBox","BOTTOM_LEFT","topLeftBorderDoubleInnerBox","topRightBorderDoubleInnerBox","bottomRightBorderDoubleInnerBox","bottomLeftBorderDoubleInnerBox","topLeftBorderStroke","topRightBorderStroke","bottomRightBorderStroke","bottomLeftBorderStroke","topLeftBorderBox","topRightBorderBox","bottomRightBorderBox","bottomLeftBorderBox","topLeftPaddingBox","topRightPaddingBox","bottomRightPaddingBox","bottomLeftPaddingBox","topLeftContentBox","topRightContentBox","bottomRightContentBox","bottomLeftContentBox","r1","r2","kappa","ox","oy","xm","ym","calculateBorderBoxPath","curves","calculateContentBoxPath","calculatePaddingBoxPath","TransformEffect","ClipEffect","OpacityEffect","isTransformEffect","effect","isClipEffect","isOpacityEffect","equalPath","transformPath","deltaW","deltaH","point","StackingContext","inlineLevel","nonInlineLevel","negativeZIndex","zeroOrAutoZIndexOrTransformedOrOpacity","positiveZIndex","nonPositionedFloats","nonPositionedInlineLevel","ElementPaint","effects","borderBox","paddingBox","getEffects","inFlow","croplessEffects","parseStackTree","stackingContext","realStackingContext","listItems","treatAsRealStackingContext","paintContainer","listOwnerItems","parentStack","stack","order_1","index_1","index_2","processListItems","owner","numbering","listValue","parseStackingContexts","parsePathForBorder","borderSide","createPathFromCurves","parsePathForBorderDoubleOuter","parsePathForBorderDoubleInner","parsePathForBorderStroke","createStrokePathFromCurves","outer1","outer2","inner1","inner2","contentBox","calculateBackgroundPositioningArea","calculateBackgroundPaintingArea","calculateBackgroundRendering","intrinsicSize","backgroundPositioningArea","getBackgroundValueForIndex","backgroundPaintingArea","backgroundImageSize","calculateBackgroundSize","sizeWidth","sizeHeight","calculateBackgroundRepeatPath","isAuto","AUTO","hasIntrinsicValue","intrinsicProportion","hasIntrinsicProportion","targetRatio","hasIntrinsicWidth","hasIntrinsicHeight","hasIntrinsicDimensions","width_1","height_1","width_2","height_2","width_3","height_3","SMALL_IMAGE","SAMPLE_TEXT","FontMetrics","_data","_document","parseMetrics","span","padding","whiteSpace","verticalAlign","baseline","offsetTop","middle","getMetrics","MASK_OFFSET","_activeEffects","fontMetrics","textBaseline","applyEffects","popEffect","applyEffect","globalAlpha","clip","renderStack","renderStackContent","renderNode","paint","renderNodeBackgroundAndBorders","renderNodeContent","renderTextWithLetterSpacing","letters","letter","createFontStyle","variant","fixIOSSystemFonts","renderTextNode","paintOrderLayer","textShadows","shadowColor","shadowOffsetX","shadowOffsetY","shadowBlur","strokeStyle","lineWidth","lineJoin","chrome","strokeText","renderReplacedElement","box","iframeRenderer","beginPath","arc","isTextInputElement","canvasTextAlign","_j","_k","_m","_o","_p","paths","formatPath","closePath","bezierCurveTo","renderRepeat","resizeImage","renderBackgroundImage","this_1","x0","x1","y0","y1","gradient_1","top_1","radialGradient_1","midX","midY","invF","createPattern","createLinearGradient","addColorStop","createRadialGradient","renderSolidBorder","curvePoints","renderDoubleBorder","outerPaths","innerPaths","hasBackground","borders","borders_1","calculateBackgroundCurvedPaintingArea","borderBoxArea","maskOffset","shadowPaintingArea","renderDashedDottedBorder","strokePaths","boxPaths","startX","startY","endX","endY","dashLength","spaceLength","useLineDash","multiplier","numberOfDashes","minSpace","maxSpace","path1","path2","setLineDash","lineCap","stroke","iOSBrokenFonts","fontFamilies","ForeignObjectRenderer","loadSerializedSVG","Logger","enabled","now","console","getTime","instances","Context","instanceName","instanceCount","logging","html2canvas","renderElement","opts","resourceOptions","contextOptions","windowOptions","foreignObjectRendering","cloneOptions","documentCloner","clonedElement","renderOptions","_q","_r","_t","windowWidth","innerWidth","windowHeight","innerHeight","parseBackgroundColor","removeContainer","backgroundColorOverride","defaultBackgroundColor","codabar","getEncodings","charAt","defaults","CODE128C","CODE128A","_CODE128_AUTO","_CODE128_AUTO2","_CODE128A","_CODE128A2","_CODE128B","_CODE128B2","_CODE128C","_CODE128C2","_Error","symbology","_Error2","_Error3","_this3","Barcode","_SET_BY_CODE","_defineProperty","SET_C","START_A","START_B","START_C","101","100","99","elementTag","$slots","Boolean","$watch","deep","immediate","that","settings","removeUndefinedProps","$el","querySelector","prop","GenericBarcode","_extends","source","old","replaceObj","_EAN_UPC","_pharmacode","_codabar","_GenericBarcode"],"mappings":"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AAG,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACnG,CAAC,EAAG,IAAK,IAAK,GAAI,IAAK,KAAM,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACpG,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACnG,CAAC,EAAG,IAAK,IAAK,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACtG,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACpG,CAAC,GAAI,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACzF,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACtG,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpG,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,GAA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QA,GACJ,IAAK,OACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,UACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,uBACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,GACX,IAAK,eACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,YACD,OAAO,GACX,IAAK,qBACD,OAAO,GACX,IAAK,oBACD,OAAO,GACX,IAAK,kBACD,OAAO,GACX,IAAK,aACD,OAAO,GACX,IAAK,mBACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,SACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,kBACD,OAAO,GACX,IAAK,oBACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,QACD,OAAO,GACX,IAAK,uBACD,OAAO,GACX,IAAK,sBACD,OAAO,GACX,IAAK,wBACD,OAAO,GACX,IAAK,MACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,YACD,OAAO,GACX,IAAK,YACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,QACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,sBACD,OAAO,GACX,IAAK,wBACD,OAAO,GACX,IAAK,QACD,OAAO,GACX,IAAK,SACD,OAAO,GACX,IAAK,OACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,sBACD,OAAO,GACX,IAAK,wBACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,kBACD,OAAO,GACX,IAAK,oBACD,OAAO,GACX,IAAK,OACL,QACI,OAAQ,KAKpBihC,GAAgB,SAAUhC,GAAQ,MAAO,CACzC5qC,KAAM,UAAY4qC,EAClBtiB,aAAc,IACdgd,QAAQ,EACR35B,KAAM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","file":"static/js/chunk-a940dd58.a4cb5630.js","sourcesContent":["'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _ITF2 = require('./ITF');\n\nvar _ITF3 = _interopRequireDefault(_ITF2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// Calculate the checksum digit\nvar checksum = function checksum(data) {\n\tvar res = data.substr(0, 13).split('').map(function (num) {\n\t\treturn parseInt(num, 10);\n\t}).reduce(function (sum, n, idx) {\n\t\treturn sum + n * (3 - idx % 2 * 2);\n\t}, 0);\n\n\treturn Math.ceil(res / 10) * 10 - res;\n};\n\nvar ITF14 = function (_ITF) {\n\t_inherits(ITF14, _ITF);\n\n\tfunction ITF14(data, options) {\n\t\t_classCallCheck(this, ITF14);\n\n\t\t// Add checksum if it does not exist\n\t\tif (data.search(/^[0-9]{13}$/) !== -1) {\n\t\t\tdata += checksum(data);\n\t\t}\n\t\treturn _possibleConstructorReturn(this, (ITF14.__proto__ || Object.getPrototypeOf(ITF14)).call(this, data, options));\n\t}\n\n\t_createClass(ITF14, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{14}$/) !== -1 && +this.data[13] === checksum(this.data);\n\t\t}\n\t}]);\n\n\treturn ITF14;\n}(_ITF3.default);\n\nexports.default = ITF14;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation\n// https://en.wikipedia.org/wiki/MSI_Barcode#Character_set_and_binary_lookup\n\nvar MSI = function (_Barcode) {\n\t_inherits(MSI, _Barcode);\n\n\tfunction MSI(data, options) {\n\t\t_classCallCheck(this, MSI);\n\n\t\treturn _possibleConstructorReturn(this, (MSI.__proto__ || Object.getPrototypeOf(MSI)).call(this, data, options));\n\t}\n\n\t_createClass(MSI, [{\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\t// Start bits\n\t\t\tvar ret = \"110\";\n\n\t\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t\t// Convert the character to binary (always 4 binary digits)\n\t\t\t\tvar digit = parseInt(this.data[i]);\n\t\t\t\tvar bin = digit.toString(2);\n\t\t\t\tbin = addZeroes(bin, 4 - bin.length);\n\n\t\t\t\t// Add 100 for every zero and 110 for every 1\n\t\t\t\tfor (var b = 0; b < bin.length; b++) {\n\t\t\t\t\tret += bin[b] == \"0\" ? \"100\" : \"110\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// End bits\n\t\t\tret += \"1001\";\n\n\t\t\treturn {\n\t\t\t\tdata: ret,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]+$/) !== -1;\n\t\t}\n\t}]);\n\n\treturn MSI;\n}(_Barcode3.default);\n\nfunction addZeroes(number, n) {\n\tfor (var i = 0; i < n; i++) {\n\t\tnumber = \"0\" + number;\n\t}\n\treturn number;\n}\n\nexports.default = MSI;","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderRecord.vue?vue&type=style&index=0&id=39972f14&scoped=true&lang=css&\"","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _EAN2 = require('./EAN');\n\nvar _EAN3 = _interopRequireDefault(_EAN2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// http://www.barcodeisland.com/ean8.phtml\n\n// Calculate the checksum digit\nvar checksum = function checksum(number) {\n\tvar res = number.substr(0, 7).split('').map(function (n) {\n\t\treturn +n;\n\t}).reduce(function (sum, a, idx) {\n\t\treturn idx % 2 ? sum + a : sum + a * 3;\n\t}, 0);\n\n\treturn (10 - res % 10) % 10;\n};\n\nvar EAN8 = function (_EAN) {\n\t_inherits(EAN8, _EAN);\n\n\tfunction EAN8(data, options) {\n\t\t_classCallCheck(this, EAN8);\n\n\t\t// Add checksum if it does not exist\n\t\tif (data.search(/^[0-9]{7}$/) !== -1) {\n\t\t\tdata += checksum(data);\n\t\t}\n\n\t\treturn _possibleConstructorReturn(this, (EAN8.__proto__ || Object.getPrototypeOf(EAN8)).call(this, data, options));\n\t}\n\n\t_createClass(EAN8, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{8}$/) !== -1 && +this.data[7] === checksum(this.data);\n\t\t}\n\t}, {\n\t\tkey: 'leftText',\n\t\tvalue: function leftText() {\n\t\t\treturn _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'leftText', this).call(this, 0, 4);\n\t\t}\n\t}, {\n\t\tkey: 'leftEncode',\n\t\tvalue: function leftEncode() {\n\t\t\tvar data = this.data.substr(0, 4);\n\t\t\treturn _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'leftEncode', this).call(this, data, 'LLLL');\n\t\t}\n\t}, {\n\t\tkey: 'rightText',\n\t\tvalue: function rightText() {\n\t\t\treturn _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'rightText', this).call(this, 4, 4);\n\t\t}\n\t}, {\n\t\tkey: 'rightEncode',\n\t\tvalue: function rightEncode() {\n\t\t\tvar data = this.data.substr(4, 4);\n\t\t\treturn _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'rightEncode', this).call(this, data, 'RRRR');\n\t\t}\n\t}]);\n\n\treturn EAN8;\n}(_EAN3.default);\n\nexports.default = EAN8;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.UPCE = exports.UPC = exports.EAN2 = exports.EAN5 = exports.EAN8 = exports.EAN13 = undefined;\n\nvar _EAN = require('./EAN13.js');\n\nvar _EAN2 = _interopRequireDefault(_EAN);\n\nvar _EAN3 = require('./EAN8.js');\n\nvar _EAN4 = _interopRequireDefault(_EAN3);\n\nvar _EAN5 = require('./EAN5.js');\n\nvar _EAN6 = _interopRequireDefault(_EAN5);\n\nvar _EAN7 = require('./EAN2.js');\n\nvar _EAN8 = _interopRequireDefault(_EAN7);\n\nvar _UPC = require('./UPC.js');\n\nvar _UPC2 = _interopRequireDefault(_UPC);\n\nvar _UPCE = require('./UPCE.js');\n\nvar _UPCE2 = _interopRequireDefault(_UPCE);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.EAN13 = _EAN2.default;\nexports.EAN8 = _EAN4.default;\nexports.EAN5 = _EAN6.default;\nexports.EAN2 = _EAN8.default;\nexports.UPC = _UPC2.default;\nexports.UPCE = _UPCE2.default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nvar START_BIN = exports.START_BIN = '1010';\nvar END_BIN = exports.END_BIN = '11101';\n\nvar BINARIES = exports.BINARIES = ['00110', '10001', '01001', '11000', '00101', '10100', '01100', '00011', '10010', '01010'];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.CODE39 = undefined;\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/Code_39#Encoding\n\nvar CODE39 = function (_Barcode) {\n\t_inherits(CODE39, _Barcode);\n\n\tfunction CODE39(data, options) {\n\t\t_classCallCheck(this, CODE39);\n\n\t\tdata = data.toUpperCase();\n\n\t\t// Calculate mod43 checksum if enabled\n\t\tif (options.mod43) {\n\t\t\tdata += getCharacter(mod43checksum(data));\n\t\t}\n\n\t\treturn _possibleConstructorReturn(this, (CODE39.__proto__ || Object.getPrototypeOf(CODE39)).call(this, data, options));\n\t}\n\n\t_createClass(CODE39, [{\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\t// First character is always a *\n\t\t\tvar result = getEncoding(\"*\");\n\n\t\t\t// Take every character and add the binary representation to the result\n\t\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t\tresult += getEncoding(this.data[i]) + \"0\";\n\t\t\t}\n\n\t\t\t// Last character is always a *\n\t\t\tresult += getEncoding(\"*\");\n\n\t\t\treturn {\n\t\t\t\tdata: result,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9A-Z\\-\\.\\ \\$\\/\\+\\%]+$/) !== -1;\n\t\t}\n\t}]);\n\n\treturn CODE39;\n}(_Barcode3.default);\n\n// All characters. The position in the array is the (checksum) value\n\n\nvar characters = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"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\", \"-\", \".\", \" \", \"$\", \"/\", \"+\", \"%\", \"*\"];\n\n// The decimal representation of the characters, is converted to the\n// corresponding binary with the getEncoding function\nvar encodings = [20957, 29783, 23639, 30485, 20951, 29813, 23669, 20855, 29789, 23645, 29975, 23831, 30533, 22295, 30149, 24005, 21623, 29981, 23837, 22301, 30023, 23879, 30545, 22343, 30161, 24017, 21959, 30065, 23921, 22385, 29015, 18263, 29141, 17879, 29045, 18293, 17783, 29021, 18269, 17477, 17489, 17681, 20753, 35770];\n\n// Get the binary representation of a character by converting the encodings\n// from decimal to binary\nfunction getEncoding(character) {\n\treturn getBinary(characterValue(character));\n}\n\nfunction getBinary(characterValue) {\n\treturn encodings[characterValue].toString(2);\n}\n\nfunction getCharacter(characterValue) {\n\treturn characters[characterValue];\n}\n\nfunction characterValue(character) {\n\treturn characters.indexOf(character);\n}\n\nfunction mod43checksum(data) {\n\tvar checksum = 0;\n\tfor (var i = 0; i < data.length; i++) {\n\t\tchecksum += characterValue(data[i]);\n\t}\n\n\tchecksum = checksum % 43;\n\treturn checksum;\n}\n\nexports.CODE39 = CODE39;","module.exports = \"data:image/png;base64,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\"","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _constants = require('./constants');\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ITF = function (_Barcode) {\n\t_inherits(ITF, _Barcode);\n\n\tfunction ITF() {\n\t\t_classCallCheck(this, ITF);\n\n\t\treturn _possibleConstructorReturn(this, (ITF.__proto__ || Object.getPrototypeOf(ITF)).apply(this, arguments));\n\t}\n\n\t_createClass(ITF, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^([0-9]{2})+$/) !== -1;\n\t\t}\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\tvar _this2 = this;\n\n\t\t\t// Calculate all the digit pairs\n\t\t\tvar encoded = this.data.match(/.{2}/g).map(function (pair) {\n\t\t\t\treturn _this2.encodePair(pair);\n\t\t\t}).join('');\n\n\t\t\treturn {\n\t\t\t\tdata: _constants.START_BIN + encoded + _constants.END_BIN,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\n\t\t// Calculate the data of a number pair\n\n\t}, {\n\t\tkey: 'encodePair',\n\t\tvalue: function encodePair(pair) {\n\t\t\tvar second = _constants.BINARIES[pair[1]];\n\n\t\t\treturn _constants.BINARIES[pair[0]].split('').map(function (first, idx) {\n\t\t\t\treturn (first === '1' ? '111' : '1') + (second[idx] === '1' ? '000' : '0');\n\t\t\t}).join('');\n\t\t}\n\t}]);\n\n\treturn ITF;\n}(_Barcode3.default);\n\nexports.default = ITF;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MSI11 = function (_MSI) {\n\t_inherits(MSI11, _MSI);\n\n\tfunction MSI11(data, options) {\n\t\t_classCallCheck(this, MSI11);\n\n\t\treturn _possibleConstructorReturn(this, (MSI11.__proto__ || Object.getPrototypeOf(MSI11)).call(this, data + (0, _checksums.mod11)(data), options));\n\t}\n\n\treturn MSI11;\n}(_MSI3.default);\n\nexports.default = MSI11;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MSI10 = function (_MSI) {\n\t_inherits(MSI10, _MSI);\n\n\tfunction MSI10(data, options) {\n\t\t_classCallCheck(this, MSI10);\n\n\t\treturn _possibleConstructorReturn(this, (MSI10.__proto__ || Object.getPrototypeOf(MSI10)).call(this, data + (0, _checksums.mod10)(data), options));\n\t}\n\n\treturn MSI10;\n}(_MSI3.default);\n\nexports.default = MSI10;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _Barcode2 = require('../Barcode.js');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nvar _constants = require('./constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// This is the master class,\n// it does require the start code to be included in the string\nvar CODE128 = function (_Barcode) {\n\t_inherits(CODE128, _Barcode);\n\n\tfunction CODE128(data, options) {\n\t\t_classCallCheck(this, CODE128);\n\n\t\t// Get array of ascii codes from data\n\t\tvar _this = _possibleConstructorReturn(this, (CODE128.__proto__ || Object.getPrototypeOf(CODE128)).call(this, data.substring(1), options));\n\n\t\t_this.bytes = data.split('').map(function (char) {\n\t\t\treturn char.charCodeAt(0);\n\t\t});\n\t\treturn _this;\n\t}\n\n\t_createClass(CODE128, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\t// ASCII value ranges 0-127, 200-211\n\t\t\treturn (/^[\\x00-\\x7F\\xC8-\\xD3]+$/.test(this.data)\n\t\t\t);\n\t\t}\n\n\t\t// The public encoding function\n\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\tvar bytes = this.bytes;\n\t\t\t// Remove the start code from the bytes and set its index\n\t\t\tvar startIndex = bytes.shift() - 105;\n\t\t\t// Get start set by index\n\t\t\tvar startSet = _constants.SET_BY_CODE[startIndex];\n\n\t\t\tif (startSet === undefined) {\n\t\t\t\tthrow new RangeError('The encoding does not start with a start character.');\n\t\t\t}\n\n\t\t\tif (this.shouldEncodeAsEan128() === true) {\n\t\t\t\tbytes.unshift(_constants.FNC1);\n\t\t\t}\n\n\t\t\t// Start encode with the right type\n\t\t\tvar encodingResult = CODE128.next(bytes, 1, startSet);\n\n\t\t\treturn {\n\t\t\t\ttext: this.text === this.data ? this.text.replace(/[^\\x20-\\x7E]/g, '') : this.text,\n\t\t\t\tdata:\n\t\t\t\t// Add the start bits\n\t\t\t\tCODE128.getBar(startIndex) +\n\t\t\t\t// Add the encoded bits\n\t\t\t\tencodingResult.result +\n\t\t\t\t// Add the checksum\n\t\t\t\tCODE128.getBar((encodingResult.checksum + startIndex) % _constants.MODULO) +\n\t\t\t\t// Add the end bits\n\t\t\t\tCODE128.getBar(_constants.STOP)\n\t\t\t};\n\t\t}\n\n\t\t// GS1-128/EAN-128\n\n\t}, {\n\t\tkey: 'shouldEncodeAsEan128',\n\t\tvalue: function shouldEncodeAsEan128() {\n\t\t\tvar isEAN128 = this.options.ean128 || false;\n\t\t\tif (typeof isEAN128 === 'string') {\n\t\t\t\tisEAN128 = isEAN128.toLowerCase() === 'true';\n\t\t\t}\n\t\t\treturn isEAN128;\n\t\t}\n\n\t\t// Get a bar symbol by index\n\n\t}], [{\n\t\tkey: 'getBar',\n\t\tvalue: function getBar(index) {\n\t\t\treturn _constants.BARS[index] ? _constants.BARS[index].toString() : '';\n\t\t}\n\n\t\t// Correct an index by a set and shift it from the bytes array\n\n\t}, {\n\t\tkey: 'correctIndex',\n\t\tvalue: function correctIndex(bytes, set) {\n\t\t\tif (set === _constants.SET_A) {\n\t\t\t\tvar charCode = bytes.shift();\n\t\t\t\treturn charCode < 32 ? charCode + 64 : charCode - 32;\n\t\t\t} else if (set === _constants.SET_B) {\n\t\t\t\treturn bytes.shift() - 32;\n\t\t\t} else {\n\t\t\t\treturn (bytes.shift() - 48) * 10 + bytes.shift() - 48;\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'next',\n\t\tvalue: function next(bytes, pos, set) {\n\t\t\tif (!bytes.length) {\n\t\t\t\treturn { result: '', checksum: 0 };\n\t\t\t}\n\n\t\t\tvar nextCode = void 0,\n\t\t\t index = void 0;\n\n\t\t\t// Special characters\n\t\t\tif (bytes[0] >= 200) {\n\t\t\t\tindex = bytes.shift() - 105;\n\t\t\t\tvar nextSet = _constants.SWAP[index];\n\n\t\t\t\t// Swap to other set\n\t\t\t\tif (nextSet !== undefined) {\n\t\t\t\t\tnextCode = CODE128.next(bytes, pos + 1, nextSet);\n\t\t\t\t}\n\t\t\t\t// Continue on current set but encode a special character\n\t\t\t\telse {\n\t\t\t\t\t\t// Shift\n\t\t\t\t\t\tif ((set === _constants.SET_A || set === _constants.SET_B) && index === _constants.SHIFT) {\n\t\t\t\t\t\t\t// Convert the next character so that is encoded correctly\n\t\t\t\t\t\t\tbytes[0] = set === _constants.SET_A ? bytes[0] > 95 ? bytes[0] - 96 : bytes[0] : bytes[0] < 32 ? bytes[0] + 96 : bytes[0];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnextCode = CODE128.next(bytes, pos + 1, set);\n\t\t\t\t\t}\n\t\t\t}\n\t\t\t// Continue encoding\n\t\t\telse {\n\t\t\t\t\tindex = CODE128.correctIndex(bytes, set);\n\t\t\t\t\tnextCode = CODE128.next(bytes, pos + 1, set);\n\t\t\t\t}\n\n\t\t\t// Get the correct binary encoding and calculate the weight\n\t\t\tvar enc = CODE128.getBar(index);\n\t\t\tvar weight = index * pos;\n\n\t\t\treturn {\n\t\t\t\tresult: enc + nextCode.result,\n\t\t\t\tchecksum: weight + nextCode.checksum\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn CODE128;\n}(_Barcode3.default);\n\nexports.default = CODE128;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ObjectRenderer = function () {\n\tfunction ObjectRenderer(object, encodings, options) {\n\t\t_classCallCheck(this, ObjectRenderer);\n\n\t\tthis.object = object;\n\t\tthis.encodings = encodings;\n\t\tthis.options = options;\n\t}\n\n\t_createClass(ObjectRenderer, [{\n\t\tkey: \"render\",\n\t\tvalue: function render() {\n\t\t\tthis.object.encodings = this.encodings;\n\t\t}\n\t}]);\n\n\treturn ObjectRenderer;\n}();\n\nexports.default = ObjectRenderer;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.default = optionsFromStrings;\n\n// Convert string to integers/booleans where it should be\n\nfunction optionsFromStrings(options) {\n\tvar intOptions = [\"width\", \"height\", \"textMargin\", \"fontSize\", \"margin\", \"marginTop\", \"marginBottom\", \"marginLeft\", \"marginRight\"];\n\n\tfor (var intOption in intOptions) {\n\t\tif (intOptions.hasOwnProperty(intOption)) {\n\t\t\tintOption = intOptions[intOption];\n\t\t\tif (typeof options[intOption] === \"string\") {\n\t\t\t\toptions[intOption] = parseInt(options[intOption], 10);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (typeof options[\"displayValue\"] === \"string\") {\n\t\toptions[\"displayValue\"] = options[\"displayValue\"] != \"false\";\n\t}\n\n\treturn options;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _constants = require('./constants');\n\n// Encode data string\nvar encode = function encode(data, structure, separator) {\n\tvar encoded = data.split('').map(function (val, idx) {\n\t\treturn _constants.BINARIES[structure[idx]];\n\t}).map(function (val, idx) {\n\t\treturn val ? val[data[idx]] : '';\n\t});\n\n\tif (separator) {\n\t\tvar last = data.length - 1;\n\t\tencoded = encoded.map(function (val, idx) {\n\t\t\treturn idx < last ? val + separator : val;\n\t\t});\n\t}\n\n\treturn encoded.join('');\n};\n\nexports.default = encode;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _constants = require('./constants');\n\nvar _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/EAN_5#Encoding\n\nvar checksum = function checksum(data) {\n\tvar result = data.split('').map(function (n) {\n\t\treturn +n;\n\t}).reduce(function (sum, a, idx) {\n\t\treturn idx % 2 ? sum + a * 9 : sum + a * 3;\n\t}, 0);\n\treturn result % 10;\n};\n\nvar EAN5 = function (_Barcode) {\n\t_inherits(EAN5, _Barcode);\n\n\tfunction EAN5(data, options) {\n\t\t_classCallCheck(this, EAN5);\n\n\t\treturn _possibleConstructorReturn(this, (EAN5.__proto__ || Object.getPrototypeOf(EAN5)).call(this, data, options));\n\t}\n\n\t_createClass(EAN5, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{5}$/) !== -1;\n\t\t}\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\tvar structure = _constants.EAN5_STRUCTURE[checksum(this.data)];\n\t\t\treturn {\n\t\t\t\tdata: '1011' + (0, _encoder2.default)(this.data, structure, '01'),\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn EAN5;\n}(_Barcode3.default);\n\nexports.default = EAN5;","'use strict';\n\nvar _barcodes = require('./barcodes/');\n\nvar _barcodes2 = _interopRequireDefault(_barcodes);\n\nvar _merge = require('./help/merge.js');\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _linearizeEncodings = require('./help/linearizeEncodings.js');\n\nvar _linearizeEncodings2 = _interopRequireDefault(_linearizeEncodings);\n\nvar _fixOptions = require('./help/fixOptions.js');\n\nvar _fixOptions2 = _interopRequireDefault(_fixOptions);\n\nvar _getRenderProperties = require('./help/getRenderProperties.js');\n\nvar _getRenderProperties2 = _interopRequireDefault(_getRenderProperties);\n\nvar _optionsFromStrings = require('./help/optionsFromStrings.js');\n\nvar _optionsFromStrings2 = _interopRequireDefault(_optionsFromStrings);\n\nvar _ErrorHandler = require('./exceptions/ErrorHandler.js');\n\nvar _ErrorHandler2 = _interopRequireDefault(_ErrorHandler);\n\nvar _exceptions = require('./exceptions/exceptions.js');\n\nvar _defaults = require('./options/defaults.js');\n\nvar _defaults2 = _interopRequireDefault(_defaults);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// The protype of the object returned from the JsBarcode() call\n\n\n// Help functions\nvar API = function API() {};\n\n// The first call of the library API\n// Will return an object with all barcodes calls and the data that is used\n// by the renderers\n\n\n// Default values\n\n\n// Exceptions\n// Import all the barcodes\nvar JsBarcode = function JsBarcode(element, text, options) {\n\tvar api = new API();\n\n\tif (typeof element === \"undefined\") {\n\t\tthrow Error(\"No element to render on was provided.\");\n\t}\n\n\t// Variables that will be pased through the API calls\n\tapi._renderProperties = (0, _getRenderProperties2.default)(element);\n\tapi._encodings = [];\n\tapi._options = _defaults2.default;\n\tapi._errorHandler = new _ErrorHandler2.default(api);\n\n\t// If text is set, use the simple syntax (render the barcode directly)\n\tif (typeof text !== \"undefined\") {\n\t\toptions = options || {};\n\n\t\tif (!options.format) {\n\t\t\toptions.format = autoSelectBarcode();\n\t\t}\n\n\t\tapi.options(options)[options.format](text, options).render();\n\t}\n\n\treturn api;\n};\n\n// To make tests work TODO: remove\nJsBarcode.getModule = function (name) {\n\treturn _barcodes2.default[name];\n};\n\n// Register all barcodes\nfor (var name in _barcodes2.default) {\n\tif (_barcodes2.default.hasOwnProperty(name)) {\n\t\t// Security check if the propery is a prototype property\n\t\tregisterBarcode(_barcodes2.default, name);\n\t}\n}\nfunction registerBarcode(barcodes, name) {\n\tAPI.prototype[name] = API.prototype[name.toUpperCase()] = API.prototype[name.toLowerCase()] = function (text, options) {\n\t\tvar api = this;\n\t\treturn api._errorHandler.wrapBarcodeCall(function () {\n\t\t\t// Ensure text is options.text\n\t\t\toptions.text = typeof options.text === 'undefined' ? undefined : '' + options.text;\n\n\t\t\tvar newOptions = (0, _merge2.default)(api._options, options);\n\t\t\tnewOptions = (0, _optionsFromStrings2.default)(newOptions);\n\t\t\tvar Encoder = barcodes[name];\n\t\t\tvar encoded = encode(text, Encoder, newOptions);\n\t\t\tapi._encodings.push(encoded);\n\n\t\t\treturn api;\n\t\t});\n\t};\n}\n\n// encode() handles the Encoder call and builds the binary string to be rendered\nfunction encode(text, Encoder, options) {\n\t// Ensure that text is a string\n\ttext = \"\" + text;\n\n\tvar encoder = new Encoder(text, options);\n\n\t// If the input is not valid for the encoder, throw error.\n\t// If the valid callback option is set, call it instead of throwing error\n\tif (!encoder.valid()) {\n\t\tthrow new _exceptions.InvalidInputException(encoder.constructor.name, text);\n\t}\n\n\t// Make a request for the binary data (and other infromation) that should be rendered\n\tvar encoded = encoder.encode();\n\n\t// Encodings can be nestled like [[1-1, 1-2], 2, [3-1, 3-2]\n\t// Convert to [1-1, 1-2, 2, 3-1, 3-2]\n\tencoded = (0, _linearizeEncodings2.default)(encoded);\n\n\t// Merge\n\tfor (var i = 0; i < encoded.length; i++) {\n\t\tencoded[i].options = (0, _merge2.default)(options, encoded[i].options);\n\t}\n\n\treturn encoded;\n}\n\nfunction autoSelectBarcode() {\n\t// If CODE128 exists. Use it\n\tif (_barcodes2.default[\"CODE128\"]) {\n\t\treturn \"CODE128\";\n\t}\n\n\t// Else, take the first (probably only) barcode\n\treturn Object.keys(_barcodes2.default)[0];\n}\n\n// Sets global encoder options\n// Added to the api by the JsBarcode function\nAPI.prototype.options = function (options) {\n\tthis._options = (0, _merge2.default)(this._options, options);\n\treturn this;\n};\n\n// Will create a blank space (usually in between barcodes)\nAPI.prototype.blank = function (size) {\n\tvar zeroes = new Array(size + 1).join(\"0\");\n\tthis._encodings.push({ data: zeroes });\n\treturn this;\n};\n\n// Initialize JsBarcode on all HTML elements defined.\nAPI.prototype.init = function () {\n\t// Should do nothing if no elements where found\n\tif (!this._renderProperties) {\n\t\treturn;\n\t}\n\n\t// Make sure renderProperies is an array\n\tif (!Array.isArray(this._renderProperties)) {\n\t\tthis._renderProperties = [this._renderProperties];\n\t}\n\n\tvar renderProperty;\n\tfor (var i in this._renderProperties) {\n\t\trenderProperty = this._renderProperties[i];\n\t\tvar options = (0, _merge2.default)(this._options, renderProperty.options);\n\n\t\tif (options.format == \"auto\") {\n\t\t\toptions.format = autoSelectBarcode();\n\t\t}\n\n\t\tthis._errorHandler.wrapBarcodeCall(function () {\n\t\t\tvar text = options.value;\n\t\t\tvar Encoder = _barcodes2.default[options.format.toUpperCase()];\n\t\t\tvar encoded = encode(text, Encoder, options);\n\n\t\t\trender(renderProperty, encoded, options);\n\t\t});\n\t}\n};\n\n// The render API call. Calls the real render function.\nAPI.prototype.render = function () {\n\tif (!this._renderProperties) {\n\t\tthrow new _exceptions.NoElementException();\n\t}\n\n\tif (Array.isArray(this._renderProperties)) {\n\t\tfor (var i = 0; i < this._renderProperties.length; i++) {\n\t\t\trender(this._renderProperties[i], this._encodings, this._options);\n\t\t}\n\t} else {\n\t\trender(this._renderProperties, this._encodings, this._options);\n\t}\n\n\treturn this;\n};\n\nAPI.prototype._defaults = _defaults2.default;\n\n// Prepares the encodings and calls the renderer\nfunction render(renderProperties, encodings, options) {\n\tencodings = (0, _linearizeEncodings2.default)(encodings);\n\n\tfor (var i = 0; i < encodings.length; i++) {\n\t\tencodings[i].options = (0, _merge2.default)(options, encodings[i].options);\n\t\t(0, _fixOptions2.default)(encodings[i].options);\n\t}\n\n\t(0, _fixOptions2.default)(options);\n\n\tvar Renderer = renderProperties.renderer;\n\tvar renderer = new Renderer(renderProperties.element, encodings, options);\n\trenderer.render();\n\n\tif (renderProperties.afterRender) {\n\t\trenderProperties.afterRender();\n\t}\n}\n\n// Export to browser\nif (typeof window !== \"undefined\") {\n\twindow.JsBarcode = JsBarcode;\n}\n\n// Export to jQuery\n/*global jQuery */\nif (typeof jQuery !== 'undefined') {\n\tjQuery.fn.JsBarcode = function (content, options) {\n\t\tvar elementArray = [];\n\t\tjQuery(this).each(function () {\n\t\t\telementArray.push(this);\n\t\t});\n\t\treturn JsBarcode(elementArray, content, options);\n\t};\n}\n\n// Export to commonJS\nmodule.exports = JsBarcode;","module.exports = \"data:image/png;base64,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\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-card',[_c('v-card-title',[_c('h4',[_vm._v(\"交易紀錄\")])]),_c('v-container',[_c('v-form',{ref:\"searchForm\",on:{\"submit\":function($event){$event.preventDefault();return _vm.search.apply(null, arguments)}},model:{value:(_vm.validSearch),callback:function ($$v) {_vm.validSearch=$$v},expression:\"validSearch\"}},[_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-text-field',{attrs:{\"rules\":[function (v) { return !!v || '必填項目'; }],\"label\":\"車號 (例: AA-1234)\",\"maxlength\":\"10\"},on:{\"input\":function (val) { return (_vm.searchModel.Model_CarNo = val.toUpperCase()); }},model:{value:(_vm.searchModel.Model_CarNo),callback:function ($$v) {_vm.$set(_vm.searchModel, \"Model_CarNo\", $$v)},expression:\"searchModel.Model_CarNo\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('v-btn',{staticClass:\"mt-3\",attrs:{\"block\":\"\",\"color\":\"primary\",\"type\":\"submit\"}},[_vm._v(\" 查 詢 \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\"mdi-magnify\")])],1)],1)],1)],1)],1),_c('v-card-actions',[_c('v-btn',{attrs:{\"color\":\"orange\"},on:{\"click\":function($event){_vm.remindDialog = true}}},[_vm._v(\" 報到地點 \")])],1)],1),_c('v-row',{staticClass:\"justify-sm-center mt-3 red--text\"},[_vm._v(\"『資料只會查詢目前時間以後的預約記錄。』\")]),(_vm.showList)?_c('v-card',{staticClass:\"mt-3\"},[_c('v-simple-table',[[_c('thead',[_c('tr',[_c('th',[_vm._v(\"停放場地\")]),_c('th',[_vm._v(\"使用區間\")]),_c('th',[_vm._v(\"交易日期\")]),(false)?_c('th',[_vm._v(\"發票號碼\")]):_vm._e(),(false)?_c('th',[_vm._v(\"交易狀態\")]):_vm._e(),(false)?_c('th',[_vm._v(\"交易金額\")]):_vm._e(),_c('th')])]),_c('tbody',_vm._l((_vm.listData),function(item){return _c('tr',{key:item.Model_ReservedOrderID},[_c('td',[_vm._v(_vm._s(item.Model_SpaceName))]),_c('td',[_vm._v(_vm._s(_vm._f(\"toDateFormat\")(item.Model_StartDate,\"YYYY/MM/DD\"))+\" - \"+_vm._s(_vm._f(\"toDateFormat\")(item.Model_EndDate,\"YYYY/MM/DD\")))]),_c('td',[_vm._v(_vm._s(_vm._f(\"toDateFormat\")(item.Model_InsertDate,\"YYYY/MM/DD HH:mm:ss\")))]),_c('td',[_c('v-btn',{staticClass:\"ml-2\",attrs:{\"block\":\"\",\"depressed\":\"\",\"color\":\"error\",\"disabled\":_vm.disableCancel(item)},on:{\"click\":function($event){return _vm.openCancel(item)}}},[_vm._v(\" 取消預約 \")])],1)])}),0)]],2)],1):_vm._e(),_c('v-dialog',{attrs:{\"max-width\":\"700px\"},model:{value:(_vm.remindDialog),callback:function ($$v) {_vm.remindDialog=$$v},expression:\"remindDialog\"}},[_c('v-card',[_c('v-card-text',[_c('p',{staticClass:\"text-center text-h4\"},[_vm._v(\" 場地位置圖 \")]),(_vm.siteInfo.ParkingReserved_SiteInfoCode)?_c('v-img',{attrs:{\"src\":require((\"@/assets/map_\" + (_vm.siteInfo.ParkingReserved_SiteInfoCode) + \".jpg\"))}}):_vm._e()],1),(_vm.siteInfo.ParkingReserved_SiteInfoCode == 84416)?_c('v-card-text',[_c('p',{staticClass:\"text-center text-h4\"},[_vm._v(\" 報到繳費地點P4停車場B1 \")]),_c('v-img',{attrs:{\"src\":require(\"@/assets/checkin.jpg\")}})],1):_vm._e(),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"blue darken-1\",\"text\":\"\"},on:{\"click\":function($event){_vm.remindDialog = false}}},[_vm._v(\" 關閉 \")])],1)],1)],1),(_vm.invDialog)?_c('v-dialog',{attrs:{\"fullscreen\":\"\",\"transition\":\"dialog-bottom-transition\"},model:{value:(_vm.invDialog),callback:function ($$v) {_vm.invDialog=$$v},expression:\"invDialog\"}},[_c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\"}},[_c('v-toolbar-title',[_vm._v(\"發票\")]),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\",\"dark\":\"\"},on:{\"click\":function($event){_vm.invDialog = false}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-card-text',{attrs:{\"align\":\"center\"}},[_c('div',{ref:\"print\"},[_c('table',{staticClass:\"mt-5 receipt\",staticStyle:{\"padding\":\"10px 0px\",\"border\":\"2px solid #000000\"},attrs:{\"max-width\":\"400\",\"border\":\"0\"}},[_c('table',{staticStyle:{\"position\":\"relative\",\"z-index\":\"2\"},attrs:{\"width\":\"100%\",\"border\":\"0\",\"cellpadding\":\"8\"}},[_c('tbody',[_c('tr',[_c('td',{attrs:{\"height\":\"50\",\"align\":\"center\"}},[(_vm.invInfo.Model_UpCompanyCode === 337327633)?_c('img',{staticStyle:{\"vertical-align\":\"middle\"},attrs:{\"src\":require(\"@/assets/337327633.png\"),\"width\":\"250\",\"height\":\"50\"}}):_vm._e(),(_vm.invInfo.Model_UpCompanyCode === 938793560)?_c('img',{staticStyle:{\"vertical-align\":\"middle\"},attrs:{\"src\":require(\"@/assets/938793560.png\"),\"width\":\"250\",\"height\":\"50\"}}):_vm._e(),(_vm.invInfo.Model_UpCompanyCode === 953387474)?_c('img',{staticStyle:{\"vertical-align\":\"middle\"},attrs:{\"src\":require(\"@/assets/953387474.png\"),\"width\":\"250\",\"height\":\"50\"}}):_vm._e()])]),_c('tr',[_c('td',{staticStyle:{\"font-size\":\"30px\",\"line-height\":\"30px\"},attrs:{\"align\":\"center\"}},[_vm._v(\" 電子發票證明聯 (測試用) \")])]),_c('tr',[_c('td',{staticStyle:{\"font-size\":\"30px\",\"line-height\":\"30px\"},attrs:{\"align\":\"center\"}},[_c('b',{staticStyle:{\"margin\":\"0px 3px 0px 0px\"}},[_vm._v(_vm._s(_vm._f(\"subStr\")(_vm.invInfo.Model_InvMon,0, 3)))]),_vm._v(\"年\"),_c('span',{staticStyle:{\"padding\":\"0px 3px\"}},[_c('b',{staticStyle:{\"padding\":\"0px 3px 0px 0px\"}},[_vm._v(_vm._s(_vm._f(\"subStr\")(_vm.invInfo.Model_InvMon,3, 5)))]),_vm._v(\"-\"),_c('b',{staticStyle:{\"padding\":\"0px 0px 0px 3px\"}},[_vm._v(_vm._s(_vm._f(\"subStr\")(_vm.invInfo.Model_InvMon,5, 7)))])]),_vm._v(\"月 \")])]),_c('tr',[_c('td',{staticStyle:{\"font-size\":\"30px\",\"line-height\":\"30px\"},attrs:{\"align\":\"center\"}},[_c('b',[_vm._v(_vm._s(_vm._f(\"subStr\")(_vm.invInfo.Model_Invoice,0, 2)))]),_vm._v(\"-\"),_c('b',[_vm._v(_vm._s(_vm._f(\"subStr\")(_vm.invInfo.Model_Invoice,2)))])])]),_c('tr',[_c('td',[_c('table',{attrs:{\"width\":\"100%\",\"border\":\"0\",\"cellspacing\":\"0\"}},[_c('tbody',[_c('tr',[_c('td',{attrs:{\"valign\":\"baseline\"}},[_c('span',{staticStyle:{\"margin\":\"0px 5px 0px 0px\"}},[_vm._v(_vm._s(_vm._f(\"toDateFormat\")(_vm.invInfo.Model_InvDate,\"YYYY-MM-DD HH:mm:ss\")))])]),(_vm.invInfo.Model_BuyerNum)?_c('td',{attrs:{\"valign\":\"baseline\",\"align\":\"right\"}},[_vm._v(\" 格式 25 \")]):_vm._e()])])])])]),_c('tr',[_c('td',[_c('table',{attrs:{\"width\":\"100%\",\"border\":\"0\",\"cellspacing\":\"0\"}},[_c('tbody',[_c('tr',[_c('td',{attrs:{\"valign\":\"baseline\"}},[_vm._v(\"隨機碼:\"),_c('span',{staticStyle:{\"font-size\":\"20px\",\"line-height\":\"20px\"}},[_vm._v(_vm._s(_vm.invInfo.Model_InvGuiNo))])]),_c('td',{attrs:{\"valign\":\"baseline\",\"align\":\"right\"}},[_vm._v(\" 總計:\"),_c('span',{attrs:{\"id\":\"totalPrice\"}},[_vm._v(\"$ \"+_vm._s(_vm._f(\"toThousandFilter\")(_vm.invInfo.Model_InvPrice)))])])])])])])]),_c('tr',[_c('td',[_c('table',{attrs:{\"width\":\"100%\",\"border\":\"0\",\"cellspacing\":\"0\"}},[_c('tbody',[_c('tr',[_c('td',{attrs:{\"valign\":\"baseline\"}},[_vm._v(\"賣方:\"),_c('span',{staticStyle:{\"font-size\":\"20px\",\"line-height\":\"20px\"}},[_vm._v(_vm._s(_vm.invInfo.Model_SellerNum))])]),(_vm.invInfo.Model_BuyerNum)?_c('td',{attrs:{\"valign\":\"baseline\",\"align\":\"right\"}},[_vm._v(\" 買方:\"),_c('span',{staticStyle:{\"font-size\":\"20px\",\"line-height\":\"20px\"}},[_vm._v(_vm._s(_vm.invInfo.Model_BuyerNum))])]):_vm._e()])])])])]),_c('tr',[_c('td',{attrs:{\"align\":\"center\"}},[_c('vue-barcode',{attrs:{\"value\":_vm.invInfo.Model_BarCode,\"width\":_vm.barcodeOpts.width,\"height\":_vm.barcodeOpts.height,\"format\":_vm.barcodeOpts.format,\"displayValue\":false}})],1)]),_c('tr',{staticClass:\"paddingTop\",attrs:{\"id\":\"paddingTop\"}},[_c('td')]),_c('tr',[_c('td',{attrs:{\"id\":\"qrCodeArea\",\"valign\":\"baseline\",\"align\":\"center\"}},[_c('qrcode-vue',{staticStyle:{\"display\":\"inline\",\"margin\":\"0px 50px 0px 0px\"},attrs:{\"value\":_vm.invInfo.Model_QRCodeLeft,\"size\":\"150\",\"level\":\"L\"}}),_c('qrcode-vue',{staticStyle:{\"display\":\"inline\"},attrs:{\"value\":_vm.invInfo.Model_QRCodeRight,\"size\":\"150\",\"level\":\"L\"}})],1)]),_c('tr',{staticClass:\"paddingBottom\",attrs:{\"id\":\"paddingBottom\"}},[_c('td')]),_c('tr',[_c('td',[_c('table',{attrs:{\"width\":\"100%\",\"border\":\"0\",\"cellspacing\":\"0\"}},[_c('tbody',[_c('tr',[_c('td',{attrs:{\"valign\":\"baseline\"}},[_vm._v(\"機: \"),_c('span',{staticStyle:{\"font-size\":\"20px\",\"line-height\":\"20px\"}},[_vm._v(_vm._s(_vm.invInfo.Model_MachineSetSerial))])]),(_vm.invInfo.Model_BuyerNum)?_c('td',{attrs:{\"valign\":\"baseline\",\"align\":\"right\"}},[_vm._v(\" 場: \"),_c('span',{staticStyle:{\"font-size\":\"20px\",\"line-height\":\"20px\"}},[_vm._v(_vm._s(_vm.invInfo.Model_SiteSerial))])]):_vm._e()])])])])]),_c('tr',[_c('td',{attrs:{\"height\":\"30\"}},[_c('hr')])]),_c('tr',[_c('td',{staticStyle:{\"font-size\":\"30px\",\"line-height\":\"30px\"},attrs:{\"height\":\"50\",\"align\":\"center\"}},[_vm._v(\" 銷 貨 明 細 表 \")])]),_c('tr',[_c('td',[_c('table',{attrs:{\"width\":\"100%\",\"border\":\"0\",\"cellspacing\":\"0\"}},[_c('tbody',[_c('tr',[_c('td',{attrs:{\"valign\":\"baseline\"}},[_c('span',{staticStyle:{\"margin\":\"0px 5px 0px 0px\"}},[_vm._v(_vm._s(_vm.invInfo.Model_UpCompanyName))])])])])])])]),_c('tr',[_c('td',[_c('table',{attrs:{\"width\":\"100%\",\"border\":\"0\",\"cellspacing\":\"0\"}},[_c('tbody',[_c('tr',[_c('td',{attrs:{\"valign\":\"baseline\"}},[_vm._v(_vm._s(_vm.invInfo.Model_ComName)),_c('span',{staticStyle:{\"margin\":\"0px 5px 0px 0px\"}},[_vm._v(\"(\"+_vm._s(_vm.invInfo.Model_SiteName)+\")\")])])])])])])]),_c('tr',[_c('td',[_c('table',{attrs:{\"width\":\"100%\",\"border\":\"0\",\"cellspacing\":\"0\"}},[_c('tbody',[_c('tr',[_c('td',{attrs:{\"valign\":\"baseline\"}},[_vm._v(\"地址: \"),_c('span',{staticStyle:{\"margin\":\"0px 5px 0px 0px\"}},[_vm._v(_vm._s(_vm.invInfo.Model_SiteAddress))])])])])])])]),_c('tr',[_c('td',[_c('table',{attrs:{\"width\":\"100%\",\"border\":\"0\",\"cellspacing\":\"0\"}},[_c('tbody',[_c('tr',[_c('td',{attrs:{\"valign\":\"baseline\"}},[_vm._v(\"電話: \"),_c('span',{staticStyle:{\"margin\":\"0px 5px 0px 0px\"}},[_vm._v(_vm._s(_vm.invInfo.Model_SiteTel))])])])])])])]),_c('tr',[_c('td',[_c('table',{attrs:{\"width\":\"100%\",\"border\":\"0\",\"cellspacing\":\"0\"}},[_c('tbody',[_c('tr',[_c('td',{attrs:{\"valign\":\"baseline\"}},[_vm._v(\"機: \"),_c('span',{staticStyle:{\"margin\":\"0px 5px 0px 0px\"}},[_vm._v(_vm._s(_vm.invInfo.Model_MachineSetSerial))])]),_c('td',{attrs:{\"valign\":\"baseline\",\"align\":\"right\"}},[_vm._v(\" 序: \"),_c('span',{staticStyle:{\"margin\":\"0px 5px 0px 0px\"}},[_vm._v(_vm._s(_vm.invInfo.Model_PayNo))])])])])])])]),_c('tr',[_c('td',[_c('table',{attrs:{\"width\":\"100%\",\"border\":\"0\",\"cellspacing\":\"0\"}},[_c('tbody',[_c('tr',[_c('td',{attrs:{\"valign\":\"baseline\"}},[_vm._v(\"收費項目: \"),_c('span',{staticStyle:{\"margin\":\"0px 5px 0px 0px\"}},[_vm._v(_vm._s(_vm.invInfo.Model_ChargeItemsName))])])])])])])]),_c('tr',[_c('td',[_c('table',{attrs:{\"width\":\"100%\",\"border\":\"0\",\"cellspacing\":\"0\"}},[_c('tbody',[_c('tr',[_c('td',{attrs:{\"valign\":\"baseline\"}},[_vm._v(\"交易日: \"),_c('span',{staticStyle:{\"margin\":\"0px 5px 0px 0px\"}},[_vm._v(_vm._s(_vm._f(\"toDateFormat\")(_vm.invInfo.Model_InvDate,\"YYYY-MM-DD HH:mm:ss\")))])])])])])])]),_c('tr',[_c('td',[_c('table',{attrs:{\"width\":\"100%\",\"border\":\"0\",\"cellspacing\":\"0\"}},[_c('tbody',[_c('tr',[_c('td',{attrs:{\"valign\":\"baseline\"}},[_vm._v(\"發票日: \"),_c('span',{staticStyle:{\"margin\":\"0px 5px 0px 0px\"}},[_vm._v(_vm._s(_vm._f(\"toDateFormat\")(_vm.invInfo.Model_InvDate,\"YYYY-MM-DD HH:mm:ss\")))])])])])])])]),_c('tr',{staticClass:\"paddingBottom\",attrs:{\"id\":\"paddingBottom\"}},[_c('td')]),_vm._l((_vm.invInfo.List_Receipt),function(item,index){return _c('tr',{key:index},[_c('td',[_c('table',{attrs:{\"width\":\"100%\",\"border\":\"0\",\"cellspacing\":\"0\"}},[_c('tbody',[_c('tr',[_c('td',{attrs:{\"valign\":\"baseline\"}},[_c('span',{staticStyle:{\"margin\":\"0px 20px 0px 0px\"}},[_vm._v(_vm._s(item.Receipt_ItemName))])]),_c('td',{attrs:{\"valign\":\"baseline\",\"align\":\"center\"}},[_c('span',[_vm._v(\"$\"+_vm._s(_vm._f(\"toThousandFilter\")(item.Receipt_UnitPrice))+\" * \"+_vm._s(item.Receipt_Quantity))])]),_c('td',{attrs:{\"valign\":\"baseline\",\"align\":\"right\"}},[_c('span',[_vm._v(_vm._s(_vm._f(\"toThousandFilter\")(item.Receipt_UnitPrice*item.Receipt_Quantity))+\" \")]),_vm._v(\" TX \")])])])])])])}),_c('tr',{staticClass:\"paddingBottom\",attrs:{\"id\":\"paddingBottom\"}},[_c('td')]),_c('tr',[_c('td',{attrs:{\"height\":\"30\"}},[_c('hr')])]),_c('tr',[_c('td',[_c('table',{attrs:{\"width\":\"100%\",\"border\":\"0\",\"cellspacing\":\"0\"}},[_c('tbody',[_c('tr',[_c('td',{attrs:{\"valign\":\"baseline\"}},[_c('span',{staticStyle:{\"font-size\":\"20px\",\"line-height\":\"20px\"}},[_vm._v(\"發票金額\")])]),_c('td',{attrs:{\"valign\":\"baseline\",\"align\":\"right\"}},[_c('span',{attrs:{\"id\":\"totalPrice\"}},[_vm._v(\"$\"+_vm._s(_vm._f(\"toThousandFilter\")(_vm.invInfo.Model_InvPrice)))])])])])])])]),_c('tr',[_c('td',[_c('table',{attrs:{\"width\":\"100%\",\"border\":\"0\",\"cellspacing\":\"0\"}},[_c('tbody',[_c('tr',[_c('td',{attrs:{\"valign\":\"baseline\"}},[_c('span',{staticStyle:{\"font-size\":\"20px\",\"line-height\":\"20px\"}},[_vm._v(\"含稅金額\")])]),_c('td',{attrs:{\"valign\":\"baseline\",\"align\":\"right\"}},[_c('span',{attrs:{\"id\":\"totalPrice\"}},[_vm._v(\"$\"+_vm._s(_vm._f(\"toThousandFilter\")(_vm.invInfo.Model_InvPrice)))])])])])])])]),_c('tr',[_c('td',[_c('table',{attrs:{\"width\":\"100%\",\"border\":\"0\",\"cellspacing\":\"0\"}},[_c('tbody',[_c('tr',[_c('td',{attrs:{\"valign\":\"baseline\"}},[_c('span',{staticStyle:{\"font-size\":\"20px\",\"line-height\":\"20px\"}},[_vm._v(\"未稅金額\")])]),_c('td',{attrs:{\"valign\":\"baseline\",\"align\":\"right\"}},[_c('span',{attrs:{\"id\":\"totalPrice\"}},[_vm._v(\"$\"+_vm._s(_vm._f(\"toThousandFilter\")(_vm.invInfo.Model_InvNoTaxPrice)))])])])])])])]),_c('tr',[_c('td',[_c('table',{attrs:{\"width\":\"100%\",\"border\":\"0\",\"cellspacing\":\"0\"}},[_c('tbody',[_c('tr',[_c('td',{attrs:{\"valign\":\"baseline\"}},[_c('span',{staticStyle:{\"font-size\":\"20px\",\"line-height\":\"20px\"}},[_vm._v(\"稅額\")])]),_c('td',{attrs:{\"valign\":\"baseline\",\"align\":\"right\"}},[_c('span',{attrs:{\"id\":\"totalPrice\"}},[_vm._v(\"$\"+_vm._s(_vm._f(\"toThousandFilter\")(_vm.invInfo.Model_InvTaxPrice)))])])])])])])]),_c('tr',[_c('td',[_c('table',{attrs:{\"width\":\"100%\",\"border\":\"0\",\"cellspacing\":\"0\"}},[_c('tbody',[_c('tr',[_c('td',{attrs:{\"valign\":\"baseline\"}},[_vm._v(\"備註: \"),_c('span',{staticStyle:{\"margin\":\"0px 5px 0px 0px\"}},[_vm._v(_vm._s(_vm.invInfo.Model_InvInfoMemo))])])])])])])])],2)])])]),_c('div',{staticClass:\"mt-5\"},[_c('v-btn',{attrs:{\"elevation\":\"2\",\"large\":\"\",\"disabled\":_vm.downloadIng,\"color\":\"primary\"},on:{\"click\":function($event){return _vm.printOut()}}},[_vm._v(_vm._s(_vm.downloadIng ? '下載中' : '檔案下載'))])],1)])],1)],1):_vm._e(),_c('v-dialog',{attrs:{\"max-width\":\"290\"},model:{value:(_vm.cancelDialog),callback:function ($$v) {_vm.cancelDialog=$$v},expression:\"cancelDialog\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"text-h5\"},[_vm._v(\" 是否確定取消預約? \")]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"green darken-1\",\"text\":\"\"},on:{\"click\":function($event){_vm.cancelDialog = false}}},[_vm._v(\" 否 \")]),_c('v-btn',{attrs:{\"color\":\"red darken-1\",\"text\":\"\"},on:{\"click\":function($event){return _vm.cancelOrder()}}},[_vm._v(\" 是 \")])],1)],1)],1),_c('v-dialog',{attrs:{\"persistent\":\"\",\"width\":\"600px\"},model:{value:(_vm.editDialog),callback:function ($$v) {_vm.editDialog=$$v},expression:\"editDialog\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"text-h5 font-weight-bold grey lighten-2\"},[_vm._v(\" 訂單資料修改 \"),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.editDialog = false}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-card-text',[_c('v-form',{ref:\"editeForm\",staticClass:\"mt-5\",model:{value:(_vm.validEdit),callback:function ($$v) {_vm.validEdit=$$v},expression:\"validEdit\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-text-field',{attrs:{\"rules\":[function (v) { return !!v || '必填項目'; }],\"label\":\"姓名\",\"maxlength\":\"50\"},model:{value:(_vm.editModel.Model_Contact),callback:function ($$v) {_vm.$set(_vm.editModel, \"Model_Contact\", $$v)},expression:\"editModel.Model_Contact\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-text-field',{attrs:{\"rules\":[function (v) { return !!v || '必填項目'; }, function (v) { return /^((軍[A-Z]-[0-9]{5})|([A-Z0-9]{1,4}-[A-Z0-9]{1,4}))$/.test(v) || '車號規格錯誤'; }],\"label\":\"車牌號碼 (例: AA-1234)\",\"maxlength\":\"10\"},on:{\"input\":function (val) { return (_vm.editModel.Model_CarShow = val.toUpperCase()); }},model:{value:(_vm.editModel.Model_CarShow),callback:function ($$v) {_vm.$set(_vm.editModel, \"Model_CarShow\", $$v)},expression:\"editModel.Model_CarShow\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-text-field',{attrs:{\"rules\":[function (v) { return !!v || '必填項目'; }, function (v) { return /^(09[0-9]{8})$/.test(v) || '手機格式錯誤'; }],\"label\":\"手機號碼\",\"maxlength\":\"10\"},model:{value:(_vm.editModel.Model_Phone),callback:function ($$v) {_vm.$set(_vm.editModel, \"Model_Phone\", $$v)},expression:\"editModel.Model_Phone\"}})],1)],1)],1)],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"blue darken-1\",\"text\":\"\"},on:{\"click\":function($event){_vm.editDialog = false}}},[_vm._v(\" 關閉 \")]),_c('v-btn',{attrs:{\"color\":\"blue darken-1\",\"text\":\"\"},on:{\"click\":_vm.goEdit}},[_vm._v(\" 送出 \")])],1)],1)],1),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({attrs:{\"fab\":\"\",\"fixed\":\"\",\"right\":\"\",\"bottom\":\"\",\"color\":\"success\"},on:{\"click\":function($event){return _vm.$router.go(-1)}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-keyboard-return\")])],1)]}}])},[_c('span',[_vm._v(\"返回\")])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*!\n * qrcode.vue v1.7.0\n * A Vue component to generate QRCode.\n * © 2017-2019 @scopewu(https://github.com/scopewu)\n * MIT License.\n */\nvar mode = {\n MODE_NUMBER: 1 << 0,\n MODE_ALPHA_NUM: 1 << 1,\n MODE_8BIT_BYTE: 1 << 2,\n MODE_KANJI: 1 << 3\n};\n\nfunction QR8bitByte(data) {\n this.mode = mode.MODE_8BIT_BYTE;\n this.data = data;\n}\n\nQR8bitByte.prototype = {\n getLength: function (buffer) {\n return this.data.length;\n },\n write: function (buffer) {\n for (var i = 0; i < this.data.length; i++) {\n // not JIS ...\n buffer.put(this.data.charCodeAt(i), 8);\n }\n }\n};\nvar _8BitByte = QR8bitByte;\n\nvar ErrorCorrectLevel = {\n L: 1,\n M: 0,\n Q: 3,\n H: 2\n};\n\nfunction QRRSBlock(totalCount, dataCount) {\n this.totalCount = totalCount;\n this.dataCount = dataCount;\n}\n\nQRRSBlock.RS_BLOCK_TABLE = [// L\n// M\n// Q\n// H\n// 1\n[1, 26, 19], [1, 26, 16], [1, 26, 13], [1, 26, 9], // 2\n[1, 44, 34], [1, 44, 28], [1, 44, 22], [1, 44, 16], // 3\n[1, 70, 55], [1, 70, 44], [2, 35, 17], [2, 35, 13], // 4\t\t\n[1, 100, 80], [2, 50, 32], [2, 50, 24], [4, 25, 9], // 5\n[1, 134, 108], [2, 67, 43], [2, 33, 15, 2, 34, 16], [2, 33, 11, 2, 34, 12], // 6\n[2, 86, 68], [4, 43, 27], [4, 43, 19], [4, 43, 15], // 7\t\t\n[2, 98, 78], [4, 49, 31], [2, 32, 14, 4, 33, 15], [4, 39, 13, 1, 40, 14], // 8\n[2, 121, 97], [2, 60, 38, 2, 61, 39], [4, 40, 18, 2, 41, 19], [4, 40, 14, 2, 41, 15], // 9\n[2, 146, 116], [3, 58, 36, 2, 59, 37], [4, 36, 16, 4, 37, 17], [4, 36, 12, 4, 37, 13], // 10\t\t\n[2, 86, 68, 2, 87, 69], [4, 69, 43, 1, 70, 44], [6, 43, 19, 2, 44, 20], [6, 43, 15, 2, 44, 16], // 11\n[4, 101, 81], [1, 80, 50, 4, 81, 51], [4, 50, 22, 4, 51, 23], [3, 36, 12, 8, 37, 13], // 12\n[2, 116, 92, 2, 117, 93], [6, 58, 36, 2, 59, 37], [4, 46, 20, 6, 47, 21], [7, 42, 14, 4, 43, 15], // 13\n[4, 133, 107], [8, 59, 37, 1, 60, 38], [8, 44, 20, 4, 45, 21], [12, 33, 11, 4, 34, 12], // 14\n[3, 145, 115, 1, 146, 116], [4, 64, 40, 5, 65, 41], [11, 36, 16, 5, 37, 17], [11, 36, 12, 5, 37, 13], // 15\n[5, 109, 87, 1, 110, 88], [5, 65, 41, 5, 66, 42], [5, 54, 24, 7, 55, 25], [11, 36, 12], // 16\n[5, 122, 98, 1, 123, 99], [7, 73, 45, 3, 74, 46], [15, 43, 19, 2, 44, 20], [3, 45, 15, 13, 46, 16], // 17\n[1, 135, 107, 5, 136, 108], [10, 74, 46, 1, 75, 47], [1, 50, 22, 15, 51, 23], [2, 42, 14, 17, 43, 15], // 18\n[5, 150, 120, 1, 151, 121], [9, 69, 43, 4, 70, 44], [17, 50, 22, 1, 51, 23], [2, 42, 14, 19, 43, 15], // 19\n[3, 141, 113, 4, 142, 114], [3, 70, 44, 11, 71, 45], [17, 47, 21, 4, 48, 22], [9, 39, 13, 16, 40, 14], // 20\n[3, 135, 107, 5, 136, 108], [3, 67, 41, 13, 68, 42], [15, 54, 24, 5, 55, 25], [15, 43, 15, 10, 44, 16], // 21\n[4, 144, 116, 4, 145, 117], [17, 68, 42], [17, 50, 22, 6, 51, 23], [19, 46, 16, 6, 47, 17], // 22\n[2, 139, 111, 7, 140, 112], [17, 74, 46], [7, 54, 24, 16, 55, 25], [34, 37, 13], // 23\n[4, 151, 121, 5, 152, 122], [4, 75, 47, 14, 76, 48], [11, 54, 24, 14, 55, 25], [16, 45, 15, 14, 46, 16], // 24\n[6, 147, 117, 4, 148, 118], [6, 73, 45, 14, 74, 46], [11, 54, 24, 16, 55, 25], [30, 46, 16, 2, 47, 17], // 25\n[8, 132, 106, 4, 133, 107], [8, 75, 47, 13, 76, 48], [7, 54, 24, 22, 55, 25], [22, 45, 15, 13, 46, 16], // 26\n[10, 142, 114, 2, 143, 115], [19, 74, 46, 4, 75, 47], [28, 50, 22, 6, 51, 23], [33, 46, 16, 4, 47, 17], // 27\n[8, 152, 122, 4, 153, 123], [22, 73, 45, 3, 74, 46], [8, 53, 23, 26, 54, 24], [12, 45, 15, 28, 46, 16], // 28\n[3, 147, 117, 10, 148, 118], [3, 73, 45, 23, 74, 46], [4, 54, 24, 31, 55, 25], [11, 45, 15, 31, 46, 16], // 29\n[7, 146, 116, 7, 147, 117], [21, 73, 45, 7, 74, 46], [1, 53, 23, 37, 54, 24], [19, 45, 15, 26, 46, 16], // 30\n[5, 145, 115, 10, 146, 116], [19, 75, 47, 10, 76, 48], [15, 54, 24, 25, 55, 25], [23, 45, 15, 25, 46, 16], // 31\n[13, 145, 115, 3, 146, 116], [2, 74, 46, 29, 75, 47], [42, 54, 24, 1, 55, 25], [23, 45, 15, 28, 46, 16], // 32\n[17, 145, 115], [10, 74, 46, 23, 75, 47], [10, 54, 24, 35, 55, 25], [19, 45, 15, 35, 46, 16], // 33\n[17, 145, 115, 1, 146, 116], [14, 74, 46, 21, 75, 47], [29, 54, 24, 19, 55, 25], [11, 45, 15, 46, 46, 16], // 34\n[13, 145, 115, 6, 146, 116], [14, 74, 46, 23, 75, 47], [44, 54, 24, 7, 55, 25], [59, 46, 16, 1, 47, 17], // 35\n[12, 151, 121, 7, 152, 122], [12, 75, 47, 26, 76, 48], [39, 54, 24, 14, 55, 25], [22, 45, 15, 41, 46, 16], // 36\n[6, 151, 121, 14, 152, 122], [6, 75, 47, 34, 76, 48], [46, 54, 24, 10, 55, 25], [2, 45, 15, 64, 46, 16], // 37\n[17, 152, 122, 4, 153, 123], [29, 74, 46, 14, 75, 47], [49, 54, 24, 10, 55, 25], [24, 45, 15, 46, 46, 16], // 38\n[4, 152, 122, 18, 153, 123], [13, 74, 46, 32, 75, 47], [48, 54, 24, 14, 55, 25], [42, 45, 15, 32, 46, 16], // 39\n[20, 147, 117, 4, 148, 118], [40, 75, 47, 7, 76, 48], [43, 54, 24, 22, 55, 25], [10, 45, 15, 67, 46, 16], // 40\n[19, 148, 118, 6, 149, 119], [18, 75, 47, 31, 76, 48], [34, 54, 24, 34, 55, 25], [20, 45, 15, 61, 46, 16]];\n\nQRRSBlock.getRSBlocks = function (typeNumber, errorCorrectLevel) {\n var rsBlock = QRRSBlock.getRsBlockTable(typeNumber, errorCorrectLevel);\n\n if (rsBlock == undefined) {\n throw new Error(\"bad rs block @ typeNumber:\" + typeNumber + \"/errorCorrectLevel:\" + errorCorrectLevel);\n }\n\n var length = rsBlock.length / 3;\n var list = new Array();\n\n for (var i = 0; i < length; i++) {\n var count = rsBlock[i * 3 + 0];\n var totalCount = rsBlock[i * 3 + 1];\n var dataCount = rsBlock[i * 3 + 2];\n\n for (var j = 0; j < count; j++) {\n list.push(new QRRSBlock(totalCount, dataCount));\n }\n }\n\n return list;\n};\n\nQRRSBlock.getRsBlockTable = function (typeNumber, errorCorrectLevel) {\n switch (errorCorrectLevel) {\n case ErrorCorrectLevel.L:\n return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];\n\n case ErrorCorrectLevel.M:\n return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];\n\n case ErrorCorrectLevel.Q:\n return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];\n\n case ErrorCorrectLevel.H:\n return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];\n\n default:\n return undefined;\n }\n};\n\nvar RSBlock = QRRSBlock;\n\nfunction QRBitBuffer() {\n this.buffer = new Array();\n this.length = 0;\n}\n\nQRBitBuffer.prototype = {\n get: function (index) {\n var bufIndex = Math.floor(index / 8);\n return (this.buffer[bufIndex] >>> 7 - index % 8 & 1) == 1;\n },\n put: function (num, length) {\n for (var i = 0; i < length; i++) {\n this.putBit((num >>> length - i - 1 & 1) == 1);\n }\n },\n getLengthInBits: function () {\n return this.length;\n },\n putBit: function (bit) {\n var bufIndex = Math.floor(this.length / 8);\n\n if (this.buffer.length <= bufIndex) {\n this.buffer.push(0);\n }\n\n if (bit) {\n this.buffer[bufIndex] |= 0x80 >>> this.length % 8;\n }\n\n this.length++;\n }\n};\nvar BitBuffer = QRBitBuffer;\n\nvar QRMath = {\n glog: function (n) {\n if (n < 1) {\n throw new Error(\"glog(\" + n + \")\");\n }\n\n return QRMath.LOG_TABLE[n];\n },\n gexp: function (n) {\n while (n < 0) {\n n += 255;\n }\n\n while (n >= 256) {\n n -= 255;\n }\n\n return QRMath.EXP_TABLE[n];\n },\n EXP_TABLE: new Array(256),\n LOG_TABLE: new Array(256)\n};\n\nfor (var i = 0; i < 8; i++) {\n QRMath.EXP_TABLE[i] = 1 << i;\n}\n\nfor (var i = 8; i < 256; i++) {\n QRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4] ^ QRMath.EXP_TABLE[i - 5] ^ QRMath.EXP_TABLE[i - 6] ^ QRMath.EXP_TABLE[i - 8];\n}\n\nfor (var i = 0; i < 255; i++) {\n QRMath.LOG_TABLE[QRMath.EXP_TABLE[i]] = i;\n}\n\nvar math = QRMath;\n\nfunction QRPolynomial(num, shift) {\n if (num.length == undefined) {\n throw new Error(num.length + \"/\" + shift);\n }\n\n var offset = 0;\n\n while (offset < num.length && num[offset] == 0) {\n offset++;\n }\n\n this.num = new Array(num.length - offset + shift);\n\n for (var i = 0; i < num.length - offset; i++) {\n this.num[i] = num[i + offset];\n }\n}\n\nQRPolynomial.prototype = {\n get: function (index) {\n return this.num[index];\n },\n getLength: function () {\n return this.num.length;\n },\n multiply: function (e) {\n var num = new Array(this.getLength() + e.getLength() - 1);\n\n for (var i = 0; i < this.getLength(); i++) {\n for (var j = 0; j < e.getLength(); j++) {\n num[i + j] ^= math.gexp(math.glog(this.get(i)) + math.glog(e.get(j)));\n }\n }\n\n return new QRPolynomial(num, 0);\n },\n mod: function (e) {\n if (this.getLength() - e.getLength() < 0) {\n return this;\n }\n\n var ratio = math.glog(this.get(0)) - math.glog(e.get(0));\n var num = new Array(this.getLength());\n\n for (var i = 0; i < this.getLength(); i++) {\n num[i] = this.get(i);\n }\n\n for (var i = 0; i < e.getLength(); i++) {\n num[i] ^= math.gexp(math.glog(e.get(i)) + ratio);\n } // recursive call\n\n\n return new QRPolynomial(num, 0).mod(e);\n }\n};\nvar Polynomial = QRPolynomial;\n\nvar QRMaskPattern = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n};\nvar QRUtil = {\n PATTERN_POSITION_TABLE: [[], [6, 18], [6, 22], [6, 26], [6, 30], [6, 34], [6, 22, 38], [6, 24, 42], [6, 26, 46], [6, 28, 50], [6, 30, 54], [6, 32, 58], [6, 34, 62], [6, 26, 46, 66], [6, 26, 48, 70], [6, 26, 50, 74], [6, 30, 54, 78], [6, 30, 56, 82], [6, 30, 58, 86], [6, 34, 62, 90], [6, 28, 50, 72, 94], [6, 26, 50, 74, 98], [6, 30, 54, 78, 102], [6, 28, 54, 80, 106], [6, 32, 58, 84, 110], [6, 30, 58, 86, 114], [6, 34, 62, 90, 118], [6, 26, 50, 74, 98, 122], [6, 30, 54, 78, 102, 126], [6, 26, 52, 78, 104, 130], [6, 30, 56, 82, 108, 134], [6, 34, 60, 86, 112, 138], [6, 30, 58, 86, 114, 142], [6, 34, 62, 90, 118, 146], [6, 30, 54, 78, 102, 126, 150], [6, 24, 50, 76, 102, 128, 154], [6, 28, 54, 80, 106, 132, 158], [6, 32, 58, 84, 110, 136, 162], [6, 26, 54, 82, 110, 138, 166], [6, 30, 58, 86, 114, 142, 170]],\n G15: 1 << 10 | 1 << 8 | 1 << 5 | 1 << 4 | 1 << 2 | 1 << 1 | 1 << 0,\n G18: 1 << 12 | 1 << 11 | 1 << 10 | 1 << 9 | 1 << 8 | 1 << 5 | 1 << 2 | 1 << 0,\n G15_MASK: 1 << 14 | 1 << 12 | 1 << 10 | 1 << 4 | 1 << 1,\n getBCHTypeInfo: function (data) {\n var d = data << 10;\n\n while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {\n d ^= QRUtil.G15 << QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15);\n }\n\n return (data << 10 | d) ^ QRUtil.G15_MASK;\n },\n getBCHTypeNumber: function (data) {\n var d = data << 12;\n\n while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {\n d ^= QRUtil.G18 << QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18);\n }\n\n return data << 12 | d;\n },\n getBCHDigit: function (data) {\n var digit = 0;\n\n while (data != 0) {\n digit++;\n data >>>= 1;\n }\n\n return digit;\n },\n getPatternPosition: function (typeNumber) {\n return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1];\n },\n getMask: function (maskPattern, i, j) {\n switch (maskPattern) {\n case QRMaskPattern.PATTERN000:\n return (i + j) % 2 == 0;\n\n case QRMaskPattern.PATTERN001:\n return i % 2 == 0;\n\n case QRMaskPattern.PATTERN010:\n return j % 3 == 0;\n\n case QRMaskPattern.PATTERN011:\n return (i + j) % 3 == 0;\n\n case QRMaskPattern.PATTERN100:\n return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 == 0;\n\n case QRMaskPattern.PATTERN101:\n return i * j % 2 + i * j % 3 == 0;\n\n case QRMaskPattern.PATTERN110:\n return (i * j % 2 + i * j % 3) % 2 == 0;\n\n case QRMaskPattern.PATTERN111:\n return (i * j % 3 + (i + j) % 2) % 2 == 0;\n\n default:\n throw new Error(\"bad maskPattern:\" + maskPattern);\n }\n },\n getErrorCorrectPolynomial: function (errorCorrectLength) {\n var a = new Polynomial([1], 0);\n\n for (var i = 0; i < errorCorrectLength; i++) {\n a = a.multiply(new Polynomial([1, math.gexp(i)], 0));\n }\n\n return a;\n },\n getLengthInBits: function (mode$1, type) {\n if (1 <= type && type < 10) {\n // 1 - 9\n switch (mode$1) {\n case mode.MODE_NUMBER:\n return 10;\n\n case mode.MODE_ALPHA_NUM:\n return 9;\n\n case mode.MODE_8BIT_BYTE:\n return 8;\n\n case mode.MODE_KANJI:\n return 8;\n\n default:\n throw new Error(\"mode:\" + mode$1);\n }\n } else if (type < 27) {\n // 10 - 26\n switch (mode$1) {\n case mode.MODE_NUMBER:\n return 12;\n\n case mode.MODE_ALPHA_NUM:\n return 11;\n\n case mode.MODE_8BIT_BYTE:\n return 16;\n\n case mode.MODE_KANJI:\n return 10;\n\n default:\n throw new Error(\"mode:\" + mode$1);\n }\n } else if (type < 41) {\n // 27 - 40\n switch (mode$1) {\n case mode.MODE_NUMBER:\n return 14;\n\n case mode.MODE_ALPHA_NUM:\n return 13;\n\n case mode.MODE_8BIT_BYTE:\n return 16;\n\n case mode.MODE_KANJI:\n return 12;\n\n default:\n throw new Error(\"mode:\" + mode$1);\n }\n } else {\n throw new Error(\"type:\" + type);\n }\n },\n getLostPoint: function (qrCode) {\n var moduleCount = qrCode.getModuleCount();\n var lostPoint = 0; // LEVEL1\n\n for (var row = 0; row < moduleCount; row++) {\n for (var col = 0; col < moduleCount; col++) {\n var sameCount = 0;\n var dark = qrCode.isDark(row, col);\n\n for (var r = -1; r <= 1; r++) {\n if (row + r < 0 || moduleCount <= row + r) {\n continue;\n }\n\n for (var c = -1; c <= 1; c++) {\n if (col + c < 0 || moduleCount <= col + c) {\n continue;\n }\n\n if (r == 0 && c == 0) {\n continue;\n }\n\n if (dark == qrCode.isDark(row + r, col + c)) {\n sameCount++;\n }\n }\n }\n\n if (sameCount > 5) {\n lostPoint += 3 + sameCount - 5;\n }\n }\n } // LEVEL2\n\n\n for (var row = 0; row < moduleCount - 1; row++) {\n for (var col = 0; col < moduleCount - 1; col++) {\n var count = 0;\n if (qrCode.isDark(row, col)) count++;\n if (qrCode.isDark(row + 1, col)) count++;\n if (qrCode.isDark(row, col + 1)) count++;\n if (qrCode.isDark(row + 1, col + 1)) count++;\n\n if (count == 0 || count == 4) {\n lostPoint += 3;\n }\n }\n } // LEVEL3\n\n\n for (var row = 0; row < moduleCount; row++) {\n for (var col = 0; col < moduleCount - 6; col++) {\n if (qrCode.isDark(row, col) && !qrCode.isDark(row, col + 1) && qrCode.isDark(row, col + 2) && qrCode.isDark(row, col + 3) && qrCode.isDark(row, col + 4) && !qrCode.isDark(row, col + 5) && qrCode.isDark(row, col + 6)) {\n lostPoint += 40;\n }\n }\n }\n\n for (var col = 0; col < moduleCount; col++) {\n for (var row = 0; row < moduleCount - 6; row++) {\n if (qrCode.isDark(row, col) && !qrCode.isDark(row + 1, col) && qrCode.isDark(row + 2, col) && qrCode.isDark(row + 3, col) && qrCode.isDark(row + 4, col) && !qrCode.isDark(row + 5, col) && qrCode.isDark(row + 6, col)) {\n lostPoint += 40;\n }\n }\n } // LEVEL4\n\n\n var darkCount = 0;\n\n for (var col = 0; col < moduleCount; col++) {\n for (var row = 0; row < moduleCount; row++) {\n if (qrCode.isDark(row, col)) {\n darkCount++;\n }\n }\n }\n\n var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;\n lostPoint += ratio * 10;\n return lostPoint;\n }\n};\nvar util = QRUtil;\n\nfunction QRCode(typeNumber, errorCorrectLevel) {\n this.typeNumber = typeNumber;\n this.errorCorrectLevel = errorCorrectLevel;\n this.modules = null;\n this.moduleCount = 0;\n this.dataCache = null;\n this.dataList = [];\n} // for client side minification\n\n\nvar proto = QRCode.prototype;\n\nproto.addData = function (data) {\n var newData = new _8BitByte(data);\n this.dataList.push(newData);\n this.dataCache = null;\n};\n\nproto.isDark = function (row, col) {\n if (row < 0 || this.moduleCount <= row || col < 0 || this.moduleCount <= col) {\n throw new Error(row + \",\" + col);\n }\n\n return this.modules[row][col];\n};\n\nproto.getModuleCount = function () {\n return this.moduleCount;\n};\n\nproto.make = function () {\n // Calculate automatically typeNumber if provided is < 1\n if (this.typeNumber < 1) {\n var typeNumber = 1;\n\n for (typeNumber = 1; typeNumber < 40; typeNumber++) {\n var rsBlocks = RSBlock.getRSBlocks(typeNumber, this.errorCorrectLevel);\n var buffer = new BitBuffer();\n var totalDataCount = 0;\n\n for (var i = 0; i < rsBlocks.length; i++) {\n totalDataCount += rsBlocks[i].dataCount;\n }\n\n for (var i = 0; i < this.dataList.length; i++) {\n var data = this.dataList[i];\n buffer.put(data.mode, 4);\n buffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber));\n data.write(buffer);\n }\n\n if (buffer.getLengthInBits() <= totalDataCount * 8) break;\n }\n\n this.typeNumber = typeNumber;\n }\n\n this.makeImpl(false, this.getBestMaskPattern());\n};\n\nproto.makeImpl = function (test, maskPattern) {\n this.moduleCount = this.typeNumber * 4 + 17;\n this.modules = new Array(this.moduleCount);\n\n for (var row = 0; row < this.moduleCount; row++) {\n this.modules[row] = new Array(this.moduleCount);\n\n for (var col = 0; col < this.moduleCount; col++) {\n this.modules[row][col] = null; //(col + row) % 3;\n }\n }\n\n this.setupPositionProbePattern(0, 0);\n this.setupPositionProbePattern(this.moduleCount - 7, 0);\n this.setupPositionProbePattern(0, this.moduleCount - 7);\n this.setupPositionAdjustPattern();\n this.setupTimingPattern();\n this.setupTypeInfo(test, maskPattern);\n\n if (this.typeNumber >= 7) {\n this.setupTypeNumber(test);\n }\n\n if (this.dataCache == null) {\n this.dataCache = QRCode.createData(this.typeNumber, this.errorCorrectLevel, this.dataList);\n }\n\n this.mapData(this.dataCache, maskPattern);\n};\n\nproto.setupPositionProbePattern = function (row, col) {\n for (var r = -1; r <= 7; r++) {\n if (row + r <= -1 || this.moduleCount <= row + r) continue;\n\n for (var c = -1; c <= 7; c++) {\n if (col + c <= -1 || this.moduleCount <= col + c) continue;\n\n if (0 <= r && r <= 6 && (c == 0 || c == 6) || 0 <= c && c <= 6 && (r == 0 || r == 6) || 2 <= r && r <= 4 && 2 <= c && c <= 4) {\n this.modules[row + r][col + c] = true;\n } else {\n this.modules[row + r][col + c] = false;\n }\n }\n }\n};\n\nproto.getBestMaskPattern = function () {\n var minLostPoint = 0;\n var pattern = 0;\n\n for (var i = 0; i < 8; i++) {\n this.makeImpl(true, i);\n var lostPoint = util.getLostPoint(this);\n\n if (i == 0 || minLostPoint > lostPoint) {\n minLostPoint = lostPoint;\n pattern = i;\n }\n }\n\n return pattern;\n};\n\nproto.createMovieClip = function (target_mc, instance_name, depth) {\n var qr_mc = target_mc.createEmptyMovieClip(instance_name, depth);\n var cs = 1;\n this.make();\n\n for (var row = 0; row < this.modules.length; row++) {\n var y = row * cs;\n\n for (var col = 0; col < this.modules[row].length; col++) {\n var x = col * cs;\n var dark = this.modules[row][col];\n\n if (dark) {\n qr_mc.beginFill(0, 100);\n qr_mc.moveTo(x, y);\n qr_mc.lineTo(x + cs, y);\n qr_mc.lineTo(x + cs, y + cs);\n qr_mc.lineTo(x, y + cs);\n qr_mc.endFill();\n }\n }\n }\n\n return qr_mc;\n};\n\nproto.setupTimingPattern = function () {\n for (var r = 8; r < this.moduleCount - 8; r++) {\n if (this.modules[r][6] != null) {\n continue;\n }\n\n this.modules[r][6] = r % 2 == 0;\n }\n\n for (var c = 8; c < this.moduleCount - 8; c++) {\n if (this.modules[6][c] != null) {\n continue;\n }\n\n this.modules[6][c] = c % 2 == 0;\n }\n};\n\nproto.setupPositionAdjustPattern = function () {\n var pos = util.getPatternPosition(this.typeNumber);\n\n for (var i = 0; i < pos.length; i++) {\n for (var j = 0; j < pos.length; j++) {\n var row = pos[i];\n var col = pos[j];\n\n if (this.modules[row][col] != null) {\n continue;\n }\n\n for (var r = -2; r <= 2; r++) {\n for (var c = -2; c <= 2; c++) {\n if (r == -2 || r == 2 || c == -2 || c == 2 || r == 0 && c == 0) {\n this.modules[row + r][col + c] = true;\n } else {\n this.modules[row + r][col + c] = false;\n }\n }\n }\n }\n }\n};\n\nproto.setupTypeNumber = function (test) {\n var bits = util.getBCHTypeNumber(this.typeNumber);\n\n for (var i = 0; i < 18; i++) {\n var mod = !test && (bits >> i & 1) == 1;\n this.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod;\n }\n\n for (var i = 0; i < 18; i++) {\n var mod = !test && (bits >> i & 1) == 1;\n this.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod;\n }\n};\n\nproto.setupTypeInfo = function (test, maskPattern) {\n var data = this.errorCorrectLevel << 3 | maskPattern;\n var bits = util.getBCHTypeInfo(data); // vertical\t\t\n\n for (var i = 0; i < 15; i++) {\n var mod = !test && (bits >> i & 1) == 1;\n\n if (i < 6) {\n this.modules[i][8] = mod;\n } else if (i < 8) {\n this.modules[i + 1][8] = mod;\n } else {\n this.modules[this.moduleCount - 15 + i][8] = mod;\n }\n } // horizontal\n\n\n for (var i = 0; i < 15; i++) {\n var mod = !test && (bits >> i & 1) == 1;\n\n if (i < 8) {\n this.modules[8][this.moduleCount - i - 1] = mod;\n } else if (i < 9) {\n this.modules[8][15 - i - 1 + 1] = mod;\n } else {\n this.modules[8][15 - i - 1] = mod;\n }\n } // fixed module\n\n\n this.modules[this.moduleCount - 8][8] = !test;\n};\n\nproto.mapData = function (data, maskPattern) {\n var inc = -1;\n var row = this.moduleCount - 1;\n var bitIndex = 7;\n var byteIndex = 0;\n\n for (var col = this.moduleCount - 1; col > 0; col -= 2) {\n if (col == 6) col--;\n\n while (true) {\n for (var c = 0; c < 2; c++) {\n if (this.modules[row][col - c] == null) {\n var dark = false;\n\n if (byteIndex < data.length) {\n dark = (data[byteIndex] >>> bitIndex & 1) == 1;\n }\n\n var mask = util.getMask(maskPattern, row, col - c);\n\n if (mask) {\n dark = !dark;\n }\n\n this.modules[row][col - c] = dark;\n bitIndex--;\n\n if (bitIndex == -1) {\n byteIndex++;\n bitIndex = 7;\n }\n }\n }\n\n row += inc;\n\n if (row < 0 || this.moduleCount <= row) {\n row -= inc;\n inc = -inc;\n break;\n }\n }\n }\n};\n\nQRCode.PAD0 = 0xEC;\nQRCode.PAD1 = 0x11;\n\nQRCode.createData = function (typeNumber, errorCorrectLevel, dataList) {\n var rsBlocks = RSBlock.getRSBlocks(typeNumber, errorCorrectLevel);\n var buffer = new BitBuffer();\n\n for (var i = 0; i < dataList.length; i++) {\n var data = dataList[i];\n buffer.put(data.mode, 4);\n buffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber));\n data.write(buffer);\n } // calc num max data.\n\n\n var totalDataCount = 0;\n\n for (var i = 0; i < rsBlocks.length; i++) {\n totalDataCount += rsBlocks[i].dataCount;\n }\n\n if (buffer.getLengthInBits() > totalDataCount * 8) {\n throw new Error(\"code length overflow. (\" + buffer.getLengthInBits() + \">\" + totalDataCount * 8 + \")\");\n } // end code\n\n\n if (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {\n buffer.put(0, 4);\n } // padding\n\n\n while (buffer.getLengthInBits() % 8 != 0) {\n buffer.putBit(false);\n } // padding\n\n\n while (true) {\n if (buffer.getLengthInBits() >= totalDataCount * 8) {\n break;\n }\n\n buffer.put(QRCode.PAD0, 8);\n\n if (buffer.getLengthInBits() >= totalDataCount * 8) {\n break;\n }\n\n buffer.put(QRCode.PAD1, 8);\n }\n\n return QRCode.createBytes(buffer, rsBlocks);\n};\n\nQRCode.createBytes = function (buffer, rsBlocks) {\n var offset = 0;\n var maxDcCount = 0;\n var maxEcCount = 0;\n var dcdata = new Array(rsBlocks.length);\n var ecdata = new Array(rsBlocks.length);\n\n for (var r = 0; r < rsBlocks.length; r++) {\n var dcCount = rsBlocks[r].dataCount;\n var ecCount = rsBlocks[r].totalCount - dcCount;\n maxDcCount = Math.max(maxDcCount, dcCount);\n maxEcCount = Math.max(maxEcCount, ecCount);\n dcdata[r] = new Array(dcCount);\n\n for (var i = 0; i < dcdata[r].length; i++) {\n dcdata[r][i] = 0xff & buffer.buffer[i + offset];\n }\n\n offset += dcCount;\n var rsPoly = util.getErrorCorrectPolynomial(ecCount);\n var rawPoly = new Polynomial(dcdata[r], rsPoly.getLength() - 1);\n var modPoly = rawPoly.mod(rsPoly);\n ecdata[r] = new Array(rsPoly.getLength() - 1);\n\n for (var i = 0; i < ecdata[r].length; i++) {\n var modIndex = i + modPoly.getLength() - ecdata[r].length;\n ecdata[r][i] = modIndex >= 0 ? modPoly.get(modIndex) : 0;\n }\n }\n\n var totalCodeCount = 0;\n\n for (var i = 0; i < rsBlocks.length; i++) {\n totalCodeCount += rsBlocks[i].totalCount;\n }\n\n var data = new Array(totalCodeCount);\n var index = 0;\n\n for (var i = 0; i < maxDcCount; i++) {\n for (var r = 0; r < rsBlocks.length; r++) {\n if (i < dcdata[r].length) {\n data[index++] = dcdata[r][i];\n }\n }\n }\n\n for (var i = 0; i < maxEcCount; i++) {\n for (var r = 0; r < rsBlocks.length; r++) {\n if (i < ecdata[r].length) {\n data[index++] = ecdata[r][i];\n }\n }\n }\n\n return data;\n};\n\nvar QRCode_1 = QRCode;\n\n/**\n * Encode UTF16 to UTF8.\n * See: http://jonisalonen.com/2012/from-utf-16-to-utf-8-in-javascript/\n * @param str {string}\n * @returns {string}\n */\n\nfunction toUTF8String(str) {\n var utf8Str = '';\n\n for (var i = 0; i < str.length; i++) {\n var charCode = str.charCodeAt(i);\n\n if (charCode < 0x0080) {\n utf8Str += String.fromCharCode(charCode);\n } else if (charCode < 0x0800) {\n utf8Str += String.fromCharCode(0xc0 | charCode >> 6);\n utf8Str += String.fromCharCode(0x80 | charCode & 0x3f);\n } else if (charCode < 0xd800 || charCode >= 0xe000) {\n utf8Str += String.fromCharCode(0xe0 | charCode >> 12);\n utf8Str += String.fromCharCode(0x80 | charCode >> 6 & 0x3f);\n utf8Str += String.fromCharCode(0x80 | charCode & 0x3f);\n } else {\n // surrogate pair\n i++; // UTF-16 encodes 0x10000-0x10FFFF by\n // subtracting 0x10000 and splitting the\n // 20 bits of 0x0-0xFFFFF into two halves\n\n charCode = 0x10000 + ((charCode & 0x3ff) << 10 | str.charCodeAt(i) & 0x3ff);\n utf8Str += String.fromCharCode(0xf0 | charCode >> 18);\n utf8Str += String.fromCharCode(0x80 | charCode >> 12 & 0x3f);\n utf8Str += String.fromCharCode(0x80 | charCode >> 6 & 0x3f);\n utf8Str += String.fromCharCode(0x80 | charCode & 0x3f);\n }\n }\n\n return utf8Str;\n}\n\nfunction generatePath(modules) {\n var margin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var ops = [];\n modules.forEach(function (row, y) {\n var start = null;\n row.forEach(function (cell, x) {\n if (!cell && start !== null) {\n // M0 0h7v1H0z injects the space with the move and drops the comma,\n // saving a char per operation\n ops.push(\"M\".concat(start + margin, \" \").concat(y + margin, \"h\").concat(x - start, \"v1H\").concat(start + margin, \"z\"));\n start = null;\n return;\n } // end of row, clean up or skip\n\n\n if (x === row.length - 1) {\n if (!cell) {\n // We would have closed the op above already so this can only mean\n // 2+ light modules in a row.\n return;\n }\n\n if (start === null) {\n // Just a single dark module.\n ops.push(\"M\".concat(x + margin, \",\").concat(y + margin, \" h1v1H\").concat(x + margin, \"z\"));\n } else {\n // Otherwise finish the current line.\n ops.push(\"M\".concat(start + margin, \",\").concat(y + margin, \" h\").concat(x + 1 - start, \"v1H\").concat(start + margin, \"z\"));\n }\n\n return;\n }\n\n if (cell && start === null) {\n start = x;\n }\n });\n });\n return ops.join('');\n} // @vue/component\n\n\nvar QrcodeVue = {\n props: {\n value: {\n type: String,\n required: true,\n default: ''\n },\n className: {\n type: String,\n default: ''\n },\n size: {\n type: [Number, String],\n default: 100,\n validator: function validator(s) {\n return isNaN(Number(s)) !== true;\n }\n },\n level: {\n type: String,\n default: 'L',\n validator: function validator(l) {\n return ['L', 'Q', 'M', 'H'].indexOf(l) > -1;\n }\n },\n background: {\n type: String,\n default: '#fff'\n },\n foreground: {\n type: String,\n default: '#000'\n },\n renderAs: {\n type: String,\n required: false,\n default: 'canvas',\n validator: function validator(as) {\n return ['canvas', 'svg'].indexOf(as) > -1;\n }\n }\n },\n data: function data() {\n return {\n numCells: 0,\n fgPath: ''\n };\n },\n updated: function updated() {\n this.render();\n },\n mounted: function mounted() {\n this.render();\n },\n methods: {\n render: function render() {\n var value = this.value,\n size = this.size,\n level = this.level,\n background = this.background,\n foreground = this.foreground,\n renderAs = this.renderAs;\n\n var _size = size >>> 0; // size to number\n // We'll use type===-1 to force QRCode to automatically pick the best type\n\n\n var qrCode = new QRCode_1(-1, ErrorCorrectLevel[level]);\n qrCode.addData(toUTF8String(value));\n qrCode.make();\n var cells = qrCode.modules;\n var tileW = _size / cells.length;\n var tileH = _size / cells.length;\n var scale = window.devicePixelRatio || 1;\n\n if (renderAs === 'svg') {\n this.numCells = cells.length; // Drawing strategy: instead of a rect per module, we're going to create a\n // single path for the dark modules and layer that on top of a light rect,\n // for a total of 2 DOM nodes. We pay a bit more in string concat but that's\n // way faster than DOM ops.\n // For level 1, 441 nodes -> 2\n // For level 40, 31329 -> 2\n\n this.fgPath = generatePath(cells);\n } else {\n var canvas = this.$refs['qrcode-vue'];\n var ctx = canvas.getContext('2d');\n canvas.height = canvas.width = _size * scale;\n ctx.scale(scale, scale);\n cells.forEach(function (row, rdx) {\n row.forEach(function (cell, cdx) {\n ctx.fillStyle = cell ? foreground : background;\n var w = Math.ceil((cdx + 1) * tileW) - Math.floor(cdx * tileW);\n var h = Math.ceil((rdx + 1) * tileH) - Math.floor(rdx * tileH);\n ctx.fillRect(Math.round(cdx * tileW), Math.round(rdx * tileH), w, h);\n });\n });\n }\n }\n },\n render: function render(createElement) {\n var className = this.className,\n value = this.value,\n level = this.level,\n background = this.background,\n foreground = this.foreground,\n size = this.size,\n renderAs = this.renderAs,\n numCells = this.numCells,\n fgPath = this.fgPath;\n return createElement('div', {\n class: this.class || className,\n attrs: {\n value: value,\n level: level,\n background: background,\n foreground: foreground\n }\n }, [renderAs === 'svg' ? createElement('svg', {\n attrs: {\n height: size,\n width: size,\n shapeRendering: 'crispEdges',\n viewBox: \"0 0 \".concat(numCells, \" \").concat(numCells)\n },\n style: {\n width: size + 'px',\n height: size + 'px'\n }\n }, [createElement('path', {\n attrs: {\n fill: background,\n d: \"M0,0 h\".concat(numCells, \"v\").concat(numCells, \"H0z\")\n }\n }), createElement('path', {\n attrs: {\n fill: foreground,\n d: fgPath\n }\n })]) : createElement('canvas', {\n attrs: {\n height: size,\n width: size\n },\n style: {\n width: size + 'px',\n height: size + 'px'\n },\n ref: 'qrcode-vue'\n }, [])]);\n }\n};\n\nexport default QrcodeVue;\n","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderRecord.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderRecord.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OrderRecord.vue?vue&type=template&id=39972f14&scoped=true&\"\nimport script from \"./OrderRecord.vue?vue&type=script&lang=js&\"\nexport * from \"./OrderRecord.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OrderRecord.vue?vue&type=style&index=0&id=39972f14&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"39972f14\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCol,VContainer,VDialog,VForm,VIcon,VImg,VRow,VSimpleTable,VSpacer,VTextField,VToolbar,VToolbarTitle,VTooltip})\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.mod10 = mod10;\nexports.mod11 = mod11;\nfunction mod10(number) {\n\tvar sum = 0;\n\tfor (var i = 0; i < number.length; i++) {\n\t\tvar n = parseInt(number[i]);\n\t\tif ((i + number.length) % 2 === 0) {\n\t\t\tsum += n;\n\t\t} else {\n\t\t\tsum += n * 2 % 10 + Math.floor(n * 2 / 10);\n\t\t}\n\t}\n\treturn (10 - sum % 10) % 10;\n}\n\nfunction mod11(number) {\n\tvar sum = 0;\n\tvar weights = [2, 3, 4, 5, 6, 7];\n\tfor (var i = 0; i < number.length; i++) {\n\t\tvar n = parseInt(number[number.length - 1 - i]);\n\t\tsum += weights[i % weights.length] * n;\n\t}\n\treturn (11 - sum % 11) % 11;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _CODE2 = require('./CODE128');\n\nvar _CODE3 = _interopRequireDefault(_CODE2);\n\nvar _auto = require('./auto');\n\nvar _auto2 = _interopRequireDefault(_auto);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar CODE128AUTO = function (_CODE) {\n\t_inherits(CODE128AUTO, _CODE);\n\n\tfunction CODE128AUTO(data, options) {\n\t\t_classCallCheck(this, CODE128AUTO);\n\n\t\t// ASCII value ranges 0-127, 200-211\n\t\tif (/^[\\x00-\\x7F\\xC8-\\xD3]+$/.test(data)) {\n\t\t\tvar _this = _possibleConstructorReturn(this, (CODE128AUTO.__proto__ || Object.getPrototypeOf(CODE128AUTO)).call(this, (0, _auto2.default)(data), options));\n\t\t} else {\n\t\t\tvar _this = _possibleConstructorReturn(this, (CODE128AUTO.__proto__ || Object.getPrototypeOf(CODE128AUTO)).call(this, data, options));\n\t\t}\n\t\treturn _possibleConstructorReturn(_this);\n\t}\n\n\treturn CODE128AUTO;\n}(_CODE3.default);\n\nexports.default = CODE128AUTO;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _CODE2 = require('./CODE128.js');\n\nvar _CODE3 = _interopRequireDefault(_CODE2);\n\nvar _constants = require('./constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar CODE128B = function (_CODE) {\n\t_inherits(CODE128B, _CODE);\n\n\tfunction CODE128B(string, options) {\n\t\t_classCallCheck(this, CODE128B);\n\n\t\treturn _possibleConstructorReturn(this, (CODE128B.__proto__ || Object.getPrototypeOf(CODE128B)).call(this, _constants.B_START_CHAR + string, options));\n\t}\n\n\t_createClass(CODE128B, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn new RegExp('^' + _constants.B_CHARS + '+$').test(this.data);\n\t\t}\n\t}]);\n\n\treturn CODE128B;\n}(_CODE3.default);\n\nexports.default = CODE128B;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _merge = require(\"../help/merge.js\");\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _shared = require(\"./shared.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar CanvasRenderer = function () {\n\tfunction CanvasRenderer(canvas, encodings, options) {\n\t\t_classCallCheck(this, CanvasRenderer);\n\n\t\tthis.canvas = canvas;\n\t\tthis.encodings = encodings;\n\t\tthis.options = options;\n\t}\n\n\t_createClass(CanvasRenderer, [{\n\t\tkey: \"render\",\n\t\tvalue: function render() {\n\t\t\t// Abort if the browser does not support HTML5 canvas\n\t\t\tif (!this.canvas.getContext) {\n\t\t\t\tthrow new Error('The browser does not support canvas.');\n\t\t\t}\n\n\t\t\tthis.prepareCanvas();\n\t\t\tfor (var i = 0; i < this.encodings.length; i++) {\n\t\t\t\tvar encodingOptions = (0, _merge2.default)(this.options, this.encodings[i].options);\n\n\t\t\t\tthis.drawCanvasBarcode(encodingOptions, this.encodings[i]);\n\t\t\t\tthis.drawCanvasText(encodingOptions, this.encodings[i]);\n\n\t\t\t\tthis.moveCanvasDrawing(this.encodings[i]);\n\t\t\t}\n\n\t\t\tthis.restoreCanvas();\n\t\t}\n\t}, {\n\t\tkey: \"prepareCanvas\",\n\t\tvalue: function prepareCanvas() {\n\t\t\t// Get the canvas context\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tctx.save();\n\n\t\t\t(0, _shared.calculateEncodingAttributes)(this.encodings, this.options, ctx);\n\t\t\tvar totalWidth = (0, _shared.getTotalWidthOfEncodings)(this.encodings);\n\t\t\tvar maxHeight = (0, _shared.getMaximumHeightOfEncodings)(this.encodings);\n\n\t\t\tthis.canvas.width = totalWidth + this.options.marginLeft + this.options.marginRight;\n\n\t\t\tthis.canvas.height = maxHeight;\n\n\t\t\t// Paint the canvas\n\t\t\tctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n\t\t\tif (this.options.background) {\n\t\t\t\tctx.fillStyle = this.options.background;\n\t\t\t\tctx.fillRect(0, 0, this.canvas.width, this.canvas.height);\n\t\t\t}\n\n\t\t\tctx.translate(this.options.marginLeft, 0);\n\t\t}\n\t}, {\n\t\tkey: \"drawCanvasBarcode\",\n\t\tvalue: function drawCanvasBarcode(options, encoding) {\n\t\t\t// Get the canvas context\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tvar binary = encoding.data;\n\n\t\t\t// Creates the barcode out of the encoded binary\n\t\t\tvar yFrom;\n\t\t\tif (options.textPosition == \"top\") {\n\t\t\t\tyFrom = options.marginTop + options.fontSize + options.textMargin;\n\t\t\t} else {\n\t\t\t\tyFrom = options.marginTop;\n\t\t\t}\n\n\t\t\tctx.fillStyle = options.lineColor;\n\n\t\t\tfor (var b = 0; b < binary.length; b++) {\n\t\t\t\tvar x = b * options.width + encoding.barcodePadding;\n\n\t\t\t\tif (binary[b] === \"1\") {\n\t\t\t\t\tctx.fillRect(x, yFrom, options.width, options.height);\n\t\t\t\t} else if (binary[b]) {\n\t\t\t\t\tctx.fillRect(x, yFrom, options.width, options.height * binary[b]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"drawCanvasText\",\n\t\tvalue: function drawCanvasText(options, encoding) {\n\t\t\t// Get the canvas context\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tvar font = options.fontOptions + \" \" + options.fontSize + \"px \" + options.font;\n\n\t\t\t// Draw the text if displayValue is set\n\t\t\tif (options.displayValue) {\n\t\t\t\tvar x, y;\n\n\t\t\t\tif (options.textPosition == \"top\") {\n\t\t\t\t\ty = options.marginTop + options.fontSize - options.textMargin;\n\t\t\t\t} else {\n\t\t\t\t\ty = options.height + options.textMargin + options.marginTop + options.fontSize;\n\t\t\t\t}\n\n\t\t\t\tctx.font = font;\n\n\t\t\t\t// Draw the text in the correct X depending on the textAlign option\n\t\t\t\tif (options.textAlign == \"left\" || encoding.barcodePadding > 0) {\n\t\t\t\t\tx = 0;\n\t\t\t\t\tctx.textAlign = 'left';\n\t\t\t\t} else if (options.textAlign == \"right\") {\n\t\t\t\t\tx = encoding.width - 1;\n\t\t\t\t\tctx.textAlign = 'right';\n\t\t\t\t}\n\t\t\t\t// In all other cases, center the text\n\t\t\t\telse {\n\t\t\t\t\t\tx = encoding.width / 2;\n\t\t\t\t\t\tctx.textAlign = 'center';\n\t\t\t\t\t}\n\n\t\t\t\tctx.fillText(encoding.text, x, y);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"moveCanvasDrawing\",\n\t\tvalue: function moveCanvasDrawing(encoding) {\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tctx.translate(encoding.width, 0);\n\t\t}\n\t}, {\n\t\tkey: \"restoreCanvas\",\n\t\tvalue: function restoreCanvas() {\n\t\t\t// Get the canvas context\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tctx.restore();\n\t\t}\n\t}]);\n\n\treturn CanvasRenderer;\n}();\n\nexports.default = CanvasRenderer;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _canvas = require('./canvas.js');\n\nvar _canvas2 = _interopRequireDefault(_canvas);\n\nvar _svg = require('./svg.js');\n\nvar _svg2 = _interopRequireDefault(_svg);\n\nvar _object = require('./object.js');\n\nvar _object2 = _interopRequireDefault(_object);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = { CanvasRenderer: _canvas2.default, SVGRenderer: _svg2.default, ObjectRenderer: _object2.default };","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.default = fixOptions;\n\n\nfunction fixOptions(options) {\n\t// Fix the margins\n\toptions.marginTop = options.marginTop || options.margin;\n\toptions.marginBottom = options.marginBottom || options.margin;\n\toptions.marginRight = options.marginRight || options.margin;\n\toptions.marginLeft = options.marginLeft || options.margin;\n\n\treturn options;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.pharmacode = undefined;\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation\n// http://www.gomaro.ch/ftproot/Laetus_PHARMA-CODE.pdf\n\nvar pharmacode = function (_Barcode) {\n\t_inherits(pharmacode, _Barcode);\n\n\tfunction pharmacode(data, options) {\n\t\t_classCallCheck(this, pharmacode);\n\n\t\tvar _this = _possibleConstructorReturn(this, (pharmacode.__proto__ || Object.getPrototypeOf(pharmacode)).call(this, data, options));\n\n\t\t_this.number = parseInt(data, 10);\n\t\treturn _this;\n\t}\n\n\t_createClass(pharmacode, [{\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\tvar z = this.number;\n\t\t\tvar result = \"\";\n\n\t\t\t// http://i.imgur.com/RMm4UDJ.png\n\t\t\t// (source: http://www.gomaro.ch/ftproot/Laetus_PHARMA-CODE.pdf, page: 34)\n\t\t\twhile (!isNaN(z) && z != 0) {\n\t\t\t\tif (z % 2 === 0) {\n\t\t\t\t\t// Even\n\t\t\t\t\tresult = \"11100\" + result;\n\t\t\t\t\tz = (z - 2) / 2;\n\t\t\t\t} else {\n\t\t\t\t\t// Odd\n\t\t\t\t\tresult = \"100\" + result;\n\t\t\t\t\tz = (z - 1) / 2;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove the two last zeroes\n\t\t\tresult = result.slice(0, -2);\n\n\t\t\treturn {\n\t\t\t\tdata: result,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn this.number >= 3 && this.number <= 131070;\n\t\t}\n\t}]);\n\n\treturn pharmacode;\n}(_Barcode3.default);\n\nexports.pharmacode = pharmacode;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MSI1110 = function (_MSI) {\n\t_inherits(MSI1110, _MSI);\n\n\tfunction MSI1110(data, options) {\n\t\t_classCallCheck(this, MSI1110);\n\n\t\tdata += (0, _checksums.mod11)(data);\n\t\tdata += (0, _checksums.mod10)(data);\n\t\treturn _possibleConstructorReturn(this, (MSI1110.__proto__ || Object.getPrototypeOf(MSI1110)).call(this, data, options));\n\t}\n\n\treturn MSI1110;\n}(_MSI3.default);\n\nexports.default = MSI1110;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MSI1010 = function (_MSI) {\n\t_inherits(MSI1010, _MSI);\n\n\tfunction MSI1010(data, options) {\n\t\t_classCallCheck(this, MSI1010);\n\n\t\tdata += (0, _checksums.mod10)(data);\n\t\tdata += (0, _checksums.mod10)(data);\n\t\treturn _possibleConstructorReturn(this, (MSI1010.__proto__ || Object.getPrototypeOf(MSI1010)).call(this, data, options));\n\t}\n\n\treturn MSI1010;\n}(_MSI3.default);\n\nexports.default = MSI1010;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _constants = require('./constants');\n\nvar _EAN2 = require('./EAN');\n\nvar _EAN3 = _interopRequireDefault(_EAN2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/International_Article_Number_(EAN)#Binary_encoding_of_data_digits_into_EAN-13_barcode\n\n// Calculate the checksum digit\n// https://en.wikipedia.org/wiki/International_Article_Number_(EAN)#Calculation_of_checksum_digit\nvar checksum = function checksum(number) {\n\tvar res = number.substr(0, 12).split('').map(function (n) {\n\t\treturn +n;\n\t}).reduce(function (sum, a, idx) {\n\t\treturn idx % 2 ? sum + a * 3 : sum + a;\n\t}, 0);\n\n\treturn (10 - res % 10) % 10;\n};\n\nvar EAN13 = function (_EAN) {\n\t_inherits(EAN13, _EAN);\n\n\tfunction EAN13(data, options) {\n\t\t_classCallCheck(this, EAN13);\n\n\t\t// Add checksum if it does not exist\n\t\tif (data.search(/^[0-9]{12}$/) !== -1) {\n\t\t\tdata += checksum(data);\n\t\t}\n\n\t\t// Adds a last character to the end of the barcode\n\t\tvar _this = _possibleConstructorReturn(this, (EAN13.__proto__ || Object.getPrototypeOf(EAN13)).call(this, data, options));\n\n\t\t_this.lastChar = options.lastChar;\n\t\treturn _this;\n\t}\n\n\t_createClass(EAN13, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{13}$/) !== -1 && +this.data[12] === checksum(this.data);\n\t\t}\n\t}, {\n\t\tkey: 'leftText',\n\t\tvalue: function leftText() {\n\t\t\treturn _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'leftText', this).call(this, 1, 6);\n\t\t}\n\t}, {\n\t\tkey: 'leftEncode',\n\t\tvalue: function leftEncode() {\n\t\t\tvar data = this.data.substr(1, 6);\n\t\t\tvar structure = _constants.EAN13_STRUCTURE[this.data[0]];\n\t\t\treturn _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'leftEncode', this).call(this, data, structure);\n\t\t}\n\t}, {\n\t\tkey: 'rightText',\n\t\tvalue: function rightText() {\n\t\t\treturn _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'rightText', this).call(this, 7, 6);\n\t\t}\n\t}, {\n\t\tkey: 'rightEncode',\n\t\tvalue: function rightEncode() {\n\t\t\tvar data = this.data.substr(7, 6);\n\t\t\treturn _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'rightEncode', this).call(this, data, 'RRRRRR');\n\t\t}\n\n\t\t// The \"standard\" way of printing EAN13 barcodes with guard bars\n\n\t}, {\n\t\tkey: 'encodeGuarded',\n\t\tvalue: function encodeGuarded() {\n\t\t\tvar data = _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'encodeGuarded', this).call(this);\n\n\t\t\t// Extend data with left digit & last character\n\t\t\tif (this.options.displayValue) {\n\t\t\t\tdata.unshift({\n\t\t\t\t\tdata: '000000000000',\n\t\t\t\t\ttext: this.text.substr(0, 1),\n\t\t\t\t\toptions: { textAlign: 'left', fontSize: this.fontSize }\n\t\t\t\t});\n\n\t\t\t\tif (this.options.lastChar) {\n\t\t\t\t\tdata.push({\n\t\t\t\t\t\tdata: '00'\n\t\t\t\t\t});\n\t\t\t\t\tdata.push({\n\t\t\t\t\t\tdata: '00000',\n\t\t\t\t\t\ttext: this.options.lastChar,\n\t\t\t\t\t\toptions: { fontSize: this.fontSize }\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\t}]);\n\n\treturn EAN13;\n}(_EAN3.default);\n\nexports.default = EAN13;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MSI1110 = exports.MSI1010 = exports.MSI11 = exports.MSI10 = exports.MSI = undefined;\n\nvar _MSI = require('./MSI.js');\n\nvar _MSI2 = _interopRequireDefault(_MSI);\n\nvar _MSI3 = require('./MSI10.js');\n\nvar _MSI4 = _interopRequireDefault(_MSI3);\n\nvar _MSI5 = require('./MSI11.js');\n\nvar _MSI6 = _interopRequireDefault(_MSI5);\n\nvar _MSI7 = require('./MSI1010.js');\n\nvar _MSI8 = _interopRequireDefault(_MSI7);\n\nvar _MSI9 = require('./MSI1110.js');\n\nvar _MSI10 = _interopRequireDefault(_MSI9);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.MSI = _MSI2.default;\nexports.MSI10 = _MSI4.default;\nexports.MSI11 = _MSI6.default;\nexports.MSI1010 = _MSI8.default;\nexports.MSI1110 = _MSI10.default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ITF14 = exports.ITF = undefined;\n\nvar _ITF = require('./ITF');\n\nvar _ITF2 = _interopRequireDefault(_ITF);\n\nvar _ITF3 = require('./ITF14');\n\nvar _ITF4 = _interopRequireDefault(_ITF3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.ITF = _ITF2.default;\nexports.ITF14 = _ITF4.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.default = linearizeEncodings;\n\n// Encodings can be nestled like [[1-1, 1-2], 2, [3-1, 3-2]\n// Convert to [1-1, 1-2, 2, 3-1, 3-2]\n\nfunction linearizeEncodings(encodings) {\n\tvar linearEncodings = [];\n\tfunction nextLevel(encoded) {\n\t\tif (Array.isArray(encoded)) {\n\t\t\tfor (var i = 0; i < encoded.length; i++) {\n\t\t\t\tnextLevel(encoded[i]);\n\t\t\t}\n\t\t} else {\n\t\t\tencoded.text = encoded.text || \"\";\n\t\t\tencoded.data = encoded.data || \"\";\n\t\t\tlinearEncodings.push(encoded);\n\t\t}\n\t}\n\tnextLevel(encodings);\n\n\treturn linearEncodings;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _constants = require('./constants');\n\nvar _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/EAN_2#Encoding\n\nvar EAN2 = function (_Barcode) {\n\t_inherits(EAN2, _Barcode);\n\n\tfunction EAN2(data, options) {\n\t\t_classCallCheck(this, EAN2);\n\n\t\treturn _possibleConstructorReturn(this, (EAN2.__proto__ || Object.getPrototypeOf(EAN2)).call(this, data, options));\n\t}\n\n\t_createClass(EAN2, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{2}$/) !== -1;\n\t\t}\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\t// Choose the structure based on the number mod 4\n\t\t\tvar structure = _constants.EAN2_STRUCTURE[parseInt(this.data) % 4];\n\t\t\treturn {\n\t\t\t\t// Start bits + Encode the two digits with 01 in between\n\t\t\t\tdata: '1011' + (0, _encoder2.default)(this.data, structure, '01'),\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn EAN2;\n}(_Barcode3.default);\n\nexports.default = EAN2;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _optionsFromStrings = require(\"./optionsFromStrings.js\");\n\nvar _optionsFromStrings2 = _interopRequireDefault(_optionsFromStrings);\n\nvar _defaults = require(\"../options/defaults.js\");\n\nvar _defaults2 = _interopRequireDefault(_defaults);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getOptionsFromElement(element) {\n\tvar options = {};\n\tfor (var property in _defaults2.default) {\n\t\tif (_defaults2.default.hasOwnProperty(property)) {\n\t\t\t// jsbarcode-*\n\t\t\tif (element.hasAttribute(\"jsbarcode-\" + property.toLowerCase())) {\n\t\t\t\toptions[property] = element.getAttribute(\"jsbarcode-\" + property.toLowerCase());\n\t\t\t}\n\n\t\t\t// data-*\n\t\t\tif (element.hasAttribute(\"data-\" + property.toLowerCase())) {\n\t\t\t\toptions[property] = element.getAttribute(\"data-\" + property.toLowerCase());\n\t\t\t}\n\t\t}\n\t}\n\n\toptions[\"value\"] = element.getAttribute(\"jsbarcode-value\") || element.getAttribute(\"data-value\");\n\n\t// Since all atributes are string they need to be converted to integers\n\toptions = (0, _optionsFromStrings2.default)(options);\n\n\treturn options;\n}\n\nexports.default = getOptionsFromElement;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.getTotalWidthOfEncodings = exports.calculateEncodingAttributes = exports.getBarcodePadding = exports.getEncodingHeight = exports.getMaximumHeightOfEncodings = undefined;\n\nvar _merge = require(\"../help/merge.js\");\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getEncodingHeight(encoding, options) {\n\treturn options.height + (options.displayValue && encoding.text.length > 0 ? options.fontSize + options.textMargin : 0) + options.marginTop + options.marginBottom;\n}\n\nfunction getBarcodePadding(textWidth, barcodeWidth, options) {\n\tif (options.displayValue && barcodeWidth < textWidth) {\n\t\tif (options.textAlign == \"center\") {\n\t\t\treturn Math.floor((textWidth - barcodeWidth) / 2);\n\t\t} else if (options.textAlign == \"left\") {\n\t\t\treturn 0;\n\t\t} else if (options.textAlign == \"right\") {\n\t\t\treturn Math.floor(textWidth - barcodeWidth);\n\t\t}\n\t}\n\treturn 0;\n}\n\nfunction calculateEncodingAttributes(encodings, barcodeOptions, context) {\n\tfor (var i = 0; i < encodings.length; i++) {\n\t\tvar encoding = encodings[i];\n\t\tvar options = (0, _merge2.default)(barcodeOptions, encoding.options);\n\n\t\t// Calculate the width of the encoding\n\t\tvar textWidth;\n\t\tif (options.displayValue) {\n\t\t\ttextWidth = messureText(encoding.text, options, context);\n\t\t} else {\n\t\t\ttextWidth = 0;\n\t\t}\n\n\t\tvar barcodeWidth = encoding.data.length * options.width;\n\t\tencoding.width = Math.ceil(Math.max(textWidth, barcodeWidth));\n\n\t\tencoding.height = getEncodingHeight(encoding, options);\n\n\t\tencoding.barcodePadding = getBarcodePadding(textWidth, barcodeWidth, options);\n\t}\n}\n\nfunction getTotalWidthOfEncodings(encodings) {\n\tvar totalWidth = 0;\n\tfor (var i = 0; i < encodings.length; i++) {\n\t\ttotalWidth += encodings[i].width;\n\t}\n\treturn totalWidth;\n}\n\nfunction getMaximumHeightOfEncodings(encodings) {\n\tvar maxHeight = 0;\n\tfor (var i = 0; i < encodings.length; i++) {\n\t\tif (encodings[i].height > maxHeight) {\n\t\t\tmaxHeight = encodings[i].height;\n\t\t}\n\t}\n\treturn maxHeight;\n}\n\nfunction messureText(string, options, context) {\n\tvar ctx;\n\n\tif (context) {\n\t\tctx = context;\n\t} else if (typeof document !== \"undefined\") {\n\t\tctx = document.createElement(\"canvas\").getContext(\"2d\");\n\t} else {\n\t\t// If the text cannot be messured we will return 0.\n\t\t// This will make some barcode with big text render incorrectly\n\t\treturn 0;\n\t}\n\tctx.font = options.fontOptions + \" \" + options.fontSize + \"px \" + options.font;\n\n\t// Calculate the width of the encoding\n\tvar measureTextResult = ctx.measureText(string);\n\tif (!measureTextResult) {\n\t\t// Some implementations don't implement measureText and return undefined.\n\t\t// If the text cannot be measured we will return 0.\n\t\t// This will make some barcode with big text render incorrectly\n\t\treturn 0;\n\t}\n\tvar size = measureTextResult.width;\n\treturn size;\n}\n\nexports.getMaximumHeightOfEncodings = getMaximumHeightOfEncodings;\nexports.getEncodingHeight = getEncodingHeight;\nexports.getBarcodePadding = getBarcodePadding;\nexports.calculateEncodingAttributes = calculateEncodingAttributes;\nexports.getTotalWidthOfEncodings = getTotalWidthOfEncodings;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; /* global HTMLImageElement */\n/* global HTMLCanvasElement */\n/* global SVGElement */\n\nvar _getOptionsFromElement = require(\"./getOptionsFromElement.js\");\n\nvar _getOptionsFromElement2 = _interopRequireDefault(_getOptionsFromElement);\n\nvar _renderers = require(\"../renderers\");\n\nvar _renderers2 = _interopRequireDefault(_renderers);\n\nvar _exceptions = require(\"../exceptions/exceptions.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Takes an element and returns an object with information about how\n// it should be rendered\n// This could also return an array with these objects\n// {\n// element: The element that the renderer should draw on\n// renderer: The name of the renderer\n// afterRender (optional): If something has to done after the renderer\n// completed, calls afterRender (function)\n// options (optional): Options that can be defined in the element\n// }\n\nfunction getRenderProperties(element) {\n\t// If the element is a string, query select call again\n\tif (typeof element === \"string\") {\n\t\treturn querySelectedRenderProperties(element);\n\t}\n\t// If element is array. Recursivly call with every object in the array\n\telse if (Array.isArray(element)) {\n\t\t\tvar returnArray = [];\n\t\t\tfor (var i = 0; i < element.length; i++) {\n\t\t\t\treturnArray.push(getRenderProperties(element[i]));\n\t\t\t}\n\t\t\treturn returnArray;\n\t\t}\n\t\t// If element, render on canvas and set the uri as src\n\t\telse if (typeof HTMLCanvasElement !== 'undefined' && element instanceof HTMLImageElement) {\n\t\t\t\treturn newCanvasRenderProperties(element);\n\t\t\t}\n\t\t\t// If SVG\n\t\t\telse if (element && element.nodeName && element.nodeName.toLowerCase() === 'svg' || typeof SVGElement !== 'undefined' && element instanceof SVGElement) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\telement: element,\n\t\t\t\t\t\toptions: (0, _getOptionsFromElement2.default)(element),\n\t\t\t\t\t\trenderer: _renderers2.default.SVGRenderer\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\t// If canvas (in browser)\n\t\t\t\telse if (typeof HTMLCanvasElement !== 'undefined' && element instanceof HTMLCanvasElement) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\telement: element,\n\t\t\t\t\t\t\toptions: (0, _getOptionsFromElement2.default)(element),\n\t\t\t\t\t\t\trenderer: _renderers2.default.CanvasRenderer\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\t// If canvas (in node)\n\t\t\t\t\telse if (element && element.getContext) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\telement: element,\n\t\t\t\t\t\t\t\trenderer: _renderers2.default.CanvasRenderer\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else if (element && (typeof element === \"undefined\" ? \"undefined\" : _typeof(element)) === 'object' && !element.nodeName) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\telement: element,\n\t\t\t\t\t\t\t\trenderer: _renderers2.default.ObjectRenderer\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthrow new _exceptions.InvalidElementException();\n\t\t\t\t\t\t}\n}\n\nfunction querySelectedRenderProperties(string) {\n\tvar selector = document.querySelectorAll(string);\n\tif (selector.length === 0) {\n\t\treturn undefined;\n\t} else {\n\t\tvar returnArray = [];\n\t\tfor (var i = 0; i < selector.length; i++) {\n\t\t\treturnArray.push(getRenderProperties(selector[i]));\n\t\t}\n\t\treturn returnArray;\n\t}\n}\n\nfunction newCanvasRenderProperties(imgElement) {\n\tvar canvas = document.createElement('canvas');\n\treturn {\n\t\telement: canvas,\n\t\toptions: (0, _getOptionsFromElement2.default)(imgElement),\n\t\trenderer: _renderers2.default.CanvasRenderer,\n\t\tafterRender: function afterRender() {\n\t\t\timgElement.setAttribute(\"src\", canvas.toDataURL());\n\t\t}\n\t};\n}\n\nexports.default = getRenderProperties;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _constants = require('./constants');\n\n// Match Set functions\nvar matchSetALength = function matchSetALength(string) {\n\treturn string.match(new RegExp('^' + _constants.A_CHARS + '*'))[0].length;\n};\nvar matchSetBLength = function matchSetBLength(string) {\n\treturn string.match(new RegExp('^' + _constants.B_CHARS + '*'))[0].length;\n};\nvar matchSetC = function matchSetC(string) {\n\treturn string.match(new RegExp('^' + _constants.C_CHARS + '*'))[0];\n};\n\n// CODE128A or CODE128B\nfunction autoSelectFromAB(string, isA) {\n\tvar ranges = isA ? _constants.A_CHARS : _constants.B_CHARS;\n\tvar untilC = string.match(new RegExp('^(' + ranges + '+?)(([0-9]{2}){2,})([^0-9]|$)'));\n\n\tif (untilC) {\n\t\treturn untilC[1] + String.fromCharCode(204) + autoSelectFromC(string.substring(untilC[1].length));\n\t}\n\n\tvar chars = string.match(new RegExp('^' + ranges + '+'))[0];\n\n\tif (chars.length === string.length) {\n\t\treturn string;\n\t}\n\n\treturn chars + String.fromCharCode(isA ? 205 : 206) + autoSelectFromAB(string.substring(chars.length), !isA);\n}\n\n// CODE128C\nfunction autoSelectFromC(string) {\n\tvar cMatch = matchSetC(string);\n\tvar length = cMatch.length;\n\n\tif (length === string.length) {\n\t\treturn string;\n\t}\n\n\tstring = string.substring(length);\n\n\t// Select A/B depending on the longest match\n\tvar isA = matchSetALength(string) >= matchSetBLength(string);\n\treturn cMatch + String.fromCharCode(isA ? 206 : 205) + autoSelectFromAB(string, isA);\n}\n\n// Detect Code Set (A, B or C) and format the string\n\nexports.default = function (string) {\n\tvar newString = void 0;\n\tvar cLength = matchSetC(string).length;\n\n\t// Select 128C if the string start with enough digits\n\tif (cLength >= 2) {\n\t\tnewString = _constants.C_START_CHAR + autoSelectFromC(string);\n\t} else {\n\t\t// Select A/B depending on the longest match\n\t\tvar isA = matchSetALength(string) > matchSetBLength(string);\n\t\tnewString = (isA ? _constants.A_START_CHAR : _constants.B_START_CHAR) + autoSelectFromAB(string, isA);\n\t}\n\n\treturn newString.replace(/[\\xCD\\xCE]([^])[\\xCD\\xCE]/, // Any sequence between 205 and 206 characters\n\tfunction (match, char) {\n\t\treturn String.fromCharCode(203) + char;\n\t});\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/*eslint no-console: 0 */\n\nvar ErrorHandler = function () {\n\tfunction ErrorHandler(api) {\n\t\t_classCallCheck(this, ErrorHandler);\n\n\t\tthis.api = api;\n\t}\n\n\t_createClass(ErrorHandler, [{\n\t\tkey: \"handleCatch\",\n\t\tvalue: function handleCatch(e) {\n\t\t\t// If babel supported extending of Error in a correct way instanceof would be used here\n\t\t\tif (e.name === \"InvalidInputException\") {\n\t\t\t\tif (this.api._options.valid !== this.api._defaults.valid) {\n\t\t\t\t\tthis.api._options.valid(false);\n\t\t\t\t} else {\n\t\t\t\t\tthrow e.message;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthrow e;\n\t\t\t}\n\n\t\t\tthis.api.render = function () {};\n\t\t}\n\t}, {\n\t\tkey: \"wrapBarcodeCall\",\n\t\tvalue: function wrapBarcodeCall(func) {\n\t\t\ttry {\n\t\t\t\tvar result = func.apply(undefined, arguments);\n\t\t\t\tthis.api._options.valid(true);\n\t\t\t\treturn result;\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleCatch(e);\n\n\t\t\t\treturn this.api;\n\t\t\t}\n\t\t}\n\t}]);\n\n\treturn ErrorHandler;\n}();\n\nexports.default = ErrorHandler;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _constants = require('./constants');\n\nvar _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// Base class for EAN8 & EAN13\nvar EAN = function (_Barcode) {\n\t_inherits(EAN, _Barcode);\n\n\tfunction EAN(data, options) {\n\t\t_classCallCheck(this, EAN);\n\n\t\t// Make sure the font is not bigger than the space between the guard bars\n\t\tvar _this = _possibleConstructorReturn(this, (EAN.__proto__ || Object.getPrototypeOf(EAN)).call(this, data, options));\n\n\t\t_this.fontSize = !options.flat && options.fontSize > options.width * 10 ? options.width * 10 : options.fontSize;\n\n\t\t// Make the guard bars go down half the way of the text\n\t\t_this.guardHeight = options.height + _this.fontSize / 2 + options.textMargin;\n\t\treturn _this;\n\t}\n\n\t_createClass(EAN, [{\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\treturn this.options.flat ? this.encodeFlat() : this.encodeGuarded();\n\t\t}\n\t}, {\n\t\tkey: 'leftText',\n\t\tvalue: function leftText(from, to) {\n\t\t\treturn this.text.substr(from, to);\n\t\t}\n\t}, {\n\t\tkey: 'leftEncode',\n\t\tvalue: function leftEncode(data, structure) {\n\t\t\treturn (0, _encoder2.default)(data, structure);\n\t\t}\n\t}, {\n\t\tkey: 'rightText',\n\t\tvalue: function rightText(from, to) {\n\t\t\treturn this.text.substr(from, to);\n\t\t}\n\t}, {\n\t\tkey: 'rightEncode',\n\t\tvalue: function rightEncode(data, structure) {\n\t\t\treturn (0, _encoder2.default)(data, structure);\n\t\t}\n\t}, {\n\t\tkey: 'encodeGuarded',\n\t\tvalue: function encodeGuarded() {\n\t\t\tvar textOptions = { fontSize: this.fontSize };\n\t\t\tvar guardOptions = { height: this.guardHeight };\n\n\t\t\treturn [{ data: _constants.SIDE_BIN, options: guardOptions }, { data: this.leftEncode(), text: this.leftText(), options: textOptions }, { data: _constants.MIDDLE_BIN, options: guardOptions }, { data: this.rightEncode(), text: this.rightText(), options: textOptions }, { data: _constants.SIDE_BIN, options: guardOptions }];\n\t\t}\n\t}, {\n\t\tkey: 'encodeFlat',\n\t\tvalue: function encodeFlat() {\n\t\t\tvar data = [_constants.SIDE_BIN, this.leftEncode(), _constants.MIDDLE_BIN, this.rightEncode(), _constants.SIDE_BIN];\n\n\t\t\treturn {\n\t\t\t\tdata: data.join(''),\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn EAN;\n}(_Barcode3.default);\n\nexports.default = EAN;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _merge = require(\"../help/merge.js\");\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _shared = require(\"./shared.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar svgns = \"http://www.w3.org/2000/svg\";\n\nvar SVGRenderer = function () {\n\tfunction SVGRenderer(svg, encodings, options) {\n\t\t_classCallCheck(this, SVGRenderer);\n\n\t\tthis.svg = svg;\n\t\tthis.encodings = encodings;\n\t\tthis.options = options;\n\t\tthis.document = options.xmlDocument || document;\n\t}\n\n\t_createClass(SVGRenderer, [{\n\t\tkey: \"render\",\n\t\tvalue: function render() {\n\t\t\tvar currentX = this.options.marginLeft;\n\n\t\t\tthis.prepareSVG();\n\t\t\tfor (var i = 0; i < this.encodings.length; i++) {\n\t\t\t\tvar encoding = this.encodings[i];\n\t\t\t\tvar encodingOptions = (0, _merge2.default)(this.options, encoding.options);\n\n\t\t\t\tvar group = this.createGroup(currentX, encodingOptions.marginTop, this.svg);\n\n\t\t\t\tthis.setGroupOptions(group, encodingOptions);\n\n\t\t\t\tthis.drawSvgBarcode(group, encodingOptions, encoding);\n\t\t\t\tthis.drawSVGText(group, encodingOptions, encoding);\n\n\t\t\t\tcurrentX += encoding.width;\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"prepareSVG\",\n\t\tvalue: function prepareSVG() {\n\t\t\t// Clear the SVG\n\t\t\twhile (this.svg.firstChild) {\n\t\t\t\tthis.svg.removeChild(this.svg.firstChild);\n\t\t\t}\n\n\t\t\t(0, _shared.calculateEncodingAttributes)(this.encodings, this.options);\n\t\t\tvar totalWidth = (0, _shared.getTotalWidthOfEncodings)(this.encodings);\n\t\t\tvar maxHeight = (0, _shared.getMaximumHeightOfEncodings)(this.encodings);\n\n\t\t\tvar width = totalWidth + this.options.marginLeft + this.options.marginRight;\n\t\t\tthis.setSvgAttributes(width, maxHeight);\n\n\t\t\tif (this.options.background) {\n\t\t\t\tthis.drawRect(0, 0, width, maxHeight, this.svg).setAttribute(\"style\", \"fill:\" + this.options.background + \";\");\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"drawSvgBarcode\",\n\t\tvalue: function drawSvgBarcode(parent, options, encoding) {\n\t\t\tvar binary = encoding.data;\n\n\t\t\t// Creates the barcode out of the encoded binary\n\t\t\tvar yFrom;\n\t\t\tif (options.textPosition == \"top\") {\n\t\t\t\tyFrom = options.fontSize + options.textMargin;\n\t\t\t} else {\n\t\t\t\tyFrom = 0;\n\t\t\t}\n\n\t\t\tvar barWidth = 0;\n\t\t\tvar x = 0;\n\t\t\tfor (var b = 0; b < binary.length; b++) {\n\t\t\t\tx = b * options.width + encoding.barcodePadding;\n\n\t\t\t\tif (binary[b] === \"1\") {\n\t\t\t\t\tbarWidth++;\n\t\t\t\t} else if (barWidth > 0) {\n\t\t\t\t\tthis.drawRect(x - options.width * barWidth, yFrom, options.width * barWidth, options.height, parent);\n\t\t\t\t\tbarWidth = 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Last draw is needed since the barcode ends with 1\n\t\t\tif (barWidth > 0) {\n\t\t\t\tthis.drawRect(x - options.width * (barWidth - 1), yFrom, options.width * barWidth, options.height, parent);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"drawSVGText\",\n\t\tvalue: function drawSVGText(parent, options, encoding) {\n\t\t\tvar textElem = this.document.createElementNS(svgns, 'text');\n\n\t\t\t// Draw the text if displayValue is set\n\t\t\tif (options.displayValue) {\n\t\t\t\tvar x, y;\n\n\t\t\t\ttextElem.setAttribute(\"style\", \"font:\" + options.fontOptions + \" \" + options.fontSize + \"px \" + options.font);\n\n\t\t\t\tif (options.textPosition == \"top\") {\n\t\t\t\t\ty = options.fontSize - options.textMargin;\n\t\t\t\t} else {\n\t\t\t\t\ty = options.height + options.textMargin + options.fontSize;\n\t\t\t\t}\n\n\t\t\t\t// Draw the text in the correct X depending on the textAlign option\n\t\t\t\tif (options.textAlign == \"left\" || encoding.barcodePadding > 0) {\n\t\t\t\t\tx = 0;\n\t\t\t\t\ttextElem.setAttribute(\"text-anchor\", \"start\");\n\t\t\t\t} else if (options.textAlign == \"right\") {\n\t\t\t\t\tx = encoding.width - 1;\n\t\t\t\t\ttextElem.setAttribute(\"text-anchor\", \"end\");\n\t\t\t\t}\n\t\t\t\t// In all other cases, center the text\n\t\t\t\telse {\n\t\t\t\t\t\tx = encoding.width / 2;\n\t\t\t\t\t\ttextElem.setAttribute(\"text-anchor\", \"middle\");\n\t\t\t\t\t}\n\n\t\t\t\ttextElem.setAttribute(\"x\", x);\n\t\t\t\ttextElem.setAttribute(\"y\", y);\n\n\t\t\t\ttextElem.appendChild(this.document.createTextNode(encoding.text));\n\n\t\t\t\tparent.appendChild(textElem);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"setSvgAttributes\",\n\t\tvalue: function setSvgAttributes(width, height) {\n\t\t\tvar svg = this.svg;\n\t\t\tsvg.setAttribute(\"width\", width + \"px\");\n\t\t\tsvg.setAttribute(\"height\", height + \"px\");\n\t\t\tsvg.setAttribute(\"x\", \"0px\");\n\t\t\tsvg.setAttribute(\"y\", \"0px\");\n\t\t\tsvg.setAttribute(\"viewBox\", \"0 0 \" + width + \" \" + height);\n\n\t\t\tsvg.setAttribute(\"xmlns\", svgns);\n\t\t\tsvg.setAttribute(\"version\", \"1.1\");\n\n\t\t\tsvg.setAttribute(\"style\", \"transform: translate(0,0)\");\n\t\t}\n\t}, {\n\t\tkey: \"createGroup\",\n\t\tvalue: function createGroup(x, y, parent) {\n\t\t\tvar group = this.document.createElementNS(svgns, 'g');\n\t\t\tgroup.setAttribute(\"transform\", \"translate(\" + x + \", \" + y + \")\");\n\n\t\t\tparent.appendChild(group);\n\n\t\t\treturn group;\n\t\t}\n\t}, {\n\t\tkey: \"setGroupOptions\",\n\t\tvalue: function setGroupOptions(group, options) {\n\t\t\tgroup.setAttribute(\"style\", \"fill:\" + options.lineColor + \";\");\n\t\t}\n\t}, {\n\t\tkey: \"drawRect\",\n\t\tvalue: function drawRect(x, y, width, height, parent) {\n\t\t\tvar rect = this.document.createElementNS(svgns, 'rect');\n\n\t\t\trect.setAttribute(\"x\", x);\n\t\t\trect.setAttribute(\"y\", y);\n\t\t\trect.setAttribute(\"width\", width);\n\t\t\trect.setAttribute(\"height\", height);\n\n\t\t\tparent.appendChild(rect);\n\n\t\t\treturn rect;\n\t\t}\n\t}]);\n\n\treturn SVGRenderer;\n}();\n\nexports.default = SVGRenderer;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _createClass = function () { function 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode.js');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nvar _UPC = require('./UPC.js');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/Universal_Product_Code#Encoding\n//\n// UPC-E documentation:\n// https://en.wikipedia.org/wiki/Universal_Product_Code#UPC-E\n\nvar EXPANSIONS = [\"XX00000XXX\", \"XX10000XXX\", \"XX20000XXX\", \"XXX00000XX\", \"XXXX00000X\", \"XXXXX00005\", \"XXXXX00006\", \"XXXXX00007\", \"XXXXX00008\", \"XXXXX00009\"];\n\nvar PARITIES = [[\"EEEOOO\", \"OOOEEE\"], [\"EEOEOO\", \"OOEOEE\"], [\"EEOOEO\", \"OOEEOE\"], [\"EEOOOE\", \"OOEEEO\"], [\"EOEEOO\", \"OEOOEE\"], [\"EOOEEO\", \"OEEOOE\"], [\"EOOOEE\", \"OEEEOO\"], [\"EOEOEO\", \"OEOEOE\"], [\"EOEOOE\", \"OEOEEO\"], [\"EOOEOE\", \"OEEOEO\"]];\n\nvar UPCE = function (_Barcode) {\n\t_inherits(UPCE, _Barcode);\n\n\tfunction UPCE(data, options) {\n\t\t_classCallCheck(this, UPCE);\n\n\t\tvar _this = _possibleConstructorReturn(this, (UPCE.__proto__ || Object.getPrototypeOf(UPCE)).call(this, data, options));\n\t\t// Code may be 6 or 8 digits;\n\t\t// A 7 digit code is ambiguous as to whether the extra digit\n\t\t// is a UPC-A check or number system digit.\n\n\n\t\t_this.isValid = false;\n\t\tif (data.search(/^[0-9]{6}$/) !== -1) {\n\t\t\t_this.middleDigits = data;\n\t\t\t_this.upcA = expandToUPCA(data, \"0\");\n\t\t\t_this.text = options.text || '' + _this.upcA[0] + data + _this.upcA[_this.upcA.length - 1];\n\t\t\t_this.isValid = true;\n\t\t} else if (data.search(/^[01][0-9]{7}$/) !== -1) {\n\t\t\t_this.middleDigits = data.substring(1, data.length - 1);\n\t\t\t_this.upcA = expandToUPCA(_this.middleDigits, data[0]);\n\n\t\t\tif (_this.upcA[_this.upcA.length - 1] === data[data.length - 1]) {\n\t\t\t\t_this.isValid = true;\n\t\t\t} else {\n\t\t\t\t// checksum mismatch\n\t\t\t\treturn _possibleConstructorReturn(_this);\n\t\t\t}\n\t\t} else {\n\t\t\treturn _possibleConstructorReturn(_this);\n\t\t}\n\n\t\t_this.displayValue = options.displayValue;\n\n\t\t// Make sure the font is not bigger than the space between the guard bars\n\t\tif (options.fontSize > options.width * 10) {\n\t\t\t_this.fontSize = options.width * 10;\n\t\t} else {\n\t\t\t_this.fontSize = options.fontSize;\n\t\t}\n\n\t\t// Make the guard bars go down half the way of the text\n\t\t_this.guardHeight = options.height + _this.fontSize / 2 + options.textMargin;\n\t\treturn _this;\n\t}\n\n\t_createClass(UPCE, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.isValid;\n\t\t}\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\tif (this.options.flat) {\n\t\t\t\treturn this.flatEncoding();\n\t\t\t} else {\n\t\t\t\treturn this.guardedEncoding();\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'flatEncoding',\n\t\tvalue: function flatEncoding() {\n\t\t\tvar result = \"\";\n\n\t\t\tresult += \"101\";\n\t\t\tresult += this.encodeMiddleDigits();\n\t\t\tresult += \"010101\";\n\n\t\t\treturn {\n\t\t\t\tdata: result,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: 'guardedEncoding',\n\t\tvalue: function guardedEncoding() {\n\t\t\tvar result = [];\n\n\t\t\t// Add the UPC-A number system digit beneath the quiet zone\n\t\t\tif (this.displayValue) {\n\t\t\t\tresult.push({\n\t\t\t\t\tdata: \"00000000\",\n\t\t\t\t\ttext: this.text[0],\n\t\t\t\t\toptions: { textAlign: \"left\", fontSize: this.fontSize }\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Add the guard bars\n\t\t\tresult.push({\n\t\t\t\tdata: \"101\",\n\t\t\t\toptions: { height: this.guardHeight }\n\t\t\t});\n\n\t\t\t// Add the 6 UPC-E digits\n\t\t\tresult.push({\n\t\t\t\tdata: this.encodeMiddleDigits(),\n\t\t\t\ttext: this.text.substring(1, 7),\n\t\t\t\toptions: { fontSize: this.fontSize }\n\t\t\t});\n\n\t\t\t// Add the end bits\n\t\t\tresult.push({\n\t\t\t\tdata: \"010101\",\n\t\t\t\toptions: { height: this.guardHeight }\n\t\t\t});\n\n\t\t\t// Add the UPC-A check digit beneath the quiet zone\n\t\t\tif (this.displayValue) {\n\t\t\t\tresult.push({\n\t\t\t\t\tdata: \"00000000\",\n\t\t\t\t\ttext: this.text[7],\n\t\t\t\t\toptions: { textAlign: \"right\", fontSize: this.fontSize }\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\t}, {\n\t\tkey: 'encodeMiddleDigits',\n\t\tvalue: function encodeMiddleDigits() {\n\t\t\tvar numberSystem = this.upcA[0];\n\t\t\tvar checkDigit = this.upcA[this.upcA.length - 1];\n\t\t\tvar parity = PARITIES[parseInt(checkDigit)][parseInt(numberSystem)];\n\t\t\treturn (0, _encoder2.default)(this.middleDigits, parity);\n\t\t}\n\t}]);\n\n\treturn UPCE;\n}(_Barcode3.default);\n\nfunction expandToUPCA(middleDigits, numberSystem) {\n\tvar lastUpcE = parseInt(middleDigits[middleDigits.length - 1]);\n\tvar expansion = EXPANSIONS[lastUpcE];\n\n\tvar result = \"\";\n\tvar digitIndex = 0;\n\tfor (var i = 0; i < expansion.length; i++) {\n\t\tvar c = expansion[i];\n\t\tif (c === 'X') {\n\t\t\tresult += middleDigits[digitIndex++];\n\t\t} else {\n\t\t\tresult += c;\n\t\t}\n\t}\n\n\tresult = '' + numberSystem + result;\n\treturn '' + result + (0, _UPC.checksum)(result);\n}\n\nexports.default = UPCE;","/*!\n * html2canvas 1.4.1 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.html2canvas = factory());\n}(this, (function () { 'use strict';\n\n /*! *****************************************************************************\r\n Copyright (c) Microsoft Corporation.\r\n\r\n Permission to use, copy, modify, and/or distribute this software for any\r\n purpose with or without fee is hereby granted.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\n PERFORMANCE OF THIS SOFTWARE.\r\n ***************************************************************************** */\r\n /* global Reflect, Promise */\r\n\r\n var extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n\r\n function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n }\r\n\r\n var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n };\r\n\r\n function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n }\r\n\r\n function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n }\r\n\r\n function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n }\n\n var Bounds = /** @class */ (function () {\n function Bounds(left, top, width, height) {\n this.left = left;\n this.top = top;\n this.width = width;\n this.height = height;\n }\n Bounds.prototype.add = function (x, y, w, h) {\n return new Bounds(this.left + x, this.top + y, this.width + w, this.height + h);\n };\n Bounds.fromClientRect = function (context, clientRect) {\n return new Bounds(clientRect.left + context.windowBounds.left, clientRect.top + context.windowBounds.top, clientRect.width, clientRect.height);\n };\n Bounds.fromDOMRectList = function (context, domRectList) {\n var domRect = Array.from(domRectList).find(function (rect) { return rect.width !== 0; });\n return domRect\n ? new Bounds(domRect.left + context.windowBounds.left, domRect.top + context.windowBounds.top, domRect.width, domRect.height)\n : Bounds.EMPTY;\n };\n Bounds.EMPTY = new Bounds(0, 0, 0, 0);\n return Bounds;\n }());\n var parseBounds = function (context, node) {\n return Bounds.fromClientRect(context, node.getBoundingClientRect());\n };\n var parseDocumentSize = function (document) {\n var body = document.body;\n var documentElement = document.documentElement;\n if (!body || !documentElement) {\n throw new Error(\"Unable to get document size\");\n }\n var width = Math.max(Math.max(body.scrollWidth, documentElement.scrollWidth), Math.max(body.offsetWidth, documentElement.offsetWidth), Math.max(body.clientWidth, documentElement.clientWidth));\n var height = Math.max(Math.max(body.scrollHeight, documentElement.scrollHeight), Math.max(body.offsetHeight, documentElement.offsetHeight), Math.max(body.clientHeight, documentElement.clientHeight));\n return new Bounds(0, 0, width, height);\n };\n\n /*\n * css-line-break 2.1.0 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\n var toCodePoints$1 = function (str) {\n var codePoints = [];\n var i = 0;\n var length = str.length;\n while (i < length) {\n var value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n var extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n }\n else {\n codePoints.push(value);\n i--;\n }\n }\n else {\n codePoints.push(value);\n }\n }\n return codePoints;\n };\n var fromCodePoint$1 = function () {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n if (String.fromCodePoint) {\n return String.fromCodePoint.apply(String, codePoints);\n }\n var length = codePoints.length;\n if (!length) {\n return '';\n }\n var codeUnits = [];\n var index = -1;\n var result = '';\n while (++index < length) {\n var codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n }\n else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode.apply(String, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n };\n var chars$2 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n // Use a lookup table to find the index.\n var lookup$2 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\n for (var i$2 = 0; i$2 < chars$2.length; i$2++) {\n lookup$2[chars$2.charCodeAt(i$2)] = i$2;\n }\n\n /*\n * utrie 1.0.2 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\n var chars$1$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n // Use a lookup table to find the index.\n var lookup$1$1 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\n for (var i$1$1 = 0; i$1$1 < chars$1$1.length; i$1$1++) {\n lookup$1$1[chars$1$1.charCodeAt(i$1$1)] = i$1$1;\n }\n var decode$1 = function (base64) {\n var bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n var buffer = typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n var bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup$1$1[base64.charCodeAt(i)];\n encoded2 = lookup$1$1[base64.charCodeAt(i + 1)];\n encoded3 = lookup$1$1[base64.charCodeAt(i + 2)];\n encoded4 = lookup$1$1[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return buffer;\n };\n var polyUint16Array$1 = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n };\n var polyUint32Array$1 = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n };\n\n /** Shift size for getting the index-2 table offset. */\n var UTRIE2_SHIFT_2$1 = 5;\n /** Shift size for getting the index-1 table offset. */\n var UTRIE2_SHIFT_1$1 = 6 + 5;\n /**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\n var UTRIE2_INDEX_SHIFT$1 = 2;\n /**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\n var UTRIE2_SHIFT_1_2$1 = UTRIE2_SHIFT_1$1 - UTRIE2_SHIFT_2$1;\n /**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\n var UTRIE2_LSCP_INDEX_2_OFFSET$1 = 0x10000 >> UTRIE2_SHIFT_2$1;\n /** Number of entries in a data block. 32=0x20 */\n var UTRIE2_DATA_BLOCK_LENGTH$1 = 1 << UTRIE2_SHIFT_2$1;\n /** Mask for getting the lower bits for the in-data-block offset. */\n var UTRIE2_DATA_MASK$1 = UTRIE2_DATA_BLOCK_LENGTH$1 - 1;\n var UTRIE2_LSCP_INDEX_2_LENGTH$1 = 0x400 >> UTRIE2_SHIFT_2$1;\n /** Count the lengths of both BMP pieces. 2080=0x820 */\n var UTRIE2_INDEX_2_BMP_LENGTH$1 = UTRIE2_LSCP_INDEX_2_OFFSET$1 + UTRIE2_LSCP_INDEX_2_LENGTH$1;\n /**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\n var UTRIE2_UTF8_2B_INDEX_2_OFFSET$1 = UTRIE2_INDEX_2_BMP_LENGTH$1;\n var UTRIE2_UTF8_2B_INDEX_2_LENGTH$1 = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n /**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\n var UTRIE2_INDEX_1_OFFSET$1 = UTRIE2_UTF8_2B_INDEX_2_OFFSET$1 + UTRIE2_UTF8_2B_INDEX_2_LENGTH$1;\n /**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\n var UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1 = 0x10000 >> UTRIE2_SHIFT_1$1;\n /** Number of entries in an index-2 block. 64=0x40 */\n var UTRIE2_INDEX_2_BLOCK_LENGTH$1 = 1 << UTRIE2_SHIFT_1_2$1;\n /** Mask for getting the lower bits for the in-index-2-block offset. */\n var UTRIE2_INDEX_2_MASK$1 = UTRIE2_INDEX_2_BLOCK_LENGTH$1 - 1;\n var slice16$1 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n };\n var slice32$1 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n };\n var createTrieFromBase64$1 = function (base64, _byteLength) {\n var buffer = decode$1(base64);\n var view32 = Array.isArray(buffer) ? polyUint32Array$1(buffer) : new Uint32Array(buffer);\n var view16 = Array.isArray(buffer) ? polyUint16Array$1(buffer) : new Uint16Array(buffer);\n var headerLength = 24;\n var index = slice16$1(view16, headerLength / 2, view32[4] / 2);\n var data = view32[5] === 2\n ? slice16$1(view16, (headerLength + view32[4]) / 2)\n : slice32$1(view32, Math.ceil((headerLength + view32[4]) / 4));\n return new Trie$1(view32[0], view32[1], view32[2], view32[3], index, data);\n };\n var Trie$1 = /** @class */ (function () {\n function Trie(initialValue, errorValue, highStart, highValueIndex, index, data) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n Trie.prototype.get = function (codePoint) {\n var ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2$1];\n ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n return this.data[ix];\n }\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET$1 + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2$1)];\n ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n return this.data[ix];\n }\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET$1 - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1 + (codePoint >> UTRIE2_SHIFT_1$1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2$1) & UTRIE2_INDEX_2_MASK$1;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n };\n return Trie;\n }());\n\n /*\n * base64-arraybuffer 1.0.2 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\n var chars$3 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n // Use a lookup table to find the index.\n var lookup$3 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\n for (var i$3 = 0; i$3 < chars$3.length; i$3++) {\n lookup$3[chars$3.charCodeAt(i$3)] = i$3;\n }\n\n var base64$1 = 'KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA==';\n\n var LETTER_NUMBER_MODIFIER = 50;\n // Non-tailorable Line Breaking Classes\n var BK = 1; // Cause a line break (after)\n var CR$1 = 2; // Cause a line break (after), except between CR and LF\n var LF$1 = 3; // Cause a line break (after)\n var CM = 4; // Prohibit a line break between the character and the preceding character\n var NL = 5; // Cause a line break (after)\n var WJ = 7; // Prohibit line breaks before and after\n var ZW = 8; // Provide a break opportunity\n var GL = 9; // Prohibit line breaks before and after\n var SP = 10; // Enable indirect line breaks\n var ZWJ$1 = 11; // Prohibit line breaks within joiner sequences\n // Break Opportunities\n var B2 = 12; // Provide a line break opportunity before and after the character\n var BA = 13; // Generally provide a line break opportunity after the character\n var BB = 14; // Generally provide a line break opportunity before the character\n var HY = 15; // Provide a line break opportunity after the character, except in numeric context\n var CB = 16; // Provide a line break opportunity contingent on additional information\n // Characters Prohibiting Certain Breaks\n var CL = 17; // Prohibit line breaks before\n var CP = 18; // Prohibit line breaks before\n var EX = 19; // Prohibit line breaks before\n var IN = 20; // Allow only indirect line breaks between pairs\n var NS = 21; // Allow only indirect line breaks before\n var OP = 22; // Prohibit line breaks after\n var QU = 23; // Act like they are both opening and closing\n // Numeric Context\n var IS = 24; // Prevent breaks after any and before numeric\n var NU = 25; // Form numeric expressions for line breaking purposes\n var PO = 26; // Do not break following a numeric expression\n var PR = 27; // Do not break in front of a numeric expression\n var SY = 28; // Prevent a break before; and allow a break after\n // Other Characters\n var AI = 29; // Act like AL when the resolvedEAW is N; otherwise; act as ID\n var AL = 30; // Are alphabetic characters or symbols that are used with alphabetic characters\n var CJ = 31; // Treat as NS or ID for strict or normal breaking.\n var EB = 32; // Do not break from following Emoji Modifier\n var EM = 33; // Do not break from preceding Emoji Base\n var H2 = 34; // Form Korean syllable blocks\n var H3 = 35; // Form Korean syllable blocks\n var HL = 36; // Do not break around a following hyphen; otherwise act as Alphabetic\n var ID = 37; // Break before or after; except in some numeric context\n var JL = 38; // Form Korean syllable blocks\n var JV = 39; // Form Korean syllable blocks\n var JT = 40; // Form Korean syllable blocks\n var RI$1 = 41; // Keep pairs together. For pairs; break before and after other classes\n var SA = 42; // Provide a line break opportunity contingent on additional, language-specific context analysis\n var XX = 43; // Have as yet unknown line breaking behavior or unassigned code positions\n var ea_OP = [0x2329, 0xff08];\n var BREAK_MANDATORY = '!';\n var BREAK_NOT_ALLOWED$1 = '×';\n var BREAK_ALLOWED$1 = '÷';\n var UnicodeTrie$1 = createTrieFromBase64$1(base64$1);\n var ALPHABETICS = [AL, HL];\n var HARD_LINE_BREAKS = [BK, CR$1, LF$1, NL];\n var SPACE$1 = [SP, ZW];\n var PREFIX_POSTFIX = [PR, PO];\n var LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE$1);\n var KOREAN_SYLLABLE_BLOCK = [JL, JV, JT, H2, H3];\n var HYPHEN = [HY, BA];\n var codePointsToCharacterClasses = function (codePoints, lineBreak) {\n if (lineBreak === void 0) { lineBreak = 'strict'; }\n var types = [];\n var indices = [];\n var categories = [];\n codePoints.forEach(function (codePoint, index) {\n var classType = UnicodeTrie$1.get(codePoint);\n if (classType > LETTER_NUMBER_MODIFIER) {\n categories.push(true);\n classType -= LETTER_NUMBER_MODIFIER;\n }\n else {\n categories.push(false);\n }\n if (['normal', 'auto', 'loose'].indexOf(lineBreak) !== -1) {\n // U+2010, – U+2013, 〜 U+301C, ゠ U+30A0\n if ([0x2010, 0x2013, 0x301c, 0x30a0].indexOf(codePoint) !== -1) {\n indices.push(index);\n return types.push(CB);\n }\n }\n if (classType === CM || classType === ZWJ$1) {\n // LB10 Treat any remaining combining mark or ZWJ as AL.\n if (index === 0) {\n indices.push(index);\n return types.push(AL);\n }\n // LB9 Do not break a combining character sequence; treat it as if it has the line breaking class of\n // the base character in all of the following rules. Treat ZWJ as if it were CM.\n var prev = types[index - 1];\n if (LINE_BREAKS.indexOf(prev) === -1) {\n indices.push(indices[index - 1]);\n return types.push(prev);\n }\n indices.push(index);\n return types.push(AL);\n }\n indices.push(index);\n if (classType === CJ) {\n return types.push(lineBreak === 'strict' ? NS : ID);\n }\n if (classType === SA) {\n return types.push(AL);\n }\n if (classType === AI) {\n return types.push(AL);\n }\n // For supplementary characters, a useful default is to treat characters in the range 10000..1FFFD as AL\n // and characters in the ranges 20000..2FFFD and 30000..3FFFD as ID, until the implementation can be revised\n // to take into account the actual line breaking properties for these characters.\n if (classType === XX) {\n if ((codePoint >= 0x20000 && codePoint <= 0x2fffd) || (codePoint >= 0x30000 && codePoint <= 0x3fffd)) {\n return types.push(ID);\n }\n else {\n return types.push(AL);\n }\n }\n types.push(classType);\n });\n return [indices, types, categories];\n };\n var isAdjacentWithSpaceIgnored = function (a, b, currentIndex, classTypes) {\n var current = classTypes[currentIndex];\n if (Array.isArray(a) ? a.indexOf(current) !== -1 : a === current) {\n var i = currentIndex;\n while (i <= classTypes.length) {\n i++;\n var next = classTypes[i];\n if (next === b) {\n return true;\n }\n if (next !== SP) {\n break;\n }\n }\n }\n if (current === SP) {\n var i = currentIndex;\n while (i > 0) {\n i--;\n var prev = classTypes[i];\n if (Array.isArray(a) ? a.indexOf(prev) !== -1 : a === prev) {\n var n = currentIndex;\n while (n <= classTypes.length) {\n n++;\n var next = classTypes[n];\n if (next === b) {\n return true;\n }\n if (next !== SP) {\n break;\n }\n }\n }\n if (prev !== SP) {\n break;\n }\n }\n }\n return false;\n };\n var previousNonSpaceClassType = function (currentIndex, classTypes) {\n var i = currentIndex;\n while (i >= 0) {\n var type = classTypes[i];\n if (type === SP) {\n i--;\n }\n else {\n return type;\n }\n }\n return 0;\n };\n var _lineBreakAtIndex = function (codePoints, classTypes, indicies, index, forbiddenBreaks) {\n if (indicies[index] === 0) {\n return BREAK_NOT_ALLOWED$1;\n }\n var currentIndex = index - 1;\n if (Array.isArray(forbiddenBreaks) && forbiddenBreaks[currentIndex] === true) {\n return BREAK_NOT_ALLOWED$1;\n }\n var beforeIndex = currentIndex - 1;\n var afterIndex = currentIndex + 1;\n var current = classTypes[currentIndex];\n // LB4 Always break after hard line breaks.\n // LB5 Treat CR followed by LF, as well as CR, LF, and NL as hard line breaks.\n var before = beforeIndex >= 0 ? classTypes[beforeIndex] : 0;\n var next = classTypes[afterIndex];\n if (current === CR$1 && next === LF$1) {\n return BREAK_NOT_ALLOWED$1;\n }\n if (HARD_LINE_BREAKS.indexOf(current) !== -1) {\n return BREAK_MANDATORY;\n }\n // LB6 Do not break before hard line breaks.\n if (HARD_LINE_BREAKS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB7 Do not break before spaces or zero width space.\n if (SPACE$1.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB8 Break before any character following a zero-width space, even if one or more spaces intervene.\n if (previousNonSpaceClassType(currentIndex, classTypes) === ZW) {\n return BREAK_ALLOWED$1;\n }\n // LB8a Do not break after a zero width joiner.\n if (UnicodeTrie$1.get(codePoints[currentIndex]) === ZWJ$1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // zwj emojis\n if ((current === EB || current === EM) && UnicodeTrie$1.get(codePoints[afterIndex]) === ZWJ$1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB11 Do not break before or after Word joiner and related characters.\n if (current === WJ || next === WJ) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB12 Do not break after NBSP and related characters.\n if (current === GL) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB12a Do not break before NBSP and related characters, except after spaces and hyphens.\n if ([SP, BA, HY].indexOf(current) === -1 && next === GL) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB13 Do not break before ‘]’ or ‘!’ or ‘;’ or ‘/’, even after spaces.\n if ([CL, CP, EX, IS, SY].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB14 Do not break after ‘[’, even after spaces.\n if (previousNonSpaceClassType(currentIndex, classTypes) === OP) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB15 Do not break within ‘”[’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(QU, OP, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB16 Do not break between closing punctuation and a nonstarter (lb=NS), even with intervening spaces.\n if (isAdjacentWithSpaceIgnored([CL, CP], NS, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB17 Do not break within ‘——’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(B2, B2, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB18 Break after spaces.\n if (current === SP) {\n return BREAK_ALLOWED$1;\n }\n // LB19 Do not break before or after quotation marks, such as ‘ ” ’.\n if (current === QU || next === QU) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB20 Break before and after unresolved CB.\n if (next === CB || current === CB) {\n return BREAK_ALLOWED$1;\n }\n // LB21 Do not break before hyphen-minus, other hyphens, fixed-width spaces, small kana, and other non-starters, or after acute accents.\n if ([BA, HY, NS].indexOf(next) !== -1 || current === BB) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB21a Don't break after Hebrew + Hyphen.\n if (before === HL && HYPHEN.indexOf(current) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB21b Don’t break between Solidus and Hebrew letters.\n if (current === SY && next === HL) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB22 Do not break before ellipsis.\n if (next === IN) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB23 Do not break between digits and letters.\n if ((ALPHABETICS.indexOf(next) !== -1 && current === NU) || (ALPHABETICS.indexOf(current) !== -1 && next === NU)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB23a Do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes.\n if ((current === PR && [ID, EB, EM].indexOf(next) !== -1) ||\n ([ID, EB, EM].indexOf(current) !== -1 && next === PO)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB24 Do not break between numeric prefix/postfix and letters, or between letters and prefix/postfix.\n if ((ALPHABETICS.indexOf(current) !== -1 && PREFIX_POSTFIX.indexOf(next) !== -1) ||\n (PREFIX_POSTFIX.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB25 Do not break between the following pairs of classes relevant to numbers:\n if (\n // (PR | PO) × ( OP | HY )? NU\n ([PR, PO].indexOf(current) !== -1 &&\n (next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) ||\n // ( OP | HY ) × NU\n ([OP, HY].indexOf(current) !== -1 && next === NU) ||\n // NU ×\t(NU | SY | IS)\n (current === NU && [NU, SY, IS].indexOf(next) !== -1)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // NU (NU | SY | IS)* × (NU | SY | IS | CL | CP)\n if ([NU, SY, IS, CL, CP].indexOf(next) !== -1) {\n var prevIndex = currentIndex;\n while (prevIndex >= 0) {\n var type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED$1;\n }\n else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n }\n else {\n break;\n }\n }\n }\n // NU (NU | SY | IS)* (CL | CP)? × (PO | PR))\n if ([PR, PO].indexOf(next) !== -1) {\n var prevIndex = [CL, CP].indexOf(current) !== -1 ? beforeIndex : currentIndex;\n while (prevIndex >= 0) {\n var type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED$1;\n }\n else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n }\n else {\n break;\n }\n }\n }\n // LB26 Do not break a Korean syllable.\n if ((JL === current && [JL, JV, H2, H3].indexOf(next) !== -1) ||\n ([JV, H2].indexOf(current) !== -1 && [JV, JT].indexOf(next) !== -1) ||\n ([JT, H3].indexOf(current) !== -1 && next === JT)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB27 Treat a Korean Syllable Block the same as ID.\n if ((KOREAN_SYLLABLE_BLOCK.indexOf(current) !== -1 && [IN, PO].indexOf(next) !== -1) ||\n (KOREAN_SYLLABLE_BLOCK.indexOf(next) !== -1 && current === PR)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB28 Do not break between alphabetics (“at”).\n if (ALPHABETICS.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB29 Do not break between numeric punctuation and alphabetics (“e.g.”).\n if (current === IS && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB30 Do not break between letters, numbers, or ordinary symbols and opening or closing parentheses.\n if ((ALPHABETICS.concat(NU).indexOf(current) !== -1 &&\n next === OP &&\n ea_OP.indexOf(codePoints[afterIndex]) === -1) ||\n (ALPHABETICS.concat(NU).indexOf(next) !== -1 && current === CP)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB30a Break between two regional indicator symbols if and only if there are an even number of regional\n // indicators preceding the position of the break.\n if (current === RI$1 && next === RI$1) {\n var i = indicies[currentIndex];\n var count = 1;\n while (i > 0) {\n i--;\n if (classTypes[i] === RI$1) {\n count++;\n }\n else {\n break;\n }\n }\n if (count % 2 !== 0) {\n return BREAK_NOT_ALLOWED$1;\n }\n }\n // LB30b Do not break between an emoji base and an emoji modifier.\n if (current === EB && next === EM) {\n return BREAK_NOT_ALLOWED$1;\n }\n return BREAK_ALLOWED$1;\n };\n var cssFormattedClasses = function (codePoints, options) {\n if (!options) {\n options = { lineBreak: 'normal', wordBreak: 'normal' };\n }\n var _a = codePointsToCharacterClasses(codePoints, options.lineBreak), indicies = _a[0], classTypes = _a[1], isLetterNumber = _a[2];\n if (options.wordBreak === 'break-all' || options.wordBreak === 'break-word') {\n classTypes = classTypes.map(function (type) { return ([NU, AL, SA].indexOf(type) !== -1 ? ID : type); });\n }\n var forbiddenBreakpoints = options.wordBreak === 'keep-all'\n ? isLetterNumber.map(function (letterNumber, i) {\n return letterNumber && codePoints[i] >= 0x4e00 && codePoints[i] <= 0x9fff;\n })\n : undefined;\n return [indicies, classTypes, forbiddenBreakpoints];\n };\n var Break = /** @class */ (function () {\n function Break(codePoints, lineBreak, start, end) {\n this.codePoints = codePoints;\n this.required = lineBreak === BREAK_MANDATORY;\n this.start = start;\n this.end = end;\n }\n Break.prototype.slice = function () {\n return fromCodePoint$1.apply(void 0, this.codePoints.slice(this.start, this.end));\n };\n return Break;\n }());\n var LineBreaker = function (str, options) {\n var codePoints = toCodePoints$1(str);\n var _a = cssFormattedClasses(codePoints, options), indicies = _a[0], classTypes = _a[1], forbiddenBreakpoints = _a[2];\n var length = codePoints.length;\n var lastEnd = 0;\n var nextIndex = 0;\n return {\n next: function () {\n if (nextIndex >= length) {\n return { done: true, value: null };\n }\n var lineBreak = BREAK_NOT_ALLOWED$1;\n while (nextIndex < length &&\n (lineBreak = _lineBreakAtIndex(codePoints, classTypes, indicies, ++nextIndex, forbiddenBreakpoints)) ===\n BREAK_NOT_ALLOWED$1) { }\n if (lineBreak !== BREAK_NOT_ALLOWED$1 || nextIndex === length) {\n var value = new Break(codePoints, lineBreak, lastEnd, nextIndex);\n lastEnd = nextIndex;\n return { value: value, done: false };\n }\n return { done: true, value: null };\n },\n };\n };\n\n // https://www.w3.org/TR/css-syntax-3\n var FLAG_UNRESTRICTED = 1 << 0;\n var FLAG_ID = 1 << 1;\n var FLAG_INTEGER = 1 << 2;\n var FLAG_NUMBER = 1 << 3;\n var LINE_FEED = 0x000a;\n var SOLIDUS = 0x002f;\n var REVERSE_SOLIDUS = 0x005c;\n var CHARACTER_TABULATION = 0x0009;\n var SPACE = 0x0020;\n var QUOTATION_MARK = 0x0022;\n var EQUALS_SIGN = 0x003d;\n var NUMBER_SIGN = 0x0023;\n var DOLLAR_SIGN = 0x0024;\n var PERCENTAGE_SIGN = 0x0025;\n var APOSTROPHE = 0x0027;\n var LEFT_PARENTHESIS = 0x0028;\n var RIGHT_PARENTHESIS = 0x0029;\n var LOW_LINE = 0x005f;\n var HYPHEN_MINUS = 0x002d;\n var EXCLAMATION_MARK = 0x0021;\n var LESS_THAN_SIGN = 0x003c;\n var GREATER_THAN_SIGN = 0x003e;\n var COMMERCIAL_AT = 0x0040;\n var LEFT_SQUARE_BRACKET = 0x005b;\n var RIGHT_SQUARE_BRACKET = 0x005d;\n var CIRCUMFLEX_ACCENT = 0x003d;\n var LEFT_CURLY_BRACKET = 0x007b;\n var QUESTION_MARK = 0x003f;\n var RIGHT_CURLY_BRACKET = 0x007d;\n var VERTICAL_LINE = 0x007c;\n var TILDE = 0x007e;\n var CONTROL = 0x0080;\n var REPLACEMENT_CHARACTER = 0xfffd;\n var ASTERISK = 0x002a;\n var PLUS_SIGN = 0x002b;\n var COMMA = 0x002c;\n var COLON = 0x003a;\n var SEMICOLON = 0x003b;\n var FULL_STOP = 0x002e;\n var NULL = 0x0000;\n var BACKSPACE = 0x0008;\n var LINE_TABULATION = 0x000b;\n var SHIFT_OUT = 0x000e;\n var INFORMATION_SEPARATOR_ONE = 0x001f;\n var DELETE = 0x007f;\n var EOF = -1;\n var ZERO = 0x0030;\n var a = 0x0061;\n var e = 0x0065;\n var f = 0x0066;\n var u = 0x0075;\n var z = 0x007a;\n var A = 0x0041;\n var E = 0x0045;\n var F = 0x0046;\n var U = 0x0055;\n var Z = 0x005a;\n var isDigit = function (codePoint) { return codePoint >= ZERO && codePoint <= 0x0039; };\n var isSurrogateCodePoint = function (codePoint) { return codePoint >= 0xd800 && codePoint <= 0xdfff; };\n var isHex = function (codePoint) {\n return isDigit(codePoint) || (codePoint >= A && codePoint <= F) || (codePoint >= a && codePoint <= f);\n };\n var isLowerCaseLetter = function (codePoint) { return codePoint >= a && codePoint <= z; };\n var isUpperCaseLetter = function (codePoint) { return codePoint >= A && codePoint <= Z; };\n var isLetter = function (codePoint) { return isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint); };\n var isNonASCIICodePoint = function (codePoint) { return codePoint >= CONTROL; };\n var isWhiteSpace = function (codePoint) {\n return codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE;\n };\n var isNameStartCodePoint = function (codePoint) {\n return isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE;\n };\n var isNameCodePoint = function (codePoint) {\n return isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS;\n };\n var isNonPrintableCodePoint = function (codePoint) {\n return ((codePoint >= NULL && codePoint <= BACKSPACE) ||\n codePoint === LINE_TABULATION ||\n (codePoint >= SHIFT_OUT && codePoint <= INFORMATION_SEPARATOR_ONE) ||\n codePoint === DELETE);\n };\n var isValidEscape = function (c1, c2) {\n if (c1 !== REVERSE_SOLIDUS) {\n return false;\n }\n return c2 !== LINE_FEED;\n };\n var isIdentifierStart = function (c1, c2, c3) {\n if (c1 === HYPHEN_MINUS) {\n return isNameStartCodePoint(c2) || isValidEscape(c2, c3);\n }\n else if (isNameStartCodePoint(c1)) {\n return true;\n }\n else if (c1 === REVERSE_SOLIDUS && isValidEscape(c1, c2)) {\n return true;\n }\n return false;\n };\n var isNumberStart = function (c1, c2, c3) {\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n if (isDigit(c2)) {\n return true;\n }\n return c2 === FULL_STOP && isDigit(c3);\n }\n if (c1 === FULL_STOP) {\n return isDigit(c2);\n }\n return isDigit(c1);\n };\n var stringToNumber = function (codePoints) {\n var c = 0;\n var sign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n sign = -1;\n }\n c++;\n }\n var integers = [];\n while (isDigit(codePoints[c])) {\n integers.push(codePoints[c++]);\n }\n var int = integers.length ? parseInt(fromCodePoint$1.apply(void 0, integers), 10) : 0;\n if (codePoints[c] === FULL_STOP) {\n c++;\n }\n var fraction = [];\n while (isDigit(codePoints[c])) {\n fraction.push(codePoints[c++]);\n }\n var fracd = fraction.length;\n var frac = fracd ? parseInt(fromCodePoint$1.apply(void 0, fraction), 10) : 0;\n if (codePoints[c] === E || codePoints[c] === e) {\n c++;\n }\n var expsign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n expsign = -1;\n }\n c++;\n }\n var exponent = [];\n while (isDigit(codePoints[c])) {\n exponent.push(codePoints[c++]);\n }\n var exp = exponent.length ? parseInt(fromCodePoint$1.apply(void 0, exponent), 10) : 0;\n return sign * (int + frac * Math.pow(10, -fracd)) * Math.pow(10, expsign * exp);\n };\n var LEFT_PARENTHESIS_TOKEN = {\n type: 2 /* LEFT_PARENTHESIS_TOKEN */\n };\n var RIGHT_PARENTHESIS_TOKEN = {\n type: 3 /* RIGHT_PARENTHESIS_TOKEN */\n };\n var COMMA_TOKEN = { type: 4 /* COMMA_TOKEN */ };\n var SUFFIX_MATCH_TOKEN = { type: 13 /* SUFFIX_MATCH_TOKEN */ };\n var PREFIX_MATCH_TOKEN = { type: 8 /* PREFIX_MATCH_TOKEN */ };\n var COLUMN_TOKEN = { type: 21 /* COLUMN_TOKEN */ };\n var DASH_MATCH_TOKEN = { type: 9 /* DASH_MATCH_TOKEN */ };\n var INCLUDE_MATCH_TOKEN = { type: 10 /* INCLUDE_MATCH_TOKEN */ };\n var LEFT_CURLY_BRACKET_TOKEN = {\n type: 11 /* LEFT_CURLY_BRACKET_TOKEN */\n };\n var RIGHT_CURLY_BRACKET_TOKEN = {\n type: 12 /* RIGHT_CURLY_BRACKET_TOKEN */\n };\n var SUBSTRING_MATCH_TOKEN = { type: 14 /* SUBSTRING_MATCH_TOKEN */ };\n var BAD_URL_TOKEN = { type: 23 /* BAD_URL_TOKEN */ };\n var BAD_STRING_TOKEN = { type: 1 /* BAD_STRING_TOKEN */ };\n var CDO_TOKEN = { type: 25 /* CDO_TOKEN */ };\n var CDC_TOKEN = { type: 24 /* CDC_TOKEN */ };\n var COLON_TOKEN = { type: 26 /* COLON_TOKEN */ };\n var SEMICOLON_TOKEN = { type: 27 /* SEMICOLON_TOKEN */ };\n var LEFT_SQUARE_BRACKET_TOKEN = {\n type: 28 /* LEFT_SQUARE_BRACKET_TOKEN */\n };\n var RIGHT_SQUARE_BRACKET_TOKEN = {\n type: 29 /* RIGHT_SQUARE_BRACKET_TOKEN */\n };\n var WHITESPACE_TOKEN = { type: 31 /* WHITESPACE_TOKEN */ };\n var EOF_TOKEN = { type: 32 /* EOF_TOKEN */ };\n var Tokenizer = /** @class */ (function () {\n function Tokenizer() {\n this._value = [];\n }\n Tokenizer.prototype.write = function (chunk) {\n this._value = this._value.concat(toCodePoints$1(chunk));\n };\n Tokenizer.prototype.read = function () {\n var tokens = [];\n var token = this.consumeToken();\n while (token !== EOF_TOKEN) {\n tokens.push(token);\n token = this.consumeToken();\n }\n return tokens;\n };\n Tokenizer.prototype.consumeToken = function () {\n var codePoint = this.consumeCodePoint();\n switch (codePoint) {\n case QUOTATION_MARK:\n return this.consumeStringToken(QUOTATION_MARK);\n case NUMBER_SIGN:\n var c1 = this.peekCodePoint(0);\n var c2 = this.peekCodePoint(1);\n var c3 = this.peekCodePoint(2);\n if (isNameCodePoint(c1) || isValidEscape(c2, c3)) {\n var flags = isIdentifierStart(c1, c2, c3) ? FLAG_ID : FLAG_UNRESTRICTED;\n var value = this.consumeName();\n return { type: 5 /* HASH_TOKEN */, value: value, flags: flags };\n }\n break;\n case DOLLAR_SIGN:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUFFIX_MATCH_TOKEN;\n }\n break;\n case APOSTROPHE:\n return this.consumeStringToken(APOSTROPHE);\n case LEFT_PARENTHESIS:\n return LEFT_PARENTHESIS_TOKEN;\n case RIGHT_PARENTHESIS:\n return RIGHT_PARENTHESIS_TOKEN;\n case ASTERISK:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUBSTRING_MATCH_TOKEN;\n }\n break;\n case PLUS_SIGN:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case COMMA:\n return COMMA_TOKEN;\n case HYPHEN_MINUS:\n var e1 = codePoint;\n var e2 = this.peekCodePoint(0);\n var e3 = this.peekCodePoint(1);\n if (isNumberStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n if (isIdentifierStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n if (e2 === HYPHEN_MINUS && e3 === GREATER_THAN_SIGN) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDC_TOKEN;\n }\n break;\n case FULL_STOP:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case SOLIDUS:\n if (this.peekCodePoint(0) === ASTERISK) {\n this.consumeCodePoint();\n while (true) {\n var c = this.consumeCodePoint();\n if (c === ASTERISK) {\n c = this.consumeCodePoint();\n if (c === SOLIDUS) {\n return this.consumeToken();\n }\n }\n if (c === EOF) {\n return this.consumeToken();\n }\n }\n }\n break;\n case COLON:\n return COLON_TOKEN;\n case SEMICOLON:\n return SEMICOLON_TOKEN;\n case LESS_THAN_SIGN:\n if (this.peekCodePoint(0) === EXCLAMATION_MARK &&\n this.peekCodePoint(1) === HYPHEN_MINUS &&\n this.peekCodePoint(2) === HYPHEN_MINUS) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDO_TOKEN;\n }\n break;\n case COMMERCIAL_AT:\n var a1 = this.peekCodePoint(0);\n var a2 = this.peekCodePoint(1);\n var a3 = this.peekCodePoint(2);\n if (isIdentifierStart(a1, a2, a3)) {\n var value = this.consumeName();\n return { type: 7 /* AT_KEYWORD_TOKEN */, value: value };\n }\n break;\n case LEFT_SQUARE_BRACKET:\n return LEFT_SQUARE_BRACKET_TOKEN;\n case REVERSE_SOLIDUS:\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n break;\n case RIGHT_SQUARE_BRACKET:\n return RIGHT_SQUARE_BRACKET_TOKEN;\n case CIRCUMFLEX_ACCENT:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return PREFIX_MATCH_TOKEN;\n }\n break;\n case LEFT_CURLY_BRACKET:\n return LEFT_CURLY_BRACKET_TOKEN;\n case RIGHT_CURLY_BRACKET:\n return RIGHT_CURLY_BRACKET_TOKEN;\n case u:\n case U:\n var u1 = this.peekCodePoint(0);\n var u2 = this.peekCodePoint(1);\n if (u1 === PLUS_SIGN && (isHex(u2) || u2 === QUESTION_MARK)) {\n this.consumeCodePoint();\n this.consumeUnicodeRangeToken();\n }\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n case VERTICAL_LINE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return DASH_MATCH_TOKEN;\n }\n if (this.peekCodePoint(0) === VERTICAL_LINE) {\n this.consumeCodePoint();\n return COLUMN_TOKEN;\n }\n break;\n case TILDE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return INCLUDE_MATCH_TOKEN;\n }\n break;\n case EOF:\n return EOF_TOKEN;\n }\n if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n return WHITESPACE_TOKEN;\n }\n if (isDigit(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n if (isNameStartCodePoint(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n return { type: 6 /* DELIM_TOKEN */, value: fromCodePoint$1(codePoint) };\n };\n Tokenizer.prototype.consumeCodePoint = function () {\n var value = this._value.shift();\n return typeof value === 'undefined' ? -1 : value;\n };\n Tokenizer.prototype.reconsumeCodePoint = function (codePoint) {\n this._value.unshift(codePoint);\n };\n Tokenizer.prototype.peekCodePoint = function (delta) {\n if (delta >= this._value.length) {\n return -1;\n }\n return this._value[delta];\n };\n Tokenizer.prototype.consumeUnicodeRangeToken = function () {\n var digits = [];\n var codePoint = this.consumeCodePoint();\n while (isHex(codePoint) && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n var questionMarks = false;\n while (codePoint === QUESTION_MARK && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n questionMarks = true;\n }\n if (questionMarks) {\n var start_1 = parseInt(fromCodePoint$1.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? ZERO : digit); })), 16);\n var end = parseInt(fromCodePoint$1.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? F : digit); })), 16);\n return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start_1, end: end };\n }\n var start = parseInt(fromCodePoint$1.apply(void 0, digits), 16);\n if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) {\n this.consumeCodePoint();\n codePoint = this.consumeCodePoint();\n var endDigits = [];\n while (isHex(codePoint) && endDigits.length < 6) {\n endDigits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n var end = parseInt(fromCodePoint$1.apply(void 0, endDigits), 16);\n return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start, end: end };\n }\n else {\n return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start, end: start };\n }\n };\n Tokenizer.prototype.consumeIdentLikeToken = function () {\n var value = this.consumeName();\n if (value.toLowerCase() === 'url' && this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return this.consumeUrlToken();\n }\n else if (this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return { type: 19 /* FUNCTION_TOKEN */, value: value };\n }\n return { type: 20 /* IDENT_TOKEN */, value: value };\n };\n Tokenizer.prototype.consumeUrlToken = function () {\n var value = [];\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF) {\n return { type: 22 /* URL_TOKEN */, value: '' };\n }\n var next = this.peekCodePoint(0);\n if (next === APOSTROPHE || next === QUOTATION_MARK) {\n var stringToken = this.consumeStringToken(this.consumeCodePoint());\n if (stringToken.type === 0 /* STRING_TOKEN */) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return { type: 22 /* URL_TOKEN */, value: stringToken.value };\n }\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n while (true) {\n var codePoint = this.consumeCodePoint();\n if (codePoint === EOF || codePoint === RIGHT_PARENTHESIS) {\n return { type: 22 /* URL_TOKEN */, value: fromCodePoint$1.apply(void 0, value) };\n }\n else if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return { type: 22 /* URL_TOKEN */, value: fromCodePoint$1.apply(void 0, value) };\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n else if (codePoint === QUOTATION_MARK ||\n codePoint === APOSTROPHE ||\n codePoint === LEFT_PARENTHESIS ||\n isNonPrintableCodePoint(codePoint)) {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n else if (codePoint === REVERSE_SOLIDUS) {\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n value.push(this.consumeEscapedCodePoint());\n }\n else {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n }\n else {\n value.push(codePoint);\n }\n }\n };\n Tokenizer.prototype.consumeWhiteSpace = function () {\n while (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n };\n Tokenizer.prototype.consumeBadUrlRemnants = function () {\n while (true) {\n var codePoint = this.consumeCodePoint();\n if (codePoint === RIGHT_PARENTHESIS || codePoint === EOF) {\n return;\n }\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.consumeEscapedCodePoint();\n }\n }\n };\n Tokenizer.prototype.consumeStringSlice = function (count) {\n var SLICE_STACK_SIZE = 50000;\n var value = '';\n while (count > 0) {\n var amount = Math.min(SLICE_STACK_SIZE, count);\n value += fromCodePoint$1.apply(void 0, this._value.splice(0, amount));\n count -= amount;\n }\n this._value.shift();\n return value;\n };\n Tokenizer.prototype.consumeStringToken = function (endingCodePoint) {\n var value = '';\n var i = 0;\n do {\n var codePoint = this._value[i];\n if (codePoint === EOF || codePoint === undefined || codePoint === endingCodePoint) {\n value += this.consumeStringSlice(i);\n return { type: 0 /* STRING_TOKEN */, value: value };\n }\n if (codePoint === LINE_FEED) {\n this._value.splice(0, i);\n return BAD_STRING_TOKEN;\n }\n if (codePoint === REVERSE_SOLIDUS) {\n var next = this._value[i + 1];\n if (next !== EOF && next !== undefined) {\n if (next === LINE_FEED) {\n value += this.consumeStringSlice(i);\n i = -1;\n this._value.shift();\n }\n else if (isValidEscape(codePoint, next)) {\n value += this.consumeStringSlice(i);\n value += fromCodePoint$1(this.consumeEscapedCodePoint());\n i = -1;\n }\n }\n }\n i++;\n } while (true);\n };\n Tokenizer.prototype.consumeNumber = function () {\n var repr = [];\n var type = FLAG_INTEGER;\n var c1 = this.peekCodePoint(0);\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n repr.push(this.consumeCodePoint());\n }\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n c1 = this.peekCodePoint(0);\n var c2 = this.peekCodePoint(1);\n if (c1 === FULL_STOP && isDigit(c2)) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n c1 = this.peekCodePoint(0);\n c2 = this.peekCodePoint(1);\n var c3 = this.peekCodePoint(2);\n if ((c1 === E || c1 === e) && (((c2 === PLUS_SIGN || c2 === HYPHEN_MINUS) && isDigit(c3)) || isDigit(c2))) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n return [stringToNumber(repr), type];\n };\n Tokenizer.prototype.consumeNumericToken = function () {\n var _a = this.consumeNumber(), number = _a[0], flags = _a[1];\n var c1 = this.peekCodePoint(0);\n var c2 = this.peekCodePoint(1);\n var c3 = this.peekCodePoint(2);\n if (isIdentifierStart(c1, c2, c3)) {\n var unit = this.consumeName();\n return { type: 15 /* DIMENSION_TOKEN */, number: number, flags: flags, unit: unit };\n }\n if (c1 === PERCENTAGE_SIGN) {\n this.consumeCodePoint();\n return { type: 16 /* PERCENTAGE_TOKEN */, number: number, flags: flags };\n }\n return { type: 17 /* NUMBER_TOKEN */, number: number, flags: flags };\n };\n Tokenizer.prototype.consumeEscapedCodePoint = function () {\n var codePoint = this.consumeCodePoint();\n if (isHex(codePoint)) {\n var hex = fromCodePoint$1(codePoint);\n while (isHex(this.peekCodePoint(0)) && hex.length < 6) {\n hex += fromCodePoint$1(this.consumeCodePoint());\n }\n if (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n var hexCodePoint = parseInt(hex, 16);\n if (hexCodePoint === 0 || isSurrogateCodePoint(hexCodePoint) || hexCodePoint > 0x10ffff) {\n return REPLACEMENT_CHARACTER;\n }\n return hexCodePoint;\n }\n if (codePoint === EOF) {\n return REPLACEMENT_CHARACTER;\n }\n return codePoint;\n };\n Tokenizer.prototype.consumeName = function () {\n var result = '';\n while (true) {\n var codePoint = this.consumeCodePoint();\n if (isNameCodePoint(codePoint)) {\n result += fromCodePoint$1(codePoint);\n }\n else if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n result += fromCodePoint$1(this.consumeEscapedCodePoint());\n }\n else {\n this.reconsumeCodePoint(codePoint);\n return result;\n }\n }\n };\n return Tokenizer;\n }());\n\n var Parser = /** @class */ (function () {\n function Parser(tokens) {\n this._tokens = tokens;\n }\n Parser.create = function (value) {\n var tokenizer = new Tokenizer();\n tokenizer.write(value);\n return new Parser(tokenizer.read());\n };\n Parser.parseValue = function (value) {\n return Parser.create(value).parseComponentValue();\n };\n Parser.parseValues = function (value) {\n return Parser.create(value).parseComponentValues();\n };\n Parser.prototype.parseComponentValue = function () {\n var token = this.consumeToken();\n while (token.type === 31 /* WHITESPACE_TOKEN */) {\n token = this.consumeToken();\n }\n if (token.type === 32 /* EOF_TOKEN */) {\n throw new SyntaxError(\"Error parsing CSS component value, unexpected EOF\");\n }\n this.reconsumeToken(token);\n var value = this.consumeComponentValue();\n do {\n token = this.consumeToken();\n } while (token.type === 31 /* WHITESPACE_TOKEN */);\n if (token.type === 32 /* EOF_TOKEN */) {\n return value;\n }\n throw new SyntaxError(\"Error parsing CSS component value, multiple values found when expecting only one\");\n };\n Parser.prototype.parseComponentValues = function () {\n var values = [];\n while (true) {\n var value = this.consumeComponentValue();\n if (value.type === 32 /* EOF_TOKEN */) {\n return values;\n }\n values.push(value);\n values.push();\n }\n };\n Parser.prototype.consumeComponentValue = function () {\n var token = this.consumeToken();\n switch (token.type) {\n case 11 /* LEFT_CURLY_BRACKET_TOKEN */:\n case 28 /* LEFT_SQUARE_BRACKET_TOKEN */:\n case 2 /* LEFT_PARENTHESIS_TOKEN */:\n return this.consumeSimpleBlock(token.type);\n case 19 /* FUNCTION_TOKEN */:\n return this.consumeFunction(token);\n }\n return token;\n };\n Parser.prototype.consumeSimpleBlock = function (type) {\n var block = { type: type, values: [] };\n var token = this.consumeToken();\n while (true) {\n if (token.type === 32 /* EOF_TOKEN */ || isEndingTokenFor(token, type)) {\n return block;\n }\n this.reconsumeToken(token);\n block.values.push(this.consumeComponentValue());\n token = this.consumeToken();\n }\n };\n Parser.prototype.consumeFunction = function (functionToken) {\n var cssFunction = {\n name: functionToken.value,\n values: [],\n type: 18 /* FUNCTION */\n };\n while (true) {\n var token = this.consumeToken();\n if (token.type === 32 /* EOF_TOKEN */ || token.type === 3 /* RIGHT_PARENTHESIS_TOKEN */) {\n return cssFunction;\n }\n this.reconsumeToken(token);\n cssFunction.values.push(this.consumeComponentValue());\n }\n };\n Parser.prototype.consumeToken = function () {\n var token = this._tokens.shift();\n return typeof token === 'undefined' ? EOF_TOKEN : token;\n };\n Parser.prototype.reconsumeToken = function (token) {\n this._tokens.unshift(token);\n };\n return Parser;\n }());\n var isDimensionToken = function (token) { return token.type === 15 /* DIMENSION_TOKEN */; };\n var isNumberToken = function (token) { return token.type === 17 /* NUMBER_TOKEN */; };\n var isIdentToken = function (token) { return token.type === 20 /* IDENT_TOKEN */; };\n var isStringToken = function (token) { return token.type === 0 /* STRING_TOKEN */; };\n var isIdentWithValue = function (token, value) {\n return isIdentToken(token) && token.value === value;\n };\n var nonWhiteSpace = function (token) { return token.type !== 31 /* WHITESPACE_TOKEN */; };\n var nonFunctionArgSeparator = function (token) {\n return token.type !== 31 /* WHITESPACE_TOKEN */ && token.type !== 4 /* COMMA_TOKEN */;\n };\n var parseFunctionArgs = function (tokens) {\n var args = [];\n var arg = [];\n tokens.forEach(function (token) {\n if (token.type === 4 /* COMMA_TOKEN */) {\n if (arg.length === 0) {\n throw new Error(\"Error parsing function args, zero tokens for arg\");\n }\n args.push(arg);\n arg = [];\n return;\n }\n if (token.type !== 31 /* WHITESPACE_TOKEN */) {\n arg.push(token);\n }\n });\n if (arg.length) {\n args.push(arg);\n }\n return args;\n };\n var isEndingTokenFor = function (token, type) {\n if (type === 11 /* LEFT_CURLY_BRACKET_TOKEN */ && token.type === 12 /* RIGHT_CURLY_BRACKET_TOKEN */) {\n return true;\n }\n if (type === 28 /* LEFT_SQUARE_BRACKET_TOKEN */ && token.type === 29 /* RIGHT_SQUARE_BRACKET_TOKEN */) {\n return true;\n }\n return type === 2 /* LEFT_PARENTHESIS_TOKEN */ && token.type === 3 /* RIGHT_PARENTHESIS_TOKEN */;\n };\n\n var isLength = function (token) {\n return token.type === 17 /* NUMBER_TOKEN */ || token.type === 15 /* DIMENSION_TOKEN */;\n };\n\n var isLengthPercentage = function (token) {\n return token.type === 16 /* PERCENTAGE_TOKEN */ || isLength(token);\n };\n var parseLengthPercentageTuple = function (tokens) {\n return tokens.length > 1 ? [tokens[0], tokens[1]] : [tokens[0]];\n };\n var ZERO_LENGTH = {\n type: 17 /* NUMBER_TOKEN */,\n number: 0,\n flags: FLAG_INTEGER\n };\n var FIFTY_PERCENT = {\n type: 16 /* PERCENTAGE_TOKEN */,\n number: 50,\n flags: FLAG_INTEGER\n };\n var HUNDRED_PERCENT = {\n type: 16 /* PERCENTAGE_TOKEN */,\n number: 100,\n flags: FLAG_INTEGER\n };\n var getAbsoluteValueForTuple = function (tuple, width, height) {\n var x = tuple[0], y = tuple[1];\n return [getAbsoluteValue(x, width), getAbsoluteValue(typeof y !== 'undefined' ? y : x, height)];\n };\n var getAbsoluteValue = function (token, parent) {\n if (token.type === 16 /* PERCENTAGE_TOKEN */) {\n return (token.number / 100) * parent;\n }\n if (isDimensionToken(token)) {\n switch (token.unit) {\n case 'rem':\n case 'em':\n return 16 * token.number; // TODO use correct font-size\n case 'px':\n default:\n return token.number;\n }\n }\n return token.number;\n };\n\n var DEG = 'deg';\n var GRAD = 'grad';\n var RAD = 'rad';\n var TURN = 'turn';\n var angle = {\n name: 'angle',\n parse: function (_context, value) {\n if (value.type === 15 /* DIMENSION_TOKEN */) {\n switch (value.unit) {\n case DEG:\n return (Math.PI * value.number) / 180;\n case GRAD:\n return (Math.PI / 200) * value.number;\n case RAD:\n return value.number;\n case TURN:\n return Math.PI * 2 * value.number;\n }\n }\n throw new Error(\"Unsupported angle type\");\n }\n };\n var isAngle = function (value) {\n if (value.type === 15 /* DIMENSION_TOKEN */) {\n if (value.unit === DEG || value.unit === GRAD || value.unit === RAD || value.unit === TURN) {\n return true;\n }\n }\n return false;\n };\n var parseNamedSide = function (tokens) {\n var sideOrCorner = tokens\n .filter(isIdentToken)\n .map(function (ident) { return ident.value; })\n .join(' ');\n switch (sideOrCorner) {\n case 'to bottom right':\n case 'to right bottom':\n case 'left top':\n case 'top left':\n return [ZERO_LENGTH, ZERO_LENGTH];\n case 'to top':\n case 'bottom':\n return deg(0);\n case 'to bottom left':\n case 'to left bottom':\n case 'right top':\n case 'top right':\n return [ZERO_LENGTH, HUNDRED_PERCENT];\n case 'to right':\n case 'left':\n return deg(90);\n case 'to top left':\n case 'to left top':\n case 'right bottom':\n case 'bottom right':\n return [HUNDRED_PERCENT, HUNDRED_PERCENT];\n case 'to bottom':\n case 'top':\n return deg(180);\n case 'to top right':\n case 'to right top':\n case 'left bottom':\n case 'bottom left':\n return [HUNDRED_PERCENT, ZERO_LENGTH];\n case 'to left':\n case 'right':\n return deg(270);\n }\n return 0;\n };\n var deg = function (deg) { return (Math.PI * deg) / 180; };\n\n var color$1 = {\n name: 'color',\n parse: function (context, value) {\n if (value.type === 18 /* FUNCTION */) {\n var colorFunction = SUPPORTED_COLOR_FUNCTIONS[value.name];\n if (typeof colorFunction === 'undefined') {\n throw new Error(\"Attempting to parse an unsupported color function \\\"\" + value.name + \"\\\"\");\n }\n return colorFunction(context, value.values);\n }\n if (value.type === 5 /* HASH_TOKEN */) {\n if (value.value.length === 3) {\n var r = value.value.substring(0, 1);\n var g = value.value.substring(1, 2);\n var b = value.value.substring(2, 3);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), 1);\n }\n if (value.value.length === 4) {\n var r = value.value.substring(0, 1);\n var g = value.value.substring(1, 2);\n var b = value.value.substring(2, 3);\n var a = value.value.substring(3, 4);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), parseInt(a + a, 16) / 255);\n }\n if (value.value.length === 6) {\n var r = value.value.substring(0, 2);\n var g = value.value.substring(2, 4);\n var b = value.value.substring(4, 6);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), 1);\n }\n if (value.value.length === 8) {\n var r = value.value.substring(0, 2);\n var g = value.value.substring(2, 4);\n var b = value.value.substring(4, 6);\n var a = value.value.substring(6, 8);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), parseInt(a, 16) / 255);\n }\n }\n if (value.type === 20 /* IDENT_TOKEN */) {\n var namedColor = COLORS[value.value.toUpperCase()];\n if (typeof namedColor !== 'undefined') {\n return namedColor;\n }\n }\n return COLORS.TRANSPARENT;\n }\n };\n var isTransparent = function (color) { return (0xff & color) === 0; };\n var asString = function (color) {\n var alpha = 0xff & color;\n var blue = 0xff & (color >> 8);\n var green = 0xff & (color >> 16);\n var red = 0xff & (color >> 24);\n return alpha < 255 ? \"rgba(\" + red + \",\" + green + \",\" + blue + \",\" + alpha / 255 + \")\" : \"rgb(\" + red + \",\" + green + \",\" + blue + \")\";\n };\n var pack = function (r, g, b, a) {\n return ((r << 24) | (g << 16) | (b << 8) | (Math.round(a * 255) << 0)) >>> 0;\n };\n var getTokenColorValue = function (token, i) {\n if (token.type === 17 /* NUMBER_TOKEN */) {\n return token.number;\n }\n if (token.type === 16 /* PERCENTAGE_TOKEN */) {\n var max = i === 3 ? 1 : 255;\n return i === 3 ? (token.number / 100) * max : Math.round((token.number / 100) * max);\n }\n return 0;\n };\n var rgb = function (_context, args) {\n var tokens = args.filter(nonFunctionArgSeparator);\n if (tokens.length === 3) {\n var _a = tokens.map(getTokenColorValue), r = _a[0], g = _a[1], b = _a[2];\n return pack(r, g, b, 1);\n }\n if (tokens.length === 4) {\n var _b = tokens.map(getTokenColorValue), r = _b[0], g = _b[1], b = _b[2], a = _b[3];\n return pack(r, g, b, a);\n }\n return 0;\n };\n function hue2rgb(t1, t2, hue) {\n if (hue < 0) {\n hue += 1;\n }\n if (hue >= 1) {\n hue -= 1;\n }\n if (hue < 1 / 6) {\n return (t2 - t1) * hue * 6 + t1;\n }\n else if (hue < 1 / 2) {\n return t2;\n }\n else if (hue < 2 / 3) {\n return (t2 - t1) * 6 * (2 / 3 - hue) + t1;\n }\n else {\n return t1;\n }\n }\n var hsl = function (context, args) {\n var tokens = args.filter(nonFunctionArgSeparator);\n var hue = tokens[0], saturation = tokens[1], lightness = tokens[2], alpha = tokens[3];\n var h = (hue.type === 17 /* NUMBER_TOKEN */ ? deg(hue.number) : angle.parse(context, hue)) / (Math.PI * 2);\n var s = isLengthPercentage(saturation) ? saturation.number / 100 : 0;\n var l = isLengthPercentage(lightness) ? lightness.number / 100 : 0;\n var a = typeof alpha !== 'undefined' && isLengthPercentage(alpha) ? getAbsoluteValue(alpha, 1) : 1;\n if (s === 0) {\n return pack(l * 255, l * 255, l * 255, 1);\n }\n var t2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n var t1 = l * 2 - t2;\n var r = hue2rgb(t1, t2, h + 1 / 3);\n var g = hue2rgb(t1, t2, h);\n var b = hue2rgb(t1, t2, h - 1 / 3);\n return pack(r * 255, g * 255, b * 255, a);\n };\n var SUPPORTED_COLOR_FUNCTIONS = {\n hsl: hsl,\n hsla: hsl,\n rgb: rgb,\n rgba: rgb\n };\n var parseColor = function (context, value) {\n return color$1.parse(context, Parser.create(value).parseComponentValue());\n };\n var COLORS = {\n ALICEBLUE: 0xf0f8ffff,\n ANTIQUEWHITE: 0xfaebd7ff,\n AQUA: 0x00ffffff,\n AQUAMARINE: 0x7fffd4ff,\n AZURE: 0xf0ffffff,\n BEIGE: 0xf5f5dcff,\n BISQUE: 0xffe4c4ff,\n BLACK: 0x000000ff,\n BLANCHEDALMOND: 0xffebcdff,\n BLUE: 0x0000ffff,\n BLUEVIOLET: 0x8a2be2ff,\n BROWN: 0xa52a2aff,\n BURLYWOOD: 0xdeb887ff,\n CADETBLUE: 0x5f9ea0ff,\n CHARTREUSE: 0x7fff00ff,\n CHOCOLATE: 0xd2691eff,\n CORAL: 0xff7f50ff,\n CORNFLOWERBLUE: 0x6495edff,\n CORNSILK: 0xfff8dcff,\n CRIMSON: 0xdc143cff,\n CYAN: 0x00ffffff,\n DARKBLUE: 0x00008bff,\n DARKCYAN: 0x008b8bff,\n DARKGOLDENROD: 0xb886bbff,\n DARKGRAY: 0xa9a9a9ff,\n DARKGREEN: 0x006400ff,\n DARKGREY: 0xa9a9a9ff,\n DARKKHAKI: 0xbdb76bff,\n DARKMAGENTA: 0x8b008bff,\n DARKOLIVEGREEN: 0x556b2fff,\n DARKORANGE: 0xff8c00ff,\n DARKORCHID: 0x9932ccff,\n DARKRED: 0x8b0000ff,\n DARKSALMON: 0xe9967aff,\n DARKSEAGREEN: 0x8fbc8fff,\n DARKSLATEBLUE: 0x483d8bff,\n DARKSLATEGRAY: 0x2f4f4fff,\n DARKSLATEGREY: 0x2f4f4fff,\n DARKTURQUOISE: 0x00ced1ff,\n DARKVIOLET: 0x9400d3ff,\n DEEPPINK: 0xff1493ff,\n DEEPSKYBLUE: 0x00bfffff,\n DIMGRAY: 0x696969ff,\n DIMGREY: 0x696969ff,\n DODGERBLUE: 0x1e90ffff,\n FIREBRICK: 0xb22222ff,\n FLORALWHITE: 0xfffaf0ff,\n FORESTGREEN: 0x228b22ff,\n FUCHSIA: 0xff00ffff,\n GAINSBORO: 0xdcdcdcff,\n GHOSTWHITE: 0xf8f8ffff,\n GOLD: 0xffd700ff,\n GOLDENROD: 0xdaa520ff,\n GRAY: 0x808080ff,\n GREEN: 0x008000ff,\n GREENYELLOW: 0xadff2fff,\n GREY: 0x808080ff,\n HONEYDEW: 0xf0fff0ff,\n HOTPINK: 0xff69b4ff,\n INDIANRED: 0xcd5c5cff,\n INDIGO: 0x4b0082ff,\n IVORY: 0xfffff0ff,\n KHAKI: 0xf0e68cff,\n LAVENDER: 0xe6e6faff,\n LAVENDERBLUSH: 0xfff0f5ff,\n LAWNGREEN: 0x7cfc00ff,\n LEMONCHIFFON: 0xfffacdff,\n LIGHTBLUE: 0xadd8e6ff,\n LIGHTCORAL: 0xf08080ff,\n LIGHTCYAN: 0xe0ffffff,\n LIGHTGOLDENRODYELLOW: 0xfafad2ff,\n LIGHTGRAY: 0xd3d3d3ff,\n LIGHTGREEN: 0x90ee90ff,\n LIGHTGREY: 0xd3d3d3ff,\n LIGHTPINK: 0xffb6c1ff,\n LIGHTSALMON: 0xffa07aff,\n LIGHTSEAGREEN: 0x20b2aaff,\n LIGHTSKYBLUE: 0x87cefaff,\n LIGHTSLATEGRAY: 0x778899ff,\n LIGHTSLATEGREY: 0x778899ff,\n LIGHTSTEELBLUE: 0xb0c4deff,\n LIGHTYELLOW: 0xffffe0ff,\n LIME: 0x00ff00ff,\n LIMEGREEN: 0x32cd32ff,\n LINEN: 0xfaf0e6ff,\n MAGENTA: 0xff00ffff,\n MAROON: 0x800000ff,\n MEDIUMAQUAMARINE: 0x66cdaaff,\n MEDIUMBLUE: 0x0000cdff,\n MEDIUMORCHID: 0xba55d3ff,\n MEDIUMPURPLE: 0x9370dbff,\n MEDIUMSEAGREEN: 0x3cb371ff,\n MEDIUMSLATEBLUE: 0x7b68eeff,\n MEDIUMSPRINGGREEN: 0x00fa9aff,\n MEDIUMTURQUOISE: 0x48d1ccff,\n MEDIUMVIOLETRED: 0xc71585ff,\n MIDNIGHTBLUE: 0x191970ff,\n MINTCREAM: 0xf5fffaff,\n MISTYROSE: 0xffe4e1ff,\n MOCCASIN: 0xffe4b5ff,\n NAVAJOWHITE: 0xffdeadff,\n NAVY: 0x000080ff,\n OLDLACE: 0xfdf5e6ff,\n OLIVE: 0x808000ff,\n OLIVEDRAB: 0x6b8e23ff,\n ORANGE: 0xffa500ff,\n ORANGERED: 0xff4500ff,\n ORCHID: 0xda70d6ff,\n PALEGOLDENROD: 0xeee8aaff,\n PALEGREEN: 0x98fb98ff,\n PALETURQUOISE: 0xafeeeeff,\n PALEVIOLETRED: 0xdb7093ff,\n PAPAYAWHIP: 0xffefd5ff,\n PEACHPUFF: 0xffdab9ff,\n PERU: 0xcd853fff,\n PINK: 0xffc0cbff,\n PLUM: 0xdda0ddff,\n POWDERBLUE: 0xb0e0e6ff,\n PURPLE: 0x800080ff,\n REBECCAPURPLE: 0x663399ff,\n RED: 0xff0000ff,\n ROSYBROWN: 0xbc8f8fff,\n ROYALBLUE: 0x4169e1ff,\n SADDLEBROWN: 0x8b4513ff,\n SALMON: 0xfa8072ff,\n SANDYBROWN: 0xf4a460ff,\n SEAGREEN: 0x2e8b57ff,\n SEASHELL: 0xfff5eeff,\n SIENNA: 0xa0522dff,\n SILVER: 0xc0c0c0ff,\n SKYBLUE: 0x87ceebff,\n SLATEBLUE: 0x6a5acdff,\n SLATEGRAY: 0x708090ff,\n SLATEGREY: 0x708090ff,\n SNOW: 0xfffafaff,\n SPRINGGREEN: 0x00ff7fff,\n STEELBLUE: 0x4682b4ff,\n TAN: 0xd2b48cff,\n TEAL: 0x008080ff,\n THISTLE: 0xd8bfd8ff,\n TOMATO: 0xff6347ff,\n TRANSPARENT: 0x00000000,\n TURQUOISE: 0x40e0d0ff,\n VIOLET: 0xee82eeff,\n WHEAT: 0xf5deb3ff,\n WHITE: 0xffffffff,\n WHITESMOKE: 0xf5f5f5ff,\n YELLOW: 0xffff00ff,\n YELLOWGREEN: 0x9acd32ff\n };\n\n var backgroundClip = {\n name: 'background-clip',\n initialValue: 'border-box',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.map(function (token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return 1 /* PADDING_BOX */;\n case 'content-box':\n return 2 /* CONTENT_BOX */;\n }\n }\n return 0 /* BORDER_BOX */;\n });\n }\n };\n\n var backgroundColor = {\n name: \"background-color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n };\n\n var parseColorStop = function (context, args) {\n var color = color$1.parse(context, args[0]);\n var stop = args[1];\n return stop && isLengthPercentage(stop) ? { color: color, stop: stop } : { color: color, stop: null };\n };\n var processColorStops = function (stops, lineLength) {\n var first = stops[0];\n var last = stops[stops.length - 1];\n if (first.stop === null) {\n first.stop = ZERO_LENGTH;\n }\n if (last.stop === null) {\n last.stop = HUNDRED_PERCENT;\n }\n var processStops = [];\n var previous = 0;\n for (var i = 0; i < stops.length; i++) {\n var stop_1 = stops[i].stop;\n if (stop_1 !== null) {\n var absoluteValue = getAbsoluteValue(stop_1, lineLength);\n if (absoluteValue > previous) {\n processStops.push(absoluteValue);\n }\n else {\n processStops.push(previous);\n }\n previous = absoluteValue;\n }\n else {\n processStops.push(null);\n }\n }\n var gapBegin = null;\n for (var i = 0; i < processStops.length; i++) {\n var stop_2 = processStops[i];\n if (stop_2 === null) {\n if (gapBegin === null) {\n gapBegin = i;\n }\n }\n else if (gapBegin !== null) {\n var gapLength = i - gapBegin;\n var beforeGap = processStops[gapBegin - 1];\n var gapValue = (stop_2 - beforeGap) / (gapLength + 1);\n for (var g = 1; g <= gapLength; g++) {\n processStops[gapBegin + g - 1] = gapValue * g;\n }\n gapBegin = null;\n }\n }\n return stops.map(function (_a, i) {\n var color = _a.color;\n return { color: color, stop: Math.max(Math.min(1, processStops[i] / lineLength), 0) };\n });\n };\n var getAngleFromCorner = function (corner, width, height) {\n var centerX = width / 2;\n var centerY = height / 2;\n var x = getAbsoluteValue(corner[0], width) - centerX;\n var y = centerY - getAbsoluteValue(corner[1], height);\n return (Math.atan2(y, x) + Math.PI * 2) % (Math.PI * 2);\n };\n var calculateGradientDirection = function (angle, width, height) {\n var radian = typeof angle === 'number' ? angle : getAngleFromCorner(angle, width, height);\n var lineLength = Math.abs(width * Math.sin(radian)) + Math.abs(height * Math.cos(radian));\n var halfWidth = width / 2;\n var halfHeight = height / 2;\n var halfLineLength = lineLength / 2;\n var yDiff = Math.sin(radian - Math.PI / 2) * halfLineLength;\n var xDiff = Math.cos(radian - Math.PI / 2) * halfLineLength;\n return [lineLength, halfWidth - xDiff, halfWidth + xDiff, halfHeight - yDiff, halfHeight + yDiff];\n };\n var distance = function (a, b) { return Math.sqrt(a * a + b * b); };\n var findCorner = function (width, height, x, y, closest) {\n var corners = [\n [0, 0],\n [0, height],\n [width, 0],\n [width, height]\n ];\n return corners.reduce(function (stat, corner) {\n var cx = corner[0], cy = corner[1];\n var d = distance(x - cx, y - cy);\n if (closest ? d < stat.optimumDistance : d > stat.optimumDistance) {\n return {\n optimumCorner: corner,\n optimumDistance: d\n };\n }\n return stat;\n }, {\n optimumDistance: closest ? Infinity : -Infinity,\n optimumCorner: null\n }).optimumCorner;\n };\n var calculateRadius = function (gradient, x, y, width, height) {\n var rx = 0;\n var ry = 0;\n switch (gradient.size) {\n case 0 /* CLOSEST_SIDE */:\n // The ending shape is sized so that that it exactly meets the side of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, it exactly meets the closest side in each dimension.\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.min(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n rx = Math.min(Math.abs(x), Math.abs(x - width));\n ry = Math.min(Math.abs(y), Math.abs(y - height));\n }\n break;\n case 2 /* CLOSEST_CORNER */:\n // The ending shape is sized so that that it passes through the corner of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, the ending shape is given the same aspect-ratio it would have if closest-side were specified.\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.min(distance(x, y), distance(x, y - height), distance(x - width, y), distance(x - width, y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n // Compute the ratio ry/rx (which is to be the same as for \"closest-side\")\n var c = Math.min(Math.abs(y), Math.abs(y - height)) / Math.min(Math.abs(x), Math.abs(x - width));\n var _a = findCorner(width, height, x, y, true), cx = _a[0], cy = _a[1];\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n case 1 /* FARTHEST_SIDE */:\n // Same as closest-side, except the ending shape is sized based on the farthest side(s)\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.max(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n rx = Math.max(Math.abs(x), Math.abs(x - width));\n ry = Math.max(Math.abs(y), Math.abs(y - height));\n }\n break;\n case 3 /* FARTHEST_CORNER */:\n // Same as closest-corner, except the ending shape is sized based on the farthest corner.\n // If the shape is an ellipse, the ending shape is given the same aspect ratio it would have if farthest-side were specified.\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.max(distance(x, y), distance(x, y - height), distance(x - width, y), distance(x - width, y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n // Compute the ratio ry/rx (which is to be the same as for \"farthest-side\")\n var c = Math.max(Math.abs(y), Math.abs(y - height)) / Math.max(Math.abs(x), Math.abs(x - width));\n var _b = findCorner(width, height, x, y, false), cx = _b[0], cy = _b[1];\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n }\n if (Array.isArray(gradient.size)) {\n rx = getAbsoluteValue(gradient.size[0], width);\n ry = gradient.size.length === 2 ? getAbsoluteValue(gradient.size[1], height) : rx;\n }\n return [rx, ry];\n };\n\n var linearGradient = function (context, tokens) {\n var angle$1 = deg(180);\n var stops = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n if (i === 0) {\n var firstToken = arg[0];\n if (firstToken.type === 20 /* IDENT_TOKEN */ && firstToken.value === 'to') {\n angle$1 = parseNamedSide(arg);\n return;\n }\n else if (isAngle(firstToken)) {\n angle$1 = angle.parse(context, firstToken);\n return;\n }\n }\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n return { angle: angle$1, stops: stops, type: 1 /* LINEAR_GRADIENT */ };\n };\n\n var prefixLinearGradient = function (context, tokens) {\n var angle$1 = deg(180);\n var stops = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n if (i === 0) {\n var firstToken = arg[0];\n if (firstToken.type === 20 /* IDENT_TOKEN */ &&\n ['top', 'left', 'right', 'bottom'].indexOf(firstToken.value) !== -1) {\n angle$1 = parseNamedSide(arg);\n return;\n }\n else if (isAngle(firstToken)) {\n angle$1 = (angle.parse(context, firstToken) + deg(270)) % deg(360);\n return;\n }\n }\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n return {\n angle: angle$1,\n stops: stops,\n type: 1 /* LINEAR_GRADIENT */\n };\n };\n\n var webkitGradient = function (context, tokens) {\n var angle = deg(180);\n var stops = [];\n var type = 1 /* LINEAR_GRADIENT */;\n var shape = 0 /* CIRCLE */;\n var size = 3 /* FARTHEST_CORNER */;\n var position = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n var firstToken = arg[0];\n if (i === 0) {\n if (isIdentToken(firstToken) && firstToken.value === 'linear') {\n type = 1 /* LINEAR_GRADIENT */;\n return;\n }\n else if (isIdentToken(firstToken) && firstToken.value === 'radial') {\n type = 2 /* RADIAL_GRADIENT */;\n return;\n }\n }\n if (firstToken.type === 18 /* FUNCTION */) {\n if (firstToken.name === 'from') {\n var color = color$1.parse(context, firstToken.values[0]);\n stops.push({ stop: ZERO_LENGTH, color: color });\n }\n else if (firstToken.name === 'to') {\n var color = color$1.parse(context, firstToken.values[0]);\n stops.push({ stop: HUNDRED_PERCENT, color: color });\n }\n else if (firstToken.name === 'color-stop') {\n var values = firstToken.values.filter(nonFunctionArgSeparator);\n if (values.length === 2) {\n var color = color$1.parse(context, values[1]);\n var stop_1 = values[0];\n if (isNumberToken(stop_1)) {\n stops.push({\n stop: { type: 16 /* PERCENTAGE_TOKEN */, number: stop_1.number * 100, flags: stop_1.flags },\n color: color\n });\n }\n }\n }\n }\n });\n return type === 1 /* LINEAR_GRADIENT */\n ? {\n angle: (angle + deg(180)) % deg(360),\n stops: stops,\n type: type\n }\n : { size: size, shape: shape, stops: stops, position: position, type: type };\n };\n\n var CLOSEST_SIDE = 'closest-side';\n var FARTHEST_SIDE = 'farthest-side';\n var CLOSEST_CORNER = 'closest-corner';\n var FARTHEST_CORNER = 'farthest-corner';\n var CIRCLE = 'circle';\n var ELLIPSE = 'ellipse';\n var COVER = 'cover';\n var CONTAIN = 'contain';\n var radialGradient = function (context, tokens) {\n var shape = 0 /* CIRCLE */;\n var size = 3 /* FARTHEST_CORNER */;\n var stops = [];\n var position = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n var isColorStop = true;\n if (i === 0) {\n var isAtPosition_1 = false;\n isColorStop = arg.reduce(function (acc, token) {\n if (isAtPosition_1) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return acc;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return acc;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return acc;\n }\n }\n else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n }\n }\n else if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = 0 /* CIRCLE */;\n return false;\n case ELLIPSE:\n shape = 1 /* ELLIPSE */;\n return false;\n case 'at':\n isAtPosition_1 = true;\n return false;\n case CLOSEST_SIDE:\n size = 0 /* CLOSEST_SIDE */;\n return false;\n case COVER:\n case FARTHEST_SIDE:\n size = 1 /* FARTHEST_SIDE */;\n return false;\n case CONTAIN:\n case CLOSEST_CORNER:\n size = 2 /* CLOSEST_CORNER */;\n return false;\n case FARTHEST_CORNER:\n size = 3 /* FARTHEST_CORNER */;\n return false;\n }\n }\n else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n if (isColorStop) {\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n return { size: size, shape: shape, stops: stops, position: position, type: 2 /* RADIAL_GRADIENT */ };\n };\n\n var prefixRadialGradient = function (context, tokens) {\n var shape = 0 /* CIRCLE */;\n var size = 3 /* FARTHEST_CORNER */;\n var stops = [];\n var position = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n var isColorStop = true;\n if (i === 0) {\n isColorStop = arg.reduce(function (acc, token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return false;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return false;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return false;\n }\n }\n else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n else if (i === 1) {\n isColorStop = arg.reduce(function (acc, token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = 0 /* CIRCLE */;\n return false;\n case ELLIPSE:\n shape = 1 /* ELLIPSE */;\n return false;\n case CONTAIN:\n case CLOSEST_SIDE:\n size = 0 /* CLOSEST_SIDE */;\n return false;\n case FARTHEST_SIDE:\n size = 1 /* FARTHEST_SIDE */;\n return false;\n case CLOSEST_CORNER:\n size = 2 /* CLOSEST_CORNER */;\n return false;\n case COVER:\n case FARTHEST_CORNER:\n size = 3 /* FARTHEST_CORNER */;\n return false;\n }\n }\n else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n if (isColorStop) {\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n return { size: size, shape: shape, stops: stops, position: position, type: 2 /* RADIAL_GRADIENT */ };\n };\n\n var isLinearGradient = function (background) {\n return background.type === 1 /* LINEAR_GRADIENT */;\n };\n var isRadialGradient = function (background) {\n return background.type === 2 /* RADIAL_GRADIENT */;\n };\n var image = {\n name: 'image',\n parse: function (context, value) {\n if (value.type === 22 /* URL_TOKEN */) {\n var image_1 = { url: value.value, type: 0 /* URL */ };\n context.cache.addImage(value.value);\n return image_1;\n }\n if (value.type === 18 /* FUNCTION */) {\n var imageFunction = SUPPORTED_IMAGE_FUNCTIONS[value.name];\n if (typeof imageFunction === 'undefined') {\n throw new Error(\"Attempting to parse an unsupported image function \\\"\" + value.name + \"\\\"\");\n }\n return imageFunction(context, value.values);\n }\n throw new Error(\"Unsupported image type \" + value.type);\n }\n };\n function isSupportedImage(value) {\n return (!(value.type === 20 /* IDENT_TOKEN */ && value.value === 'none') &&\n (value.type !== 18 /* FUNCTION */ || !!SUPPORTED_IMAGE_FUNCTIONS[value.name]));\n }\n var SUPPORTED_IMAGE_FUNCTIONS = {\n 'linear-gradient': linearGradient,\n '-moz-linear-gradient': prefixLinearGradient,\n '-ms-linear-gradient': prefixLinearGradient,\n '-o-linear-gradient': prefixLinearGradient,\n '-webkit-linear-gradient': prefixLinearGradient,\n 'radial-gradient': radialGradient,\n '-moz-radial-gradient': prefixRadialGradient,\n '-ms-radial-gradient': prefixRadialGradient,\n '-o-radial-gradient': prefixRadialGradient,\n '-webkit-radial-gradient': prefixRadialGradient,\n '-webkit-gradient': webkitGradient\n };\n\n var backgroundImage = {\n name: 'background-image',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (context, tokens) {\n if (tokens.length === 0) {\n return [];\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return [];\n }\n return tokens\n .filter(function (value) { return nonFunctionArgSeparator(value) && isSupportedImage(value); })\n .map(function (value) { return image.parse(context, value); });\n }\n };\n\n var backgroundOrigin = {\n name: 'background-origin',\n initialValue: 'border-box',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.map(function (token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return 1 /* PADDING_BOX */;\n case 'content-box':\n return 2 /* CONTENT_BOX */;\n }\n }\n return 0 /* BORDER_BOX */;\n });\n }\n };\n\n var backgroundPosition = {\n name: 'background-position',\n initialValue: '0% 0%',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (_context, tokens) {\n return parseFunctionArgs(tokens)\n .map(function (values) { return values.filter(isLengthPercentage); })\n .map(parseLengthPercentageTuple);\n }\n };\n\n var backgroundRepeat = {\n name: 'background-repeat',\n initialValue: 'repeat',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return parseFunctionArgs(tokens)\n .map(function (values) {\n return values\n .filter(isIdentToken)\n .map(function (token) { return token.value; })\n .join(' ');\n })\n .map(parseBackgroundRepeat);\n }\n };\n var parseBackgroundRepeat = function (value) {\n switch (value) {\n case 'no-repeat':\n return 1 /* NO_REPEAT */;\n case 'repeat-x':\n case 'repeat no-repeat':\n return 2 /* REPEAT_X */;\n case 'repeat-y':\n case 'no-repeat repeat':\n return 3 /* REPEAT_Y */;\n case 'repeat':\n default:\n return 0 /* REPEAT */;\n }\n };\n\n var BACKGROUND_SIZE;\n (function (BACKGROUND_SIZE) {\n BACKGROUND_SIZE[\"AUTO\"] = \"auto\";\n BACKGROUND_SIZE[\"CONTAIN\"] = \"contain\";\n BACKGROUND_SIZE[\"COVER\"] = \"cover\";\n })(BACKGROUND_SIZE || (BACKGROUND_SIZE = {}));\n var backgroundSize = {\n name: 'background-size',\n initialValue: '0',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return parseFunctionArgs(tokens).map(function (values) { return values.filter(isBackgroundSizeInfoToken); });\n }\n };\n var isBackgroundSizeInfoToken = function (value) {\n return isIdentToken(value) || isLengthPercentage(value);\n };\n\n var borderColorForSide = function (side) { return ({\n name: \"border-\" + side + \"-color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n }); };\n var borderTopColor = borderColorForSide('top');\n var borderRightColor = borderColorForSide('right');\n var borderBottomColor = borderColorForSide('bottom');\n var borderLeftColor = borderColorForSide('left');\n\n var borderRadiusForSide = function (side) { return ({\n name: \"border-radius-\" + side,\n initialValue: '0 0',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return parseLengthPercentageTuple(tokens.filter(isLengthPercentage));\n }\n }); };\n var borderTopLeftRadius = borderRadiusForSide('top-left');\n var borderTopRightRadius = borderRadiusForSide('top-right');\n var borderBottomRightRadius = borderRadiusForSide('bottom-right');\n var borderBottomLeftRadius = borderRadiusForSide('bottom-left');\n\n var borderStyleForSide = function (side) { return ({\n name: \"border-\" + side + \"-style\",\n initialValue: 'solid',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, style) {\n switch (style) {\n case 'none':\n return 0 /* NONE */;\n case 'dashed':\n return 2 /* DASHED */;\n case 'dotted':\n return 3 /* DOTTED */;\n case 'double':\n return 4 /* DOUBLE */;\n }\n return 1 /* SOLID */;\n }\n }); };\n var borderTopStyle = borderStyleForSide('top');\n var borderRightStyle = borderStyleForSide('right');\n var borderBottomStyle = borderStyleForSide('bottom');\n var borderLeftStyle = borderStyleForSide('left');\n\n var borderWidthForSide = function (side) { return ({\n name: \"border-\" + side + \"-width\",\n initialValue: '0',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n }); };\n var borderTopWidth = borderWidthForSide('top');\n var borderRightWidth = borderWidthForSide('right');\n var borderBottomWidth = borderWidthForSide('bottom');\n var borderLeftWidth = borderWidthForSide('left');\n\n var color = {\n name: \"color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n };\n\n var direction = {\n name: 'direction',\n initialValue: 'ltr',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, direction) {\n switch (direction) {\n case 'rtl':\n return 1 /* RTL */;\n case 'ltr':\n default:\n return 0 /* LTR */;\n }\n }\n };\n\n var display = {\n name: 'display',\n initialValue: 'inline-block',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.filter(isIdentToken).reduce(function (bit, token) {\n return bit | parseDisplayValue(token.value);\n }, 0 /* NONE */);\n }\n };\n var parseDisplayValue = function (display) {\n switch (display) {\n case 'block':\n case '-webkit-box':\n return 2 /* BLOCK */;\n case 'inline':\n return 4 /* INLINE */;\n case 'run-in':\n return 8 /* RUN_IN */;\n case 'flow':\n return 16 /* FLOW */;\n case 'flow-root':\n return 32 /* FLOW_ROOT */;\n case 'table':\n return 64 /* TABLE */;\n case 'flex':\n case '-webkit-flex':\n return 128 /* FLEX */;\n case 'grid':\n case '-ms-grid':\n return 256 /* GRID */;\n case 'ruby':\n return 512 /* RUBY */;\n case 'subgrid':\n return 1024 /* SUBGRID */;\n case 'list-item':\n return 2048 /* LIST_ITEM */;\n case 'table-row-group':\n return 4096 /* TABLE_ROW_GROUP */;\n case 'table-header-group':\n return 8192 /* TABLE_HEADER_GROUP */;\n case 'table-footer-group':\n return 16384 /* TABLE_FOOTER_GROUP */;\n case 'table-row':\n return 32768 /* TABLE_ROW */;\n case 'table-cell':\n return 65536 /* TABLE_CELL */;\n case 'table-column-group':\n return 131072 /* TABLE_COLUMN_GROUP */;\n case 'table-column':\n return 262144 /* TABLE_COLUMN */;\n case 'table-caption':\n return 524288 /* TABLE_CAPTION */;\n case 'ruby-base':\n return 1048576 /* RUBY_BASE */;\n case 'ruby-text':\n return 2097152 /* RUBY_TEXT */;\n case 'ruby-base-container':\n return 4194304 /* RUBY_BASE_CONTAINER */;\n case 'ruby-text-container':\n return 8388608 /* RUBY_TEXT_CONTAINER */;\n case 'contents':\n return 16777216 /* CONTENTS */;\n case 'inline-block':\n return 33554432 /* INLINE_BLOCK */;\n case 'inline-list-item':\n return 67108864 /* INLINE_LIST_ITEM */;\n case 'inline-table':\n return 134217728 /* INLINE_TABLE */;\n case 'inline-flex':\n return 268435456 /* INLINE_FLEX */;\n case 'inline-grid':\n return 536870912 /* INLINE_GRID */;\n }\n return 0 /* NONE */;\n };\n\n var float = {\n name: 'float',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, float) {\n switch (float) {\n case 'left':\n return 1 /* LEFT */;\n case 'right':\n return 2 /* RIGHT */;\n case 'inline-start':\n return 3 /* INLINE_START */;\n case 'inline-end':\n return 4 /* INLINE_END */;\n }\n return 0 /* NONE */;\n }\n };\n\n var letterSpacing = {\n name: 'letter-spacing',\n initialValue: '0',\n prefix: false,\n type: 0 /* VALUE */,\n parse: function (_context, token) {\n if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'normal') {\n return 0;\n }\n if (token.type === 17 /* NUMBER_TOKEN */) {\n return token.number;\n }\n if (token.type === 15 /* DIMENSION_TOKEN */) {\n return token.number;\n }\n return 0;\n }\n };\n\n var LINE_BREAK;\n (function (LINE_BREAK) {\n LINE_BREAK[\"NORMAL\"] = \"normal\";\n LINE_BREAK[\"STRICT\"] = \"strict\";\n })(LINE_BREAK || (LINE_BREAK = {}));\n var lineBreak = {\n name: 'line-break',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, lineBreak) {\n switch (lineBreak) {\n case 'strict':\n return LINE_BREAK.STRICT;\n case 'normal':\n default:\n return LINE_BREAK.NORMAL;\n }\n }\n };\n\n var lineHeight = {\n name: 'line-height',\n initialValue: 'normal',\n prefix: false,\n type: 4 /* TOKEN_VALUE */\n };\n var computeLineHeight = function (token, fontSize) {\n if (isIdentToken(token) && token.value === 'normal') {\n return 1.2 * fontSize;\n }\n else if (token.type === 17 /* NUMBER_TOKEN */) {\n return fontSize * token.number;\n }\n else if (isLengthPercentage(token)) {\n return getAbsoluteValue(token, fontSize);\n }\n return fontSize;\n };\n\n var listStyleImage = {\n name: 'list-style-image',\n initialValue: 'none',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (context, token) {\n if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'none') {\n return null;\n }\n return image.parse(context, token);\n }\n };\n\n var listStylePosition = {\n name: 'list-style-position',\n initialValue: 'outside',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, position) {\n switch (position) {\n case 'inside':\n return 0 /* INSIDE */;\n case 'outside':\n default:\n return 1 /* OUTSIDE */;\n }\n }\n };\n\n var listStyleType = {\n name: 'list-style-type',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, type) {\n switch (type) {\n case 'disc':\n return 0 /* DISC */;\n case 'circle':\n return 1 /* CIRCLE */;\n case 'square':\n return 2 /* SQUARE */;\n case 'decimal':\n return 3 /* DECIMAL */;\n case 'cjk-decimal':\n return 4 /* CJK_DECIMAL */;\n case 'decimal-leading-zero':\n return 5 /* DECIMAL_LEADING_ZERO */;\n case 'lower-roman':\n return 6 /* LOWER_ROMAN */;\n case 'upper-roman':\n return 7 /* UPPER_ROMAN */;\n case 'lower-greek':\n return 8 /* LOWER_GREEK */;\n case 'lower-alpha':\n return 9 /* LOWER_ALPHA */;\n case 'upper-alpha':\n return 10 /* UPPER_ALPHA */;\n case 'arabic-indic':\n return 11 /* ARABIC_INDIC */;\n case 'armenian':\n return 12 /* ARMENIAN */;\n case 'bengali':\n return 13 /* BENGALI */;\n case 'cambodian':\n return 14 /* CAMBODIAN */;\n case 'cjk-earthly-branch':\n return 15 /* CJK_EARTHLY_BRANCH */;\n case 'cjk-heavenly-stem':\n return 16 /* CJK_HEAVENLY_STEM */;\n case 'cjk-ideographic':\n return 17 /* CJK_IDEOGRAPHIC */;\n case 'devanagari':\n return 18 /* DEVANAGARI */;\n case 'ethiopic-numeric':\n return 19 /* ETHIOPIC_NUMERIC */;\n case 'georgian':\n return 20 /* GEORGIAN */;\n case 'gujarati':\n return 21 /* GUJARATI */;\n case 'gurmukhi':\n return 22 /* GURMUKHI */;\n case 'hebrew':\n return 22 /* HEBREW */;\n case 'hiragana':\n return 23 /* HIRAGANA */;\n case 'hiragana-iroha':\n return 24 /* HIRAGANA_IROHA */;\n case 'japanese-formal':\n return 25 /* JAPANESE_FORMAL */;\n case 'japanese-informal':\n return 26 /* JAPANESE_INFORMAL */;\n case 'kannada':\n return 27 /* KANNADA */;\n case 'katakana':\n return 28 /* KATAKANA */;\n case 'katakana-iroha':\n return 29 /* KATAKANA_IROHA */;\n case 'khmer':\n return 30 /* KHMER */;\n case 'korean-hangul-formal':\n return 31 /* KOREAN_HANGUL_FORMAL */;\n case 'korean-hanja-formal':\n return 32 /* KOREAN_HANJA_FORMAL */;\n case 'korean-hanja-informal':\n return 33 /* KOREAN_HANJA_INFORMAL */;\n case 'lao':\n return 34 /* LAO */;\n case 'lower-armenian':\n return 35 /* LOWER_ARMENIAN */;\n case 'malayalam':\n return 36 /* MALAYALAM */;\n case 'mongolian':\n return 37 /* MONGOLIAN */;\n case 'myanmar':\n return 38 /* MYANMAR */;\n case 'oriya':\n return 39 /* ORIYA */;\n case 'persian':\n return 40 /* PERSIAN */;\n case 'simp-chinese-formal':\n return 41 /* SIMP_CHINESE_FORMAL */;\n case 'simp-chinese-informal':\n return 42 /* SIMP_CHINESE_INFORMAL */;\n case 'tamil':\n return 43 /* TAMIL */;\n case 'telugu':\n return 44 /* TELUGU */;\n case 'thai':\n return 45 /* THAI */;\n case 'tibetan':\n return 46 /* TIBETAN */;\n case 'trad-chinese-formal':\n return 47 /* TRAD_CHINESE_FORMAL */;\n case 'trad-chinese-informal':\n return 48 /* TRAD_CHINESE_INFORMAL */;\n case 'upper-armenian':\n return 49 /* UPPER_ARMENIAN */;\n case 'disclosure-open':\n return 50 /* DISCLOSURE_OPEN */;\n case 'disclosure-closed':\n return 51 /* DISCLOSURE_CLOSED */;\n case 'none':\n default:\n return -1 /* NONE */;\n }\n }\n };\n\n var marginForSide = function (side) { return ({\n name: \"margin-\" + side,\n initialValue: '0',\n prefix: false,\n type: 4 /* TOKEN_VALUE */\n }); };\n var marginTop = marginForSide('top');\n var marginRight = marginForSide('right');\n var marginBottom = marginForSide('bottom');\n var marginLeft = marginForSide('left');\n\n var overflow = {\n name: 'overflow',\n initialValue: 'visible',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.filter(isIdentToken).map(function (overflow) {\n switch (overflow.value) {\n case 'hidden':\n return 1 /* HIDDEN */;\n case 'scroll':\n return 2 /* SCROLL */;\n case 'clip':\n return 3 /* CLIP */;\n case 'auto':\n return 4 /* AUTO */;\n case 'visible':\n default:\n return 0 /* VISIBLE */;\n }\n });\n }\n };\n\n var overflowWrap = {\n name: 'overflow-wrap',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, overflow) {\n switch (overflow) {\n case 'break-word':\n return \"break-word\" /* BREAK_WORD */;\n case 'normal':\n default:\n return \"normal\" /* NORMAL */;\n }\n }\n };\n\n var paddingForSide = function (side) { return ({\n name: \"padding-\" + side,\n initialValue: '0',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'length-percentage'\n }); };\n var paddingTop = paddingForSide('top');\n var paddingRight = paddingForSide('right');\n var paddingBottom = paddingForSide('bottom');\n var paddingLeft = paddingForSide('left');\n\n var textAlign = {\n name: 'text-align',\n initialValue: 'left',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, textAlign) {\n switch (textAlign) {\n case 'right':\n return 2 /* RIGHT */;\n case 'center':\n case 'justify':\n return 1 /* CENTER */;\n case 'left':\n default:\n return 0 /* LEFT */;\n }\n }\n };\n\n var position = {\n name: 'position',\n initialValue: 'static',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, position) {\n switch (position) {\n case 'relative':\n return 1 /* RELATIVE */;\n case 'absolute':\n return 2 /* ABSOLUTE */;\n case 'fixed':\n return 3 /* FIXED */;\n case 'sticky':\n return 4 /* STICKY */;\n }\n return 0 /* STATIC */;\n }\n };\n\n var textShadow = {\n name: 'text-shadow',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (context, tokens) {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n return parseFunctionArgs(tokens).map(function (values) {\n var shadow = {\n color: COLORS.TRANSPARENT,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH\n };\n var c = 0;\n for (var i = 0; i < values.length; i++) {\n var token = values[i];\n if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n }\n else if (c === 1) {\n shadow.offsetY = token;\n }\n else {\n shadow.blur = token;\n }\n c++;\n }\n else {\n shadow.color = color$1.parse(context, token);\n }\n }\n return shadow;\n });\n }\n };\n\n var textTransform = {\n name: 'text-transform',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, textTransform) {\n switch (textTransform) {\n case 'uppercase':\n return 2 /* UPPERCASE */;\n case 'lowercase':\n return 1 /* LOWERCASE */;\n case 'capitalize':\n return 3 /* CAPITALIZE */;\n }\n return 0 /* NONE */;\n }\n };\n\n var transform$1 = {\n name: 'transform',\n initialValue: 'none',\n prefix: true,\n type: 0 /* VALUE */,\n parse: function (_context, token) {\n if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'none') {\n return null;\n }\n if (token.type === 18 /* FUNCTION */) {\n var transformFunction = SUPPORTED_TRANSFORM_FUNCTIONS[token.name];\n if (typeof transformFunction === 'undefined') {\n throw new Error(\"Attempting to parse an unsupported transform function \\\"\" + token.name + \"\\\"\");\n }\n return transformFunction(token.values);\n }\n return null;\n }\n };\n var matrix = function (args) {\n var values = args.filter(function (arg) { return arg.type === 17 /* NUMBER_TOKEN */; }).map(function (arg) { return arg.number; });\n return values.length === 6 ? values : null;\n };\n // doesn't support 3D transforms at the moment\n var matrix3d = function (args) {\n var values = args.filter(function (arg) { return arg.type === 17 /* NUMBER_TOKEN */; }).map(function (arg) { return arg.number; });\n var a1 = values[0], b1 = values[1]; values[2]; values[3]; var a2 = values[4], b2 = values[5]; values[6]; values[7]; values[8]; values[9]; values[10]; values[11]; var a4 = values[12], b4 = values[13]; values[14]; values[15];\n return values.length === 16 ? [a1, b1, a2, b2, a4, b4] : null;\n };\n var SUPPORTED_TRANSFORM_FUNCTIONS = {\n matrix: matrix,\n matrix3d: matrix3d\n };\n\n var DEFAULT_VALUE = {\n type: 16 /* PERCENTAGE_TOKEN */,\n number: 50,\n flags: FLAG_INTEGER\n };\n var DEFAULT = [DEFAULT_VALUE, DEFAULT_VALUE];\n var transformOrigin = {\n name: 'transform-origin',\n initialValue: '50% 50%',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n var origins = tokens.filter(isLengthPercentage);\n if (origins.length !== 2) {\n return DEFAULT;\n }\n return [origins[0], origins[1]];\n }\n };\n\n var visibility = {\n name: 'visible',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, visibility) {\n switch (visibility) {\n case 'hidden':\n return 1 /* HIDDEN */;\n case 'collapse':\n return 2 /* COLLAPSE */;\n case 'visible':\n default:\n return 0 /* VISIBLE */;\n }\n }\n };\n\n var WORD_BREAK;\n (function (WORD_BREAK) {\n WORD_BREAK[\"NORMAL\"] = \"normal\";\n WORD_BREAK[\"BREAK_ALL\"] = \"break-all\";\n WORD_BREAK[\"KEEP_ALL\"] = \"keep-all\";\n })(WORD_BREAK || (WORD_BREAK = {}));\n var wordBreak = {\n name: 'word-break',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, wordBreak) {\n switch (wordBreak) {\n case 'break-all':\n return WORD_BREAK.BREAK_ALL;\n case 'keep-all':\n return WORD_BREAK.KEEP_ALL;\n case 'normal':\n default:\n return WORD_BREAK.NORMAL;\n }\n }\n };\n\n var zIndex = {\n name: 'z-index',\n initialValue: 'auto',\n prefix: false,\n type: 0 /* VALUE */,\n parse: function (_context, token) {\n if (token.type === 20 /* IDENT_TOKEN */) {\n return { auto: true, order: 0 };\n }\n if (isNumberToken(token)) {\n return { auto: false, order: token.number };\n }\n throw new Error(\"Invalid z-index number parsed\");\n }\n };\n\n var time = {\n name: 'time',\n parse: function (_context, value) {\n if (value.type === 15 /* DIMENSION_TOKEN */) {\n switch (value.unit.toLowerCase()) {\n case 's':\n return 1000 * value.number;\n case 'ms':\n return value.number;\n }\n }\n throw new Error(\"Unsupported time type\");\n }\n };\n\n var opacity = {\n name: 'opacity',\n initialValue: '1',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isNumberToken(token)) {\n return token.number;\n }\n return 1;\n }\n };\n\n var textDecorationColor = {\n name: \"text-decoration-color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n };\n\n var textDecorationLine = {\n name: 'text-decoration-line',\n initialValue: 'none',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens\n .filter(isIdentToken)\n .map(function (token) {\n switch (token.value) {\n case 'underline':\n return 1 /* UNDERLINE */;\n case 'overline':\n return 2 /* OVERLINE */;\n case 'line-through':\n return 3 /* LINE_THROUGH */;\n case 'none':\n return 4 /* BLINK */;\n }\n return 0 /* NONE */;\n })\n .filter(function (line) { return line !== 0 /* NONE */; });\n }\n };\n\n var fontFamily = {\n name: \"font-family\",\n initialValue: '',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n var accumulator = [];\n var results = [];\n tokens.forEach(function (token) {\n switch (token.type) {\n case 20 /* IDENT_TOKEN */:\n case 0 /* STRING_TOKEN */:\n accumulator.push(token.value);\n break;\n case 17 /* NUMBER_TOKEN */:\n accumulator.push(token.number.toString());\n break;\n case 4 /* COMMA_TOKEN */:\n results.push(accumulator.join(' '));\n accumulator.length = 0;\n break;\n }\n });\n if (accumulator.length) {\n results.push(accumulator.join(' '));\n }\n return results.map(function (result) { return (result.indexOf(' ') === -1 ? result : \"'\" + result + \"'\"); });\n }\n };\n\n var fontSize = {\n name: \"font-size\",\n initialValue: '0',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'length'\n };\n\n var fontWeight = {\n name: 'font-weight',\n initialValue: 'normal',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isNumberToken(token)) {\n return token.number;\n }\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'bold':\n return 700;\n case 'normal':\n default:\n return 400;\n }\n }\n return 400;\n }\n };\n\n var fontVariant = {\n name: 'font-variant',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (_context, tokens) {\n return tokens.filter(isIdentToken).map(function (token) { return token.value; });\n }\n };\n\n var fontStyle = {\n name: 'font-style',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, overflow) {\n switch (overflow) {\n case 'oblique':\n return \"oblique\" /* OBLIQUE */;\n case 'italic':\n return \"italic\" /* ITALIC */;\n case 'normal':\n default:\n return \"normal\" /* NORMAL */;\n }\n }\n };\n\n var contains = function (bit, value) { return (bit & value) !== 0; };\n\n var content = {\n name: 'content',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return [];\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return [];\n }\n return tokens;\n }\n };\n\n var counterIncrement = {\n name: 'counter-increment',\n initialValue: 'none',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return null;\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return null;\n }\n var increments = [];\n var filtered = tokens.filter(nonWhiteSpace);\n for (var i = 0; i < filtered.length; i++) {\n var counter = filtered[i];\n var next = filtered[i + 1];\n if (counter.type === 20 /* IDENT_TOKEN */) {\n var increment = next && isNumberToken(next) ? next.number : 1;\n increments.push({ counter: counter.value, increment: increment });\n }\n }\n return increments;\n }\n };\n\n var counterReset = {\n name: 'counter-reset',\n initialValue: 'none',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return [];\n }\n var resets = [];\n var filtered = tokens.filter(nonWhiteSpace);\n for (var i = 0; i < filtered.length; i++) {\n var counter = filtered[i];\n var next = filtered[i + 1];\n if (isIdentToken(counter) && counter.value !== 'none') {\n var reset = next && isNumberToken(next) ? next.number : 0;\n resets.push({ counter: counter.value, reset: reset });\n }\n }\n return resets;\n }\n };\n\n var duration = {\n name: 'duration',\n initialValue: '0s',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (context, tokens) {\n return tokens.filter(isDimensionToken).map(function (token) { return time.parse(context, token); });\n }\n };\n\n var quotes = {\n name: 'quotes',\n initialValue: 'none',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return null;\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return null;\n }\n var quotes = [];\n var filtered = tokens.filter(isStringToken);\n if (filtered.length % 2 !== 0) {\n return null;\n }\n for (var i = 0; i < filtered.length; i += 2) {\n var open_1 = filtered[i].value;\n var close_1 = filtered[i + 1].value;\n quotes.push({ open: open_1, close: close_1 });\n }\n return quotes;\n }\n };\n var getQuote = function (quotes, depth, open) {\n if (!quotes) {\n return '';\n }\n var quote = quotes[Math.min(depth, quotes.length - 1)];\n if (!quote) {\n return '';\n }\n return open ? quote.open : quote.close;\n };\n\n var boxShadow = {\n name: 'box-shadow',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (context, tokens) {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n return parseFunctionArgs(tokens).map(function (values) {\n var shadow = {\n color: 0x000000ff,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH,\n spread: ZERO_LENGTH,\n inset: false\n };\n var c = 0;\n for (var i = 0; i < values.length; i++) {\n var token = values[i];\n if (isIdentWithValue(token, 'inset')) {\n shadow.inset = true;\n }\n else if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n }\n else if (c === 1) {\n shadow.offsetY = token;\n }\n else if (c === 2) {\n shadow.blur = token;\n }\n else {\n shadow.spread = token;\n }\n c++;\n }\n else {\n shadow.color = color$1.parse(context, token);\n }\n }\n return shadow;\n });\n }\n };\n\n var paintOrder = {\n name: 'paint-order',\n initialValue: 'normal',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n var DEFAULT_VALUE = [0 /* FILL */, 1 /* STROKE */, 2 /* MARKERS */];\n var layers = [];\n tokens.filter(isIdentToken).forEach(function (token) {\n switch (token.value) {\n case 'stroke':\n layers.push(1 /* STROKE */);\n break;\n case 'fill':\n layers.push(0 /* FILL */);\n break;\n case 'markers':\n layers.push(2 /* MARKERS */);\n break;\n }\n });\n DEFAULT_VALUE.forEach(function (value) {\n if (layers.indexOf(value) === -1) {\n layers.push(value);\n }\n });\n return layers;\n }\n };\n\n var webkitTextStrokeColor = {\n name: \"-webkit-text-stroke-color\",\n initialValue: 'currentcolor',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n };\n\n var webkitTextStrokeWidth = {\n name: \"-webkit-text-stroke-width\",\n initialValue: '0',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n };\n\n var CSSParsedDeclaration = /** @class */ (function () {\n function CSSParsedDeclaration(context, declaration) {\n var _a, _b;\n this.animationDuration = parse(context, duration, declaration.animationDuration);\n this.backgroundClip = parse(context, backgroundClip, declaration.backgroundClip);\n this.backgroundColor = parse(context, backgroundColor, declaration.backgroundColor);\n this.backgroundImage = parse(context, backgroundImage, declaration.backgroundImage);\n this.backgroundOrigin = parse(context, backgroundOrigin, declaration.backgroundOrigin);\n this.backgroundPosition = parse(context, backgroundPosition, declaration.backgroundPosition);\n this.backgroundRepeat = parse(context, backgroundRepeat, declaration.backgroundRepeat);\n this.backgroundSize = parse(context, backgroundSize, declaration.backgroundSize);\n this.borderTopColor = parse(context, borderTopColor, declaration.borderTopColor);\n this.borderRightColor = parse(context, borderRightColor, declaration.borderRightColor);\n this.borderBottomColor = parse(context, borderBottomColor, declaration.borderBottomColor);\n this.borderLeftColor = parse(context, borderLeftColor, declaration.borderLeftColor);\n this.borderTopLeftRadius = parse(context, borderTopLeftRadius, declaration.borderTopLeftRadius);\n this.borderTopRightRadius = parse(context, borderTopRightRadius, declaration.borderTopRightRadius);\n this.borderBottomRightRadius = parse(context, borderBottomRightRadius, declaration.borderBottomRightRadius);\n this.borderBottomLeftRadius = parse(context, borderBottomLeftRadius, declaration.borderBottomLeftRadius);\n this.borderTopStyle = parse(context, borderTopStyle, declaration.borderTopStyle);\n this.borderRightStyle = parse(context, borderRightStyle, declaration.borderRightStyle);\n this.borderBottomStyle = parse(context, borderBottomStyle, declaration.borderBottomStyle);\n this.borderLeftStyle = parse(context, borderLeftStyle, declaration.borderLeftStyle);\n this.borderTopWidth = parse(context, borderTopWidth, declaration.borderTopWidth);\n this.borderRightWidth = parse(context, borderRightWidth, declaration.borderRightWidth);\n this.borderBottomWidth = parse(context, borderBottomWidth, declaration.borderBottomWidth);\n this.borderLeftWidth = parse(context, borderLeftWidth, declaration.borderLeftWidth);\n this.boxShadow = parse(context, boxShadow, declaration.boxShadow);\n this.color = parse(context, color, declaration.color);\n this.direction = parse(context, direction, declaration.direction);\n this.display = parse(context, display, declaration.display);\n this.float = parse(context, float, declaration.cssFloat);\n this.fontFamily = parse(context, fontFamily, declaration.fontFamily);\n this.fontSize = parse(context, fontSize, declaration.fontSize);\n this.fontStyle = parse(context, fontStyle, declaration.fontStyle);\n this.fontVariant = parse(context, fontVariant, declaration.fontVariant);\n this.fontWeight = parse(context, fontWeight, declaration.fontWeight);\n this.letterSpacing = parse(context, letterSpacing, declaration.letterSpacing);\n this.lineBreak = parse(context, lineBreak, declaration.lineBreak);\n this.lineHeight = parse(context, lineHeight, declaration.lineHeight);\n this.listStyleImage = parse(context, listStyleImage, declaration.listStyleImage);\n this.listStylePosition = parse(context, listStylePosition, declaration.listStylePosition);\n this.listStyleType = parse(context, listStyleType, declaration.listStyleType);\n this.marginTop = parse(context, marginTop, declaration.marginTop);\n this.marginRight = parse(context, marginRight, declaration.marginRight);\n this.marginBottom = parse(context, marginBottom, declaration.marginBottom);\n this.marginLeft = parse(context, marginLeft, declaration.marginLeft);\n this.opacity = parse(context, opacity, declaration.opacity);\n var overflowTuple = parse(context, overflow, declaration.overflow);\n this.overflowX = overflowTuple[0];\n this.overflowY = overflowTuple[overflowTuple.length > 1 ? 1 : 0];\n this.overflowWrap = parse(context, overflowWrap, declaration.overflowWrap);\n this.paddingTop = parse(context, paddingTop, declaration.paddingTop);\n this.paddingRight = parse(context, paddingRight, declaration.paddingRight);\n this.paddingBottom = parse(context, paddingBottom, declaration.paddingBottom);\n this.paddingLeft = parse(context, paddingLeft, declaration.paddingLeft);\n this.paintOrder = parse(context, paintOrder, declaration.paintOrder);\n this.position = parse(context, position, declaration.position);\n this.textAlign = parse(context, textAlign, declaration.textAlign);\n this.textDecorationColor = parse(context, textDecorationColor, (_a = declaration.textDecorationColor) !== null && _a !== void 0 ? _a : declaration.color);\n this.textDecorationLine = parse(context, textDecorationLine, (_b = declaration.textDecorationLine) !== null && _b !== void 0 ? _b : declaration.textDecoration);\n this.textShadow = parse(context, textShadow, declaration.textShadow);\n this.textTransform = parse(context, textTransform, declaration.textTransform);\n this.transform = parse(context, transform$1, declaration.transform);\n this.transformOrigin = parse(context, transformOrigin, declaration.transformOrigin);\n this.visibility = parse(context, visibility, declaration.visibility);\n this.webkitTextStrokeColor = parse(context, webkitTextStrokeColor, declaration.webkitTextStrokeColor);\n this.webkitTextStrokeWidth = parse(context, webkitTextStrokeWidth, declaration.webkitTextStrokeWidth);\n this.wordBreak = parse(context, wordBreak, declaration.wordBreak);\n this.zIndex = parse(context, zIndex, declaration.zIndex);\n }\n CSSParsedDeclaration.prototype.isVisible = function () {\n return this.display > 0 && this.opacity > 0 && this.visibility === 0 /* VISIBLE */;\n };\n CSSParsedDeclaration.prototype.isTransparent = function () {\n return isTransparent(this.backgroundColor);\n };\n CSSParsedDeclaration.prototype.isTransformed = function () {\n return this.transform !== null;\n };\n CSSParsedDeclaration.prototype.isPositioned = function () {\n return this.position !== 0 /* STATIC */;\n };\n CSSParsedDeclaration.prototype.isPositionedWithZIndex = function () {\n return this.isPositioned() && !this.zIndex.auto;\n };\n CSSParsedDeclaration.prototype.isFloating = function () {\n return this.float !== 0 /* NONE */;\n };\n CSSParsedDeclaration.prototype.isInlineLevel = function () {\n return (contains(this.display, 4 /* INLINE */) ||\n contains(this.display, 33554432 /* INLINE_BLOCK */) ||\n contains(this.display, 268435456 /* INLINE_FLEX */) ||\n contains(this.display, 536870912 /* INLINE_GRID */) ||\n contains(this.display, 67108864 /* INLINE_LIST_ITEM */) ||\n contains(this.display, 134217728 /* INLINE_TABLE */));\n };\n return CSSParsedDeclaration;\n }());\n var CSSParsedPseudoDeclaration = /** @class */ (function () {\n function CSSParsedPseudoDeclaration(context, declaration) {\n this.content = parse(context, content, declaration.content);\n this.quotes = parse(context, quotes, declaration.quotes);\n }\n return CSSParsedPseudoDeclaration;\n }());\n var CSSParsedCounterDeclaration = /** @class */ (function () {\n function CSSParsedCounterDeclaration(context, declaration) {\n this.counterIncrement = parse(context, counterIncrement, declaration.counterIncrement);\n this.counterReset = parse(context, counterReset, declaration.counterReset);\n }\n return CSSParsedCounterDeclaration;\n }());\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var parse = function (context, descriptor, style) {\n var tokenizer = new Tokenizer();\n var value = style !== null && typeof style !== 'undefined' ? style.toString() : descriptor.initialValue;\n tokenizer.write(value);\n var parser = new Parser(tokenizer.read());\n switch (descriptor.type) {\n case 2 /* IDENT_VALUE */:\n var token = parser.parseComponentValue();\n return descriptor.parse(context, isIdentToken(token) ? token.value : descriptor.initialValue);\n case 0 /* VALUE */:\n return descriptor.parse(context, parser.parseComponentValue());\n case 1 /* LIST */:\n return descriptor.parse(context, parser.parseComponentValues());\n case 4 /* TOKEN_VALUE */:\n return parser.parseComponentValue();\n case 3 /* TYPE_VALUE */:\n switch (descriptor.format) {\n case 'angle':\n return angle.parse(context, parser.parseComponentValue());\n case 'color':\n return color$1.parse(context, parser.parseComponentValue());\n case 'image':\n return image.parse(context, parser.parseComponentValue());\n case 'length':\n var length_1 = parser.parseComponentValue();\n return isLength(length_1) ? length_1 : ZERO_LENGTH;\n case 'length-percentage':\n var value_1 = parser.parseComponentValue();\n return isLengthPercentage(value_1) ? value_1 : ZERO_LENGTH;\n case 'time':\n return time.parse(context, parser.parseComponentValue());\n }\n break;\n }\n };\n\n var elementDebuggerAttribute = 'data-html2canvas-debug';\n var getElementDebugType = function (element) {\n var attribute = element.getAttribute(elementDebuggerAttribute);\n switch (attribute) {\n case 'all':\n return 1 /* ALL */;\n case 'clone':\n return 2 /* CLONE */;\n case 'parse':\n return 3 /* PARSE */;\n case 'render':\n return 4 /* RENDER */;\n default:\n return 0 /* NONE */;\n }\n };\n var isDebugging = function (element, type) {\n var elementType = getElementDebugType(element);\n return elementType === 1 /* ALL */ || type === elementType;\n };\n\n var ElementContainer = /** @class */ (function () {\n function ElementContainer(context, element) {\n this.context = context;\n this.textNodes = [];\n this.elements = [];\n this.flags = 0;\n if (isDebugging(element, 3 /* PARSE */)) {\n debugger;\n }\n this.styles = new CSSParsedDeclaration(context, window.getComputedStyle(element, null));\n if (isHTMLElementNode(element)) {\n if (this.styles.animationDuration.some(function (duration) { return duration > 0; })) {\n element.style.animationDuration = '0s';\n }\n if (this.styles.transform !== null) {\n // getBoundingClientRect takes transforms into account\n element.style.transform = 'none';\n }\n }\n this.bounds = parseBounds(this.context, element);\n if (isDebugging(element, 4 /* RENDER */)) {\n this.flags |= 16 /* DEBUG_RENDER */;\n }\n }\n return ElementContainer;\n }());\n\n /*\n * text-segmentation 1.0.3 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\n var base64 = 'AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=';\n\n /*\n * utrie 1.0.2 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\n var chars$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n // Use a lookup table to find the index.\n var lookup$1 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\n for (var i$1 = 0; i$1 < chars$1.length; i$1++) {\n lookup$1[chars$1.charCodeAt(i$1)] = i$1;\n }\n var decode = function (base64) {\n var bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n var buffer = typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n var bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup$1[base64.charCodeAt(i)];\n encoded2 = lookup$1[base64.charCodeAt(i + 1)];\n encoded3 = lookup$1[base64.charCodeAt(i + 2)];\n encoded4 = lookup$1[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return buffer;\n };\n var polyUint16Array = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n };\n var polyUint32Array = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n };\n\n /** Shift size for getting the index-2 table offset. */\n var UTRIE2_SHIFT_2 = 5;\n /** Shift size for getting the index-1 table offset. */\n var UTRIE2_SHIFT_1 = 6 + 5;\n /**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\n var UTRIE2_INDEX_SHIFT = 2;\n /**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\n var UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n /**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\n var UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n /** Number of entries in a data block. 32=0x20 */\n var UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n /** Mask for getting the lower bits for the in-data-block offset. */\n var UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\n var UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n /** Count the lengths of both BMP pieces. 2080=0x820 */\n var UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n /**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\n var UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\n var UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n /**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\n var UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n /**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\n var UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n /** Number of entries in an index-2 block. 64=0x40 */\n var UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n /** Mask for getting the lower bits for the in-index-2-block offset. */\n var UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\n var slice16 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n };\n var slice32 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n };\n var createTrieFromBase64 = function (base64, _byteLength) {\n var buffer = decode(base64);\n var view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n var view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n var headerLength = 24;\n var index = slice16(view16, headerLength / 2, view32[4] / 2);\n var data = view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n };\n var Trie = /** @class */ (function () {\n function Trie(initialValue, errorValue, highStart, highValueIndex, index, data) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n Trie.prototype.get = function (codePoint) {\n var ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n };\n return Trie;\n }());\n\n /*\n * base64-arraybuffer 1.0.2 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\n var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n // Use a lookup table to find the index.\n var lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\n for (var i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n }\n\n var Prepend = 1;\n var CR = 2;\n var LF = 3;\n var Control = 4;\n var Extend = 5;\n var SpacingMark = 7;\n var L = 8;\n var V = 9;\n var T = 10;\n var LV = 11;\n var LVT = 12;\n var ZWJ = 13;\n var Extended_Pictographic = 14;\n var RI = 15;\n var toCodePoints = function (str) {\n var codePoints = [];\n var i = 0;\n var length = str.length;\n while (i < length) {\n var value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n var extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n }\n else {\n codePoints.push(value);\n i--;\n }\n }\n else {\n codePoints.push(value);\n }\n }\n return codePoints;\n };\n var fromCodePoint = function () {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n if (String.fromCodePoint) {\n return String.fromCodePoint.apply(String, codePoints);\n }\n var length = codePoints.length;\n if (!length) {\n return '';\n }\n var codeUnits = [];\n var index = -1;\n var result = '';\n while (++index < length) {\n var codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n }\n else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode.apply(String, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n };\n var UnicodeTrie = createTrieFromBase64(base64);\n var BREAK_NOT_ALLOWED = '×';\n var BREAK_ALLOWED = '÷';\n var codePointToClass = function (codePoint) { return UnicodeTrie.get(codePoint); };\n var _graphemeBreakAtIndex = function (_codePoints, classTypes, index) {\n var prevIndex = index - 2;\n var prev = classTypes[prevIndex];\n var current = classTypes[index - 1];\n var next = classTypes[index];\n // GB3 Do not break between a CR and LF\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n // GB4 Otherwise, break before and after controls.\n if (current === CR || current === LF || current === Control) {\n return BREAK_ALLOWED;\n }\n // GB5\n if (next === CR || next === LF || next === Control) {\n return BREAK_ALLOWED;\n }\n // Do not break Hangul syllable sequences.\n // GB6\n if (current === L && [L, V, LV, LVT].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n // GB7\n if ((current === LV || current === V) && (next === V || next === T)) {\n return BREAK_NOT_ALLOWED;\n }\n // GB8\n if ((current === LVT || current === T) && next === T) {\n return BREAK_NOT_ALLOWED;\n }\n // GB9 Do not break before extending characters or ZWJ.\n if (next === ZWJ || next === Extend) {\n return BREAK_NOT_ALLOWED;\n }\n // Do not break before SpacingMarks, or after Prepend characters.\n // GB9a\n if (next === SpacingMark) {\n return BREAK_NOT_ALLOWED;\n }\n // GB9a\n if (current === Prepend) {\n return BREAK_NOT_ALLOWED;\n }\n // GB11 Do not break within emoji modifier sequences or emoji zwj sequences.\n if (current === ZWJ && next === Extended_Pictographic) {\n while (prev === Extend) {\n prev = classTypes[--prevIndex];\n }\n if (prev === Extended_Pictographic) {\n return BREAK_NOT_ALLOWED;\n }\n }\n // GB12 Do not break within emoji flag sequences.\n // That is, do not break between regional indicator (RI) symbols\n // if there is an odd number of RI characters before the break point.\n if (current === RI && next === RI) {\n var countRI = 0;\n while (prev === RI) {\n countRI++;\n prev = classTypes[--prevIndex];\n }\n if (countRI % 2 === 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n return BREAK_ALLOWED;\n };\n var GraphemeBreaker = function (str) {\n var codePoints = toCodePoints(str);\n var length = codePoints.length;\n var index = 0;\n var lastEnd = 0;\n var classTypes = codePoints.map(codePointToClass);\n return {\n next: function () {\n if (index >= length) {\n return { done: true, value: null };\n }\n var graphemeBreak = BREAK_NOT_ALLOWED;\n while (index < length &&\n (graphemeBreak = _graphemeBreakAtIndex(codePoints, classTypes, ++index)) === BREAK_NOT_ALLOWED) { }\n if (graphemeBreak !== BREAK_NOT_ALLOWED || index === length) {\n var value = fromCodePoint.apply(null, codePoints.slice(lastEnd, index));\n lastEnd = index;\n return { value: value, done: false };\n }\n return { done: true, value: null };\n },\n };\n };\n var splitGraphemes = function (str) {\n var breaker = GraphemeBreaker(str);\n var graphemes = [];\n var bk;\n while (!(bk = breaker.next()).done) {\n if (bk.value) {\n graphemes.push(bk.value.slice());\n }\n }\n return graphemes;\n };\n\n var testRangeBounds = function (document) {\n var TEST_HEIGHT = 123;\n if (document.createRange) {\n var range = document.createRange();\n if (range.getBoundingClientRect) {\n var testElement = document.createElement('boundtest');\n testElement.style.height = TEST_HEIGHT + \"px\";\n testElement.style.display = 'block';\n document.body.appendChild(testElement);\n range.selectNode(testElement);\n var rangeBounds = range.getBoundingClientRect();\n var rangeHeight = Math.round(rangeBounds.height);\n document.body.removeChild(testElement);\n if (rangeHeight === TEST_HEIGHT) {\n return true;\n }\n }\n }\n return false;\n };\n var testIOSLineBreak = function (document) {\n var testElement = document.createElement('boundtest');\n testElement.style.width = '50px';\n testElement.style.display = 'block';\n testElement.style.fontSize = '12px';\n testElement.style.letterSpacing = '0px';\n testElement.style.wordSpacing = '0px';\n document.body.appendChild(testElement);\n var range = document.createRange();\n testElement.innerHTML = typeof ''.repeat === 'function' ? '👨'.repeat(10) : '';\n var node = testElement.firstChild;\n var textList = toCodePoints$1(node.data).map(function (i) { return fromCodePoint$1(i); });\n var offset = 0;\n var prev = {};\n // ios 13 does not handle range getBoundingClientRect line changes correctly #2177\n var supports = textList.every(function (text, i) {\n range.setStart(node, offset);\n range.setEnd(node, offset + text.length);\n var rect = range.getBoundingClientRect();\n offset += text.length;\n var boundAhead = rect.x > prev.x || rect.y > prev.y;\n prev = rect;\n if (i === 0) {\n return true;\n }\n return boundAhead;\n });\n document.body.removeChild(testElement);\n return supports;\n };\n var testCORS = function () { return typeof new Image().crossOrigin !== 'undefined'; };\n var testResponseType = function () { return typeof new XMLHttpRequest().responseType === 'string'; };\n var testSVG = function (document) {\n var img = new Image();\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n return false;\n }\n img.src = \"data:image/svg+xml,\";\n try {\n ctx.drawImage(img, 0, 0);\n canvas.toDataURL();\n }\n catch (e) {\n return false;\n }\n return true;\n };\n var isGreenPixel = function (data) {\n return data[0] === 0 && data[1] === 255 && data[2] === 0 && data[3] === 255;\n };\n var testForeignObject = function (document) {\n var canvas = document.createElement('canvas');\n var size = 100;\n canvas.width = size;\n canvas.height = size;\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n return Promise.reject(false);\n }\n ctx.fillStyle = 'rgb(0, 255, 0)';\n ctx.fillRect(0, 0, size, size);\n var img = new Image();\n var greenImageSrc = canvas.toDataURL();\n img.src = greenImageSrc;\n var svg = createForeignObjectSVG(size, size, 0, 0, img);\n ctx.fillStyle = 'red';\n ctx.fillRect(0, 0, size, size);\n return loadSerializedSVG$1(svg)\n .then(function (img) {\n ctx.drawImage(img, 0, 0);\n var data = ctx.getImageData(0, 0, size, size).data;\n ctx.fillStyle = 'red';\n ctx.fillRect(0, 0, size, size);\n var node = document.createElement('div');\n node.style.backgroundImage = \"url(\" + greenImageSrc + \")\";\n node.style.height = size + \"px\";\n // Firefox 55 does not render inline tags\n return isGreenPixel(data)\n ? loadSerializedSVG$1(createForeignObjectSVG(size, size, 0, 0, node))\n : Promise.reject(false);\n })\n .then(function (img) {\n ctx.drawImage(img, 0, 0);\n // Edge does not render background-images\n return isGreenPixel(ctx.getImageData(0, 0, size, size).data);\n })\n .catch(function () { return false; });\n };\n var createForeignObjectSVG = function (width, height, x, y, node) {\n var xmlns = 'http://www.w3.org/2000/svg';\n var svg = document.createElementNS(xmlns, 'svg');\n var foreignObject = document.createElementNS(xmlns, 'foreignObject');\n svg.setAttributeNS(null, 'width', width.toString());\n svg.setAttributeNS(null, 'height', height.toString());\n foreignObject.setAttributeNS(null, 'width', '100%');\n foreignObject.setAttributeNS(null, 'height', '100%');\n foreignObject.setAttributeNS(null, 'x', x.toString());\n foreignObject.setAttributeNS(null, 'y', y.toString());\n foreignObject.setAttributeNS(null, 'externalResourcesRequired', 'true');\n svg.appendChild(foreignObject);\n foreignObject.appendChild(node);\n return svg;\n };\n var loadSerializedSVG$1 = function (svg) {\n return new Promise(function (resolve, reject) {\n var img = new Image();\n img.onload = function () { return resolve(img); };\n img.onerror = reject;\n img.src = \"data:image/svg+xml;charset=utf-8,\" + encodeURIComponent(new XMLSerializer().serializeToString(svg));\n });\n };\n var FEATURES = {\n get SUPPORT_RANGE_BOUNDS() {\n var value = testRangeBounds(document);\n Object.defineProperty(FEATURES, 'SUPPORT_RANGE_BOUNDS', { value: value });\n return value;\n },\n get SUPPORT_WORD_BREAKING() {\n var value = FEATURES.SUPPORT_RANGE_BOUNDS && testIOSLineBreak(document);\n Object.defineProperty(FEATURES, 'SUPPORT_WORD_BREAKING', { value: value });\n return value;\n },\n get SUPPORT_SVG_DRAWING() {\n var value = testSVG(document);\n Object.defineProperty(FEATURES, 'SUPPORT_SVG_DRAWING', { value: value });\n return value;\n },\n get SUPPORT_FOREIGNOBJECT_DRAWING() {\n var value = typeof Array.from === 'function' && typeof window.fetch === 'function'\n ? testForeignObject(document)\n : Promise.resolve(false);\n Object.defineProperty(FEATURES, 'SUPPORT_FOREIGNOBJECT_DRAWING', { value: value });\n return value;\n },\n get SUPPORT_CORS_IMAGES() {\n var value = testCORS();\n Object.defineProperty(FEATURES, 'SUPPORT_CORS_IMAGES', { value: value });\n return value;\n },\n get SUPPORT_RESPONSE_TYPE() {\n var value = testResponseType();\n Object.defineProperty(FEATURES, 'SUPPORT_RESPONSE_TYPE', { value: value });\n return value;\n },\n get SUPPORT_CORS_XHR() {\n var value = 'withCredentials' in new XMLHttpRequest();\n Object.defineProperty(FEATURES, 'SUPPORT_CORS_XHR', { value: value });\n return value;\n },\n get SUPPORT_NATIVE_TEXT_SEGMENTATION() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var value = !!(typeof Intl !== 'undefined' && Intl.Segmenter);\n Object.defineProperty(FEATURES, 'SUPPORT_NATIVE_TEXT_SEGMENTATION', { value: value });\n return value;\n }\n };\n\n var TextBounds = /** @class */ (function () {\n function TextBounds(text, bounds) {\n this.text = text;\n this.bounds = bounds;\n }\n return TextBounds;\n }());\n var parseTextBounds = function (context, value, styles, node) {\n var textList = breakText(value, styles);\n var textBounds = [];\n var offset = 0;\n textList.forEach(function (text) {\n if (styles.textDecorationLine.length || text.trim().length > 0) {\n if (FEATURES.SUPPORT_RANGE_BOUNDS) {\n var clientRects = createRange(node, offset, text.length).getClientRects();\n if (clientRects.length > 1) {\n var subSegments = segmentGraphemes(text);\n var subOffset_1 = 0;\n subSegments.forEach(function (subSegment) {\n textBounds.push(new TextBounds(subSegment, Bounds.fromDOMRectList(context, createRange(node, subOffset_1 + offset, subSegment.length).getClientRects())));\n subOffset_1 += subSegment.length;\n });\n }\n else {\n textBounds.push(new TextBounds(text, Bounds.fromDOMRectList(context, clientRects)));\n }\n }\n else {\n var replacementNode = node.splitText(text.length);\n textBounds.push(new TextBounds(text, getWrapperBounds(context, node)));\n node = replacementNode;\n }\n }\n else if (!FEATURES.SUPPORT_RANGE_BOUNDS) {\n node = node.splitText(text.length);\n }\n offset += text.length;\n });\n return textBounds;\n };\n var getWrapperBounds = function (context, node) {\n var ownerDocument = node.ownerDocument;\n if (ownerDocument) {\n var wrapper = ownerDocument.createElement('html2canvaswrapper');\n wrapper.appendChild(node.cloneNode(true));\n var parentNode = node.parentNode;\n if (parentNode) {\n parentNode.replaceChild(wrapper, node);\n var bounds = parseBounds(context, wrapper);\n if (wrapper.firstChild) {\n parentNode.replaceChild(wrapper.firstChild, wrapper);\n }\n return bounds;\n }\n }\n return Bounds.EMPTY;\n };\n var createRange = function (node, offset, length) {\n var ownerDocument = node.ownerDocument;\n if (!ownerDocument) {\n throw new Error('Node has no owner document');\n }\n var range = ownerDocument.createRange();\n range.setStart(node, offset);\n range.setEnd(node, offset + length);\n return range;\n };\n var segmentGraphemes = function (value) {\n if (FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var segmenter = new Intl.Segmenter(void 0, { granularity: 'grapheme' });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return Array.from(segmenter.segment(value)).map(function (segment) { return segment.segment; });\n }\n return splitGraphemes(value);\n };\n var segmentWords = function (value, styles) {\n if (FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var segmenter = new Intl.Segmenter(void 0, {\n granularity: 'word'\n });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return Array.from(segmenter.segment(value)).map(function (segment) { return segment.segment; });\n }\n return breakWords(value, styles);\n };\n var breakText = function (value, styles) {\n return styles.letterSpacing !== 0 ? segmentGraphemes(value) : segmentWords(value, styles);\n };\n // https://drafts.csswg.org/css-text/#word-separator\n var wordSeparators = [0x0020, 0x00a0, 0x1361, 0x10100, 0x10101, 0x1039, 0x1091];\n var breakWords = function (str, styles) {\n var breaker = LineBreaker(str, {\n lineBreak: styles.lineBreak,\n wordBreak: styles.overflowWrap === \"break-word\" /* BREAK_WORD */ ? 'break-word' : styles.wordBreak\n });\n var words = [];\n var bk;\n var _loop_1 = function () {\n if (bk.value) {\n var value = bk.value.slice();\n var codePoints = toCodePoints$1(value);\n var word_1 = '';\n codePoints.forEach(function (codePoint) {\n if (wordSeparators.indexOf(codePoint) === -1) {\n word_1 += fromCodePoint$1(codePoint);\n }\n else {\n if (word_1.length) {\n words.push(word_1);\n }\n words.push(fromCodePoint$1(codePoint));\n word_1 = '';\n }\n });\n if (word_1.length) {\n words.push(word_1);\n }\n }\n };\n while (!(bk = breaker.next()).done) {\n _loop_1();\n }\n return words;\n };\n\n var TextContainer = /** @class */ (function () {\n function TextContainer(context, node, styles) {\n this.text = transform(node.data, styles.textTransform);\n this.textBounds = parseTextBounds(context, this.text, styles, node);\n }\n return TextContainer;\n }());\n var transform = function (text, transform) {\n switch (transform) {\n case 1 /* LOWERCASE */:\n return text.toLowerCase();\n case 3 /* CAPITALIZE */:\n return text.replace(CAPITALIZE, capitalize);\n case 2 /* UPPERCASE */:\n return text.toUpperCase();\n default:\n return text;\n }\n };\n var CAPITALIZE = /(^|\\s|:|-|\\(|\\))([a-z])/g;\n var capitalize = function (m, p1, p2) {\n if (m.length > 0) {\n return p1 + p2.toUpperCase();\n }\n return m;\n };\n\n var ImageElementContainer = /** @class */ (function (_super) {\n __extends(ImageElementContainer, _super);\n function ImageElementContainer(context, img) {\n var _this = _super.call(this, context, img) || this;\n _this.src = img.currentSrc || img.src;\n _this.intrinsicWidth = img.naturalWidth;\n _this.intrinsicHeight = img.naturalHeight;\n _this.context.cache.addImage(_this.src);\n return _this;\n }\n return ImageElementContainer;\n }(ElementContainer));\n\n var CanvasElementContainer = /** @class */ (function (_super) {\n __extends(CanvasElementContainer, _super);\n function CanvasElementContainer(context, canvas) {\n var _this = _super.call(this, context, canvas) || this;\n _this.canvas = canvas;\n _this.intrinsicWidth = canvas.width;\n _this.intrinsicHeight = canvas.height;\n return _this;\n }\n return CanvasElementContainer;\n }(ElementContainer));\n\n var SVGElementContainer = /** @class */ (function (_super) {\n __extends(SVGElementContainer, _super);\n function SVGElementContainer(context, img) {\n var _this = _super.call(this, context, img) || this;\n var s = new XMLSerializer();\n var bounds = parseBounds(context, img);\n img.setAttribute('width', bounds.width + \"px\");\n img.setAttribute('height', bounds.height + \"px\");\n _this.svg = \"data:image/svg+xml,\" + encodeURIComponent(s.serializeToString(img));\n _this.intrinsicWidth = img.width.baseVal.value;\n _this.intrinsicHeight = img.height.baseVal.value;\n _this.context.cache.addImage(_this.svg);\n return _this;\n }\n return SVGElementContainer;\n }(ElementContainer));\n\n var LIElementContainer = /** @class */ (function (_super) {\n __extends(LIElementContainer, _super);\n function LIElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n _this.value = element.value;\n return _this;\n }\n return LIElementContainer;\n }(ElementContainer));\n\n var OLElementContainer = /** @class */ (function (_super) {\n __extends(OLElementContainer, _super);\n function OLElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n _this.start = element.start;\n _this.reversed = typeof element.reversed === 'boolean' && element.reversed === true;\n return _this;\n }\n return OLElementContainer;\n }(ElementContainer));\n\n var CHECKBOX_BORDER_RADIUS = [\n {\n type: 15 /* DIMENSION_TOKEN */,\n flags: 0,\n unit: 'px',\n number: 3\n }\n ];\n var RADIO_BORDER_RADIUS = [\n {\n type: 16 /* PERCENTAGE_TOKEN */,\n flags: 0,\n number: 50\n }\n ];\n var reformatInputBounds = function (bounds) {\n if (bounds.width > bounds.height) {\n return new Bounds(bounds.left + (bounds.width - bounds.height) / 2, bounds.top, bounds.height, bounds.height);\n }\n else if (bounds.width < bounds.height) {\n return new Bounds(bounds.left, bounds.top + (bounds.height - bounds.width) / 2, bounds.width, bounds.width);\n }\n return bounds;\n };\n var getInputValue = function (node) {\n var value = node.type === PASSWORD ? new Array(node.value.length + 1).join('\\u2022') : node.value;\n return value.length === 0 ? node.placeholder || '' : value;\n };\n var CHECKBOX = 'checkbox';\n var RADIO = 'radio';\n var PASSWORD = 'password';\n var INPUT_COLOR = 0x2a2a2aff;\n var InputElementContainer = /** @class */ (function (_super) {\n __extends(InputElementContainer, _super);\n function InputElementContainer(context, input) {\n var _this = _super.call(this, context, input) || this;\n _this.type = input.type.toLowerCase();\n _this.checked = input.checked;\n _this.value = getInputValue(input);\n if (_this.type === CHECKBOX || _this.type === RADIO) {\n _this.styles.backgroundColor = 0xdededeff;\n _this.styles.borderTopColor =\n _this.styles.borderRightColor =\n _this.styles.borderBottomColor =\n _this.styles.borderLeftColor =\n 0xa5a5a5ff;\n _this.styles.borderTopWidth =\n _this.styles.borderRightWidth =\n _this.styles.borderBottomWidth =\n _this.styles.borderLeftWidth =\n 1;\n _this.styles.borderTopStyle =\n _this.styles.borderRightStyle =\n _this.styles.borderBottomStyle =\n _this.styles.borderLeftStyle =\n 1 /* SOLID */;\n _this.styles.backgroundClip = [0 /* BORDER_BOX */];\n _this.styles.backgroundOrigin = [0 /* BORDER_BOX */];\n _this.bounds = reformatInputBounds(_this.bounds);\n }\n switch (_this.type) {\n case CHECKBOX:\n _this.styles.borderTopRightRadius =\n _this.styles.borderTopLeftRadius =\n _this.styles.borderBottomRightRadius =\n _this.styles.borderBottomLeftRadius =\n CHECKBOX_BORDER_RADIUS;\n break;\n case RADIO:\n _this.styles.borderTopRightRadius =\n _this.styles.borderTopLeftRadius =\n _this.styles.borderBottomRightRadius =\n _this.styles.borderBottomLeftRadius =\n RADIO_BORDER_RADIUS;\n break;\n }\n return _this;\n }\n return InputElementContainer;\n }(ElementContainer));\n\n var SelectElementContainer = /** @class */ (function (_super) {\n __extends(SelectElementContainer, _super);\n function SelectElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n var option = element.options[element.selectedIndex || 0];\n _this.value = option ? option.text || '' : '';\n return _this;\n }\n return SelectElementContainer;\n }(ElementContainer));\n\n var TextareaElementContainer = /** @class */ (function (_super) {\n __extends(TextareaElementContainer, _super);\n function TextareaElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n _this.value = element.value;\n return _this;\n }\n return TextareaElementContainer;\n }(ElementContainer));\n\n var IFrameElementContainer = /** @class */ (function (_super) {\n __extends(IFrameElementContainer, _super);\n function IFrameElementContainer(context, iframe) {\n var _this = _super.call(this, context, iframe) || this;\n _this.src = iframe.src;\n _this.width = parseInt(iframe.width, 10) || 0;\n _this.height = parseInt(iframe.height, 10) || 0;\n _this.backgroundColor = _this.styles.backgroundColor;\n try {\n if (iframe.contentWindow &&\n iframe.contentWindow.document &&\n iframe.contentWindow.document.documentElement) {\n _this.tree = parseTree(context, iframe.contentWindow.document.documentElement);\n // http://www.w3.org/TR/css3-background/#special-backgrounds\n var documentBackgroundColor = iframe.contentWindow.document.documentElement\n ? parseColor(context, getComputedStyle(iframe.contentWindow.document.documentElement).backgroundColor)\n : COLORS.TRANSPARENT;\n var bodyBackgroundColor = iframe.contentWindow.document.body\n ? parseColor(context, getComputedStyle(iframe.contentWindow.document.body).backgroundColor)\n : COLORS.TRANSPARENT;\n _this.backgroundColor = isTransparent(documentBackgroundColor)\n ? isTransparent(bodyBackgroundColor)\n ? _this.styles.backgroundColor\n : bodyBackgroundColor\n : documentBackgroundColor;\n }\n }\n catch (e) { }\n return _this;\n }\n return IFrameElementContainer;\n }(ElementContainer));\n\n var LIST_OWNERS = ['OL', 'UL', 'MENU'];\n var parseNodeTree = function (context, node, parent, root) {\n for (var childNode = node.firstChild, nextNode = void 0; childNode; childNode = nextNode) {\n nextNode = childNode.nextSibling;\n if (isTextNode(childNode) && childNode.data.trim().length > 0) {\n parent.textNodes.push(new TextContainer(context, childNode, parent.styles));\n }\n else if (isElementNode(childNode)) {\n if (isSlotElement(childNode) && childNode.assignedNodes) {\n childNode.assignedNodes().forEach(function (childNode) { return parseNodeTree(context, childNode, parent, root); });\n }\n else {\n var container = createContainer(context, childNode);\n if (container.styles.isVisible()) {\n if (createsRealStackingContext(childNode, container, root)) {\n container.flags |= 4 /* CREATES_REAL_STACKING_CONTEXT */;\n }\n else if (createsStackingContext(container.styles)) {\n container.flags |= 2 /* CREATES_STACKING_CONTEXT */;\n }\n if (LIST_OWNERS.indexOf(childNode.tagName) !== -1) {\n container.flags |= 8 /* IS_LIST_OWNER */;\n }\n parent.elements.push(container);\n childNode.slot;\n if (childNode.shadowRoot) {\n parseNodeTree(context, childNode.shadowRoot, container, root);\n }\n else if (!isTextareaElement(childNode) &&\n !isSVGElement(childNode) &&\n !isSelectElement(childNode)) {\n parseNodeTree(context, childNode, container, root);\n }\n }\n }\n }\n }\n };\n var createContainer = function (context, element) {\n if (isImageElement(element)) {\n return new ImageElementContainer(context, element);\n }\n if (isCanvasElement(element)) {\n return new CanvasElementContainer(context, element);\n }\n if (isSVGElement(element)) {\n return new SVGElementContainer(context, element);\n }\n if (isLIElement(element)) {\n return new LIElementContainer(context, element);\n }\n if (isOLElement(element)) {\n return new OLElementContainer(context, element);\n }\n if (isInputElement(element)) {\n return new InputElementContainer(context, element);\n }\n if (isSelectElement(element)) {\n return new SelectElementContainer(context, element);\n }\n if (isTextareaElement(element)) {\n return new TextareaElementContainer(context, element);\n }\n if (isIFrameElement(element)) {\n return new IFrameElementContainer(context, element);\n }\n return new ElementContainer(context, element);\n };\n var parseTree = function (context, element) {\n var container = createContainer(context, element);\n container.flags |= 4 /* CREATES_REAL_STACKING_CONTEXT */;\n parseNodeTree(context, element, container, container);\n return container;\n };\n var createsRealStackingContext = function (node, container, root) {\n return (container.styles.isPositionedWithZIndex() ||\n container.styles.opacity < 1 ||\n container.styles.isTransformed() ||\n (isBodyElement(node) && root.styles.isTransparent()));\n };\n var createsStackingContext = function (styles) { return styles.isPositioned() || styles.isFloating(); };\n var isTextNode = function (node) { return node.nodeType === Node.TEXT_NODE; };\n var isElementNode = function (node) { return node.nodeType === Node.ELEMENT_NODE; };\n var isHTMLElementNode = function (node) {\n return isElementNode(node) && typeof node.style !== 'undefined' && !isSVGElementNode(node);\n };\n var isSVGElementNode = function (element) {\n return typeof element.className === 'object';\n };\n var isLIElement = function (node) { return node.tagName === 'LI'; };\n var isOLElement = function (node) { return node.tagName === 'OL'; };\n var isInputElement = function (node) { return node.tagName === 'INPUT'; };\n var isHTMLElement = function (node) { return node.tagName === 'HTML'; };\n var isSVGElement = function (node) { return node.tagName === 'svg'; };\n var isBodyElement = function (node) { return node.tagName === 'BODY'; };\n var isCanvasElement = function (node) { return node.tagName === 'CANVAS'; };\n var isVideoElement = function (node) { return node.tagName === 'VIDEO'; };\n var isImageElement = function (node) { return node.tagName === 'IMG'; };\n var isIFrameElement = function (node) { return node.tagName === 'IFRAME'; };\n var isStyleElement = function (node) { return node.tagName === 'STYLE'; };\n var isScriptElement = function (node) { return node.tagName === 'SCRIPT'; };\n var isTextareaElement = function (node) { return node.tagName === 'TEXTAREA'; };\n var isSelectElement = function (node) { return node.tagName === 'SELECT'; };\n var isSlotElement = function (node) { return node.tagName === 'SLOT'; };\n // https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n var isCustomElement = function (node) { return node.tagName.indexOf('-') > 0; };\n\n var CounterState = /** @class */ (function () {\n function CounterState() {\n this.counters = {};\n }\n CounterState.prototype.getCounterValue = function (name) {\n var counter = this.counters[name];\n if (counter && counter.length) {\n return counter[counter.length - 1];\n }\n return 1;\n };\n CounterState.prototype.getCounterValues = function (name) {\n var counter = this.counters[name];\n return counter ? counter : [];\n };\n CounterState.prototype.pop = function (counters) {\n var _this = this;\n counters.forEach(function (counter) { return _this.counters[counter].pop(); });\n };\n CounterState.prototype.parse = function (style) {\n var _this = this;\n var counterIncrement = style.counterIncrement;\n var counterReset = style.counterReset;\n var canReset = true;\n if (counterIncrement !== null) {\n counterIncrement.forEach(function (entry) {\n var counter = _this.counters[entry.counter];\n if (counter && entry.increment !== 0) {\n canReset = false;\n if (!counter.length) {\n counter.push(1);\n }\n counter[Math.max(0, counter.length - 1)] += entry.increment;\n }\n });\n }\n var counterNames = [];\n if (canReset) {\n counterReset.forEach(function (entry) {\n var counter = _this.counters[entry.counter];\n counterNames.push(entry.counter);\n if (!counter) {\n counter = _this.counters[entry.counter] = [];\n }\n counter.push(entry.reset);\n });\n }\n return counterNames;\n };\n return CounterState;\n }());\n var ROMAN_UPPER = {\n integers: [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1],\n values: ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I']\n };\n var ARMENIAN = {\n integers: [\n 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90, 80, 70,\n 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n ],\n values: [\n 'Ք',\n 'Փ',\n 'Ւ',\n 'Ց',\n 'Ր',\n 'Տ',\n 'Վ',\n 'Ս',\n 'Ռ',\n 'Ջ',\n 'Պ',\n 'Չ',\n 'Ո',\n 'Շ',\n 'Ն',\n 'Յ',\n 'Մ',\n 'Ճ',\n 'Ղ',\n 'Ձ',\n 'Հ',\n 'Կ',\n 'Ծ',\n 'Խ',\n 'Լ',\n 'Ի',\n 'Ժ',\n 'Թ',\n 'Ը',\n 'Է',\n 'Զ',\n 'Ե',\n 'Դ',\n 'Գ',\n 'Բ',\n 'Ա'\n ]\n };\n var HEBREW = {\n integers: [\n 10000, 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20,\n 19, 18, 17, 16, 15, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n ],\n values: [\n 'י׳',\n 'ט׳',\n 'ח׳',\n 'ז׳',\n 'ו׳',\n 'ה׳',\n 'ד׳',\n 'ג׳',\n 'ב׳',\n 'א׳',\n 'ת',\n 'ש',\n 'ר',\n 'ק',\n 'צ',\n 'פ',\n 'ע',\n 'ס',\n 'נ',\n 'מ',\n 'ל',\n 'כ',\n 'יט',\n 'יח',\n 'יז',\n 'טז',\n 'טו',\n 'י',\n 'ט',\n 'ח',\n 'ז',\n 'ו',\n 'ה',\n 'ד',\n 'ג',\n 'ב',\n 'א'\n ]\n };\n var GEORGIAN = {\n integers: [\n 10000, 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90,\n 80, 70, 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n ],\n values: [\n 'ჵ',\n 'ჰ',\n 'ჯ',\n 'ჴ',\n 'ხ',\n 'ჭ',\n 'წ',\n 'ძ',\n 'ც',\n 'ჩ',\n 'შ',\n 'ყ',\n 'ღ',\n 'ქ',\n 'ფ',\n 'ჳ',\n 'ტ',\n 'ს',\n 'რ',\n 'ჟ',\n 'პ',\n 'ო',\n 'ჲ',\n 'ნ',\n 'მ',\n 'ლ',\n 'კ',\n 'ი',\n 'თ',\n 'ჱ',\n 'ზ',\n 'ვ',\n 'ე',\n 'დ',\n 'გ',\n 'ბ',\n 'ა'\n ]\n };\n var createAdditiveCounter = function (value, min, max, symbols, fallback, suffix) {\n if (value < min || value > max) {\n return createCounterText(value, fallback, suffix.length > 0);\n }\n return (symbols.integers.reduce(function (string, integer, index) {\n while (value >= integer) {\n value -= integer;\n string += symbols.values[index];\n }\n return string;\n }, '') + suffix);\n };\n var createCounterStyleWithSymbolResolver = function (value, codePointRangeLength, isNumeric, resolver) {\n var string = '';\n do {\n if (!isNumeric) {\n value--;\n }\n string = resolver(value) + string;\n value /= codePointRangeLength;\n } while (value * codePointRangeLength >= codePointRangeLength);\n return string;\n };\n var createCounterStyleFromRange = function (value, codePointRangeStart, codePointRangeEnd, isNumeric, suffix) {\n var codePointRangeLength = codePointRangeEnd - codePointRangeStart + 1;\n return ((value < 0 ? '-' : '') +\n (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, isNumeric, function (codePoint) {\n return fromCodePoint$1(Math.floor(codePoint % codePointRangeLength) + codePointRangeStart);\n }) +\n suffix));\n };\n var createCounterStyleFromSymbols = function (value, symbols, suffix) {\n if (suffix === void 0) { suffix = '. '; }\n var codePointRangeLength = symbols.length;\n return (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, false, function (codePoint) { return symbols[Math.floor(codePoint % codePointRangeLength)]; }) + suffix);\n };\n var CJK_ZEROS = 1 << 0;\n var CJK_TEN_COEFFICIENTS = 1 << 1;\n var CJK_TEN_HIGH_COEFFICIENTS = 1 << 2;\n var CJK_HUNDRED_COEFFICIENTS = 1 << 3;\n var createCJKCounter = function (value, numbers, multipliers, negativeSign, suffix, flags) {\n if (value < -9999 || value > 9999) {\n return createCounterText(value, 4 /* CJK_DECIMAL */, suffix.length > 0);\n }\n var tmp = Math.abs(value);\n var string = suffix;\n if (tmp === 0) {\n return numbers[0] + string;\n }\n for (var digit = 0; tmp > 0 && digit <= 4; digit++) {\n var coefficient = tmp % 10;\n if (coefficient === 0 && contains(flags, CJK_ZEROS) && string !== '') {\n string = numbers[coefficient] + string;\n }\n else if (coefficient > 1 ||\n (coefficient === 1 && digit === 0) ||\n (coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_COEFFICIENTS)) ||\n (coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_HIGH_COEFFICIENTS) && value > 100) ||\n (coefficient === 1 && digit > 1 && contains(flags, CJK_HUNDRED_COEFFICIENTS))) {\n string = numbers[coefficient] + (digit > 0 ? multipliers[digit - 1] : '') + string;\n }\n else if (coefficient === 1 && digit > 0) {\n string = multipliers[digit - 1] + string;\n }\n tmp = Math.floor(tmp / 10);\n }\n return (value < 0 ? negativeSign : '') + string;\n };\n var CHINESE_INFORMAL_MULTIPLIERS = '十百千萬';\n var CHINESE_FORMAL_MULTIPLIERS = '拾佰仟萬';\n var JAPANESE_NEGATIVE = 'マイナス';\n var KOREAN_NEGATIVE = '마이너스';\n var createCounterText = function (value, type, appendSuffix) {\n var defaultSuffix = appendSuffix ? '. ' : '';\n var cjkSuffix = appendSuffix ? '、' : '';\n var koreanSuffix = appendSuffix ? ', ' : '';\n var spaceSuffix = appendSuffix ? ' ' : '';\n switch (type) {\n case 0 /* DISC */:\n return '•' + spaceSuffix;\n case 1 /* CIRCLE */:\n return '◦' + spaceSuffix;\n case 2 /* SQUARE */:\n return '◾' + spaceSuffix;\n case 5 /* DECIMAL_LEADING_ZERO */:\n var string = createCounterStyleFromRange(value, 48, 57, true, defaultSuffix);\n return string.length < 4 ? \"0\" + string : string;\n case 4 /* CJK_DECIMAL */:\n return createCounterStyleFromSymbols(value, '〇一二三四五六七八九', cjkSuffix);\n case 6 /* LOWER_ROMAN */:\n return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, 3 /* DECIMAL */, defaultSuffix).toLowerCase();\n case 7 /* UPPER_ROMAN */:\n return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, 3 /* DECIMAL */, defaultSuffix);\n case 8 /* LOWER_GREEK */:\n return createCounterStyleFromRange(value, 945, 969, false, defaultSuffix);\n case 9 /* LOWER_ALPHA */:\n return createCounterStyleFromRange(value, 97, 122, false, defaultSuffix);\n case 10 /* UPPER_ALPHA */:\n return createCounterStyleFromRange(value, 65, 90, false, defaultSuffix);\n case 11 /* ARABIC_INDIC */:\n return createCounterStyleFromRange(value, 1632, 1641, true, defaultSuffix);\n case 12 /* ARMENIAN */:\n case 49 /* UPPER_ARMENIAN */:\n return createAdditiveCounter(value, 1, 9999, ARMENIAN, 3 /* DECIMAL */, defaultSuffix);\n case 35 /* LOWER_ARMENIAN */:\n return createAdditiveCounter(value, 1, 9999, ARMENIAN, 3 /* DECIMAL */, defaultSuffix).toLowerCase();\n case 13 /* BENGALI */:\n return createCounterStyleFromRange(value, 2534, 2543, true, defaultSuffix);\n case 14 /* CAMBODIAN */:\n case 30 /* KHMER */:\n return createCounterStyleFromRange(value, 6112, 6121, true, defaultSuffix);\n case 15 /* CJK_EARTHLY_BRANCH */:\n return createCounterStyleFromSymbols(value, '子丑寅卯辰巳午未申酉戌亥', cjkSuffix);\n case 16 /* CJK_HEAVENLY_STEM */:\n return createCounterStyleFromSymbols(value, '甲乙丙丁戊己庚辛壬癸', cjkSuffix);\n case 17 /* CJK_IDEOGRAPHIC */:\n case 48 /* TRAD_CHINESE_INFORMAL */:\n return createCJKCounter(value, '零一二三四五六七八九', CHINESE_INFORMAL_MULTIPLIERS, '負', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 47 /* TRAD_CHINESE_FORMAL */:\n return createCJKCounter(value, '零壹貳參肆伍陸柒捌玖', CHINESE_FORMAL_MULTIPLIERS, '負', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 42 /* SIMP_CHINESE_INFORMAL */:\n return createCJKCounter(value, '零一二三四五六七八九', CHINESE_INFORMAL_MULTIPLIERS, '负', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 41 /* SIMP_CHINESE_FORMAL */:\n return createCJKCounter(value, '零壹贰叁肆伍陆柒捌玖', CHINESE_FORMAL_MULTIPLIERS, '负', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 26 /* JAPANESE_INFORMAL */:\n return createCJKCounter(value, '〇一二三四五六七八九', '十百千万', JAPANESE_NEGATIVE, cjkSuffix, 0);\n case 25 /* JAPANESE_FORMAL */:\n return createCJKCounter(value, '零壱弐参四伍六七八九', '拾百千万', JAPANESE_NEGATIVE, cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n case 31 /* KOREAN_HANGUL_FORMAL */:\n return createCJKCounter(value, '영일이삼사오육칠팔구', '십백천만', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n case 33 /* KOREAN_HANJA_INFORMAL */:\n return createCJKCounter(value, '零一二三四五六七八九', '十百千萬', KOREAN_NEGATIVE, koreanSuffix, 0);\n case 32 /* KOREAN_HANJA_FORMAL */:\n return createCJKCounter(value, '零壹貳參四五六七八九', '拾百千', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n case 18 /* DEVANAGARI */:\n return createCounterStyleFromRange(value, 0x966, 0x96f, true, defaultSuffix);\n case 20 /* GEORGIAN */:\n return createAdditiveCounter(value, 1, 19999, GEORGIAN, 3 /* DECIMAL */, defaultSuffix);\n case 21 /* GUJARATI */:\n return createCounterStyleFromRange(value, 0xae6, 0xaef, true, defaultSuffix);\n case 22 /* GURMUKHI */:\n return createCounterStyleFromRange(value, 0xa66, 0xa6f, true, defaultSuffix);\n case 22 /* HEBREW */:\n return createAdditiveCounter(value, 1, 10999, HEBREW, 3 /* DECIMAL */, defaultSuffix);\n case 23 /* HIRAGANA */:\n return createCounterStyleFromSymbols(value, 'あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん');\n case 24 /* HIRAGANA_IROHA */:\n return createCounterStyleFromSymbols(value, 'いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす');\n case 27 /* KANNADA */:\n return createCounterStyleFromRange(value, 0xce6, 0xcef, true, defaultSuffix);\n case 28 /* KATAKANA */:\n return createCounterStyleFromSymbols(value, 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン', cjkSuffix);\n case 29 /* KATAKANA_IROHA */:\n return createCounterStyleFromSymbols(value, 'イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス', cjkSuffix);\n case 34 /* LAO */:\n return createCounterStyleFromRange(value, 0xed0, 0xed9, true, defaultSuffix);\n case 37 /* MONGOLIAN */:\n return createCounterStyleFromRange(value, 0x1810, 0x1819, true, defaultSuffix);\n case 38 /* MYANMAR */:\n return createCounterStyleFromRange(value, 0x1040, 0x1049, true, defaultSuffix);\n case 39 /* ORIYA */:\n return createCounterStyleFromRange(value, 0xb66, 0xb6f, true, defaultSuffix);\n case 40 /* PERSIAN */:\n return createCounterStyleFromRange(value, 0x6f0, 0x6f9, true, defaultSuffix);\n case 43 /* TAMIL */:\n return createCounterStyleFromRange(value, 0xbe6, 0xbef, true, defaultSuffix);\n case 44 /* TELUGU */:\n return createCounterStyleFromRange(value, 0xc66, 0xc6f, true, defaultSuffix);\n case 45 /* THAI */:\n return createCounterStyleFromRange(value, 0xe50, 0xe59, true, defaultSuffix);\n case 46 /* TIBETAN */:\n return createCounterStyleFromRange(value, 0xf20, 0xf29, true, defaultSuffix);\n case 3 /* DECIMAL */:\n default:\n return createCounterStyleFromRange(value, 48, 57, true, defaultSuffix);\n }\n };\n\n var IGNORE_ATTRIBUTE = 'data-html2canvas-ignore';\n var DocumentCloner = /** @class */ (function () {\n function DocumentCloner(context, element, options) {\n this.context = context;\n this.options = options;\n this.scrolledElements = [];\n this.referenceElement = element;\n this.counters = new CounterState();\n this.quoteDepth = 0;\n if (!element.ownerDocument) {\n throw new Error('Cloned element does not have an owner document');\n }\n this.documentElement = this.cloneNode(element.ownerDocument.documentElement, false);\n }\n DocumentCloner.prototype.toIFrame = function (ownerDocument, windowSize) {\n var _this = this;\n var iframe = createIFrameContainer(ownerDocument, windowSize);\n if (!iframe.contentWindow) {\n return Promise.reject(\"Unable to find iframe window\");\n }\n var scrollX = ownerDocument.defaultView.pageXOffset;\n var scrollY = ownerDocument.defaultView.pageYOffset;\n var cloneWindow = iframe.contentWindow;\n var documentClone = cloneWindow.document;\n /* Chrome doesn't detect relative background-images assigned in inline