{"version":3,"sources":["webpack:///./src/components/properties/propertiesShortDisplayList.vue?13e7","webpack:///../../../src/mixins/transitionable/index.ts","webpack:///../../../src/components/VAlert/VAlert.ts","webpack:///./src/models/person.ts","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/TextMessageFormat.js","webpack:///./src/models/blob.ts","webpack:///./node_modules/@aspnet/signalr/dist/esm/HandshakeProtocol.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/NodeHttpClient.js","webpack:///./src/models/address.ts","webpack:///./node_modules/uid/dist/index.mjs","webpack:///./src/models/file.ts","webpack:///./src/views/auction/auction.vue?c9de","webpack:///./node_modules/@aspnet/signalr/dist/esm/ILogger.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/Loggers.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/HttpClient.js","webpack:///./node_modules/ieee754/index.js","webpack:///./src/components/timers/timer.vue?78d4","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/Errors.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/Utils.js","webpack:///./src/views/auction/auction.vue?7851","webpack:///./node_modules/@aspnet/signalr/dist/esm/IHubProtocol.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/XhrHttpClient.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/DefaultHttpClient.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/HubConnection.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/ITransport.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/AbortController.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/LongPollingTransport.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/ServerSentEventsTransport.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/WebSocketTransport.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/HttpConnection.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/JsonHubProtocol.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/HubConnectionBuilder.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/index.js","webpack:///./src/components/timers/timer.vue?09c0","webpack:///./src/components/timers/timer.vue","webpack:///./src/components/timers/timer.vue?be2d","webpack:///./src/components/timers/timer.vue?d8ad","webpack:///./src/views/auction/auction.vue","webpack:///./src/views/auction/auction.vue?eafd","webpack:///./src/views/auction/auction.vue?7eab","webpack:///./node_modules/isarray/index.js","webpack:///./src/components/properties/propertiesShortDisplayList.vue?54e1","webpack:///./src/components/properties/propertiesShortDisplayList.vue","webpack:///./src/components/properties/propertiesShortDisplayList.vue?3791","webpack:///./src/components/properties/propertiesShortDisplayList.vue?cf05","webpack:///./src/models/autction.models.ts"],"names":["name","props","mode","origin","transition","String","mixins","border","type","validator","closeLabel","default","coloredBorder","dense","dismissible","closeIcon","icon","Boolean","val","outlined","prominent","text","value","computed","__cachedBorder","this","data","staticClass","class","setBackgroundColor","$createElement","__cachedDismissible","color","VBtn","small","attrs","$vuetify","lang","t","on","click","VIcon","__cachedIcon","iconColor","classes","VSheet","computedColor","computedIcon","includes","hasColoredIcon","hasText","isDark","created","$attrs","hasOwnProperty","methods","genWrapper","children","$slots","prepend","$scopedSlots","close","toggle","genContent","genAlert","role","style","directives","isActive","setColor","render","h","Person","obj","id","firstName","middleName","lastName","phone","email","identificationNumber","userId","identificationType","identificationTypeName","address","idIssueDate","Date","idIssuer","idNumber","idType","isForeigner","user","RegixPersonModel","identifier","dateOfBirth","undefined","dateOfDeath","fullName","requestId","exports","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","Array","code","i","len","length","charCodeAt","getLens","b64","Error","validLen","indexOf","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","push","join","extraBytes","parts","maxChunkLength","len2","TextMessageFormat","write","RecordSeparator","parse","input","messages","split","pop","RecordSeparatorCode","fromCharCode","BlobModel","blobId","fileName","fileType","unixTimeSeconds","hmac","blobServiceUrl","href","HandshakeProtocol","prototype","writeHandshakeRequest","handshakeRequest","JSON","stringify","parseHandshakeResponse","responseMessage","messageData","remainingData","Buffer","binaryData","separatorIndex","responseLength","apply","slice","buffer","textData","substring","response","requestModule","__extends","extendStatics","Object","setPrototypeOf","__proto__","d","b","p","__","constructor","create","__assign","assign","s","n","arguments","call","XMLHttpRequest","requireFunc","NodeHttpClient","_super","logger","_this","cookieJar","jar","request","defaults","send","httpRequest","Promise","resolve","reject","requestBody","content","from","currentRequest","url","body","encoding","responseType","headers","method","timeout","error","abortSignal","onabort","log","Warning","statusCode","statusMessage","abort","getCookieString","Address","regionId","municipalityId","cityId","streetAddress","countryId","addressOfForeigner","AddressViewModel","regionName","municipalityName","cityName","cityPrefix","cityFullName","countryName","BUFFER","IDX","HEX","SIZE","toString","uid","Math","random","__id","blob","file","File","LogLevel","NullLogger","_logLevel","_message","instance","HttpResponse","statusText","HttpClient","get","options","post","delete","read","offset","isLE","mLen","nBytes","e","m","eLen","eMax","eBias","nBits","NaN","Infinity","pow","c","rt","abs","isNaN","floor","LN2","base64","ieee754","isArray","typedArraySupport","foo","subarray","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","arg","encodingOrOffset","allocUnsafe","TypeError","ArrayBuffer","fromArrayBuffer","fromString","fromObject","assertSize","size","alloc","fill","checked","string","isEncoding","actual","fromArrayLike","array","byteOffset","isBuffer","copy","isnan","SlowBuffer","isView","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","buf","readUInt16BE","foundIndex","found","j","hexWrite","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","global","poolSize","_augment","Symbol","species","defineProperty","configurable","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","swap16","swap32","swap64","equals","inspect","str","max","match","target","thisStart","thisEnd","thisCopy","targetCopy","isFinite","toJSON","_arr","MAX_ARGUMENTS_LENGTH","codePoints","ret","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","set","INVALID_BASE64_RE","base64clean","stringtrim","replace","trim","units","leadSurrogate","byteArray","hi","lo","src","dst","HttpError","errorMessage","_newTarget","trueProto","TimeoutError","AbortError","__awaiter","thisArg","_arguments","P","generator","fulfilled","step","next","rejected","result","done","then","__generator","f","g","_","label","sent","trys","ops","verb","iterator","v","op","Arg","isRequired","isIn","values","getDataDetail","includeContent","detail","isArrayBuffer","formatArrayBuffer","view","forEach","pad","sendMessage","transportName","httpClient","accessTokenFactory","logMessageContent","_a","token","_b","Trace","createLogger","ConsoleLogger","Information","Subject","observers","item","_i","observer","err","complete","subscribe","SubjectSubscription","subject","dispose","index","splice","cancelCallback","catch","minimumLogLevel","logLevel","message","Critical","console","toISOString","warn","info","MessageType","_vm","_h","_c","_self","isLoading","_e","_v","_s","$t","auction","announcement","title","propertyType","Other","localItems","completed","endTime","startPrice","bidStep","timeSpan","greenText","currentWinnerId","currentUserId","redText","currentPrice","isWinnerCoOwner","isCoOwner","matchCurrentBid","myBid","bidBtnActive","makeBid","_l","logs","reverse","key","$moment","date","format","cancelled","endPrice","winner","cancelledOn","staticRenderFns","XhrHttpClient","aborted","xhr","open","withCredentials","setRequestHeader","keys","header","onload","status","responseText","onerror","ontimeout","DefaultHttpClient","HubConnectionState","DEFAULT_TIMEOUT_IN_MS","DEFAULT_PING_INTERVAL_IN_MS","HttpTransportType","TransferFormat","HubConnection","connection","protocol","serverTimeoutInMilliseconds","keepAliveIntervalInMilliseconds","handshakeProtocol","onreceive","processIncomingData","onclose","connectionClosed","callbacks","closedCallbacks","receivedHandshakeResponse","connectionState","Disconnected","cachedPingMessage","writeMessage","Ping","enumerable","handshakePromise","version","Debug","handshakeResolver","handshakeRejecter","transferFormat","cleanupTimeout","resetTimeoutPeriod","resetKeepAliveInterval","Connected","stop","cleanupPingTimer","stream","methodName","args","promiseQueue","invocationDescriptor","createStreamInvocation","cancelInvocation","createCancelInvocation","invocationId","cancelMessage","invocationEvent","Completion","createInvocation","invoke","newMethod","off","handlers","removeIdx","callback","processHandshakeResponse","parseMessages","messages_1","Invocation","invokeClientMethod","StreamItem","Close","pingServerHandle","setTimeout","features","inherentKeepAlive","timeoutHandle","serverTimeout","invocationMessage","clearTimeout","nonblocking","StreamInvocation","CancelInvocation","AbortController","isAborted","LongPollingTransport","pollAbort","running","connect","pollOptions","pollUrl","Binary","signal","getAccessToken","updateHeaderToken","now","closeError","receiving","poll","e_1","pollAborted","raiseOnClose","deleteOptions","logMessage","ServerSentEventsTransport","eventSourceConstructor","encodeURIComponent","opened","Text","eventSource","window","cookies","Cookie","onmessage","onopen","WebSocketTransport","webSocketConstructor","webSocket","binaryType","_event","event","ErrorEvent","readyState","OPEN","wasClean","reason","MAX_REDIRECTS","WebSocketModule","EventSourceModule","HttpConnection","baseUrl","resolveUrl","isNode","WebSocket","EventSource","startPromise","startInternal","transport","stopError","negotiateResponse","redirects","_loop_1","this_1","state_1","e_2","skipNegotiation","WebSockets","constructTransport","accessToken_1","getNegotiationResponse","ProtocolVersion","accessToken","createTransport","stopConnection","changeState","negotiateUrl","e_3","resolveNegotiateUrl","createConnectUrl","connectionId","requestedTransport","requestedTransferFormat","connectUrl","transports","transports_1","endpoint","ex_1","isITransport","availableTransports","resolveTransport","ServerSentEvents","LongPolling","transferFormats","map","transportMatches","to","document","aTag","createElement","actualTransport","JSON_HUB_PROTOCOL_NAME","JsonHubProtocol","hubMessages","parsedMessage","isInvocationMessage","isStreamItemMessage","isCompletionMessage","assertNotEmptyString","HubConnectionBuilder","configureLogging","logging","isLogger","withUrl","transportTypeOrOptions","httpConnectionOptions","withHubProtocol","build","success","time","_uid","displayText","interval","setInterval","calculateTime","distance","days","hours","minutes","seconds","clearInterval","el","innerHTML","htmlEl","getElementById","startCounter","required","component","connected","lastBid","showTimer","hubUrl","$store","getters","onHighestBidChange","onInvalidBid","onTimeExtend","onInvalidAuction","onAuctionEnd","onAddedToGroup","newVal","model","bid","bidderId","msg","endDate","auctionId","winnerId","maxPrice","isCurrentUserCoOwner","$route","params","loadAuctionData","$router","back","parseFloat","toFixed","items","nrzId","immediate","components","PropertiesList","Timer","VAlert","VCard","VCardText","VCardTitle","VCol","VOverlay","VProgressCircular","VRow","module","singleSelect","selectable","scopedSlots","_u","fn","ref","itemClass","domProps","description","breakpoint","xs","mobile","$event","expanded","proxy","$$v","selected","expression","$emit","align","sortable","VDataTable","Auction","AuctionAnnouncement","bids","startDate","started","canParticipate","createdByFirstName","createdByLastName","order","orderName","propertyTypeName","caseNumber","registerStartDate","registerEndDate","auctionStartDate","auctionEndDate","attachments","documents","scannedAttachments","createdBy","cancelledBy","createdByRoleName","createdByUserType","createdByCHSIName","createdByCHSINumber","element","AuctionItem","isManuallyAdded","objectType","Registration","uniqueNumber","participantId","participant","announcementId","announcementCreatedBy","isApproved","processedOn","processedBy","representationType","representationTypeName","isOwner","isOwnerSpouse","appliedByCourtEnforcer","createdOn","representedUserId","representedPersonId","representedPerson","representedCompanyId","representedCompany","resultDeliveryType","resultDeliveryTypeName","deletedOn","deletedBy","deleted","rejectReason","IBAN","iban","bankName","bankAccountOwner","AuctionResultModel","auctionTimeExnetionsCount","organizer","registrations","bidders","ranking","AuctionOrganizerDetails"],"mappings":"kHAAA,yBAA4kB,EAAG,G,8JCEhkB,sBAAW,CACxBA,KADwB,iBAGxBC,MAAO,CACLC,KADK,OAELC,OAFK,OAGLC,WAAYC,U,wBCgBD,cAAAC,EAAA,MAAO,EAAD,YAAN,UAIN,CACPN,KADO,UAGPC,MAAO,CACLM,OAAQ,CACNC,KADM,OAENC,UAFM,SAEG,GACP,MAAO,CAAC,MAAD,kCAAP,KAQJC,WAAY,CACVF,KADU,OAEVG,QAAS,kBAEXC,cAhBK,QAiBLC,MAjBK,QAkBLC,YAlBK,QAmBLC,UAAW,CACTP,KADS,OAETG,QAAS,WAEXK,KAAM,CACJL,QADI,GAEJH,KAAM,CAACS,QAFH,QAGJR,UAHI,SAGK,GACP,MAAsB,kBAARS,IAAd,IAAkCA,IAGtCC,SA9BK,QA+BLC,UA/BK,QAgCLC,KAhCK,QAiCLb,KAAM,CACJA,KADI,OAEJC,UAFI,SAEK,GACP,MAAO,CAAC,OAAD,sCAAP,KAQJa,MAAO,CACLd,KADK,QAELG,SAAS,IAIbY,SAAU,CACRC,eADQ,WAEN,IAAKC,KAAL,OAAkB,OAAO,KAEzB,IAAIC,EAAkB,CACpBC,YADoB,kBAEpBC,MAAO,6CACgBH,KAArB,SAAqC,IASzC,OALIA,KAAJ,gBACEC,EAAOD,KAAKI,mBAAmBJ,KAAxB,cAAPC,GACAA,EAAA,wCAGKD,KAAKK,eAAe,MAA3B,IAEFC,oBAlBQ,WAkBW,WACjB,IAAKN,KAAL,YAAuB,OAAO,KAE9B,IAAMO,EAAQP,KAAd,UAEA,OAAOA,KAAKK,eAAeG,EAApB,KAA0B,CAC/BN,YAD+B,uBAE/B1B,MAAO,CACL+B,QACAhB,MAFK,EAGLkB,OAAO,GAETC,MAAO,CACL,aAAcV,KAAKW,SAASC,KAAKC,EAAEb,KAArB,aAEhBc,GAAI,CACFC,MAAO,kBAAO,YAAgB,KAE/B,CACDf,KAAKK,eAAeW,EAApB,KAA2B,CACzBxC,MAAO,CAAE+B,UACRP,KAhBL,cAmBFiB,aA1CQ,WA2CN,OAAKjB,KAAL,aAEOA,KAAKK,eAAeW,EAApB,KAA2B,CAChCd,YADgC,gBAEhC1B,MAAO,CAAE+B,MAAOP,KAAKkB,YACpBlB,KAHH,cAF+B,MAOjCmB,QAlDQ,WAmDN,IAAMA,EAAO,iCACRC,EAAA,mCADoC,OAA5B,IAEX,kBAAmB5B,QAAQQ,KAFY,QAGvC,iBAAkBA,KAHqB,MAIvC,oBAAqBA,KAJkB,SAKvC,qBAAsBA,KALiB,UAMvC,gBAAiBA,KAAKJ,OAOxB,OAJII,KAAJ,SACEmB,EAAQ,mBAAD,OAAoBnB,KAA3B,aAGF,GAEFqB,cAlEQ,WAmEN,OAAOrB,KAAKO,OAASP,KAArB,MAEFsB,aArEQ,WAsEN,WAAItB,KAAKT,OACL,kBAAOS,KAAP,MAAiCA,KAArC,KAAuDA,KAAP,OAC3C,CAAC,QAAS,OAAQ,UAAW,WAAWuB,SAASvB,KAAtD,OAEA,WAAWA,KAAX,QAEFwB,eA5EQ,WA6EN,OACExB,KAAKyB,SACJjC,QAAQQ,KAAR,SAAwBA,KAF3B,eAKFyB,QAlFQ,WAmFN,OAAOzB,KAAKJ,MAAQI,KAApB,UAEFkB,UArFQ,WAsFN,OAAOlB,KAAKwB,eAAiBxB,KAAtB,mBAAP,GAEF0B,OAxFQ,WAyFN,SACE1B,KAAKjB,MACJiB,KADD,eAECA,KAHH,WAMO,oCAAP,QAIJ2B,QAxJO,WA0JD3B,KAAK4B,OAAOC,eAAhB,YACE,eAAS,UAAW,WAApB,OAIJC,QAAS,CACPC,WADO,WAEL,IAAMC,EAAW,CACfhC,KAAKiC,OAAOC,SAAWlC,KADR,aAEfA,KAFe,aAGfA,KAHe,eAIfA,KAAKiC,OAJU,OAKfjC,KAAKmC,aAAaC,MACdpC,KAAKmC,aAAaC,MAAM,CAAEC,OAAQrC,KAAKqC,SACvCrC,KAPN,qBAUMC,EAAkB,CACtBC,YAAa,oBAGf,OAAOF,KAAKK,eAAe,MAAOJ,EAAlC,IAEFqC,WAlBO,WAmBL,OAAOtC,KAAKK,eAAe,MAAO,CAChCH,YAAa,oBACZF,KAAKiC,OAFR,UAIFM,SAvBO,WAwBL,IAAItC,EAAkB,CACpBC,YADoB,UAEpBQ,MAAO,CACL8B,KAAM,SAER1B,GAAId,KALgB,WAMpBG,MAAOH,KANa,QAOpByC,MAAOzC,KAPa,OAQpB0C,WAAY,CAAC,CACXnE,KADW,OAEXsB,MAAOG,KAAK2C,YAIhB,IAAK3C,KAAL,cAAyB,CACvB,IAAM4C,EAAW5C,KAAKyB,QAAUzB,KAAf,aAAmCA,KAApD,mBACAC,EAAO2C,EAAS5C,KAAD,cAAfC,GAGF,OAAOD,KAAKK,eAAe,MAAOJ,EAAM,CAACD,KAAzC,gBAGFqC,OA9CO,WA+CLrC,KAAA,UAAiBA,KAAjB,WAIJ6C,OAlNO,SAkND,GACJ,IAAMA,EAAS7C,KAAf,WAEA,OAAKA,KAAL,WAEO8C,EAAE,aAAc,CACrBtE,MAAO,CACLD,KAAMyB,KADD,WAELtB,OAAQsB,KAFH,OAGLvB,KAAMuB,KAAKvB,OAEZ,CANH,IAF6BoE,M,uKC9OZE,EAmBjB,aAAyB,IAAbC,EAAa,uDAAF,GAAE,uBACrBhD,KAAKiD,GAAKD,EAAIC,IAAM,KACpBjD,KAAKkD,UAAYF,EAAIE,WAAa,GAClClD,KAAKmD,WAAaH,EAAIG,YAAc,GACpCnD,KAAKoD,SAAWJ,EAAII,UAAY,GAChCpD,KAAKqD,MAAQL,EAAIK,OAAS,GAC1BrD,KAAKsD,MAAQN,EAAIM,OAAS,GAC1BtD,KAAKuD,qBAAuBP,EAAIO,sBAAwB,GACxDvD,KAAKwD,OAASR,EAAIQ,QAAU,KAC5BxD,KAAKyD,mBAAqBT,EAAIS,oBAAsB,KACpDzD,KAAK0D,uBAAyBV,EAAIU,uBAClC1D,KAAK2D,QAAUX,EAAIW,QAAU,IAAI,OAAQX,EAAIW,SAAW,KACxD3D,KAAK4D,YAAcZ,EAAIY,YAAc,IAAIC,KAAKb,EAAIY,aAAe,KACjE5D,KAAK8D,SAAWd,EAAIc,UAAY,GAChC9D,KAAK+D,SAAWf,EAAIe,UAAY,GAChC/D,KAAKgE,OAAShB,EAAIgB,QAAU,KAC5BhE,KAAKiE,YAAcjB,EAAIiB,cAAe,EACtCjE,KAAKkE,KAAOlB,EAAIkB,MA2CXC,EACT,aAAyB,UAAbnB,EAAa,uDAAF,GAAE,uBACrBhD,KAAKiD,GAAKD,EAAIC,IAAM,EACpBjD,KAAKoE,WAAapB,EAAIoB,WACtBpE,KAAKkD,UAAYF,EAAIE,UACrBlD,KAAKmD,WAAaH,EAAIG,WACtBnD,KAAKoD,SAAWJ,EAAII,SACpBpD,KAAKqE,YAAcrB,EAAIqB,YAAc,IAAIR,KAAKb,EAAIqB,kBAAeC,EACjEtE,KAAKuE,YAAcvB,EAAIuB,YAAc,IAAIV,KAAKb,EAAIuB,kBAAeD,EACjEtE,KAAKwE,SAAL,oBAAmBxE,KAAKkD,iBAAxB,QAAqC,GAArC,sBAA2ClD,KAAKmD,kBAAhD,QAA8D,GAA9D,sBAAoEnD,KAAKoD,gBAAzE,QAAqF,IACrFpD,KAAKyE,UAAYzB,EAAIyB,WAAa,I,oCC1F1CC,EAAQC,WAAaA,EACrBD,EAAQE,YAAcA,EACtBF,EAAQG,cAAgBA,EAOxB,IALA,IAAIC,EAAS,GACTC,EAAY,GACZC,EAA4B,qBAAfC,WAA6BA,WAAaC,MAEvDC,EAAO,mEACFC,EAAI,EAAGC,EAAMF,EAAKG,OAAQF,EAAIC,IAAOD,EAC5CN,EAAOM,GAAKD,EAAKC,GACjBL,EAAUI,EAAKI,WAAWH,IAAMA,EAQlC,SAASI,EAASC,GAChB,IAAIJ,EAAMI,EAAIH,OAEd,GAAID,EAAM,EAAI,EACZ,MAAM,IAAIK,MAAM,kDAKlB,IAAIC,EAAWF,EAAIG,QAAQ,MACT,IAAdD,IAAiBA,EAAWN,GAEhC,IAAIQ,EAAkBF,IAAaN,EAC/B,EACA,EAAKM,EAAW,EAEpB,MAAO,CAACA,EAAUE,GAIpB,SAASlB,EAAYc,GACnB,IAAIK,EAAON,EAAQC,GACfE,EAAWG,EAAK,GAChBD,EAAkBC,EAAK,GAC3B,OAAuC,GAA9BH,EAAWE,GAAuB,EAAKA,EAGlD,SAASE,EAAaN,EAAKE,EAAUE,GACnC,OAAuC,GAA9BF,EAAWE,GAAuB,EAAKA,EAGlD,SAASjB,EAAaa,GACpB,IAAIO,EAcAZ,EAbAU,EAAON,EAAQC,GACfE,EAAWG,EAAK,GAChBD,EAAkBC,EAAK,GAEvBG,EAAM,IAAIjB,EAAIe,EAAYN,EAAKE,EAAUE,IAEzCK,EAAU,EAGVb,EAAMQ,EAAkB,EACxBF,EAAW,EACXA,EAGJ,IAAKP,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBY,EACGjB,EAAUU,EAAIF,WAAWH,KAAO,GAChCL,EAAUU,EAAIF,WAAWH,EAAI,KAAO,GACpCL,EAAUU,EAAIF,WAAWH,EAAI,KAAO,EACrCL,EAAUU,EAAIF,WAAWH,EAAI,IAC/Ba,EAAIC,KAAcF,GAAO,GAAM,IAC/BC,EAAIC,KAAcF,GAAO,EAAK,IAC9BC,EAAIC,KAAmB,IAANF,EAmBnB,OAhBwB,IAApBH,IACFG,EACGjB,EAAUU,EAAIF,WAAWH,KAAO,EAChCL,EAAUU,EAAIF,WAAWH,EAAI,KAAO,EACvCa,EAAIC,KAAmB,IAANF,GAGK,IAApBH,IACFG,EACGjB,EAAUU,EAAIF,WAAWH,KAAO,GAChCL,EAAUU,EAAIF,WAAWH,EAAI,KAAO,EACpCL,EAAUU,EAAIF,WAAWH,EAAI,KAAO,EACvCa,EAAIC,KAAcF,GAAO,EAAK,IAC9BC,EAAIC,KAAmB,IAANF,GAGZC,EAGT,SAASE,EAAiBC,GACxB,OAAOtB,EAAOsB,GAAO,GAAK,IACxBtB,EAAOsB,GAAO,GAAK,IACnBtB,EAAOsB,GAAO,EAAI,IAClBtB,EAAa,GAANsB,GAGX,SAASC,EAAaC,EAAOC,EAAOC,GAGlC,IAFA,IAAIR,EACAS,EAAS,GACJrB,EAAImB,EAAOnB,EAAIoB,EAAKpB,GAAK,EAChCY,GACIM,EAAMlB,IAAM,GAAM,WAClBkB,EAAMlB,EAAI,IAAM,EAAK,QACP,IAAfkB,EAAMlB,EAAI,IACbqB,EAAOC,KAAKP,EAAgBH,IAE9B,OAAOS,EAAOE,KAAK,IAGrB,SAAS9B,EAAeyB,GAQtB,IAPA,IAAIN,EACAX,EAAMiB,EAAMhB,OACZsB,EAAavB,EAAM,EACnBwB,EAAQ,GACRC,EAAiB,MAGZ1B,EAAI,EAAG2B,EAAO1B,EAAMuB,EAAYxB,EAAI2B,EAAM3B,GAAK0B,EACtDD,EAAMH,KAAKL,EACTC,EAAOlB,EAAIA,EAAI0B,EAAkBC,EAAOA,EAAQ3B,EAAI0B,IAsBxD,OAjBmB,IAAfF,GACFZ,EAAMM,EAAMjB,EAAM,GAClBwB,EAAMH,KACJ5B,EAAOkB,GAAO,GACdlB,EAAQkB,GAAO,EAAK,IACpB,OAEsB,IAAfY,IACTZ,GAAOM,EAAMjB,EAAM,IAAM,GAAKiB,EAAMjB,EAAM,GAC1CwB,EAAMH,KACJ5B,EAAOkB,GAAO,IACdlB,EAAQkB,GAAO,EAAK,IACpBlB,EAAQkB,GAAO,EAAK,IACpB,MAIGa,EAAMF,KAAK,IApIpB5B,EAAU,IAAIQ,WAAW,IAAM,GAC/BR,EAAU,IAAIQ,WAAW,IAAM,I,kCCnB/B,kCAIA,IAAIyB,EAAmC,WACnC,SAASA,KAeT,OAbAA,EAAkBC,MAAQ,SAAUR,GAChC,MAAO,GAAKA,EAASO,EAAkBE,iBAE3CF,EAAkBG,MAAQ,SAAUC,GAChC,GAAIA,EAAMA,EAAM9B,OAAS,KAAO0B,EAAkBE,gBAC9C,MAAM,IAAIxB,MAAM,0BAEpB,IAAI2B,EAAWD,EAAME,MAAMN,EAAkBE,iBAE7C,OADAG,EAASE,MACFF,GAEXL,EAAkBQ,oBAAsB,GACxCR,EAAkBE,gBAAkBtI,OAAO6I,aAAaT,EAAkBQ,qBACnER,EAhB2B,I,gGCJjBU,EACnB,aAAyB,IAAb1E,EAAa,uDAAF,GAAE,uBACvBhD,KAAK2H,OAAS3E,EAAI2E,QAAU,KAC5B3H,KAAK4H,SAAW5E,EAAI4E,UAAY,KAChC5H,KAAK6H,SAAW7E,EAAI6E,UAAY,KAChC7H,KAAK8H,gBAAkB9E,EAAI8E,iBAAmB,KAC9C9H,KAAK+H,KAAO/E,EAAI+E,MAAQ,KACxB/H,KAAKgI,eAAiBhF,EAAIgF,gBAAkB,KACzChF,EAAIiF,KACLjI,KAAKiI,KAAOjF,EAAIiF,KAEhBjI,KAAKiI,KAAL,UAAejI,KAAKgI,eAApB,YAAsChI,KAAK2H,OAA3C,cAAuD3H,KAAK8H,gBAA5D,cAAiF9H,KAAK+H,Q,qCCX5F,0EAKIG,EAAmC,WACnC,SAASA,KA8CT,OA3CAA,EAAkBC,UAAUC,sBAAwB,SAAUC,GAC1D,OAAO,OAAkBpB,MAAMqB,KAAKC,UAAUF,KAElDH,EAAkBC,UAAUK,uBAAyB,SAAUvI,GAC3D,IAAIwI,EACAC,EACAC,EACJ,GAAI,eAAc1I,IAA4B,qBAAX2I,GAA0B3I,aAAgB2I,EAAS,CAElF,IAAIC,EAAa,IAAI5D,WAAWhF,GAC5B6I,EAAiBD,EAAWjD,QAAQ,OAAkB4B,qBAC1D,IAAwB,IAApBsB,EACA,MAAM,IAAIpD,MAAM,0BAIpB,IAAIqD,EAAiBD,EAAiB,EACtCJ,EAAc9J,OAAO6I,aAAauB,MAAM,KAAMH,EAAWI,MAAM,EAAGF,IAClEJ,EAAiBE,EAAWlE,WAAaoE,EAAkBF,EAAWI,MAAMF,GAAgBG,OAAS,SAEpG,CACD,IAAIC,EAAWlJ,EACX6I,EAAiBK,EAASvD,QAAQ,OAAkBsB,iBACxD,IAAwB,IAApB4B,EACA,MAAM,IAAIpD,MAAM,0BAIhBqD,EAAiBD,EAAiB,EACtCJ,EAAcS,EAASC,UAAU,EAAGL,GACpCJ,EAAiBQ,EAAS7D,OAASyD,EAAkBI,EAASC,UAAUL,GAAkB,KAG9F,IAAI1B,EAAW,OAAkBF,MAAMuB,GACnCW,EAAWf,KAAKnB,MAAME,EAAS,IACnC,GAAIgC,EAAStK,KACT,MAAM,IAAI2G,MAAM,kDAKpB,OAHA+C,EAAkBY,EAGX,CAACV,EAAeF,IAEpBP,EA/C2B,K,kECLtC,kDAwBIoB,EAxBJ,gDAEIC,EAAwC,WACxC,IAAIC,EAAgBC,OAAOC,gBACtB,CAAEC,UAAW,cAAgBzE,OAAS,SAAU0E,EAAGC,GAAKD,EAAED,UAAYE,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAIC,KAAKD,EAAOA,EAAEhI,eAAeiI,KAAIF,EAAEE,GAAKD,EAAEC,KACzE,OAAO,SAAUF,EAAGC,GAEhB,SAASE,IAAO/J,KAAKgK,YAAcJ,EADnCJ,EAAcI,EAAGC,GAEjBD,EAAEzB,UAAkB,OAAN0B,EAAaJ,OAAOQ,OAAOJ,IAAME,EAAG5B,UAAY0B,EAAE1B,UAAW,IAAI4B,IAP3C,GAUxCG,EAAsCT,OAAOU,QAAU,SAAStJ,GAChE,IAAK,IAAIuJ,EAAGhF,EAAI,EAAGiF,EAAIC,UAAUhF,OAAQF,EAAIiF,EAAGjF,IAE5C,IAAK,IAAI0E,KADTM,EAAIE,UAAUlF,GACAgF,EAAOX,OAAOtB,UAAUtG,eAAe0I,KAAKH,EAAGN,KACzDjJ,EAAEiJ,GAAKM,EAAEN,IAEjB,OAAOjJ,GAOX,GAA8B,qBAAnB2J,eAAgC,CAGvC,IAAIC,EAA0D,QAC9DnB,EAAgBmB,EAAY,WAEhC,IAAIC,EAAgC,SAAUC,GAE1C,SAASD,EAAeE,GACpB,IAAIC,EAAQF,EAAOJ,KAAKvK,OAASA,KACjC,GAA6B,qBAAlBsJ,EACP,MAAM,IAAI5D,MAAM,6CAKpB,OAHAmF,EAAMD,OAASA,EACfC,EAAMC,UAAYxB,EAAcyB,MAChCF,EAAMG,QAAU1B,EAAc2B,SAAS,CAAEF,IAAKF,EAAMC,YAC7CD,EAoDX,OA7DAtB,EAAUmB,EAAgBC,GAW1BD,EAAevC,UAAU+C,KAAO,SAAUC,GACtC,IAAIN,EAAQ7K,KACZ,OAAO,IAAIoL,SAAQ,SAAUC,EAASC,GAClC,IAAIC,EAEAA,EADA,eAAcJ,EAAYK,SACZ5C,EAAO6C,KAAKN,EAAYK,SAGxBL,EAAYK,SAAW,GAEzC,IAAIE,EAAiBb,EAAMG,QAAQG,EAAYQ,IAAK,CAChDC,KAAML,EAENM,SAAuC,gBAA7BV,EAAYW,aAAiC,KAAO,OAC9DC,QAAS7B,EAAS,CAEd,mBAAoB,kBAAoBiB,EAAYY,SACxDC,OAAQb,EAAYa,OACpBC,QAASd,EAAYc,UACtB,SAAUC,EAAO7C,EAAUuC,GAI1B,GAHIT,EAAYgB,cACZhB,EAAYgB,YAAYC,QAAU,MAElCF,EAOA,MANmB,cAAfA,EAAM/G,OACN0F,EAAMD,OAAOyB,IAAI,OAASC,QAAS,8BACnChB,EAAO,IAAI,SAEfT,EAAMD,OAAOyB,IAAI,OAASC,QAAS,4BAA8BJ,QACjEZ,EAAOY,GAGP7C,EAASkD,YAAc,KAAOlD,EAASkD,WAAa,IACpDlB,EAAQ,IAAI,OAAahC,EAASkD,WAAYlD,EAASmD,eAAiB,GAAIZ,IAG5EN,EAAO,IAAI,OAAUjC,EAASmD,eAAiB,GAAInD,EAASkD,YAAc,OAG9EpB,EAAYgB,cACZhB,EAAYgB,YAAYC,QAAU,WAC9BV,EAAee,QACfnB,EAAO,IAAI,cAK3BZ,EAAevC,UAAUuE,gBAAkB,SAAUf,GACjD,OAAO3L,KAAK8K,UAAU4B,gBAAgBf,IAEnCjB,EA9DwB,CA+DjC,U,qJC9FWiC,EACT,aAAyB,IAAb3J,EAAa,uDAAF,GAAE,uBACrBhD,KAAKiD,GAAKD,EAAIC,IAAM,KACpBjD,KAAK4M,SAAW5J,EAAI4J,UAAY,KAChC5M,KAAK6M,eAAiB7J,EAAI6J,gBAAkB,KAC5C7M,KAAK8M,OAAS9J,EAAI8J,QAAU,KAC5B9M,KAAK+M,cAAgB/J,EAAI+J,eAAiB,KAC1C/M,KAAKiE,YAAcjB,EAAIiB,cAAe,EACtCjE,KAAKgN,UAAYhK,EAAIgK,WAAa,KAClChN,KAAKiN,mBAAqBjK,EAAIiK,oBAAsB,MAa/CC,EACT,aAAyB,IAAblK,EAAa,uDAAF,GAAE,uBACrBhD,KAAKiD,GAAKD,EAAIC,IAAM,KACpBjD,KAAK4M,SAAW5J,EAAI4J,UAAY,KAChC5M,KAAKmN,WAAanK,EAAImK,YAAc,GACpCnN,KAAK6M,eAAiB7J,EAAI6J,gBAAkB,KAC5C7M,KAAKoN,iBAAmBpK,EAAIoK,kBAAoB,GAChDpN,KAAK8M,OAAS9J,EAAI8J,QAAU,KAC5B9M,KAAKqN,SAAWrK,EAAIqK,UAAY,GAChCrN,KAAKsN,WAAatK,EAAIsK,YAAc,GACpCtN,KAAKuN,aAAevK,EAAIuK,cAAgB,GACxCvN,KAAK+M,cAAgB/J,EAAI+J,eAAiB,GAC1C/M,KAAKiE,YAAcjB,EAAIiB,cAAe,EACtCjE,KAAKgN,UAAYhK,EAAIgK,WAAa,KAClChN,KAAKwN,YAAcxK,EAAIwK,aAAe,KACtCxN,KAAKiN,mBAAqBjK,EAAIiK,oBAAsB,O,mGCrC7BQ,E,wBAA3BC,EAAI,IAAKC,EAAI,GAAIC,EAAK,IAC1B,MAAOF,IAAOC,EAAID,IAAQA,EAAM,KAAKG,SAAS,IAAIzE,UAAU,GAErD,SAAS0E,EAAIzI,GACnB,IAAID,EAAE,EAAGY,EAAKX,GAAO,GACrB,IAAKoI,GAAYC,EAAM1H,EAAY,EAAL4H,EAC7B,IAAKH,EAAO,GAAGC,EAAI,EAAGtI,EAAIwI,EAAMxI,IAC/BqI,GAAUE,EAAoB,IAAhBI,KAAKC,SAAiB,GAItC,OAAOP,EAAOrE,UAAUsE,EAAKA,IAAQ1H,G,ICRjB,EACjB,aAAyB,IAAbhD,EAAa,uDAAF,GAAE,uBAkBzB,KAAAiL,KAAeH,IACf,KAAAI,KAAyB,KAlBjBlL,EAAImL,KACAnL,EAAImL,gBAAgBC,KACpBpO,KAAKmO,KAAOnL,EAAImL,KAGhBnO,KAAKmO,KAAO,IAAIC,KAAK,GAAIpL,EAAImL,KAAKvG,UAGtC5H,KAAKmO,KAAO,IAAIC,KAAK,GAAI,IAG7BpO,KAAKiD,GAAKD,EAAIC,GACdjD,KAAKkO,KAAOlL,EAAIkL,KAAO,IAAI,OAAUlL,EAAIkL,MAAQ,O,oCCjBzD,yBAAiiB,EAAG,G,kCCO7hB,IAAIG,EAPX,kCAQA,SAAWA,GAEPA,EAASA,EAAS,SAAW,GAAK,QAElCA,EAASA,EAAS,SAAW,GAAK,QAElCA,EAASA,EAAS,eAAiB,GAAK,cAExCA,EAASA,EAAS,WAAa,GAAK,UAEpCA,EAASA,EAAS,SAAW,GAAK,QAElCA,EAASA,EAAS,YAAc,GAAK,WAErCA,EAASA,EAAS,QAAU,GAAK,OAdrC,CAeGA,IAAaA,EAAW,M,oCCvB3B,kCAGA,IAAIC,EAA4B,WAC5B,SAASA,KAQT,OAJAA,EAAWnG,UAAUkE,IAAM,SAAUkC,EAAWC,KAGhDF,EAAWG,SAAW,IAAIH,EACnBA,EAToB,I,oCCH/B,oEAEA,IAAIpE,EAAsCT,OAAOU,QAAU,SAAStJ,GAChE,IAAK,IAAIuJ,EAAGhF,EAAI,EAAGiF,EAAIC,UAAUhF,OAAQF,EAAIiF,EAAGjF,IAE5C,IAAK,IAAI0E,KADTM,EAAIE,UAAUlF,GACAgF,EAAOX,OAAOtB,UAAUtG,eAAe0I,KAAKH,EAAGN,KACzDjJ,EAAEiJ,GAAKM,EAAEN,IAEjB,OAAOjJ,GAGP6N,EAA8B,WAC9B,SAASA,EAAanC,EAAYoC,EAAYnD,GAC1CxL,KAAKuM,WAAaA,EAClBvM,KAAK2O,WAAaA,EAClB3O,KAAKwL,QAAUA,EAEnB,OAAOkD,EANsB,GAa7BE,EAA4B,WAC5B,SAASA,KAoBT,OAlBAA,EAAWzG,UAAU0G,IAAM,SAAUlD,EAAKmD,GACtC,OAAO9O,KAAKkL,KAAKhB,EAAS,GAAI4E,EAAS,CAAE9C,OAAQ,MAAOL,IAAKA,MAEjEiD,EAAWzG,UAAU4G,KAAO,SAAUpD,EAAKmD,GACvC,OAAO9O,KAAKkL,KAAKhB,EAAS,GAAI4E,EAAS,CAAE9C,OAAQ,OAAQL,IAAKA,MAElEiD,EAAWzG,UAAU6G,OAAS,SAAUrD,EAAKmD,GACzC,OAAO9O,KAAKkL,KAAKhB,EAAS,GAAI4E,EAAS,CAAE9C,OAAQ,SAAUL,IAAKA,MAQpEiD,EAAWzG,UAAUuE,gBAAkB,SAAUf,GAC7C,MAAO,IAEJiD,EArBoB,I,mBCxB/BlK,EAAQuK,KAAO,SAAU/F,EAAQgG,EAAQC,EAAMC,EAAMC,GACnD,IAAIC,EAAGC,EACHC,EAAiB,EAATH,EAAcD,EAAO,EAC7BK,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBE,GAAS,EACTvK,EAAI+J,EAAQE,EAAS,EAAK,EAC1BzF,EAAIuF,GAAQ,EAAI,EAChB/E,EAAIlB,EAAOgG,EAAS9J,GAOxB,IALAA,GAAKwE,EAEL0F,EAAIlF,GAAM,IAAOuF,GAAU,EAC3BvF,KAAQuF,EACRA,GAASH,EACFG,EAAQ,EAAGL,EAAS,IAAJA,EAAWpG,EAAOgG,EAAS9J,GAAIA,GAAKwE,EAAG+F,GAAS,GAKvE,IAHAJ,EAAID,GAAM,IAAOK,GAAU,EAC3BL,KAAQK,EACRA,GAASP,EACFO,EAAQ,EAAGJ,EAAS,IAAJA,EAAWrG,EAAOgG,EAAS9J,GAAIA,GAAKwE,EAAG+F,GAAS,GAEvE,GAAU,IAANL,EACFA,EAAI,EAAII,MACH,IAAIJ,IAAMG,EACf,OAAOF,EAAIK,IAAsBC,KAAdzF,GAAK,EAAI,GAE5BmF,GAAQxB,KAAK+B,IAAI,EAAGV,GACpBE,GAAQI,EAEV,OAAQtF,GAAK,EAAI,GAAKmF,EAAIxB,KAAK+B,IAAI,EAAGR,EAAIF,IAG5C1K,EAAQuC,MAAQ,SAAUiC,EAAQrJ,EAAOqP,EAAQC,EAAMC,EAAMC,GAC3D,IAAIC,EAAGC,EAAGQ,EACNP,EAAiB,EAATH,EAAcD,EAAO,EAC7BK,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBO,EAAe,KAATZ,EAAcrB,KAAK+B,IAAI,GAAI,IAAM/B,KAAK+B,IAAI,GAAI,IAAM,EAC1D1K,EAAI+J,EAAO,EAAKE,EAAS,EACzBzF,EAAIuF,EAAO,GAAK,EAChB/E,EAAIvK,EAAQ,GAAgB,IAAVA,GAAe,EAAIA,EAAQ,EAAK,EAAI,EAmC1D,IAjCAA,EAAQkO,KAAKkC,IAAIpQ,GAEbqQ,MAAMrQ,IAAUA,IAAUgQ,KAC5BN,EAAIW,MAAMrQ,GAAS,EAAI,EACvByP,EAAIG,IAEJH,EAAIvB,KAAKoC,MAAMpC,KAAK1B,IAAIxM,GAASkO,KAAKqC,KAClCvQ,GAASkQ,EAAIhC,KAAK+B,IAAI,GAAIR,IAAM,IAClCA,IACAS,GAAK,GAGLlQ,GADEyP,EAAII,GAAS,EACNM,EAAKD,EAELC,EAAKjC,KAAK+B,IAAI,EAAG,EAAIJ,GAE5B7P,EAAQkQ,GAAK,IACfT,IACAS,GAAK,GAGHT,EAAII,GAASD,GACfF,EAAI,EACJD,EAAIG,GACKH,EAAII,GAAS,GACtBH,GAAM1P,EAAQkQ,EAAK,GAAKhC,KAAK+B,IAAI,EAAGV,GACpCE,GAAQI,IAERH,EAAI1P,EAAQkO,KAAK+B,IAAI,EAAGJ,EAAQ,GAAK3B,KAAK+B,IAAI,EAAGV,GACjDE,EAAI,IAIDF,GAAQ,EAAGlG,EAAOgG,EAAS9J,GAAS,IAAJmK,EAAUnK,GAAKwE,EAAG2F,GAAK,IAAKH,GAAQ,GAI3E,IAFAE,EAAKA,GAAKF,EAAQG,EAClBC,GAAQJ,EACDI,EAAO,EAAGtG,EAAOgG,EAAS9J,GAAS,IAAJkK,EAAUlK,GAAKwE,EAAG0F,GAAK,IAAKE,GAAQ,GAE1EtG,EAAOgG,EAAS9J,EAAIwE,IAAU,IAAJQ,I,kCClF5B,yBAA+hB,EAAG,G,mCCAliB;;;;;;;AAUA,IAAIiG,EAAS,EAAQ,QACjBC,EAAU,EAAQ,QAClBC,EAAU,EAAQ,QAuCtB,SAASC,IACP,IACE,IAAIvK,EAAM,IAAIhB,WAAW,GAEzB,OADAgB,EAAI0D,UAAY,CAACA,UAAW1E,WAAWkD,UAAWsI,IAAK,WAAc,OAAO,KACvD,KAAdxK,EAAIwK,OACiB,oBAAjBxK,EAAIyK,UACuB,IAAlCzK,EAAIyK,SAAS,EAAG,GAAG/L,WACvB,MAAO2K,GACP,OAAO,GAIX,SAASqB,IACP,OAAO/H,EAAOgI,oBACV,WACA,WAGN,SAASC,EAAcC,EAAMxL,GAC3B,GAAIqL,IAAerL,EACjB,MAAM,IAAIyL,WAAW,8BAcvB,OAZInI,EAAOgI,qBAETE,EAAO,IAAI7L,WAAWK,GACtBwL,EAAKnH,UAAYf,EAAOT,YAGX,OAAT2I,IACFA,EAAO,IAAIlI,EAAOtD,IAEpBwL,EAAKxL,OAASA,GAGTwL,EAaT,SAASlI,EAAQoI,EAAKC,EAAkB3L,GACtC,IAAKsD,EAAOgI,uBAAyB5Q,gBAAgB4I,GACnD,OAAO,IAAIA,EAAOoI,EAAKC,EAAkB3L,GAI3C,GAAmB,kBAAR0L,EAAkB,CAC3B,GAAgC,kBAArBC,EACT,MAAM,IAAIvL,MACR,qEAGJ,OAAOwL,EAAYlR,KAAMgR,GAE3B,OAAOvF,EAAKzL,KAAMgR,EAAKC,EAAkB3L,GAW3C,SAASmG,EAAMqF,EAAMjR,EAAOoR,EAAkB3L,GAC5C,GAAqB,kBAAVzF,EACT,MAAM,IAAIsR,UAAU,yCAGtB,MAA2B,qBAAhBC,aAA+BvR,aAAiBuR,YAClDC,EAAgBP,EAAMjR,EAAOoR,EAAkB3L,GAGnC,kBAAVzF,EACFyR,EAAWR,EAAMjR,EAAOoR,GAG1BM,EAAWT,EAAMjR,GA4B1B,SAAS2R,EAAYC,GACnB,GAAoB,kBAATA,EACT,MAAM,IAAIN,UAAU,oCACf,GAAIM,EAAO,EAChB,MAAM,IAAIV,WAAW,wCAIzB,SAASW,EAAOZ,EAAMW,EAAME,EAAM9F,GAEhC,OADA2F,EAAWC,GACPA,GAAQ,EACHZ,EAAaC,EAAMW,QAEfnN,IAATqN,EAIyB,kBAAb9F,EACVgF,EAAaC,EAAMW,GAAME,KAAKA,EAAM9F,GACpCgF,EAAaC,EAAMW,GAAME,KAAKA,GAE7Bd,EAAaC,EAAMW,GAW5B,SAASP,EAAaJ,EAAMW,GAG1B,GAFAD,EAAWC,GACXX,EAAOD,EAAaC,EAAMW,EAAO,EAAI,EAAoB,EAAhBG,EAAQH,KAC5C7I,EAAOgI,oBACV,IAAK,IAAIxL,EAAI,EAAGA,EAAIqM,IAAQrM,EAC1B0L,EAAK1L,GAAK,EAGd,OAAO0L,EAgBT,SAASQ,EAAYR,EAAMe,EAAQhG,GAKjC,GAJwB,kBAAbA,GAAsC,KAAbA,IAClCA,EAAW,SAGRjD,EAAOkJ,WAAWjG,GACrB,MAAM,IAAIsF,UAAU,8CAGtB,IAAI7L,EAAwC,EAA/BX,EAAWkN,EAAQhG,GAChCiF,EAAOD,EAAaC,EAAMxL,GAE1B,IAAIyM,EAASjB,EAAK7J,MAAM4K,EAAQhG,GAShC,OAPIkG,IAAWzM,IAIbwL,EAAOA,EAAK7H,MAAM,EAAG8I,IAGhBjB,EAGT,SAASkB,EAAelB,EAAMmB,GAC5B,IAAI3M,EAAS2M,EAAM3M,OAAS,EAAI,EAA4B,EAAxBsM,EAAQK,EAAM3M,QAClDwL,EAAOD,EAAaC,EAAMxL,GAC1B,IAAK,IAAIF,EAAI,EAAGA,EAAIE,EAAQF,GAAK,EAC/B0L,EAAK1L,GAAgB,IAAX6M,EAAM7M,GAElB,OAAO0L,EAGT,SAASO,EAAiBP,EAAMmB,EAAOC,EAAY5M,GAGjD,GAFA2M,EAAMtN,WAEFuN,EAAa,GAAKD,EAAMtN,WAAauN,EACvC,MAAM,IAAInB,WAAW,6BAGvB,GAAIkB,EAAMtN,WAAauN,GAAc5M,GAAU,GAC7C,MAAM,IAAIyL,WAAW,6BAmBvB,OAfEkB,OADiB3N,IAAf4N,QAAuC5N,IAAXgB,EACtB,IAAIL,WAAWgN,QACH3N,IAAXgB,EACD,IAAIL,WAAWgN,EAAOC,GAEtB,IAAIjN,WAAWgN,EAAOC,EAAY5M,GAGxCsD,EAAOgI,qBAETE,EAAOmB,EACPnB,EAAKnH,UAAYf,EAAOT,WAGxB2I,EAAOkB,EAAclB,EAAMmB,GAEtBnB,EAGT,SAASS,EAAYT,EAAM9N,GACzB,GAAI4F,EAAOuJ,SAASnP,GAAM,CACxB,IAAIqC,EAA4B,EAAtBuM,EAAQ5O,EAAIsC,QAGtB,OAFAwL,EAAOD,EAAaC,EAAMzL,GAEN,IAAhByL,EAAKxL,OACAwL,GAGT9N,EAAIoP,KAAKtB,EAAM,EAAG,EAAGzL,GACdyL,GAGT,GAAI9N,EAAK,CACP,GAA4B,qBAAhBoO,aACRpO,EAAIkG,kBAAkBkI,aAAgB,WAAYpO,EACpD,MAA0B,kBAAfA,EAAIsC,QAAuB+M,GAAMrP,EAAIsC,QACvCuL,EAAaC,EAAM,GAErBkB,EAAclB,EAAM9N,GAG7B,GAAiB,WAAbA,EAAIjE,MAAqBwR,EAAQvN,EAAI/C,MACvC,OAAO+R,EAAclB,EAAM9N,EAAI/C,MAInC,MAAM,IAAIkR,UAAU,sFAGtB,SAASS,EAAStM,GAGhB,GAAIA,GAAUqL,IACZ,MAAM,IAAII,WAAW,0DACaJ,IAAa9C,SAAS,IAAM,UAEhE,OAAgB,EAATvI,EAGT,SAASgN,EAAYhN,GAInB,OAHKA,GAAUA,IACbA,EAAS,GAEJsD,EAAO8I,OAAOpM,GA+EvB,SAASX,EAAYkN,EAAQhG,GAC3B,GAAIjD,EAAOuJ,SAASN,GAClB,OAAOA,EAAOvM,OAEhB,GAA2B,qBAAhB8L,aAA6D,oBAAvBA,YAAYmB,SACxDnB,YAAYmB,OAAOV,IAAWA,aAAkBT,aACnD,OAAOS,EAAOlN,WAEM,kBAAXkN,IACTA,EAAS,GAAKA,GAGhB,IAAIxM,EAAMwM,EAAOvM,OACjB,GAAY,IAARD,EAAW,OAAO,EAItB,IADA,IAAImN,GAAc,IAEhB,OAAQ3G,GACN,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAOxG,EACT,IAAK,OACL,IAAK,QACL,UAAKf,EACH,OAAOmO,EAAYZ,GAAQvM,OAC7B,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAa,EAAND,EACT,IAAK,MACH,OAAOA,IAAQ,EACjB,IAAK,SACH,OAAOqN,EAAcb,GAAQvM,OAC/B,QACE,GAAIkN,EAAa,OAAOC,EAAYZ,GAAQvM,OAC5CuG,GAAY,GAAKA,GAAU8G,cAC3BH,GAAc,GAMtB,SAASI,EAAc/G,EAAUtF,EAAOC,GACtC,IAAIgM,GAAc,EAclB,SALclO,IAAViC,GAAuBA,EAAQ,KACjCA,EAAQ,GAINA,EAAQvG,KAAKsF,OACf,MAAO,GAOT,SAJYhB,IAARkC,GAAqBA,EAAMxG,KAAKsF,UAClCkB,EAAMxG,KAAKsF,QAGTkB,GAAO,EACT,MAAO,GAOT,GAHAA,KAAS,EACTD,KAAW,EAEPC,GAAOD,EACT,MAAO,GAGJsF,IAAUA,EAAW,QAE1B,MAAO,EACL,OAAQA,GACN,IAAK,MACH,OAAOgH,EAAS7S,KAAMuG,EAAOC,GAE/B,IAAK,OACL,IAAK,QACH,OAAOsM,EAAU9S,KAAMuG,EAAOC,GAEhC,IAAK,QACH,OAAOuM,EAAW/S,KAAMuG,EAAOC,GAEjC,IAAK,SACL,IAAK,SACH,OAAOwM,EAAYhT,KAAMuG,EAAOC,GAElC,IAAK,SACH,OAAOyM,EAAYjT,KAAMuG,EAAOC,GAElC,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO0M,EAAalT,KAAMuG,EAAOC,GAEnC,QACE,GAAIgM,EAAa,MAAM,IAAIrB,UAAU,qBAAuBtF,GAC5DA,GAAYA,EAAW,IAAI8G,cAC3BH,GAAc,GAStB,SAASW,EAAMtJ,EAAGQ,EAAGkF,GACnB,IAAInK,EAAIyE,EAAEQ,GACVR,EAAEQ,GAAKR,EAAE0F,GACT1F,EAAE0F,GAAKnK,EAmIT,SAASgO,EAAsBlK,EAAQzJ,EAAKyS,EAAYrG,EAAUwH,GAEhE,GAAsB,IAAlBnK,EAAO5D,OAAc,OAAQ,EAmBjC,GAhB0B,kBAAf4M,GACTrG,EAAWqG,EACXA,EAAa,GACJA,EAAa,WACtBA,EAAa,WACJA,GAAc,aACvBA,GAAc,YAEhBA,GAAcA,EACVhC,MAAMgC,KAERA,EAAamB,EAAM,EAAKnK,EAAO5D,OAAS,GAItC4M,EAAa,IAAGA,EAAahJ,EAAO5D,OAAS4M,GAC7CA,GAAchJ,EAAO5D,OAAQ,CAC/B,GAAI+N,EAAK,OAAQ,EACZnB,EAAahJ,EAAO5D,OAAS,OAC7B,GAAI4M,EAAa,EAAG,CACzB,IAAImB,EACC,OAAQ,EADJnB,EAAa,EAUxB,GALmB,kBAARzS,IACTA,EAAMmJ,EAAO6C,KAAKhM,EAAKoM,IAIrBjD,EAAOuJ,SAAS1S,GAElB,OAAmB,IAAfA,EAAI6F,QACE,EAEHgO,EAAapK,EAAQzJ,EAAKyS,EAAYrG,EAAUwH,GAClD,GAAmB,kBAAR5T,EAEhB,OADAA,GAAY,IACRmJ,EAAOgI,qBACiC,oBAAjC3L,WAAWkD,UAAUvC,QAC1ByN,EACKpO,WAAWkD,UAAUvC,QAAQ2E,KAAKrB,EAAQzJ,EAAKyS,GAE/CjN,WAAWkD,UAAUoL,YAAYhJ,KAAKrB,EAAQzJ,EAAKyS,GAGvDoB,EAAapK,EAAQ,CAAEzJ,GAAOyS,EAAYrG,EAAUwH,GAG7D,MAAM,IAAIlC,UAAU,wCAGtB,SAASmC,EAAcrN,EAAKxG,EAAKyS,EAAYrG,EAAUwH,GACrD,IA0BIjO,EA1BAoO,EAAY,EACZC,EAAYxN,EAAIX,OAChBoO,EAAYjU,EAAI6F,OAEpB,QAAiBhB,IAAbuH,IACFA,EAAWjN,OAAOiN,GAAU8G,cACX,SAAb9G,GAAoC,UAAbA,GACV,YAAbA,GAAuC,aAAbA,GAAyB,CACrD,GAAI5F,EAAIX,OAAS,GAAK7F,EAAI6F,OAAS,EACjC,OAAQ,EAEVkO,EAAY,EACZC,GAAa,EACbC,GAAa,EACbxB,GAAc,EAIlB,SAASjD,EAAM0E,EAAKvO,GAClB,OAAkB,IAAdoO,EACKG,EAAIvO,GAEJuO,EAAIC,aAAaxO,EAAIoO,GAKhC,GAAIH,EAAK,CACP,IAAIQ,GAAc,EAClB,IAAKzO,EAAI8M,EAAY9M,EAAIqO,EAAWrO,IAClC,GAAI6J,EAAKhJ,EAAKb,KAAO6J,EAAKxP,GAAqB,IAAhBoU,EAAoB,EAAIzO,EAAIyO,IAEzD,IADoB,IAAhBA,IAAmBA,EAAazO,GAChCA,EAAIyO,EAAa,IAAMH,EAAW,OAAOG,EAAaL,OAEtC,IAAhBK,IAAmBzO,GAAKA,EAAIyO,GAChCA,GAAc,OAKlB,IADI3B,EAAawB,EAAYD,IAAWvB,EAAauB,EAAYC,GAC5DtO,EAAI8M,EAAY9M,GAAK,EAAGA,IAAK,CAEhC,IADA,IAAI0O,GAAQ,EACHC,EAAI,EAAGA,EAAIL,EAAWK,IAC7B,GAAI9E,EAAKhJ,EAAKb,EAAI2O,KAAO9E,EAAKxP,EAAKsU,GAAI,CACrCD,GAAQ,EACR,MAGJ,GAAIA,EAAO,OAAO1O,EAItB,OAAQ,EAeV,SAAS4O,EAAUL,EAAK9B,EAAQ3C,EAAQ5J,GACtC4J,EAAS+E,OAAO/E,IAAW,EAC3B,IAAIgF,EAAYP,EAAIrO,OAAS4J,EACxB5J,GAGHA,EAAS2O,OAAO3O,GACZA,EAAS4O,IACX5O,EAAS4O,IAJX5O,EAAS4O,EASX,IAAIC,EAAStC,EAAOvM,OACpB,GAAI6O,EAAS,IAAM,EAAG,MAAM,IAAIhD,UAAU,sBAEtC7L,EAAS6O,EAAS,IACpB7O,EAAS6O,EAAS,GAEpB,IAAK,IAAI/O,EAAI,EAAGA,EAAIE,IAAUF,EAAG,CAC/B,IAAIgP,EAASC,SAASxC,EAAOyC,OAAW,EAAJlP,EAAO,GAAI,IAC/C,GAAI8K,MAAMkE,GAAS,OAAOhP,EAC1BuO,EAAIzE,EAAS9J,GAAKgP,EAEpB,OAAOhP,EAGT,SAASmP,EAAWZ,EAAK9B,EAAQ3C,EAAQ5J,GACvC,OAAOkP,GAAW/B,EAAYZ,EAAQ8B,EAAIrO,OAAS4J,GAASyE,EAAKzE,EAAQ5J,GAG3E,SAASmP,EAAYd,EAAK9B,EAAQ3C,EAAQ5J,GACxC,OAAOkP,GAAWE,EAAa7C,GAAS8B,EAAKzE,EAAQ5J,GAGvD,SAASqP,EAAahB,EAAK9B,EAAQ3C,EAAQ5J,GACzC,OAAOmP,EAAWd,EAAK9B,EAAQ3C,EAAQ5J,GAGzC,SAASsP,EAAajB,EAAK9B,EAAQ3C,EAAQ5J,GACzC,OAAOkP,GAAW9B,EAAcb,GAAS8B,EAAKzE,EAAQ5J,GAGxD,SAASuP,EAAWlB,EAAK9B,EAAQ3C,EAAQ5J,GACvC,OAAOkP,GAAWM,EAAejD,EAAQ8B,EAAIrO,OAAS4J,GAASyE,EAAKzE,EAAQ5J,GAkF9E,SAAS2N,EAAaU,EAAKpN,EAAOC,GAChC,OAAc,IAAVD,GAAeC,IAAQmN,EAAIrO,OACtB+K,EAAOxL,cAAc8O,GAErBtD,EAAOxL,cAAc8O,EAAI1K,MAAM1C,EAAOC,IAIjD,SAASsM,EAAWa,EAAKpN,EAAOC,GAC9BA,EAAMuH,KAAKgH,IAAIpB,EAAIrO,OAAQkB,GAC3B,IAAIwO,EAAM,GAEN5P,EAAImB,EACR,MAAOnB,EAAIoB,EAAK,CACd,IAQMyO,EAAYC,EAAWC,EAAYC,EARrCC,EAAY1B,EAAIvO,GAChBkQ,EAAY,KACZC,EAAoBF,EAAY,IAAQ,EACvCA,EAAY,IAAQ,EACpBA,EAAY,IAAQ,EACrB,EAEJ,GAAIjQ,EAAImQ,GAAoB/O,EAG1B,OAAQ+O,GACN,KAAK,EACCF,EAAY,MACdC,EAAYD,GAEd,MACF,KAAK,EACHJ,EAAatB,EAAIvO,EAAI,GACO,OAAV,IAAb6P,KACHG,GAA6B,GAAZC,IAAqB,EAAoB,GAAbJ,EACzCG,EAAgB,MAClBE,EAAYF,IAGhB,MACF,KAAK,EACHH,EAAatB,EAAIvO,EAAI,GACrB8P,EAAYvB,EAAIvO,EAAI,GACQ,OAAV,IAAb6P,IAAsD,OAAV,IAAZC,KACnCE,GAA6B,GAAZC,IAAoB,IAAoB,GAAbJ,IAAsB,EAAmB,GAAZC,EACrEE,EAAgB,OAAUA,EAAgB,OAAUA,EAAgB,SACtEE,EAAYF,IAGhB,MACF,KAAK,EACHH,EAAatB,EAAIvO,EAAI,GACrB8P,EAAYvB,EAAIvO,EAAI,GACpB+P,EAAaxB,EAAIvO,EAAI,GACO,OAAV,IAAb6P,IAAsD,OAAV,IAAZC,IAAsD,OAAV,IAAbC,KAClEC,GAA6B,GAAZC,IAAoB,IAAqB,GAAbJ,IAAsB,IAAmB,GAAZC,IAAqB,EAAoB,GAAbC,EAClGC,EAAgB,OAAUA,EAAgB,UAC5CE,EAAYF,IAMJ,OAAdE,GAGFA,EAAY,MACZC,EAAmB,GACVD,EAAY,QAErBA,GAAa,MACbN,EAAItO,KAAK4O,IAAc,GAAK,KAAQ,OACpCA,EAAY,MAAqB,KAAZA,GAGvBN,EAAItO,KAAK4O,GACTlQ,GAAKmQ,EAGP,OAAOC,EAAsBR,GA98B/BtQ,EAAQkE,OAASA,EACjBlE,EAAQ4N,WAAaA,EACrB5N,EAAQ+Q,kBAAoB,GA0B5B7M,EAAOgI,yBAAqDtM,IAA/BoR,EAAO9E,oBAChC8E,EAAO9E,oBACPJ,IAKJ9L,EAAQiM,WAAaA,IAkErB/H,EAAO+M,SAAW,KAGlB/M,EAAOgN,SAAW,SAAU3P,GAE1B,OADAA,EAAI0D,UAAYf,EAAOT,UAChBlC,GA2BT2C,EAAO6C,KAAO,SAAU5L,EAAOoR,EAAkB3L,GAC/C,OAAOmG,EAAK,KAAM5L,EAAOoR,EAAkB3L,IAGzCsD,EAAOgI,sBACThI,EAAOT,UAAUwB,UAAY1E,WAAWkD,UACxCS,EAAOe,UAAY1E,WACG,qBAAX4Q,QAA0BA,OAAOC,SACxClN,EAAOiN,OAAOC,WAAalN,GAE7Ba,OAAOsM,eAAenN,EAAQiN,OAAOC,QAAS,CAC5CjW,MAAO,KACPmW,cAAc,KAiCpBpN,EAAO8I,MAAQ,SAAUD,EAAME,EAAM9F,GACnC,OAAO6F,EAAM,KAAMD,EAAME,EAAM9F,IAiBjCjD,EAAOsI,YAAc,SAAUO,GAC7B,OAAOP,EAAY,KAAMO,IAK3B7I,EAAOqN,gBAAkB,SAAUxE,GACjC,OAAOP,EAAY,KAAMO,IAiH3B7I,EAAOuJ,SAAW,SAAmBtI,GACnC,QAAe,MAALA,IAAaA,EAAEqM,YAG3BtN,EAAOuN,QAAU,SAAkBC,EAAGvM,GACpC,IAAKjB,EAAOuJ,SAASiE,KAAOxN,EAAOuJ,SAAStI,GAC1C,MAAM,IAAIsH,UAAU,6BAGtB,GAAIiF,IAAMvM,EAAG,OAAO,EAKpB,IAHA,IAAIwM,EAAID,EAAE9Q,OACNgR,EAAIzM,EAAEvE,OAEDF,EAAI,EAAGC,EAAM0I,KAAKgH,IAAIsB,EAAGC,GAAIlR,EAAIC,IAAOD,EAC/C,GAAIgR,EAAEhR,KAAOyE,EAAEzE,GAAI,CACjBiR,EAAID,EAAEhR,GACNkR,EAAIzM,EAAEzE,GACN,MAIJ,OAAIiR,EAAIC,GAAW,EACfA,EAAID,EAAU,EACX,GAGTzN,EAAOkJ,WAAa,SAAqBjG,GACvC,OAAQjN,OAAOiN,GAAU8G,eACvB,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO,EACT,QACE,OAAO,IAIb/J,EAAO2N,OAAS,SAAiBC,EAAMlR,GACrC,IAAKiL,EAAQiG,GACX,MAAM,IAAIrF,UAAU,+CAGtB,GAAoB,IAAhBqF,EAAKlR,OACP,OAAOsD,EAAO8I,MAAM,GAGtB,IAAItM,EACJ,QAAed,IAAXgB,EAEF,IADAA,EAAS,EACJF,EAAI,EAAGA,EAAIoR,EAAKlR,SAAUF,EAC7BE,GAAUkR,EAAKpR,GAAGE,OAItB,IAAI4D,EAASN,EAAOsI,YAAY5L,GAC5BmR,EAAM,EACV,IAAKrR,EAAI,EAAGA,EAAIoR,EAAKlR,SAAUF,EAAG,CAChC,IAAIuO,EAAM6C,EAAKpR,GACf,IAAKwD,EAAOuJ,SAASwB,GACnB,MAAM,IAAIxC,UAAU,+CAEtBwC,EAAIvB,KAAKlJ,EAAQuN,GACjBA,GAAO9C,EAAIrO,OAEb,OAAO4D,GA8CTN,EAAOjE,WAAaA,EA0EpBiE,EAAOT,UAAU+N,WAAY,EAQ7BtN,EAAOT,UAAUuO,OAAS,WACxB,IAAIrR,EAAMrF,KAAKsF,OACf,GAAID,EAAM,IAAM,EACd,MAAM,IAAI0L,WAAW,6CAEvB,IAAK,IAAI3L,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAC5B+N,EAAKnT,KAAMoF,EAAGA,EAAI,GAEpB,OAAOpF,MAGT4I,EAAOT,UAAUwO,OAAS,WACxB,IAAItR,EAAMrF,KAAKsF,OACf,GAAID,EAAM,IAAM,EACd,MAAM,IAAI0L,WAAW,6CAEvB,IAAK,IAAI3L,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAC5B+N,EAAKnT,KAAMoF,EAAGA,EAAI,GAClB+N,EAAKnT,KAAMoF,EAAI,EAAGA,EAAI,GAExB,OAAOpF,MAGT4I,EAAOT,UAAUyO,OAAS,WACxB,IAAIvR,EAAMrF,KAAKsF,OACf,GAAID,EAAM,IAAM,EACd,MAAM,IAAI0L,WAAW,6CAEvB,IAAK,IAAI3L,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAC5B+N,EAAKnT,KAAMoF,EAAGA,EAAI,GAClB+N,EAAKnT,KAAMoF,EAAI,EAAGA,EAAI,GACtB+N,EAAKnT,KAAMoF,EAAI,EAAGA,EAAI,GACtB+N,EAAKnT,KAAMoF,EAAI,EAAGA,EAAI,GAExB,OAAOpF,MAGT4I,EAAOT,UAAU0F,SAAW,WAC1B,IAAIvI,EAAuB,EAAdtF,KAAKsF,OAClB,OAAe,IAAXA,EAAqB,GACA,IAArBgF,UAAUhF,OAAqBwN,EAAU9S,KAAM,EAAGsF,GAC/CsN,EAAa5J,MAAMhJ,KAAMsK,YAGlC1B,EAAOT,UAAU0O,OAAS,SAAiBhN,GACzC,IAAKjB,EAAOuJ,SAAStI,GAAI,MAAM,IAAIsH,UAAU,6BAC7C,OAAInR,OAAS6J,GACsB,IAA5BjB,EAAOuN,QAAQnW,KAAM6J,IAG9BjB,EAAOT,UAAU2O,QAAU,WACzB,IAAIC,EAAM,GACNC,EAAMtS,EAAQ+Q,kBAKlB,OAJIzV,KAAKsF,OAAS,IAChByR,EAAM/W,KAAK6N,SAAS,MAAO,EAAGmJ,GAAKC,MAAM,SAAStQ,KAAK,KACnD3G,KAAKsF,OAAS0R,IAAKD,GAAO,UAEzB,WAAaA,EAAM,KAG5BnO,EAAOT,UAAUgO,QAAU,SAAkBe,EAAQ3Q,EAAOC,EAAK2Q,EAAWC,GAC1E,IAAKxO,EAAOuJ,SAAS+E,GACnB,MAAM,IAAI/F,UAAU,6BAgBtB,QAbc7M,IAAViC,IACFA,EAAQ,QAEEjC,IAARkC,IACFA,EAAM0Q,EAASA,EAAO5R,OAAS,QAEfhB,IAAd6S,IACFA,EAAY,QAEE7S,IAAZ8S,IACFA,EAAUpX,KAAKsF,QAGbiB,EAAQ,GAAKC,EAAM0Q,EAAO5R,QAAU6R,EAAY,GAAKC,EAAUpX,KAAKsF,OACtE,MAAM,IAAIyL,WAAW,sBAGvB,GAAIoG,GAAaC,GAAW7Q,GAASC,EACnC,OAAO,EAET,GAAI2Q,GAAaC,EACf,OAAQ,EAEV,GAAI7Q,GAASC,EACX,OAAO,EAQT,GALAD,KAAW,EACXC,KAAS,EACT2Q,KAAe,EACfC,KAAa,EAETpX,OAASkX,EAAQ,OAAO,EAS5B,IAPA,IAAIb,EAAIe,EAAUD,EACdb,EAAI9P,EAAMD,EACVlB,EAAM0I,KAAKgH,IAAIsB,EAAGC,GAElBe,EAAWrX,KAAKiJ,MAAMkO,EAAWC,GACjCE,EAAaJ,EAAOjO,MAAM1C,EAAOC,GAE5BpB,EAAI,EAAGA,EAAIC,IAAOD,EACzB,GAAIiS,EAASjS,KAAOkS,EAAWlS,GAAI,CACjCiR,EAAIgB,EAASjS,GACbkR,EAAIgB,EAAWlS,GACf,MAIJ,OAAIiR,EAAIC,GAAW,EACfA,EAAID,EAAU,EACX,GA6HTzN,EAAOT,UAAU5G,SAAW,SAAmB9B,EAAKyS,EAAYrG,GAC9D,OAAoD,IAA7C7L,KAAK4F,QAAQnG,EAAKyS,EAAYrG,IAGvCjD,EAAOT,UAAUvC,QAAU,SAAkBnG,EAAKyS,EAAYrG,GAC5D,OAAOuH,EAAqBpT,KAAMP,EAAKyS,EAAYrG,GAAU,IAG/DjD,EAAOT,UAAUoL,YAAc,SAAsB9T,EAAKyS,EAAYrG,GACpE,OAAOuH,EAAqBpT,KAAMP,EAAKyS,EAAYrG,GAAU,IAkD/DjD,EAAOT,UAAUlB,MAAQ,SAAgB4K,EAAQ3C,EAAQ5J,EAAQuG,GAE/D,QAAevH,IAAX4K,EACFrD,EAAW,OACXvG,EAAStF,KAAKsF,OACd4J,EAAS,OAEJ,QAAe5K,IAAXgB,GAA0C,kBAAX4J,EACxCrD,EAAWqD,EACX5J,EAAStF,KAAKsF,OACd4J,EAAS,MAEJ,KAAIqI,SAASrI,GAWlB,MAAM,IAAIxJ,MACR,2EAXFwJ,GAAkB,EACdqI,SAASjS,IACXA,GAAkB,OACDhB,IAAbuH,IAAwBA,EAAW,UAEvCA,EAAWvG,EACXA,OAAShB,GASb,IAAI4P,EAAYlU,KAAKsF,OAAS4J,EAG9B,SAFe5K,IAAXgB,GAAwBA,EAAS4O,KAAW5O,EAAS4O,GAEpDrC,EAAOvM,OAAS,IAAMA,EAAS,GAAK4J,EAAS,IAAOA,EAASlP,KAAKsF,OACrE,MAAM,IAAIyL,WAAW,0CAGlBlF,IAAUA,EAAW,QAG1B,IADA,IAAI2G,GAAc,IAEhB,OAAQ3G,GACN,IAAK,MACH,OAAOmI,EAAShU,KAAM6R,EAAQ3C,EAAQ5J,GAExC,IAAK,OACL,IAAK,QACH,OAAOiP,EAAUvU,KAAM6R,EAAQ3C,EAAQ5J,GAEzC,IAAK,QACH,OAAOmP,EAAWzU,KAAM6R,EAAQ3C,EAAQ5J,GAE1C,IAAK,SACL,IAAK,SACH,OAAOqP,EAAY3U,KAAM6R,EAAQ3C,EAAQ5J,GAE3C,IAAK,SAEH,OAAOsP,EAAY5U,KAAM6R,EAAQ3C,EAAQ5J,GAE3C,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOuP,EAAU7U,KAAM6R,EAAQ3C,EAAQ5J,GAEzC,QACE,GAAIkN,EAAa,MAAM,IAAIrB,UAAU,qBAAuBtF,GAC5DA,GAAY,GAAKA,GAAU8G,cAC3BH,GAAc,IAKtB5J,EAAOT,UAAUqP,OAAS,WACxB,MAAO,CACLzY,KAAM,SACNkB,KAAMiF,MAAMiD,UAAUc,MAAMsB,KAAKvK,KAAKyX,MAAQzX,KAAM,KAwFxD,IAAI0X,EAAuB,KAE3B,SAASlC,EAAuBmC,GAC9B,IAAItS,EAAMsS,EAAWrS,OACrB,GAAID,GAAOqS,EACT,OAAO9Y,OAAO6I,aAAauB,MAAMpK,OAAQ+Y,GAI3C,IAAI3C,EAAM,GACN5P,EAAI,EACR,MAAOA,EAAIC,EACT2P,GAAOpW,OAAO6I,aAAauB,MACzBpK,OACA+Y,EAAW1O,MAAM7D,EAAGA,GAAKsS,IAG7B,OAAO1C,EAGT,SAASjC,EAAYY,EAAKpN,EAAOC,GAC/B,IAAIoR,EAAM,GACVpR,EAAMuH,KAAKgH,IAAIpB,EAAIrO,OAAQkB,GAE3B,IAAK,IAAIpB,EAAImB,EAAOnB,EAAIoB,IAAOpB,EAC7BwS,GAAOhZ,OAAO6I,aAAsB,IAATkM,EAAIvO,IAEjC,OAAOwS,EAGT,SAAS5E,EAAaW,EAAKpN,EAAOC,GAChC,IAAIoR,EAAM,GACVpR,EAAMuH,KAAKgH,IAAIpB,EAAIrO,OAAQkB,GAE3B,IAAK,IAAIpB,EAAImB,EAAOnB,EAAIoB,IAAOpB,EAC7BwS,GAAOhZ,OAAO6I,aAAakM,EAAIvO,IAEjC,OAAOwS,EAGT,SAAS/E,EAAUc,EAAKpN,EAAOC,GAC7B,IAAInB,EAAMsO,EAAIrO,SAETiB,GAASA,EAAQ,KAAGA,EAAQ,KAC5BC,GAAOA,EAAM,GAAKA,EAAMnB,KAAKmB,EAAMnB,GAGxC,IADA,IAAIwS,EAAM,GACDzS,EAAImB,EAAOnB,EAAIoB,IAAOpB,EAC7ByS,GAAOC,EAAMnE,EAAIvO,IAEnB,OAAOyS,EAGT,SAAS3E,EAAcS,EAAKpN,EAAOC,GAGjC,IAFA,IAAIuR,EAAQpE,EAAI1K,MAAM1C,EAAOC,GACzBwO,EAAM,GACD5P,EAAI,EAAGA,EAAI2S,EAAMzS,OAAQF,GAAK,EACrC4P,GAAOpW,OAAO6I,aAAasQ,EAAM3S,GAAoB,IAAf2S,EAAM3S,EAAI,IAElD,OAAO4P,EA0CT,SAASgD,EAAa9I,EAAQ+I,EAAK3S,GACjC,GAAK4J,EAAS,IAAO,GAAKA,EAAS,EAAG,MAAM,IAAI6B,WAAW,sBAC3D,GAAI7B,EAAS+I,EAAM3S,EAAQ,MAAM,IAAIyL,WAAW,yCA+JlD,SAASmH,EAAUvE,EAAK9T,EAAOqP,EAAQ+I,EAAKjB,EAAKjC,GAC/C,IAAKnM,EAAOuJ,SAASwB,GAAM,MAAM,IAAIxC,UAAU,+CAC/C,GAAItR,EAAQmX,GAAOnX,EAAQkV,EAAK,MAAM,IAAIhE,WAAW,qCACrD,GAAI7B,EAAS+I,EAAMtE,EAAIrO,OAAQ,MAAM,IAAIyL,WAAW,sBAkDtD,SAASoH,EAAmBxE,EAAK9T,EAAOqP,EAAQkJ,GAC1CvY,EAAQ,IAAGA,EAAQ,MAASA,EAAQ,GACxC,IAAK,IAAIuF,EAAI,EAAG2O,EAAIhG,KAAKgH,IAAIpB,EAAIrO,OAAS4J,EAAQ,GAAI9J,EAAI2O,IAAK3O,EAC7DuO,EAAIzE,EAAS9J,IAAMvF,EAAS,KAAS,GAAKuY,EAAehT,EAAI,EAAIA,MAClC,GAA5BgT,EAAehT,EAAI,EAAIA,GA8B9B,SAASiT,EAAmB1E,EAAK9T,EAAOqP,EAAQkJ,GAC1CvY,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GAC5C,IAAK,IAAIuF,EAAI,EAAG2O,EAAIhG,KAAKgH,IAAIpB,EAAIrO,OAAS4J,EAAQ,GAAI9J,EAAI2O,IAAK3O,EAC7DuO,EAAIzE,EAAS9J,GAAMvF,IAAuC,GAA5BuY,EAAehT,EAAI,EAAIA,GAAU,IAmJnE,SAASkT,EAAc3E,EAAK9T,EAAOqP,EAAQ+I,EAAKjB,EAAKjC,GACnD,GAAI7F,EAAS+I,EAAMtE,EAAIrO,OAAQ,MAAM,IAAIyL,WAAW,sBACpD,GAAI7B,EAAS,EAAG,MAAM,IAAI6B,WAAW,sBAGvC,SAASwH,EAAY5E,EAAK9T,EAAOqP,EAAQkJ,EAAcI,GAKrD,OAJKA,GACHF,EAAa3E,EAAK9T,EAAOqP,EAAQ,EAAG,sBAAyB,sBAE/DoB,EAAQrJ,MAAM0M,EAAK9T,EAAOqP,EAAQkJ,EAAc,GAAI,GAC7ClJ,EAAS,EAWlB,SAASuJ,EAAa9E,EAAK9T,EAAOqP,EAAQkJ,EAAcI,GAKtD,OAJKA,GACHF,EAAa3E,EAAK9T,EAAOqP,EAAQ,EAAG,uBAA0B,uBAEhEoB,EAAQrJ,MAAM0M,EAAK9T,EAAOqP,EAAQkJ,EAAc,GAAI,GAC7ClJ,EAAS,EA/clBtG,EAAOT,UAAUc,MAAQ,SAAgB1C,EAAOC,GAC9C,IAoBIkS,EApBArT,EAAMrF,KAAKsF,OAqBf,GApBAiB,IAAUA,EACVC,OAAclC,IAARkC,EAAoBnB,IAAQmB,EAE9BD,EAAQ,GACVA,GAASlB,EACLkB,EAAQ,IAAGA,EAAQ,IACdA,EAAQlB,IACjBkB,EAAQlB,GAGNmB,EAAM,GACRA,GAAOnB,EACHmB,EAAM,IAAGA,EAAM,IACVA,EAAMnB,IACfmB,EAAMnB,GAGJmB,EAAMD,IAAOC,EAAMD,GAGnBqC,EAAOgI,oBACT8H,EAAS1Y,KAAK0Q,SAASnK,EAAOC,GAC9BkS,EAAO/O,UAAYf,EAAOT,cACrB,CACL,IAAIwQ,EAAWnS,EAAMD,EACrBmS,EAAS,IAAI9P,EAAO+P,OAAUrU,GAC9B,IAAK,IAAIc,EAAI,EAAGA,EAAIuT,IAAYvT,EAC9BsT,EAAOtT,GAAKpF,KAAKoF,EAAImB,GAIzB,OAAOmS,GAWT9P,EAAOT,UAAUyQ,WAAa,SAAqB1J,EAAQvK,EAAY6T,GACrEtJ,GAAkB,EAClBvK,GAA0B,EACrB6T,GAAUR,EAAY9I,EAAQvK,EAAY3E,KAAKsF,QAEpD,IAAI7F,EAAMO,KAAKkP,GACX2J,EAAM,EACNzT,EAAI,EACR,QAASA,EAAIT,IAAekU,GAAO,KACjCpZ,GAAOO,KAAKkP,EAAS9J,GAAKyT,EAG5B,OAAOpZ,GAGTmJ,EAAOT,UAAU2Q,WAAa,SAAqB5J,EAAQvK,EAAY6T,GACrEtJ,GAAkB,EAClBvK,GAA0B,EACrB6T,GACHR,EAAY9I,EAAQvK,EAAY3E,KAAKsF,QAGvC,IAAI7F,EAAMO,KAAKkP,IAAWvK,GACtBkU,EAAM,EACV,MAAOlU,EAAa,IAAMkU,GAAO,KAC/BpZ,GAAOO,KAAKkP,IAAWvK,GAAckU,EAGvC,OAAOpZ,GAGTmJ,EAAOT,UAAU4Q,UAAY,SAAoB7J,EAAQsJ,GAEvD,OADKA,GAAUR,EAAY9I,EAAQ,EAAGlP,KAAKsF,QACpCtF,KAAKkP,IAGdtG,EAAOT,UAAU6Q,aAAe,SAAuB9J,EAAQsJ,GAE7D,OADKA,GAAUR,EAAY9I,EAAQ,EAAGlP,KAAKsF,QACpCtF,KAAKkP,GAAWlP,KAAKkP,EAAS,IAAM,GAG7CtG,EAAOT,UAAUyL,aAAe,SAAuB1E,EAAQsJ,GAE7D,OADKA,GAAUR,EAAY9I,EAAQ,EAAGlP,KAAKsF,QACnCtF,KAAKkP,IAAW,EAAKlP,KAAKkP,EAAS,IAG7CtG,EAAOT,UAAU8Q,aAAe,SAAuB/J,EAAQsJ,GAG7D,OAFKA,GAAUR,EAAY9I,EAAQ,EAAGlP,KAAKsF,SAElCtF,KAAKkP,GACTlP,KAAKkP,EAAS,IAAM,EACpBlP,KAAKkP,EAAS,IAAM,IACD,SAAnBlP,KAAKkP,EAAS,IAGrBtG,EAAOT,UAAU+Q,aAAe,SAAuBhK,EAAQsJ,GAG7D,OAFKA,GAAUR,EAAY9I,EAAQ,EAAGlP,KAAKsF,QAEpB,SAAftF,KAAKkP,IACTlP,KAAKkP,EAAS,IAAM,GACrBlP,KAAKkP,EAAS,IAAM,EACrBlP,KAAKkP,EAAS,KAGlBtG,EAAOT,UAAUgR,UAAY,SAAoBjK,EAAQvK,EAAY6T,GACnEtJ,GAAkB,EAClBvK,GAA0B,EACrB6T,GAAUR,EAAY9I,EAAQvK,EAAY3E,KAAKsF,QAEpD,IAAI7F,EAAMO,KAAKkP,GACX2J,EAAM,EACNzT,EAAI,EACR,QAASA,EAAIT,IAAekU,GAAO,KACjCpZ,GAAOO,KAAKkP,EAAS9J,GAAKyT,EAM5B,OAJAA,GAAO,IAEHpZ,GAAOoZ,IAAKpZ,GAAOsO,KAAK+B,IAAI,EAAG,EAAInL,IAEhClF,GAGTmJ,EAAOT,UAAUiR,UAAY,SAAoBlK,EAAQvK,EAAY6T,GACnEtJ,GAAkB,EAClBvK,GAA0B,EACrB6T,GAAUR,EAAY9I,EAAQvK,EAAY3E,KAAKsF,QAEpD,IAAIF,EAAIT,EACJkU,EAAM,EACNpZ,EAAMO,KAAKkP,IAAW9J,GAC1B,MAAOA,EAAI,IAAMyT,GAAO,KACtBpZ,GAAOO,KAAKkP,IAAW9J,GAAKyT,EAM9B,OAJAA,GAAO,IAEHpZ,GAAOoZ,IAAKpZ,GAAOsO,KAAK+B,IAAI,EAAG,EAAInL,IAEhClF,GAGTmJ,EAAOT,UAAUkR,SAAW,SAAmBnK,EAAQsJ,GAErD,OADKA,GAAUR,EAAY9I,EAAQ,EAAGlP,KAAKsF,QACtB,IAAftF,KAAKkP,IAC0B,GAA5B,IAAOlP,KAAKkP,GAAU,GADKlP,KAAKkP,IAI3CtG,EAAOT,UAAUmR,YAAc,SAAsBpK,EAAQsJ,GACtDA,GAAUR,EAAY9I,EAAQ,EAAGlP,KAAKsF,QAC3C,IAAI7F,EAAMO,KAAKkP,GAAWlP,KAAKkP,EAAS,IAAM,EAC9C,OAAc,MAANzP,EAAsB,WAANA,EAAmBA,GAG7CmJ,EAAOT,UAAUoR,YAAc,SAAsBrK,EAAQsJ,GACtDA,GAAUR,EAAY9I,EAAQ,EAAGlP,KAAKsF,QAC3C,IAAI7F,EAAMO,KAAKkP,EAAS,GAAMlP,KAAKkP,IAAW,EAC9C,OAAc,MAANzP,EAAsB,WAANA,EAAmBA,GAG7CmJ,EAAOT,UAAUqR,YAAc,SAAsBtK,EAAQsJ,GAG3D,OAFKA,GAAUR,EAAY9I,EAAQ,EAAGlP,KAAKsF,QAEnCtF,KAAKkP,GACVlP,KAAKkP,EAAS,IAAM,EACpBlP,KAAKkP,EAAS,IAAM,GACpBlP,KAAKkP,EAAS,IAAM,IAGzBtG,EAAOT,UAAUsR,YAAc,SAAsBvK,EAAQsJ,GAG3D,OAFKA,GAAUR,EAAY9I,EAAQ,EAAGlP,KAAKsF,QAEnCtF,KAAKkP,IAAW,GACrBlP,KAAKkP,EAAS,IAAM,GACpBlP,KAAKkP,EAAS,IAAM,EACpBlP,KAAKkP,EAAS,IAGnBtG,EAAOT,UAAUuR,YAAc,SAAsBxK,EAAQsJ,GAE3D,OADKA,GAAUR,EAAY9I,EAAQ,EAAGlP,KAAKsF,QACpCgL,EAAQrB,KAAKjP,KAAMkP,GAAQ,EAAM,GAAI,IAG9CtG,EAAOT,UAAUwR,YAAc,SAAsBzK,EAAQsJ,GAE3D,OADKA,GAAUR,EAAY9I,EAAQ,EAAGlP,KAAKsF,QACpCgL,EAAQrB,KAAKjP,KAAMkP,GAAQ,EAAO,GAAI,IAG/CtG,EAAOT,UAAUyR,aAAe,SAAuB1K,EAAQsJ,GAE7D,OADKA,GAAUR,EAAY9I,EAAQ,EAAGlP,KAAKsF,QACpCgL,EAAQrB,KAAKjP,KAAMkP,GAAQ,EAAM,GAAI,IAG9CtG,EAAOT,UAAU0R,aAAe,SAAuB3K,EAAQsJ,GAE7D,OADKA,GAAUR,EAAY9I,EAAQ,EAAGlP,KAAKsF,QACpCgL,EAAQrB,KAAKjP,KAAMkP,GAAQ,EAAO,GAAI,IAS/CtG,EAAOT,UAAU2R,YAAc,SAAsBja,EAAOqP,EAAQvK,EAAY6T,GAI9E,GAHA3Y,GAASA,EACTqP,GAAkB,EAClBvK,GAA0B,GACrB6T,EAAU,CACb,IAAIuB,EAAWhM,KAAK+B,IAAI,EAAG,EAAInL,GAAc,EAC7CuT,EAASlY,KAAMH,EAAOqP,EAAQvK,EAAYoV,EAAU,GAGtD,IAAIlB,EAAM,EACNzT,EAAI,EACRpF,KAAKkP,GAAkB,IAARrP,EACf,QAASuF,EAAIT,IAAekU,GAAO,KACjC7Y,KAAKkP,EAAS9J,GAAMvF,EAAQgZ,EAAO,IAGrC,OAAO3J,EAASvK,GAGlBiE,EAAOT,UAAU6R,YAAc,SAAsBna,EAAOqP,EAAQvK,EAAY6T,GAI9E,GAHA3Y,GAASA,EACTqP,GAAkB,EAClBvK,GAA0B,GACrB6T,EAAU,CACb,IAAIuB,EAAWhM,KAAK+B,IAAI,EAAG,EAAInL,GAAc,EAC7CuT,EAASlY,KAAMH,EAAOqP,EAAQvK,EAAYoV,EAAU,GAGtD,IAAI3U,EAAIT,EAAa,EACjBkU,EAAM,EACV7Y,KAAKkP,EAAS9J,GAAa,IAARvF,EACnB,QAASuF,GAAK,IAAMyT,GAAO,KACzB7Y,KAAKkP,EAAS9J,GAAMvF,EAAQgZ,EAAO,IAGrC,OAAO3J,EAASvK,GAGlBiE,EAAOT,UAAU8R,WAAa,SAAqBpa,EAAOqP,EAAQsJ,GAMhE,OALA3Y,GAASA,EACTqP,GAAkB,EACbsJ,GAAUN,EAASlY,KAAMH,EAAOqP,EAAQ,EAAG,IAAM,GACjDtG,EAAOgI,sBAAqB/Q,EAAQkO,KAAKoC,MAAMtQ,IACpDG,KAAKkP,GAAmB,IAARrP,EACTqP,EAAS,GAWlBtG,EAAOT,UAAU+R,cAAgB,SAAwBra,EAAOqP,EAAQsJ,GAUtE,OATA3Y,GAASA,EACTqP,GAAkB,EACbsJ,GAAUN,EAASlY,KAAMH,EAAOqP,EAAQ,EAAG,MAAQ,GACpDtG,EAAOgI,qBACT5Q,KAAKkP,GAAmB,IAARrP,EAChBG,KAAKkP,EAAS,GAAMrP,IAAU,GAE9BsY,EAAkBnY,KAAMH,EAAOqP,GAAQ,GAElCA,EAAS,GAGlBtG,EAAOT,UAAUgS,cAAgB,SAAwBta,EAAOqP,EAAQsJ,GAUtE,OATA3Y,GAASA,EACTqP,GAAkB,EACbsJ,GAAUN,EAASlY,KAAMH,EAAOqP,EAAQ,EAAG,MAAQ,GACpDtG,EAAOgI,qBACT5Q,KAAKkP,GAAWrP,IAAU,EAC1BG,KAAKkP,EAAS,GAAc,IAARrP,GAEpBsY,EAAkBnY,KAAMH,EAAOqP,GAAQ,GAElCA,EAAS,GAUlBtG,EAAOT,UAAUiS,cAAgB,SAAwBva,EAAOqP,EAAQsJ,GAYtE,OAXA3Y,GAASA,EACTqP,GAAkB,EACbsJ,GAAUN,EAASlY,KAAMH,EAAOqP,EAAQ,EAAG,WAAY,GACxDtG,EAAOgI,qBACT5Q,KAAKkP,EAAS,GAAMrP,IAAU,GAC9BG,KAAKkP,EAAS,GAAMrP,IAAU,GAC9BG,KAAKkP,EAAS,GAAMrP,IAAU,EAC9BG,KAAKkP,GAAmB,IAARrP,GAEhBwY,EAAkBrY,KAAMH,EAAOqP,GAAQ,GAElCA,EAAS,GAGlBtG,EAAOT,UAAUkS,cAAgB,SAAwBxa,EAAOqP,EAAQsJ,GAYtE,OAXA3Y,GAASA,EACTqP,GAAkB,EACbsJ,GAAUN,EAASlY,KAAMH,EAAOqP,EAAQ,EAAG,WAAY,GACxDtG,EAAOgI,qBACT5Q,KAAKkP,GAAWrP,IAAU,GAC1BG,KAAKkP,EAAS,GAAMrP,IAAU,GAC9BG,KAAKkP,EAAS,GAAMrP,IAAU,EAC9BG,KAAKkP,EAAS,GAAc,IAARrP,GAEpBwY,EAAkBrY,KAAMH,EAAOqP,GAAQ,GAElCA,EAAS,GAGlBtG,EAAOT,UAAUmS,WAAa,SAAqBza,EAAOqP,EAAQvK,EAAY6T,GAG5E,GAFA3Y,GAASA,EACTqP,GAAkB,GACbsJ,EAAU,CACb,IAAI+B,EAAQxM,KAAK+B,IAAI,EAAG,EAAInL,EAAa,GAEzCuT,EAASlY,KAAMH,EAAOqP,EAAQvK,EAAY4V,EAAQ,GAAIA,GAGxD,IAAInV,EAAI,EACJyT,EAAM,EACN2B,EAAM,EACVxa,KAAKkP,GAAkB,IAARrP,EACf,QAASuF,EAAIT,IAAekU,GAAO,KAC7BhZ,EAAQ,GAAa,IAAR2a,GAAsC,IAAzBxa,KAAKkP,EAAS9J,EAAI,KAC9CoV,EAAM,GAERxa,KAAKkP,EAAS9J,IAAOvF,EAAQgZ,GAAQ,GAAK2B,EAAM,IAGlD,OAAOtL,EAASvK,GAGlBiE,EAAOT,UAAUsS,WAAa,SAAqB5a,EAAOqP,EAAQvK,EAAY6T,GAG5E,GAFA3Y,GAASA,EACTqP,GAAkB,GACbsJ,EAAU,CACb,IAAI+B,EAAQxM,KAAK+B,IAAI,EAAG,EAAInL,EAAa,GAEzCuT,EAASlY,KAAMH,EAAOqP,EAAQvK,EAAY4V,EAAQ,GAAIA,GAGxD,IAAInV,EAAIT,EAAa,EACjBkU,EAAM,EACN2B,EAAM,EACVxa,KAAKkP,EAAS9J,GAAa,IAARvF,EACnB,QAASuF,GAAK,IAAMyT,GAAO,KACrBhZ,EAAQ,GAAa,IAAR2a,GAAsC,IAAzBxa,KAAKkP,EAAS9J,EAAI,KAC9CoV,EAAM,GAERxa,KAAKkP,EAAS9J,IAAOvF,EAAQgZ,GAAQ,GAAK2B,EAAM,IAGlD,OAAOtL,EAASvK,GAGlBiE,EAAOT,UAAUuS,UAAY,SAAoB7a,EAAOqP,EAAQsJ,GAO9D,OANA3Y,GAASA,EACTqP,GAAkB,EACbsJ,GAAUN,EAASlY,KAAMH,EAAOqP,EAAQ,EAAG,KAAO,KAClDtG,EAAOgI,sBAAqB/Q,EAAQkO,KAAKoC,MAAMtQ,IAChDA,EAAQ,IAAGA,EAAQ,IAAOA,EAAQ,GACtCG,KAAKkP,GAAmB,IAARrP,EACTqP,EAAS,GAGlBtG,EAAOT,UAAUwS,aAAe,SAAuB9a,EAAOqP,EAAQsJ,GAUpE,OATA3Y,GAASA,EACTqP,GAAkB,EACbsJ,GAAUN,EAASlY,KAAMH,EAAOqP,EAAQ,EAAG,OAAS,OACrDtG,EAAOgI,qBACT5Q,KAAKkP,GAAmB,IAARrP,EAChBG,KAAKkP,EAAS,GAAMrP,IAAU,GAE9BsY,EAAkBnY,KAAMH,EAAOqP,GAAQ,GAElCA,EAAS,GAGlBtG,EAAOT,UAAUyS,aAAe,SAAuB/a,EAAOqP,EAAQsJ,GAUpE,OATA3Y,GAASA,EACTqP,GAAkB,EACbsJ,GAAUN,EAASlY,KAAMH,EAAOqP,EAAQ,EAAG,OAAS,OACrDtG,EAAOgI,qBACT5Q,KAAKkP,GAAWrP,IAAU,EAC1BG,KAAKkP,EAAS,GAAc,IAARrP,GAEpBsY,EAAkBnY,KAAMH,EAAOqP,GAAQ,GAElCA,EAAS,GAGlBtG,EAAOT,UAAU0S,aAAe,SAAuBhb,EAAOqP,EAAQsJ,GAYpE,OAXA3Y,GAASA,EACTqP,GAAkB,EACbsJ,GAAUN,EAASlY,KAAMH,EAAOqP,EAAQ,EAAG,YAAa,YACzDtG,EAAOgI,qBACT5Q,KAAKkP,GAAmB,IAARrP,EAChBG,KAAKkP,EAAS,GAAMrP,IAAU,EAC9BG,KAAKkP,EAAS,GAAMrP,IAAU,GAC9BG,KAAKkP,EAAS,GAAMrP,IAAU,IAE9BwY,EAAkBrY,KAAMH,EAAOqP,GAAQ,GAElCA,EAAS,GAGlBtG,EAAOT,UAAU2S,aAAe,SAAuBjb,EAAOqP,EAAQsJ,GAapE,OAZA3Y,GAASA,EACTqP,GAAkB,EACbsJ,GAAUN,EAASlY,KAAMH,EAAOqP,EAAQ,EAAG,YAAa,YACzDrP,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GACxC+I,EAAOgI,qBACT5Q,KAAKkP,GAAWrP,IAAU,GAC1BG,KAAKkP,EAAS,GAAMrP,IAAU,GAC9BG,KAAKkP,EAAS,GAAMrP,IAAU,EAC9BG,KAAKkP,EAAS,GAAc,IAARrP,GAEpBwY,EAAkBrY,KAAMH,EAAOqP,GAAQ,GAElCA,EAAS,GAgBlBtG,EAAOT,UAAU4S,aAAe,SAAuBlb,EAAOqP,EAAQsJ,GACpE,OAAOD,EAAWvY,KAAMH,EAAOqP,GAAQ,EAAMsJ,IAG/C5P,EAAOT,UAAU6S,aAAe,SAAuBnb,EAAOqP,EAAQsJ,GACpE,OAAOD,EAAWvY,KAAMH,EAAOqP,GAAQ,EAAOsJ,IAWhD5P,EAAOT,UAAU8S,cAAgB,SAAwBpb,EAAOqP,EAAQsJ,GACtE,OAAOC,EAAYzY,KAAMH,EAAOqP,GAAQ,EAAMsJ,IAGhD5P,EAAOT,UAAU+S,cAAgB,SAAwBrb,EAAOqP,EAAQsJ,GACtE,OAAOC,EAAYzY,KAAMH,EAAOqP,GAAQ,EAAOsJ,IAIjD5P,EAAOT,UAAUiK,KAAO,SAAe8E,EAAQiE,EAAa5U,EAAOC,GAQjE,GAPKD,IAAOA,EAAQ,GACfC,GAAe,IAARA,IAAWA,EAAMxG,KAAKsF,QAC9B6V,GAAejE,EAAO5R,SAAQ6V,EAAcjE,EAAO5R,QAClD6V,IAAaA,EAAc,GAC5B3U,EAAM,GAAKA,EAAMD,IAAOC,EAAMD,GAG9BC,IAAQD,EAAO,OAAO,EAC1B,GAAsB,IAAlB2Q,EAAO5R,QAAgC,IAAhBtF,KAAKsF,OAAc,OAAO,EAGrD,GAAI6V,EAAc,EAChB,MAAM,IAAIpK,WAAW,6BAEvB,GAAIxK,EAAQ,GAAKA,GAASvG,KAAKsF,OAAQ,MAAM,IAAIyL,WAAW,6BAC5D,GAAIvK,EAAM,EAAG,MAAM,IAAIuK,WAAW,2BAG9BvK,EAAMxG,KAAKsF,SAAQkB,EAAMxG,KAAKsF,QAC9B4R,EAAO5R,OAAS6V,EAAc3U,EAAMD,IACtCC,EAAM0Q,EAAO5R,OAAS6V,EAAc5U,GAGtC,IACInB,EADAC,EAAMmB,EAAMD,EAGhB,GAAIvG,OAASkX,GAAU3Q,EAAQ4U,GAAeA,EAAc3U,EAE1D,IAAKpB,EAAIC,EAAM,EAAGD,GAAK,IAAKA,EAC1B8R,EAAO9R,EAAI+V,GAAenb,KAAKoF,EAAImB,QAEhC,GAAIlB,EAAM,MAASuD,EAAOgI,oBAE/B,IAAKxL,EAAI,EAAGA,EAAIC,IAAOD,EACrB8R,EAAO9R,EAAI+V,GAAenb,KAAKoF,EAAImB,QAGrCtB,WAAWkD,UAAUiT,IAAI7Q,KACvB2M,EACAlX,KAAK0Q,SAASnK,EAAOA,EAAQlB,GAC7B8V,GAIJ,OAAO9V,GAOTuD,EAAOT,UAAUwJ,KAAO,SAAelS,EAAK8G,EAAOC,EAAKqF,GAEtD,GAAmB,kBAARpM,EAAkB,CAS3B,GARqB,kBAAV8G,GACTsF,EAAWtF,EACXA,EAAQ,EACRC,EAAMxG,KAAKsF,QACa,kBAARkB,IAChBqF,EAAWrF,EACXA,EAAMxG,KAAKsF,QAEM,IAAf7F,EAAI6F,OAAc,CACpB,IAAIH,EAAO1F,EAAI8F,WAAW,GACtBJ,EAAO,MACT1F,EAAM0F,GAGV,QAAiBb,IAAbuH,GAA8C,kBAAbA,EACnC,MAAM,IAAIsF,UAAU,6BAEtB,GAAwB,kBAAbtF,IAA0BjD,EAAOkJ,WAAWjG,GACrD,MAAM,IAAIsF,UAAU,qBAAuBtF,OAErB,kBAARpM,IAChBA,GAAY,KAId,GAAI8G,EAAQ,GAAKvG,KAAKsF,OAASiB,GAASvG,KAAKsF,OAASkB,EACpD,MAAM,IAAIuK,WAAW,sBAGvB,GAAIvK,GAAOD,EACT,OAAOvG,KAQT,IAAIoF,EACJ,GANAmB,KAAkB,EAClBC,OAAclC,IAARkC,EAAoBxG,KAAKsF,OAASkB,IAAQ,EAE3C/G,IAAKA,EAAM,GAGG,kBAARA,EACT,IAAK2F,EAAImB,EAAOnB,EAAIoB,IAAOpB,EACzBpF,KAAKoF,GAAK3F,MAEP,CACL,IAAIsY,EAAQnP,EAAOuJ,SAAS1S,GACxBA,EACAgT,EAAY,IAAI7J,EAAOnJ,EAAKoM,GAAUgC,YACtCxI,EAAM0S,EAAMzS,OAChB,IAAKF,EAAI,EAAGA,EAAIoB,EAAMD,IAASnB,EAC7BpF,KAAKoF,EAAImB,GAASwR,EAAM3S,EAAIC,GAIhC,OAAOrF,MAMT,IAAIqb,EAAoB,qBAExB,SAASC,EAAavE,GAIpB,GAFAA,EAAMwE,EAAWxE,GAAKyE,QAAQH,EAAmB,IAE7CtE,EAAIzR,OAAS,EAAG,MAAO,GAE3B,MAAOyR,EAAIzR,OAAS,IAAM,EACxByR,GAAY,IAEd,OAAOA,EAGT,SAASwE,EAAYxE,GACnB,OAAIA,EAAI0E,KAAa1E,EAAI0E,OAClB1E,EAAIyE,QAAQ,aAAc,IAGnC,SAAS1D,EAAOzN,GACd,OAAIA,EAAI,GAAW,IAAMA,EAAEwD,SAAS,IAC7BxD,EAAEwD,SAAS,IAGpB,SAAS4E,EAAaZ,EAAQ6J,GAE5B,IAAIpG,EADJoG,EAAQA,GAAS7L,IAMjB,IAJA,IAAIvK,EAASuM,EAAOvM,OAChBqW,EAAgB,KAChB5D,EAAQ,GAEH3S,EAAI,EAAGA,EAAIE,IAAUF,EAAG,CAI/B,GAHAkQ,EAAYzD,EAAOtM,WAAWH,GAG1BkQ,EAAY,OAAUA,EAAY,MAAQ,CAE5C,IAAKqG,EAAe,CAElB,GAAIrG,EAAY,MAAQ,EAEjBoG,GAAS,IAAM,GAAG3D,EAAMrR,KAAK,IAAM,IAAM,KAC9C,SACK,GAAItB,EAAI,IAAME,EAAQ,EAEtBoW,GAAS,IAAM,GAAG3D,EAAMrR,KAAK,IAAM,IAAM,KAC9C,SAIFiV,EAAgBrG,EAEhB,SAIF,GAAIA,EAAY,MAAQ,EACjBoG,GAAS,IAAM,GAAG3D,EAAMrR,KAAK,IAAM,IAAM,KAC9CiV,EAAgBrG,EAChB,SAIFA,EAAkE,OAArDqG,EAAgB,OAAU,GAAKrG,EAAY,YAC/CqG,IAEJD,GAAS,IAAM,GAAG3D,EAAMrR,KAAK,IAAM,IAAM,KAMhD,GAHAiV,EAAgB,KAGZrG,EAAY,IAAM,CACpB,IAAKoG,GAAS,GAAK,EAAG,MACtB3D,EAAMrR,KAAK4O,QACN,GAAIA,EAAY,KAAO,CAC5B,IAAKoG,GAAS,GAAK,EAAG,MACtB3D,EAAMrR,KACJ4O,GAAa,EAAM,IACP,GAAZA,EAAmB,UAEhB,GAAIA,EAAY,MAAS,CAC9B,IAAKoG,GAAS,GAAK,EAAG,MACtB3D,EAAMrR,KACJ4O,GAAa,GAAM,IACnBA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,SAEhB,MAAIA,EAAY,SASrB,MAAM,IAAI5P,MAAM,sBARhB,IAAKgW,GAAS,GAAK,EAAG,MACtB3D,EAAMrR,KACJ4O,GAAa,GAAO,IACpBA,GAAa,GAAM,GAAO,IAC1BA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,MAOzB,OAAOyC,EAGT,SAASrD,EAAcqC,GAErB,IADA,IAAI6E,EAAY,GACPxW,EAAI,EAAGA,EAAI2R,EAAIzR,SAAUF,EAEhCwW,EAAUlV,KAAyB,IAApBqQ,EAAIxR,WAAWH,IAEhC,OAAOwW,EAGT,SAAS9G,EAAgBiC,EAAK2E,GAG5B,IAFA,IAAI3L,EAAG8L,EAAIC,EACPF,EAAY,GACPxW,EAAI,EAAGA,EAAI2R,EAAIzR,SAAUF,EAAG,CACnC,IAAKsW,GAAS,GAAK,EAAG,MAEtB3L,EAAIgH,EAAIxR,WAAWH,GACnByW,EAAK9L,GAAK,EACV+L,EAAK/L,EAAI,IACT6L,EAAUlV,KAAKoV,GACfF,EAAUlV,KAAKmV,GAGjB,OAAOD,EAGT,SAASlJ,EAAeqE,GACtB,OAAO1G,EAAOzL,YAAY0W,EAAYvE,IAGxC,SAASvC,GAAYuH,EAAKC,EAAK9M,EAAQ5J,GACrC,IAAK,IAAIF,EAAI,EAAGA,EAAIE,IAAUF,EAAG,CAC/B,GAAKA,EAAI8J,GAAU8M,EAAI1W,QAAYF,GAAK2W,EAAIzW,OAAS,MACrD0W,EAAI5W,EAAI8J,GAAU6M,EAAI3W,GAExB,OAAOA,EAGT,SAASiN,GAAO5S,GACd,OAAOA,IAAQA,K,+EC3vDjB,sGAEA,IAAI8J,EAAwC,WACxC,IAAIC,EAAgBC,OAAOC,gBACtB,CAAEC,UAAW,cAAgBzE,OAAS,SAAU0E,EAAGC,GAAKD,EAAED,UAAYE,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAIC,KAAKD,EAAOA,EAAEhI,eAAeiI,KAAIF,EAAEE,GAAKD,EAAEC,KACzE,OAAO,SAAUF,EAAGC,GAEhB,SAASE,IAAO/J,KAAKgK,YAAcJ,EADnCJ,EAAcI,EAAGC,GAEjBD,EAAEzB,UAAkB,OAAN0B,EAAaJ,OAAOQ,OAAOJ,IAAME,EAAG5B,UAAY0B,EAAE1B,UAAW,IAAI4B,IAP3C,GAWxCkS,EAA2B,SAAUtR,GAOrC,SAASsR,EAAUC,EAAc3P,GAC7B,IAAI4P,EAAanc,KAAKgK,YAClBa,EAAQ7K,KACRoc,EAAYD,EAAWhU,UAM3B,OALA0C,EAAQF,EAAOJ,KAAKvK,KAAMkc,IAAiBlc,KAC3C6K,EAAM0B,WAAaA,EAGnB1B,EAAMlB,UAAYyS,EACXvR,EAEX,OAjBAtB,EAAU0S,EAAWtR,GAiBdsR,EAlBmB,CAmB5BvW,OAGE2W,EAA8B,SAAU1R,GAMxC,SAAS0R,EAAaH,GAClB,IAAIC,EAAanc,KAAKgK,iBACD,IAAjBkS,IAA2BA,EAAe,uBAC9C,IAAIrR,EAAQ7K,KACRoc,EAAYD,EAAWhU,UAK3B,OAJA0C,EAAQF,EAAOJ,KAAKvK,KAAMkc,IAAiBlc,KAG3C6K,EAAMlB,UAAYyS,EACXvR,EAEX,OAhBAtB,EAAU8S,EAAc1R,GAgBjB0R,EAjBsB,CAkB/B3W,OAGE4W,EAA4B,SAAU3R,GAMtC,SAAS2R,EAAWJ,GAChB,IAAIC,EAAanc,KAAKgK,iBACD,IAAjBkS,IAA2BA,EAAe,sBAC9C,IAAIrR,EAAQ7K,KACRoc,EAAYD,EAAWhU,UAK3B,OAJA0C,EAAQF,EAAOJ,KAAKvK,KAAMkc,IAAiBlc,KAG3C6K,EAAMlB,UAAYyS,EACXvR,EAEX,OAhBAtB,EAAU+S,EAAY3R,GAgBf2R,EAjBoB,CAkB7B5W,Q,kCC1EF,0QAEI6W,EAAwC,SAAUC,EAASC,EAAYC,EAAGC,GAC1E,OAAO,IAAKD,IAAMA,EAAItR,WAAU,SAAUC,EAASC,GAC/C,SAASsR,EAAU/c,GAAS,IAAMgd,EAAKF,EAAUG,KAAKjd,IAAW,MAAOyP,GAAKhE,EAAOgE,IACpF,SAASyN,EAASld,GAAS,IAAMgd,EAAKF,EAAU,SAAS9c,IAAW,MAAOyP,GAAKhE,EAAOgE,IACvF,SAASuN,EAAKG,GAAUA,EAAOC,KAAO5R,EAAQ2R,EAAOnd,OAAS,IAAI6c,GAAE,SAAUrR,GAAWA,EAAQ2R,EAAOnd,UAAWqd,KAAKN,EAAWG,GACnIF,GAAMF,EAAYA,EAAU3T,MAAMwT,EAASC,GAAc,KAAKK,YAGlEK,EAA4C,SAAUX,EAAS5Q,GAC/D,IAAsGwR,EAAG9G,EAAGzV,EAAGwc,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAP3c,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,IAAO4c,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAEP,KAAMa,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAX9H,SAA0BwH,EAAExH,OAAO+H,UAAY,WAAa,OAAO5d,OAAUqd,EACvJ,SAASM,EAAKtT,GAAK,OAAO,SAAUwT,GAAK,OAAOhB,EAAK,CAACxS,EAAGwT,KACzD,SAAShB,EAAKiB,GACV,GAAIV,EAAG,MAAM,IAAIjM,UAAU,mCAC3B,MAAOmM,EAAG,IACN,GAAIF,EAAI,EAAG9G,IAAMzV,EAAY,EAARid,EAAG,GAASxH,EAAE,UAAYwH,EAAG,GAAKxH,EAAE,YAAczV,EAAIyV,EAAE,YAAczV,EAAE0J,KAAK+L,GAAI,GAAKA,EAAEwG,SAAWjc,EAAIA,EAAE0J,KAAK+L,EAAGwH,EAAG,KAAKb,KAAM,OAAOpc,EAE3J,OADIyV,EAAI,EAAGzV,IAAGid,EAAK,CAAS,EAARA,EAAG,GAAQjd,EAAEhB,QACzBie,EAAG,IACP,KAAK,EAAG,KAAK,EAAGjd,EAAIid,EAAI,MACxB,KAAK,EAAc,OAAXR,EAAEC,QAAgB,CAAE1d,MAAOie,EAAG,GAAIb,MAAM,GAChD,KAAK,EAAGK,EAAEC,QAASjH,EAAIwH,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKR,EAAEI,IAAInW,MAAO+V,EAAEG,KAAKlW,MAAO,SACxC,QACI,GAAM1G,EAAIyc,EAAEG,OAAM5c,EAAIA,EAAEyE,OAAS,GAAKzE,EAAEA,EAAEyE,OAAS,MAAkB,IAAVwY,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAER,EAAI,EAAG,SACjG,GAAc,IAAVQ,EAAG,MAAcjd,GAAMid,EAAG,GAAKjd,EAAE,IAAMid,EAAG,GAAKjd,EAAE,IAAM,CAAEyc,EAAEC,MAAQO,EAAG,GAAI,MAC9E,GAAc,IAAVA,EAAG,IAAYR,EAAEC,MAAQ1c,EAAE,GAAI,CAAEyc,EAAEC,MAAQ1c,EAAE,GAAIA,EAAIid,EAAI,MAC7D,GAAIjd,GAAKyc,EAAEC,MAAQ1c,EAAE,GAAI,CAAEyc,EAAEC,MAAQ1c,EAAE,GAAIyc,EAAEI,IAAIhX,KAAKoX,GAAK,MACvDjd,EAAE,IAAIyc,EAAEI,IAAInW,MAChB+V,EAAEG,KAAKlW,MAAO,SAEtBuW,EAAKlS,EAAKrB,KAAKiS,EAASc,GAC1B,MAAOhO,GAAKwO,EAAK,CAAC,EAAGxO,GAAIgH,EAAI,EAAK,QAAU8G,EAAIvc,EAAI,EACtD,GAAY,EAARid,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAEje,MAAOie,EAAG,GAAKA,EAAG,QAAK,EAAQb,MAAM,KAM9Ec,EAAqB,WACrB,SAASA,KAaT,OAXAA,EAAIC,WAAa,SAAUve,EAAKlB,GAC5B,GAAY,OAARkB,QAAwB6E,IAAR7E,EAChB,MAAM,IAAIiG,MAAM,QAAUnH,EAAO,4BAGzCwf,EAAIE,KAAO,SAAUxe,EAAKye,EAAQ3f,GAE9B,KAAMkB,KAAOye,GACT,MAAM,IAAIxY,MAAM,WAAanH,EAAO,WAAakB,EAAM,MAGxDse,EAda,GAkBjB,SAASI,EAAcle,EAAMme,GAChC,IAAIC,EAAS,GAab,OAZIC,EAAcre,IACdoe,EAAS,yBAA2Bpe,EAAK0E,WACrCyZ,IACAC,GAAU,eAAiBE,EAAkBte,GAAQ,MAGpC,kBAATA,IACZoe,EAAS,yBAA2Bpe,EAAKqF,OACrC8Y,IACAC,GAAU,eAAiBpe,EAAO,MAGnCoe,EAGJ,SAASE,EAAkBte,GAC9B,IAAIue,EAAO,IAAIvZ,WAAWhF,GAEtB8W,EAAM,GAMV,OALAyH,EAAKC,SAAQ,SAAUrY,GACnB,IAAIsY,EAAMtY,EAAM,GAAK,IAAM,GAC3B2Q,GAAO,KAAO2H,EAAMtY,EAAIyH,SAAS,IAAM,OAGpCkJ,EAAIzC,OAAO,EAAGyC,EAAIzR,OAAS,GAI/B,SAASgZ,EAAc7e,GAC1B,OAAOA,GAA8B,qBAAhB2R,cAChB3R,aAAe2R,aAEX3R,EAAIuK,aAAwC,gBAAzBvK,EAAIuK,YAAYzL,MAGzC,SAASogB,EAAY/T,EAAQgU,EAAeC,EAAYlT,EAAKmT,EAAoBtT,EAASuT,GAC7F,OAAOxC,EAAUvc,UAAM,OAAQ,GAAQ,WACnC,IAAIgf,EAAIjT,EAASkT,EAAOnT,EAAczC,EACtC,OAAO8T,EAAYnd,MAAM,SAAUkf,GAC/B,OAAQA,EAAG3B,OACP,KAAK,EACD,OAAKuB,EACE,CAAC,EAAaA,KADW,CAAC,EAAa,GAElD,KAAK,EACDG,EAAQC,EAAG1B,OACPyB,IACWD,EAAK,GACZA,EAAG,iBAAmB,UAAYC,EADtClT,EAEIiT,GAERE,EAAG3B,MAAQ,EACf,KAAK,EAGD,OAFA3S,EAAOyB,IAAI,OAAS8S,MAAO,IAAMP,EAAgB,6BAA+BT,EAAc3S,EAASuT,GAAqB,KAC5HjT,EAAewS,EAAc9S,GAAW,cAAgB,OACjD,CAAC,EAAaqT,EAAW9P,KAAKpD,EAAK,CAClCH,QAASA,EACTO,QAASA,EACTD,aAAcA,KAE1B,KAAK,EAGD,OAFAzC,EAAW6V,EAAG1B,OACd5S,EAAOyB,IAAI,OAAS8S,MAAO,IAAMP,EAAgB,kDAAoDvV,EAASkD,WAAa,KACpH,CAAC,UAMrB,SAAS6S,EAAaxU,GACzB,YAAetG,IAAXsG,EACO,IAAIyU,EAAc,OAASC,aAEvB,OAAX1U,EACO,OAAW6D,SAElB7D,EAAOyB,IACAzB,EAEJ,IAAIyU,EAAczU,GAG7B,IAAI2U,EAAyB,WACzB,SAASA,IACLvf,KAAKwf,UAAY,GA4BrB,OA1BAD,EAAQpX,UAAU2U,KAAO,SAAU2C,GAC/B,IAAK,IAAIC,EAAK,EAAGV,EAAKhf,KAAKwf,UAAWE,EAAKV,EAAG1Z,OAAQoa,IAAM,CACxD,IAAIC,EAAWX,EAAGU,GAClBC,EAAS7C,KAAK2C,KAGtBF,EAAQpX,UAAU+D,MAAQ,SAAU0T,GAChC,IAAK,IAAIF,EAAK,EAAGV,EAAKhf,KAAKwf,UAAWE,EAAKV,EAAG1Z,OAAQoa,IAAM,CACxD,IAAIC,EAAWX,EAAGU,GACdC,EAASzT,OACTyT,EAASzT,MAAM0T,KAI3BL,EAAQpX,UAAU0X,SAAW,WACzB,IAAK,IAAIH,EAAK,EAAGV,EAAKhf,KAAKwf,UAAWE,EAAKV,EAAG1Z,OAAQoa,IAAM,CACxD,IAAIC,EAAWX,EAAGU,GACdC,EAASE,UACTF,EAASE,aAIrBN,EAAQpX,UAAU2X,UAAY,SAAUH,GAEpC,OADA3f,KAAKwf,UAAU9Y,KAAKiZ,GACb,IAAII,EAAoB/f,KAAM2f,IAElCJ,EA9BiB,GAkCxBQ,EAAqC,WACrC,SAASA,EAAoBC,EAASL,GAClC3f,KAAKggB,QAAUA,EACfhgB,KAAK2f,SAAWA,EAWpB,OATAI,EAAoB5X,UAAU8X,QAAU,WACpC,IAAIC,EAAQlgB,KAAKggB,QAAQR,UAAU5Z,QAAQ5F,KAAK2f,UAC5CO,GAAS,GACTlgB,KAAKggB,QAAQR,UAAUW,OAAOD,EAAO,GAEH,IAAlClgB,KAAKggB,QAAQR,UAAUla,QAAgBtF,KAAKggB,QAAQI,gBACpDpgB,KAAKggB,QAAQI,iBAAiBC,OAAM,SAAU/C,QAG/CyC,EAd6B,GAkBpCV,EAA+B,WAC/B,SAASA,EAAciB,GACnBtgB,KAAKsgB,gBAAkBA,EAsB3B,OApBAjB,EAAclX,UAAUkE,IAAM,SAAUkU,EAAUC,GAC9C,GAAID,GAAYvgB,KAAKsgB,gBACjB,OAAQC,GACJ,KAAK,OAASE,SACd,KAAK,OAAS/a,MACVgb,QAAQxU,MAAM,KAAM,IAAIrI,MAAO8c,cAAgB,KAAO,OAASJ,GAAY,KAAOC,GAClF,MACJ,KAAK,OAASlU,QACVoU,QAAQE,KAAK,KAAM,IAAI/c,MAAO8c,cAAgB,KAAO,OAASJ,GAAY,KAAOC,GACjF,MACJ,KAAK,OAASlB,YACVoB,QAAQG,KAAK,KAAM,IAAIhd,MAAO8c,cAAgB,KAAO,OAASJ,GAAY,KAAOC,GACjF,MACJ,QAEIE,QAAQrU,IAAI,KAAM,IAAIxI,MAAO8c,cAAgB,KAAO,OAASJ,GAAY,KAAOC,GAChF,QAITnB,EAxBuB,I,yCCjMlC,ICGWyB,EDHPje,EAAS,WAAa,IAAIke,EAAI/gB,KAASghB,EAAGD,EAAI1gB,eAAmB4gB,EAAGF,EAAIG,MAAMD,IAAID,EAAG,OAAOC,EAAG,MAAM,CAAGF,EAAII,UAkBw5CJ,EAAIK,KAlBj5CH,EAAG,SAAS,CAACA,EAAG,eAAe,CAACA,EAAG,KAAK,CAACF,EAAIM,GAAG,IAAIN,EAAIO,GAAGP,EAAIQ,GAAG,2BAA2B,KAAKR,EAAIO,GAAGP,EAAIS,QAAQC,aAAaC,OAAO,SAAST,EAAG,cAAc,CAACA,EAAG,KAAK,CAACF,EAAIM,GAAGN,EAAIO,GAAGP,EAAIQ,GAAG,kCAAkCN,EAAG,kBAAkB,CAACvgB,MAAM,CAAC,aAAeqgB,EAAIY,aAAaC,MAAM,MAAQb,EAAIc,WAAW,YAAa,KAAUd,EAAIS,UAAYT,EAAIS,QAAQM,UAAWb,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACvgB,MAAM,CAAC,KAAO,KAAK,GAAK,KAAK,GAAK,OAAO,CAACugB,EAAG,KAAK,CAACF,EAAIM,GAAGN,EAAIO,GAAGP,EAAIQ,GAAG,oCAAoCN,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACvgB,MAAM,CAAC,GAAK,IAAI,GAAK,IAAI,KAAO,OAAO,CAACugB,EAAG,KAAK,CAAC/gB,YAAY,QAAQ,CAAC6gB,EAAIM,GAAG,IAAIN,EAAIO,GAAGP,EAAIQ,GAAG,gCAAgC,OAAON,EAAG,MAAM,CAACA,EAAG,SAAS,CAACF,EAAIM,GAAGN,EAAIO,GAAGP,EAAIgB,gBAAgBd,EAAG,QAAQ,CAACvgB,MAAM,CAAC,GAAK,IAAI,GAAK,IAAI,KAAO,OAAO,CAACugB,EAAG,KAAK,CAAC/gB,YAAY,QAAQ,CAAC6gB,EAAIM,GAAG,IAAIN,EAAIO,GAAGP,EAAIQ,GAAG,gCAAgC,OAAON,EAAG,MAAM,CAACA,EAAG,SAAS,CAACF,EAAIM,GAAGN,EAAIO,GAAGP,EAAIS,QAAQQ,YAAY,IAAIjB,EAAIO,GAAGP,EAAIQ,GAAG,8BAA8B,WAAWN,EAAG,QAAQ,CAACvgB,MAAM,CAAC,GAAK,IAAI,GAAK,IAAI,KAAO,OAAO,CAACugB,EAAG,KAAK,CAAC/gB,YAAY,QAAQ,CAAC6gB,EAAIM,GAAG,IAAIN,EAAIO,GAAGP,EAAIQ,GAAG,0BAA0B,OAAON,EAAG,MAAM,CAACA,EAAG,SAAS,CAACF,EAAIM,GAAGN,EAAIO,GAAGP,EAAIS,QAAQS,SAAS,IAAIlB,EAAIO,GAAGP,EAAIQ,GAAG,sCAAsC,IAAI,GAAIR,EAAa,UAAEE,EAAG,QAAQ,CAACvgB,MAAM,CAAC,KAAO,KAAK,GAAK,KAAK,GAAK,OAAO,CAACugB,EAAG,KAAK,CAACF,EAAIM,GAAGN,EAAIO,GAAGP,EAAIQ,GAAG,yCAAyCN,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACvgB,MAAM,CAAC,GAAK,IAAI,KAAO,OAAO,CAACugB,EAAG,KAAK,CAACF,EAAIM,GAAGN,EAAIO,GAAGP,EAAIQ,GAAG,iCAAkCR,EAAa,UAAEE,EAAG,MAAM,CAAC/gB,YAAY,SAAS,CAAC+gB,EAAG,QAAQ,CAACvgB,MAAM,CAAC,OAASqgB,EAAIS,QAAQU,aAAa,GAAGnB,EAAIK,OAAOH,EAAG,QAAQ,CAACvgB,MAAM,CAAC,GAAK,IAAI,KAAO,OAAO,CAACugB,EAAG,KAAK,CAAC/gB,YAAY,QAAQ,CAAC6gB,EAAIM,GAAG,IAAIN,EAAIO,GAAGP,EAAIQ,GAAI,yCAA0C,OAAON,EAAG,MAAM,CAAC/gB,YAAY,QAAQ,CAAC+gB,EAAG,MAAM,CAAC/gB,YAAY,QAAQ,CAAC+gB,EAAG,OAAO,CAAC/gB,YAAY,KAAKC,MAAM,CAC/7DgiB,UACCpB,EAAIqB,iBACJrB,EAAIsB,cACLC,QACCvB,EAAIqB,iBACJrB,EAAIsB,gBACH,CAACpB,EAAG,SAAS,CAAC/gB,YAAY,UAAU,CAAC6gB,EAAIM,GAAG,IAAIN,EAAIO,GAAGP,EAAIS,QAAQe,aAAexB,EAAIS,QAAQe,aAAe,IAAMxB,EAAIQ,GAAI,6BAAgCR,EAAIQ,GAAG,qCAAqC,OAAOR,EAAIM,GAAG,IAAIN,EAAIO,GAAGP,EAAIqB,gBAAkBrB,EAAIqB,iBAAmBrB,EAAIsB,cAAgBtB,EAAIQ,GAAG,qCAAuCR,EAAIyB,gBAAkBzB,EAAIQ,GAAG,gCAAkCR,EAAIQ,GAAI,oCAAuC,IAAI,OACncR,EAAIqB,iBACJrB,EAAIqB,iBACHrB,EAAIsB,eACLtB,EAAI0B,UACHxB,EAAG,QAAQ,CAACvgB,MAAM,CAAC,MAAQ,QAAQI,GAAG,CAAC,MAAQigB,EAAI2B,kBAAkB,CAAC3B,EAAIM,GAAG,IAAIN,EAAIO,GAAGP,EAAIQ,GAAG,8BAA8B,OAAOR,EAAIK,MAAM,GAChJL,EAAIqB,iBACJrB,EAAIqB,iBAAmBrB,EAAIsB,eAC3BtB,EAAI0B,UACHxB,EAAG,MAAM,CAACA,EAAG,UAAU,CAACvgB,MAAM,CAAC,MAAQ,GAAG,SAAW,GAAG,KAAO,SAAS,CAACqgB,EAAIM,GAAG,IAAIN,EAAIO,GAAGP,EAAIQ,GAAI,kCAAmC,QAAQ,GAAGR,EAAIK,SAASH,EAAG,QAAQ,CAACvgB,MAAM,CAAC,GAAK,IAAI,KAAO,OAAO,CAACugB,EAAG,KAAK,CAAC/gB,YAAY,QAAQ,CAAC6gB,EAAIM,GAAG,IAAIN,EAAIO,GAAGP,EAAIQ,GAAG,2BAA2B,OAAON,EAAG,MAAM,CAACA,EAAG,OAAO,CAAC/gB,YAAY,WAAW,CAAC6gB,EAAIM,GAAGN,EAAIO,GAAGP,EAAI4B,UAAU1B,EAAG,QAAQ,CAACvgB,MAAM,CAAC,MAAQ,UAAU,UAAYqgB,EAAI6B,cAAc9hB,GAAG,CAAC,MAAQigB,EAAI8B,UAAU,CAAC9B,EAAIM,GAAG,IAAIN,EAAIO,GAAGP,EAAIS,QAAQe,aAAexB,EAAIQ,GAAG,wBAA0BR,EAAIQ,GAAG,iCAAiC,QAAQ,MAAM,IAAI,GAAGR,EAAIK,KAAKH,EAAG,QAAQ,CAACvgB,MAAM,CAAC,KAAO,KAAK,GAAK,IAAI,GAAK,OAAO,CAACugB,EAAG,KAAK,CAACF,EAAIM,GAAGN,EAAIO,GAAGP,EAAIQ,GAAG,6BAA6BN,EAAG,MAAM,CAAC/gB,YAAY,SAAS6gB,EAAI+B,GAAI/B,EAAIgC,KAAK9Z,QAAQ+Z,WAAW,SAAS3W,EAAI6T,GAAO,OAAOe,EAAG,MAAM,CAACgC,IAAI,MAAQ/C,GAAO,CAACa,EAAIM,GAAG,IAAIN,EAAIO,GAAI,IAAOP,EAAImC,QAAQ7W,EAAI8W,MAAMC,OAAQ,sBAA0B,KAAQ/W,EAAQ,MAAI,UAAS,MAAM,GAAG0U,EAAIK,KAAML,EAAIS,SAAWT,EAAIS,QAAQM,YAAcf,EAAIS,QAAQC,aAAa4B,UAAWpC,EAAG,QAAQ,CAAC/gB,YAAY,eAAe,CAAC+gB,EAAG,QAAQ,CAACvgB,MAAM,CAAC,GAAK,OAAO,CAACugB,EAAG,KAAK,CAACF,EAAIM,GAAGN,EAAIO,GAAGP,EAAIQ,GAAG,sCAAuCR,EAAIS,QAAc,OAAEP,EAAG,QAAQ,CAACvgB,MAAM,CAAC,GAAK,OAAO,CAACugB,EAAG,KAAK,CAACA,EAAG,MAAM,CAACF,EAAIM,GAAG,IAAIN,EAAIO,GAAGP,EAAIQ,GAAG,gCAAgC,KAAKN,EAAG,SAAS,CAACF,EAAIM,GAAGN,EAAIO,GAAGP,EAAIS,QAAQ8B,UAAU,IAAIvC,EAAIO,GAAGP,EAAIQ,GAAG,qCAAqCN,EAAG,QAAQ,CAACvgB,MAAM,CAAC,MAAQ,WAAW,QAAU,WAAW,CAACugB,EAAG,KAAK,CACx9CF,EAAIS,QAAQ+B,OAAO/f,QAAUud,EAAIsB,cAChCpB,EAAG,MAAM,CAACA,EAAG,UAAU,CAACvgB,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,KAAO,UAAU,MAAO,IAAQ,CAACqgB,EAAIM,GAAG,IAAIN,EAAIO,GAAGP,EAAIQ,GAAI,sCAAuC,QAAQ,GAAGN,EAAG,MAAM,CAACA,EAAG,UAAU,CAACvgB,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,KAAO,QAAQ,MAAO,IAAQ,CAACqgB,EAAIM,GAAG,IAAIN,EAAIO,GAAGP,EAAIQ,GAAI,qCAAsC,QAAQ,QAAQ,GAAGR,EAAIK,KAAOL,EAAIS,QAAQ+B,OAAoIxC,EAAIK,KAAhIH,EAAG,QAAQ,CAACvgB,MAAM,CAAC,GAAK,OAAO,CAACugB,EAAG,KAAK,CAACA,EAAG,MAAM,CAACA,EAAG,SAAS,CAACF,EAAIM,GAAGN,EAAIO,GAAGP,EAAIQ,GAAG,uCAAiDR,EAAIS,QAAc,OAAEP,EAAG,MAAM,CAAEF,EAAIS,QAAQ+B,OAAO/f,SAAWud,EAAIsB,cAAepB,EAAG,QAAQ,CAACvgB,MAAM,CAAC,GAAK,OAAO,CAACugB,EAAG,UAAU,CAACvgB,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,KAAO,UAAU,KAAO,iBAAiB,CAACugB,EAAG,KAAK,CAACF,EAAIM,GAAG,IAAIN,EAAIO,GAAGP,EAAIQ,GAAG,mCAAmC,OAAON,EAAG,MAAM,CAACF,EAAIM,GAAG,IAAIN,EAAIO,GAAGP,EAAIQ,GAAG,oCAAoC,UAAU,GAAGR,EAAIK,KAAML,EAAIS,QAAQ+B,OAAO/f,QAAUud,EAAIsB,cAAepB,EAAG,QAAQ,CAACvgB,MAAM,CAAC,GAAK,OAAO,CAACugB,EAAG,UAAU,CAACvgB,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,KAAO,QAAQ,KAAO,gBAAgB,CAACugB,EAAG,KAAK,CAACF,EAAIM,GAAG,IAAIN,EAAIO,GAAGP,EAAIQ,GAAG,kCAAkC,UAAU,GAAGR,EAAIK,MAAM,GAAGL,EAAIK,MAAM,GAAGL,EAAIK,KAAML,EAAIS,SAAWT,EAAIS,QAAQC,aAAa4B,UAAWpC,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACA,EAAG,MAAM,CAAC/gB,YAAY,iCAAiC,CAAC+gB,EAAG,MAAM,CAAC/gB,YAAY,sBAAsB,CAAC6gB,EAAIM,GAAG,IAAIN,EAAIO,GAAI,mCAAsCP,EAAImC,QAASnC,EAAIS,QAAQC,aAAa+B,aAAcJ,OAAO,oBAAuB,OAAUrC,EAAIS,QAAQC,aAAwB,aAAI,YAAY,GAAGV,EAAIK,MAAM,IAAI,GAAYH,EAAG,YAAY,CAACvgB,MAAM,CAAC,MAAQqgB,EAAII,YAAY,CAACF,EAAG,sBAAsB,CAACvgB,MAAM,CAAC,cAAgB,GAAG,KAAO,SAAS,IAAI,IACroD+iB,EAAkB,G,0JEjBlBla,EAAwC,WACxC,IAAIC,EAAgBC,OAAOC,gBACtB,CAAEC,UAAW,cAAgBzE,OAAS,SAAU0E,EAAGC,GAAKD,EAAED,UAAYE,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAIC,KAAKD,EAAOA,EAAEhI,eAAeiI,KAAIF,EAAEE,GAAKD,EAAEC,KACzE,OAAO,SAAUF,EAAGC,GAEhB,SAASE,IAAO/J,KAAKgK,YAAcJ,EADnCJ,EAAcI,EAAGC,GAEjBD,EAAEzB,UAAkB,OAAN0B,EAAaJ,OAAOQ,OAAOJ,IAAME,EAAG5B,UAAY0B,EAAE1B,UAAW,IAAI4B,IAP3C,GAaxC,EAA+B,SAAUY,GAEzC,SAAS+Y,EAAc9Y,GACnB,IAAIC,EAAQF,EAAOJ,KAAKvK,OAASA,KAEjC,OADA6K,EAAMD,OAASA,EACRC,EA+DX,OAnEAtB,EAAUma,EAAe/Y,GAOzB+Y,EAAcvb,UAAU+C,KAAO,SAAUF,GACrC,IAAIH,EAAQ7K,KAEZ,OAAIgL,EAAQmB,aAAenB,EAAQmB,YAAYwX,QACpCvY,QAAQE,OAAO,IAAI,QAEzBN,EAAQgB,OAGRhB,EAAQW,IAGN,IAAIP,SAAQ,SAAUC,EAASC,GAClC,IAAIsY,EAAM,IAAIpZ,eACdoZ,EAAIC,KAAK7Y,EAAQgB,OAAQhB,EAAQW,KAAK,GACtCiY,EAAIE,iBAAkB,EACtBF,EAAIG,iBAAiB,mBAAoB,kBAEzCH,EAAIG,iBAAiB,eAAgB,4BACrC,IAAIhY,EAAUf,EAAQe,QAClBA,GACAtC,OAAOua,KAAKjY,GACP0S,SAAQ,SAAUwF,GACnBL,EAAIG,iBAAiBE,EAAQlY,EAAQkY,OAGzCjZ,EAAQc,eACR8X,EAAI9X,aAAed,EAAQc,cAE3Bd,EAAQmB,cACRnB,EAAQmB,YAAYC,QAAU,WAC1BwX,EAAInX,QACJnB,EAAO,IAAI,UAGfN,EAAQiB,UACR2X,EAAI3X,QAAUjB,EAAQiB,SAE1B2X,EAAIM,OAAS,WACLlZ,EAAQmB,cACRnB,EAAQmB,YAAYC,QAAU,MAE9BwX,EAAIO,QAAU,KAAOP,EAAIO,OAAS,IAClC9Y,EAAQ,IAAI,OAAauY,EAAIO,OAAQP,EAAIjV,WAAYiV,EAAIva,UAAYua,EAAIQ,eAGzE9Y,EAAO,IAAI,OAAUsY,EAAIjV,WAAYiV,EAAIO,UAGjDP,EAAIS,QAAU,WACVxZ,EAAMD,OAAOyB,IAAI,OAASC,QAAS,4BAA8BsX,EAAIO,OAAS,KAAOP,EAAIjV,WAAa,KACtGrD,EAAO,IAAI,OAAUsY,EAAIjV,WAAYiV,EAAIO,UAE7CP,EAAIU,UAAY,WACZzZ,EAAMD,OAAOyB,IAAI,OAASC,QAAS,8BACnChB,EAAO,IAAI,SAEfsY,EAAI1Y,KAAKF,EAAQQ,SAAW,OA/CrBJ,QAAQE,OAAO,IAAI5F,MAAM,oBAHzB0F,QAAQE,OAAO,IAAI5F,MAAM,wBAqDjCge,EApEuB,CAqEhC9U,EAAA,MClFE,EAAwC,WACxC,IAAIpF,EAAgBC,OAAOC,gBACtB,CAAEC,UAAW,cAAgBzE,OAAS,SAAU0E,EAAGC,GAAKD,EAAED,UAAYE,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAIC,KAAKD,EAAOA,EAAEhI,eAAeiI,KAAIF,EAAEE,GAAKD,EAAEC,KACzE,OAAO,SAAUF,EAAGC,GAEhB,SAASE,IAAO/J,KAAKgK,YAAcJ,EADnCJ,EAAcI,EAAGC,GAEjBD,EAAEzB,UAAkB,OAAN0B,EAAaJ,OAAOQ,OAAOJ,IAAME,EAAG5B,UAAY0B,EAAE1B,UAAW,IAAI4B,IAP3C,GAexC,EAAmC,SAAUY,GAG7C,SAAS4Z,EAAkB3Z,GACvB,IAAIC,EAAQF,EAAOJ,KAAKvK,OAASA,KAOjC,MAN8B,qBAAnBwK,eACPK,EAAMgU,WAAa,IAAI,EAAcjU,GAGrCC,EAAMgU,WAAa,IAAInU,EAAA,KAAeE,GAEnCC,EAmBX,OA7BA,EAAU0Z,EAAmB5Z,GAa7B4Z,EAAkBpc,UAAU+C,KAAO,SAAUF,GAEzC,OAAIA,EAAQmB,aAAenB,EAAQmB,YAAYwX,QACpCvY,QAAQE,OAAO,IAAI,QAEzBN,EAAQgB,OAGRhB,EAAQW,IAGN3L,KAAK6e,WAAW3T,KAAKF,GAFjBI,QAAQE,OAAO,IAAI5F,MAAM,oBAHzB0F,QAAQE,OAAO,IAAI5F,MAAM,wBAOxC6e,EAAkBpc,UAAUuE,gBAAkB,SAAUf,GACpD,OAAO3L,KAAK6e,WAAWnS,gBAAgBf,IAEpC4Y,EA9B2B,CA+BpC3V,EAAA,M,aF5CF,SAAWkS,GAEPA,EAAYA,EAAY,cAAgB,GAAK,aAE7CA,EAAYA,EAAY,cAAgB,GAAK,aAE7CA,EAAYA,EAAY,cAAgB,GAAK,aAE7CA,EAAYA,EAAY,oBAAsB,GAAK,mBAEnDA,EAAYA,EAAY,oBAAsB,GAAK,mBAEnDA,EAAYA,EAAY,QAAU,GAAK,OAEvCA,EAAYA,EAAY,SAAW,GAAK,SAd5C,CAeGA,IAAgBA,EAAc,K,IGyBtB0D,E,YA1CPjI,EAAwC,SAAUC,EAASC,EAAYC,EAAGC,GAC1E,OAAO,IAAKD,IAAMA,EAAItR,WAAU,SAAUC,EAASC,GAC/C,SAASsR,EAAU/c,GAAS,IAAMgd,EAAKF,EAAUG,KAAKjd,IAAW,MAAOyP,GAAKhE,EAAOgE,IACpF,SAASyN,EAASld,GAAS,IAAMgd,EAAKF,EAAU,SAAS9c,IAAW,MAAOyP,GAAKhE,EAAOgE,IACvF,SAASuN,EAAKG,GAAUA,EAAOC,KAAO5R,EAAQ2R,EAAOnd,OAAS,IAAI6c,GAAE,SAAUrR,GAAWA,EAAQ2R,EAAOnd,UAAWqd,KAAKN,EAAWG,GACnIF,GAAMF,EAAYA,EAAU3T,MAAMwT,EAASC,GAAc,KAAKK,YAGlEK,EAA4C,SAAUX,EAAS5Q,GAC/D,IAAsGwR,EAAG9G,EAAGzV,EAAGwc,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAP3c,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,IAAO4c,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAEP,KAAMa,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAX9H,SAA0BwH,EAAExH,OAAO+H,UAAY,WAAa,OAAO5d,OAAUqd,EACvJ,SAASM,EAAKtT,GAAK,OAAO,SAAUwT,GAAK,OAAOhB,EAAK,CAACxS,EAAGwT,KACzD,SAAShB,EAAKiB,GACV,GAAIV,EAAG,MAAM,IAAIjM,UAAU,mCAC3B,MAAOmM,EAAG,IACN,GAAIF,EAAI,EAAG9G,IAAMzV,EAAY,EAARid,EAAG,GAASxH,EAAE,UAAYwH,EAAG,GAAKxH,EAAE,YAAczV,EAAIyV,EAAE,YAAczV,EAAE0J,KAAK+L,GAAI,GAAKA,EAAEwG,SAAWjc,EAAIA,EAAE0J,KAAK+L,EAAGwH,EAAG,KAAKb,KAAM,OAAOpc,EAE3J,OADIyV,EAAI,EAAGzV,IAAGid,EAAK,CAAS,EAARA,EAAG,GAAQjd,EAAEhB,QACzBie,EAAG,IACP,KAAK,EAAG,KAAK,EAAGjd,EAAIid,EAAI,MACxB,KAAK,EAAc,OAAXR,EAAEC,QAAgB,CAAE1d,MAAOie,EAAG,GAAIb,MAAM,GAChD,KAAK,EAAGK,EAAEC,QAASjH,EAAIwH,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKR,EAAEI,IAAInW,MAAO+V,EAAEG,KAAKlW,MAAO,SACxC,QACI,GAAM1G,EAAIyc,EAAEG,OAAM5c,EAAIA,EAAEyE,OAAS,GAAKzE,EAAEA,EAAEyE,OAAS,MAAkB,IAAVwY,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAER,EAAI,EAAG,SACjG,GAAc,IAAVQ,EAAG,MAAcjd,GAAMid,EAAG,GAAKjd,EAAE,IAAMid,EAAG,GAAKjd,EAAE,IAAM,CAAEyc,EAAEC,MAAQO,EAAG,GAAI,MAC9E,GAAc,IAAVA,EAAG,IAAYR,EAAEC,MAAQ1c,EAAE,GAAI,CAAEyc,EAAEC,MAAQ1c,EAAE,GAAIA,EAAIid,EAAI,MAC7D,GAAIjd,GAAKyc,EAAEC,MAAQ1c,EAAE,GAAI,CAAEyc,EAAEC,MAAQ1c,EAAE,GAAIyc,EAAEI,IAAIhX,KAAKoX,GAAK,MACvDjd,EAAE,IAAIyc,EAAEI,IAAInW,MAChB+V,EAAEG,KAAKlW,MAAO,SAEtBuW,EAAKlS,EAAKrB,KAAKiS,EAASc,GAC1B,MAAOhO,GAAKwO,EAAK,CAAC,EAAGxO,GAAIgH,EAAI,EAAK,QAAU8G,EAAIvc,EAAI,EACtD,GAAY,EAARid,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAEje,MAAOie,EAAG,GAAKA,EAAG,QAAK,EAAQb,MAAM,KAO9EwH,EAAwB,IACxBC,EAA8B,MAGlC,SAAWF,GAEPA,EAAmBA,EAAmB,gBAAkB,GAAK,eAE7DA,EAAmBA,EAAmB,aAAe,GAAK,aAJ9D,CAKGA,IAAuBA,EAAqB,KAE/C,IChDWG,EAYAC,EDoCP,EAA+B,WAC/B,SAASC,EAAcC,EAAYla,EAAQma,GACvC,IAAIla,EAAQ7K,KACZ,OAAIge,WAAW8G,EAAY,cAC3B,OAAI9G,WAAWpT,EAAQ,UACvB,OAAIoT,WAAW+G,EAAU,YACzB/kB,KAAKglB,4BAA8BP,EACnCzkB,KAAKilB,gCAAkCP,EACvC1kB,KAAK4K,OAASA,EACd5K,KAAK+kB,SAAWA,EAChB/kB,KAAK8kB,WAAaA,EAClB9kB,KAAKklB,kBAAoB,IAAIhd,EAAA,KAC7BlI,KAAK8kB,WAAWK,UAAY,SAAUllB,GAAQ,OAAO4K,EAAMua,oBAAoBnlB,IAC/ED,KAAK8kB,WAAWO,QAAU,SAAUnZ,GAAS,OAAOrB,EAAMya,iBAAiBpZ,IAC3ElM,KAAKulB,UAAY,GACjBvlB,KAAK8B,QAAU,GACf9B,KAAKwlB,gBAAkB,GACvBxlB,KAAKiD,GAAK,EACVjD,KAAKylB,2BAA4B,EACjCzlB,KAAK0lB,gBAAkBlB,EAAmBmB,aAC1C3lB,KAAK4lB,kBAAoB5lB,KAAK+kB,SAASc,aAAa,CAAE9mB,KAAM+hB,EAAYgF,OA2b5E,OApbAjB,EAAc5a,OAAS,SAAU6a,EAAYla,EAAQma,GACjD,OAAO,IAAIF,EAAcC,EAAYla,EAAQma,IAEjDtb,OAAOsM,eAAe8O,EAAc1c,UAAW,QAAS,CAEpD0G,IAAK,WACD,OAAO7O,KAAK0lB,iBAEhBK,YAAY,EACZ/P,cAAc,IAMlB6O,EAAc1c,UAAU5B,MAAQ,WAC5B,OAAOgW,EAAUvc,UAAM,OAAQ,GAAQ,WACnC,IAAIqI,EAAkB2d,EAClBnb,EAAQ7K,KACZ,OAAOmd,EAAYnd,MAAM,SAAUgf,GAC/B,OAAQA,EAAGzB,OACP,KAAK,EAWD,OAVAlV,EAAmB,CACf0c,SAAU/kB,KAAK+kB,SAASxmB,KACxB0nB,QAASjmB,KAAK+kB,SAASkB,SAE3BjmB,KAAK4K,OAAOyB,IAAI,OAAS6Z,MAAO,2BAChClmB,KAAKylB,2BAA4B,EACjCO,EAAmB,IAAI5a,SAAQ,SAAUC,EAASC,GAC9CT,EAAMsb,kBAAoB9a,EAC1BR,EAAMub,kBAAoB9a,KAEvB,CAAC,EAAatL,KAAK8kB,WAAWve,MAAMvG,KAAK+kB,SAASsB,iBAC7D,KAAK,EAGD,OAFArH,EAAGxB,OACHxd,KAAK4K,OAAOyB,IAAI,OAAS6Z,MAAO,8BACzB,CAAC,EAAalmB,KAAK2e,YAAY3e,KAAKklB,kBAAkB9c,sBAAsBC,KACvF,KAAK,EAQD,OAPA2W,EAAGxB,OACHxd,KAAK4K,OAAOyB,IAAI,OAASiT,YAAa,sBAAwBtf,KAAK+kB,SAASxmB,KAAO,MAEnFyB,KAAKsmB,iBACLtmB,KAAKumB,qBACLvmB,KAAKwmB,yBAEE,CAAC,EAAaR,GACzB,KAAK,EAID,OAFAhH,EAAGxB,OACHxd,KAAK0lB,gBAAkBlB,EAAmBiC,UACnC,CAAC,WAS5B5B,EAAc1c,UAAUue,KAAO,WAI3B,OAHA1mB,KAAK4K,OAAOyB,IAAI,OAAS6Z,MAAO,2BAChClmB,KAAKsmB,iBACLtmB,KAAK2mB,mBACE3mB,KAAK8kB,WAAW4B,QAS3B7B,EAAc1c,UAAUye,OAAS,SAAUC,GAGvC,IAFA,IAAIhc,EAAQ7K,KACR8mB,EAAO,GACFpH,EAAK,EAAGA,EAAKpV,UAAUhF,OAAQoa,IACpCoH,EAAKpH,EAAK,GAAKpV,UAAUoV,GAE7B,IACIqH,EADAC,EAAuBhnB,KAAKinB,uBAAuBJ,EAAYC,GAE/D9G,EAAU,IAAI,OAClBA,EAAQI,eAAiB,WACrB,IAAI8G,EAAmBrc,EAAMsc,uBAAuBH,EAAqBI,cACrEC,EAAgBxc,EAAMka,SAASc,aAAaqB,GAEhD,cADOrc,EAAM0a,UAAUyB,EAAqBI,cACrCL,EAAa7J,MAAK,WACrB,OAAOrS,EAAM8T,YAAY0I,OAGjCrnB,KAAKulB,UAAUyB,EAAqBI,cAAgB,SAAUE,EAAiBpb,GACvEA,EACA8T,EAAQ9T,MAAMA,GAGTob,IAEDA,EAAgBvoB,OAAS+hB,EAAYyG,WACjCD,EAAgBpb,MAChB8T,EAAQ9T,MAAM,IAAIxG,MAAM4hB,EAAgBpb,QAGxC8T,EAAQH,WAIZG,EAAQlD,KAAMwK,EAAoB,QAI9C,IAAI9G,EAAUxgB,KAAK+kB,SAASc,aAAamB,GAMzC,OALAD,EAAe/mB,KAAK2e,YAAY6B,GAC3BH,OAAM,SAAU/Q,GACjB0Q,EAAQ9T,MAAMoD,UACPzE,EAAM0a,UAAUyB,EAAqBI,iBAEzCpH,GAEX6E,EAAc1c,UAAUwW,YAAc,SAAU6B,GAE5C,OADAxgB,KAAKwmB,yBACExmB,KAAK8kB,WAAW5Z,KAAKsV,IAWhCqE,EAAc1c,UAAU+C,KAAO,SAAU2b,GAErC,IADA,IAAIC,EAAO,GACFpH,EAAK,EAAGA,EAAKpV,UAAUhF,OAAQoa,IACpCoH,EAAKpH,EAAK,GAAKpV,UAAUoV,GAE7B,IAAIsH,EAAuBhnB,KAAKwnB,iBAAiBX,EAAYC,GAAM,GAC/DtG,EAAUxgB,KAAK+kB,SAASc,aAAamB,GACzC,OAAOhnB,KAAK2e,YAAY6B,IAa5BqE,EAAc1c,UAAUsf,OAAS,SAAUZ,GAGvC,IAFA,IAAIhc,EAAQ7K,KACR8mB,EAAO,GACFpH,EAAK,EAAGA,EAAKpV,UAAUhF,OAAQoa,IACpCoH,EAAKpH,EAAK,GAAKpV,UAAUoV,GAE7B,IAAIsH,EAAuBhnB,KAAKwnB,iBAAiBX,EAAYC,GAAM,GAC/Dhd,EAAI,IAAIsB,SAAQ,SAAUC,EAASC,GAEnCT,EAAM0a,UAAUyB,EAAqBI,cAAgB,SAAUE,EAAiBpb,GACxEA,EACAZ,EAAOY,GAGFob,IAEDA,EAAgBvoB,OAAS+hB,EAAYyG,WACjCD,EAAgBpb,MAChBZ,EAAO,IAAI5F,MAAM4hB,EAAgBpb,QAGjCb,EAAQic,EAAgBtK,QAI5B1R,EAAO,IAAI5F,MAAM,4BAA8B4hB,EAAgBvoB,SAI3E,IAAIyhB,EAAU3V,EAAMka,SAASc,aAAamB,GAC1Cnc,EAAM8T,YAAY6B,GACbH,OAAM,SAAU/Q,GACjBhE,EAAOgE,UAEAzE,EAAM0a,UAAUyB,EAAqBI,oBAGpD,OAAOtd,GAOX+a,EAAc1c,UAAUrH,GAAK,SAAU+lB,EAAYa,GAC1Cb,GAAea,IAGpBb,EAAaA,EAAWlU,cACnB3S,KAAK8B,QAAQ+kB,KACd7mB,KAAK8B,QAAQ+kB,GAAc,KAGsB,IAAjD7mB,KAAK8B,QAAQ+kB,GAAYjhB,QAAQ8hB,IAGrC1nB,KAAK8B,QAAQ+kB,GAAYngB,KAAKghB,KAElC7C,EAAc1c,UAAUwf,IAAM,SAAUd,EAAY7a,GAChD,GAAK6a,EAAL,CAGAA,EAAaA,EAAWlU,cACxB,IAAIiV,EAAW5nB,KAAK8B,QAAQ+kB,GAC5B,GAAKe,EAGL,GAAI5b,EAAQ,CACR,IAAI6b,EAAYD,EAAShiB,QAAQoG,IACd,IAAf6b,IACAD,EAASzH,OAAO0H,EAAW,GACH,IAApBD,EAAStiB,eACFtF,KAAK8B,QAAQ+kB,gBAKrB7mB,KAAK8B,QAAQ+kB,KAO5BhC,EAAc1c,UAAUkd,QAAU,SAAUyC,GACpCA,GACA9nB,KAAKwlB,gBAAgB9e,KAAKohB,IAGlCjD,EAAc1c,UAAUid,oBAAsB,SAAUnlB,GAOpD,GANAD,KAAKsmB,iBACAtmB,KAAKylB,4BACNxlB,EAAOD,KAAK+nB,yBAAyB9nB,GACrCD,KAAKylB,2BAA4B,GAGjCxlB,EAGA,IADA,IAAIoH,EAAWrH,KAAK+kB,SAASiD,cAAc/nB,EAAMD,KAAK4K,QAC7C8U,EAAK,EAAGuI,EAAa5gB,EAAUqY,EAAKuI,EAAW3iB,OAAQoa,IAAM,CAClE,IAAIc,EAAUyH,EAAWvI,GACzB,OAAQc,EAAQzhB,MACZ,KAAK+hB,EAAYoH,WACbloB,KAAKmoB,mBAAmB3H,GACxB,MACJ,KAAKM,EAAYsH,WACjB,KAAKtH,EAAYyG,WACb,IAAIO,EAAW9nB,KAAKulB,UAAU/E,EAAQ4G,cACtB,MAAZU,IACItH,EAAQzhB,OAAS+hB,EAAYyG,mBACtBvnB,KAAKulB,UAAU/E,EAAQ4G,cAElCU,EAAStH,IAEb,MACJ,KAAKM,EAAYgF,KAEb,MACJ,KAAKhF,EAAYuH,MACbroB,KAAK4K,OAAOyB,IAAI,OAASiT,YAAa,uCAGtCtf,KAAK8kB,WAAW4B,KAAKlG,EAAQtU,MAAQ,IAAIxG,MAAM,sCAAwC8a,EAAQtU,YAAS5H,GACxG,MACJ,QACItE,KAAK4K,OAAOyB,IAAI,OAASC,QAAS,yBAA2BkU,EAAQzhB,KAAO,KAC5E,OAIhBiB,KAAKumB,sBAET1B,EAAc1c,UAAU4f,yBAA2B,SAAU9nB,GACzD,IAAI+e,EACAvW,EACAE,EACJ,IACIqW,EAAKhf,KAAKklB,kBAAkB1c,uBAAuBvI,GAAO0I,EAAgBqW,EAAG,GAAIvW,EAAkBuW,EAAG,GAE1G,MAAO1P,GACH,IAAIkR,EAAU,qCAAuClR,EACrDtP,KAAK4K,OAAOyB,IAAI,OAAS3G,MAAO8a,GAChC,IAAItU,EAAQ,IAAIxG,MAAM8a,GAKtB,MAFAxgB,KAAK8kB,WAAW4B,KAAKxa,GACrBlM,KAAKomB,kBAAkBla,GACjBA,EAEV,GAAIzD,EAAgByD,MAAO,CACnBsU,EAAU,oCAAsC/X,EAAgByD,MAMpE,MALAlM,KAAK4K,OAAOyB,IAAI,OAAS3G,MAAO8a,GAChCxgB,KAAKomB,kBAAkB5F,GAGvBxgB,KAAK8kB,WAAW4B,KAAK,IAAIhhB,MAAM8a,IACzB,IAAI9a,MAAM8a,GAMpB,OAHIxgB,KAAK4K,OAAOyB,IAAI,OAAS6Z,MAAO,8BAEpClmB,KAAKmmB,oBACExd,GAEXkc,EAAc1c,UAAUqe,uBAAyB,WAC7C,IAAI3b,EAAQ7K,KACZA,KAAK2mB,mBACL3mB,KAAKsoB,iBAAmBC,YAAW,WAAc,OAAOhM,EAAU1R,OAAO,OAAQ,GAAQ,WAErF,OAAOsS,EAAYnd,MAAM,SAAUkf,GAC/B,OAAQA,EAAG3B,OACP,KAAK,EACD,GAAMvd,KAAK0lB,kBAAoBlB,EAAmBiC,UAAY,MAAO,CAAC,EAAa,GACnFvH,EAAG3B,MAAQ,EACf,KAAK,EAED,OADA2B,EAAGzB,KAAK/W,KAAK,CAAC,EAAG,EAAG,CAAE,IACf,CAAC,EAAa1G,KAAK2e,YAAY3e,KAAK4lB,oBAC/C,KAAK,EAED,OADA1G,EAAG1B,OACI,CAAC,EAAa,GACzB,KAAK,EAKD,OAJK0B,EAAG1B,OAGRxd,KAAK2mB,mBACE,CAAC,EAAa,GACzB,KAAK,EAAG,MAAO,CAAC,YAGrB3mB,KAAKilB,kCAEhBJ,EAAc1c,UAAUoe,mBAAqB,WACzC,IAAI1b,EAAQ7K,KACPA,KAAK8kB,WAAW0D,UAAaxoB,KAAK8kB,WAAW0D,SAASC,oBAEvDzoB,KAAK0oB,cAAgBH,YAAW,WAAc,OAAO1d,EAAM8d,kBAAoB3oB,KAAKglB,+BAG5FH,EAAc1c,UAAUwgB,cAAgB,WAIpC3oB,KAAK8kB,WAAW4B,KAAK,IAAIhhB,MAAM,yEAEnCmf,EAAc1c,UAAUggB,mBAAqB,SAAUS,GACnD,IAAI/d,EAAQ7K,KACR8B,EAAU9B,KAAK8B,QAAQ8mB,EAAkB1R,OAAOvE,eACpD,GAAI7Q,GAEA,GADAA,EAAQ2c,SAAQ,SAAUlP,GAAK,OAAOA,EAAEvG,MAAM6B,EAAO+d,EAAkBte,cACnEse,EAAkBxB,aAAc,CAEhC,IAAI5G,EAAU,qFACdxgB,KAAK4K,OAAOyB,IAAI,OAAS3G,MAAO8a,GAGhCxgB,KAAK8kB,WAAW4B,KAAK,IAAIhhB,MAAM8a,UAInCxgB,KAAK4K,OAAOyB,IAAI,OAASC,QAAS,mCAAqCsc,EAAkB1R,OAAS,aAG1G2N,EAAc1c,UAAUmd,iBAAmB,SAAUpZ,GACjD,IAAIrB,EAAQ7K,KACRulB,EAAYvlB,KAAKulB,UACrBvlB,KAAKulB,UAAY,GACjBvlB,KAAK0lB,gBAAkBlB,EAAmBmB,aAGtC3lB,KAAKomB,mBACLpmB,KAAKomB,kBAAkBla,GAE3BzC,OAAOua,KAAKuB,GACP9G,SAAQ,SAAUwE,GACnB,IAAI6E,EAAWvC,EAAUtC,GACzB6E,EAAS,KAAM5b,GAAgB,IAAIxG,MAAM,2DAE7C1F,KAAKsmB,iBACLtmB,KAAK2mB,mBACL3mB,KAAKwlB,gBAAgB/G,SAAQ,SAAU1O,GAAK,OAAOA,EAAE/G,MAAM6B,EAAO,CAACqB,QAEvE2Y,EAAc1c,UAAUwe,iBAAmB,WACnC3mB,KAAKsoB,kBACLO,aAAa7oB,KAAKsoB,mBAG1BzD,EAAc1c,UAAUme,eAAiB,WACjCtmB,KAAK0oB,eACLG,aAAa7oB,KAAK0oB,gBAG1B7D,EAAc1c,UAAUqf,iBAAmB,SAAUX,EAAYC,EAAMgC,GACnE,GAAIA,EACA,MAAO,CACHxe,UAAWwc,EACX5P,OAAQ2P,EACR9nB,KAAM+hB,EAAYoH,YAItB,IAAIjlB,EAAKjD,KAAKiD,GAEd,OADAjD,KAAKiD,KACE,CACHqH,UAAWwc,EACXM,aAAcnkB,EAAG4K,WACjBqJ,OAAQ2P,EACR9nB,KAAM+hB,EAAYoH,aAI9BrD,EAAc1c,UAAU8e,uBAAyB,SAAUJ,EAAYC,GACnE,IAAI7jB,EAAKjD,KAAKiD,GAEd,OADAjD,KAAKiD,KACE,CACHqH,UAAWwc,EACXM,aAAcnkB,EAAG4K,WACjBqJ,OAAQ2P,EACR9nB,KAAM+hB,EAAYiI,mBAG1BlE,EAAc1c,UAAUgf,uBAAyB,SAAUlkB,GACvD,MAAO,CACHmkB,aAAcnkB,EACdlE,KAAM+hB,EAAYkI,mBAGnBnE,EA/cuB,IC/ClC,SAAWF,GAEPA,EAAkBA,EAAkB,QAAU,GAAK,OAEnDA,EAAkBA,EAAkB,cAAgB,GAAK,aAEzDA,EAAkBA,EAAkB,oBAAsB,GAAK,mBAE/DA,EAAkBA,EAAkB,eAAiB,GAAK,eAR9D,CASGA,IAAsBA,EAAoB,KAG7C,SAAWC,GAEPA,EAAeA,EAAe,QAAU,GAAK,OAE7CA,EAAeA,EAAe,UAAY,GAAK,SAJnD,CAKGA,IAAmBA,EAAiB,KCfvC,IAAIqE,EAAiC,WACjC,SAASA,IACLjpB,KAAKkpB,WAAY,EACjBlpB,KAAKoM,QAAU,KAwBnB,OAtBA6c,EAAgB9gB,UAAUsE,MAAQ,WACzBzM,KAAKkpB,YACNlpB,KAAKkpB,WAAY,EACblpB,KAAKoM,SACLpM,KAAKoM,YAIjB3C,OAAOsM,eAAekT,EAAgB9gB,UAAW,SAAU,CACvD0G,IAAK,WACD,OAAO7O,MAEX+lB,YAAY,EACZ/P,cAAc,IAElBvM,OAAOsM,eAAekT,EAAgB9gB,UAAW,UAAW,CACxD0G,IAAK,WACD,OAAO7O,KAAKkpB,WAEhBnD,YAAY,EACZ/P,cAAc,IAEXiT,EA3ByB,GCLhC,EAAwC,SAAUzM,EAASC,EAAYC,EAAGC,GAC1E,OAAO,IAAKD,IAAMA,EAAItR,WAAU,SAAUC,EAASC,GAC/C,SAASsR,EAAU/c,GAAS,IAAMgd,EAAKF,EAAUG,KAAKjd,IAAW,MAAOyP,GAAKhE,EAAOgE,IACpF,SAASyN,EAASld,GAAS,IAAMgd,EAAKF,EAAU,SAAS9c,IAAW,MAAOyP,GAAKhE,EAAOgE,IACvF,SAASuN,EAAKG,GAAUA,EAAOC,KAAO5R,EAAQ2R,EAAOnd,OAAS,IAAI6c,GAAE,SAAUrR,GAAWA,EAAQ2R,EAAOnd,UAAWqd,KAAKN,EAAWG,GACnIF,GAAMF,EAAYA,EAAU3T,MAAMwT,EAASC,GAAc,KAAKK,YAGlE,EAA4C,SAAUN,EAAS5Q,GAC/D,IAAsGwR,EAAG9G,EAAGzV,EAAGwc,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAP3c,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,IAAO4c,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAEP,KAAMa,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAX9H,SAA0BwH,EAAExH,OAAO+H,UAAY,WAAa,OAAO5d,OAAUqd,EACvJ,SAASM,EAAKtT,GAAK,OAAO,SAAUwT,GAAK,OAAOhB,EAAK,CAACxS,EAAGwT,KACzD,SAAShB,EAAKiB,GACV,GAAIV,EAAG,MAAM,IAAIjM,UAAU,mCAC3B,MAAOmM,EAAG,IACN,GAAIF,EAAI,EAAG9G,IAAMzV,EAAY,EAARid,EAAG,GAASxH,EAAE,UAAYwH,EAAG,GAAKxH,EAAE,YAAczV,EAAIyV,EAAE,YAAczV,EAAE0J,KAAK+L,GAAI,GAAKA,EAAEwG,SAAWjc,EAAIA,EAAE0J,KAAK+L,EAAGwH,EAAG,KAAKb,KAAM,OAAOpc,EAE3J,OADIyV,EAAI,EAAGzV,IAAGid,EAAK,CAAS,EAARA,EAAG,GAAQjd,EAAEhB,QACzBie,EAAG,IACP,KAAK,EAAG,KAAK,EAAGjd,EAAIid,EAAI,MACxB,KAAK,EAAc,OAAXR,EAAEC,QAAgB,CAAE1d,MAAOie,EAAG,GAAIb,MAAM,GAChD,KAAK,EAAGK,EAAEC,QAASjH,EAAIwH,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKR,EAAEI,IAAInW,MAAO+V,EAAEG,KAAKlW,MAAO,SACxC,QACI,GAAM1G,EAAIyc,EAAEG,OAAM5c,EAAIA,EAAEyE,OAAS,GAAKzE,EAAEA,EAAEyE,OAAS,MAAkB,IAAVwY,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAER,EAAI,EAAG,SACjG,GAAc,IAAVQ,EAAG,MAAcjd,GAAMid,EAAG,GAAKjd,EAAE,IAAMid,EAAG,GAAKjd,EAAE,IAAM,CAAEyc,EAAEC,MAAQO,EAAG,GAAI,MAC9E,GAAc,IAAVA,EAAG,IAAYR,EAAEC,MAAQ1c,EAAE,GAAI,CAAEyc,EAAEC,MAAQ1c,EAAE,GAAIA,EAAIid,EAAI,MAC7D,GAAIjd,GAAKyc,EAAEC,MAAQ1c,EAAE,GAAI,CAAEyc,EAAEC,MAAQ1c,EAAE,GAAIyc,EAAEI,IAAIhX,KAAKoX,GAAK,MACvDjd,EAAE,IAAIyc,EAAEI,IAAInW,MAChB+V,EAAEG,KAAKlW,MAAO,SAEtBuW,EAAKlS,EAAKrB,KAAKiS,EAASc,GAC1B,MAAOhO,GAAKwO,EAAK,CAAC,EAAGxO,GAAIgH,EAAI,EAAK,QAAU8G,EAAIvc,EAAI,EACtD,GAAY,EAARid,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAEje,MAAOie,EAAG,GAAKA,EAAG,QAAK,EAAQb,MAAM,KAU9E,EAAsC,WACtC,SAASkM,EAAqBtK,EAAYC,EAAoBlU,EAAQmU,GAClE/e,KAAK6e,WAAaA,EAClB7e,KAAK8e,mBAAqBA,EAC1B9e,KAAK4K,OAASA,EACd5K,KAAKopB,UAAY,IAAIH,EACrBjpB,KAAK+e,kBAAoBA,EACzB/e,KAAKqpB,SAAU,EACfrpB,KAAKmlB,UAAY,KACjBnlB,KAAKqlB,QAAU,KAkOnB,OAhOA5b,OAAOsM,eAAeoT,EAAqBhhB,UAAW,cAAe,CAEjE0G,IAAK,WACD,OAAO7O,KAAKopB,UAAUzF,SAE1BoC,YAAY,EACZ/P,cAAc,IAElBmT,EAAqBhhB,UAAUmhB,QAAU,SAAU3d,EAAK0a,GACpD,OAAO,EAAUrmB,UAAM,OAAQ,GAAQ,WACnC,IAAIupB,EAAatK,EAAOuK,EAASngB,EACjC,OAAO,EAAYrJ,MAAM,SAAUgf,GAC/B,OAAQA,EAAGzB,OACP,KAAK,EAOD,GANA,OAAIS,WAAWrS,EAAK,OACpB,OAAIqS,WAAWqI,EAAgB,kBAC/B,OAAIpI,KAAKoI,EAAgBzB,EAAgB,kBACzC5kB,KAAK2L,IAAMA,EACX3L,KAAK4K,OAAOyB,IAAI,OAAS8S,MAAO,uCAE5BkH,IAAmBzB,EAAe6E,QACP,qBAAnBjf,gBAA+E,kBAAtC,IAAIA,gBAAiBsB,aACtE,MAAM,IAAIpG,MAAM,8FAUpB,OARA6jB,EAAc,CACVpd,YAAanM,KAAKopB,UAAUM,OAC5B3d,QAAS,GACTE,QAAS,KAEToa,IAAmBzB,EAAe6E,SAClCF,EAAYzd,aAAe,eAExB,CAAC,EAAa9L,KAAK2pB,kBAC9B,KAAK,EAKD,OAJA1K,EAAQD,EAAGxB,OACXxd,KAAK4pB,kBAAkBL,EAAatK,GACpCuK,EAAU7d,EAAM,MAAQ9H,KAAKgmB,MAC7B7pB,KAAK4K,OAAOyB,IAAI,OAAS8S,MAAO,oCAAsCqK,EAAU,KACzE,CAAC,EAAaxpB,KAAK6e,WAAWhQ,IAAI2a,EAASD,IACtD,KAAK,EAYD,OAXAlgB,EAAW2V,EAAGxB,OACc,MAAxBnU,EAASkD,YACTvM,KAAK4K,OAAOyB,IAAI,OAAS3G,MAAO,qDAAuD2D,EAASkD,WAAa,KAE7GvM,KAAK8pB,WAAa,IAAI,OAAUzgB,EAASsF,YAAc,GAAItF,EAASkD,YACpEvM,KAAKqpB,SAAU,GAGfrpB,KAAKqpB,SAAU,EAEnBrpB,KAAK+pB,UAAY/pB,KAAKgqB,KAAKhqB,KAAK2L,IAAK4d,GAC9B,CAAC,WAK5BJ,EAAqBhhB,UAAUwhB,eAAiB,WAC5C,OAAO,EAAU3pB,UAAM,OAAQ,GAAQ,WACnC,OAAO,EAAYA,MAAM,SAAUgf,GAC/B,OAAQA,EAAGzB,OACP,KAAK,EACD,OAAKvd,KAAK8e,mBACH,CAAC,EAAa9e,KAAK8e,sBADW,CAAC,EAAa,GAEvD,KAAK,EAAG,MAAO,CAAC,EAAcE,EAAGxB,QACjC,KAAK,EAAG,MAAO,CAAC,EAAc,cAK9C2L,EAAqBhhB,UAAUyhB,kBAAoB,SAAU5e,EAASiU,GAC7DjU,EAAQe,UACTf,EAAQe,QAAU,IAElBkT,EAEAjU,EAAQe,QAAQ,iBAAmB,UAAYkT,EAI/CjU,EAAQe,QAAQ,yBAETf,EAAQe,QAAQ,kBAG/Bod,EAAqBhhB,UAAU6hB,KAAO,SAAUre,EAAK4d,GACjD,OAAO,EAAUvpB,UAAM,OAAQ,GAAQ,WACnC,IAAIif,EAAOuK,EAASngB,EAAU4gB,EAC9B,OAAO,EAAYjqB,MAAM,SAAUgf,GAC/B,OAAQA,EAAGzB,OACP,KAAK,EACDyB,EAAGvB,KAAK/W,KAAK,CAAC,EAAG,CAAE,EAAG,IACtBsY,EAAGzB,MAAQ,EACf,KAAK,EACD,OAAKvd,KAAKqpB,QACH,CAAC,EAAarpB,KAAK2pB,kBADA,CAAC,EAAa,GAE5C,KAAK,EACD1K,EAAQD,EAAGxB,OACXxd,KAAK4pB,kBAAkBL,EAAatK,GACpCD,EAAGzB,MAAQ,EACf,KAAK,EAID,OAHAyB,EAAGvB,KAAK/W,KAAK,CAAC,EAAG,EAAG,CAAE,IACtB8iB,EAAU7d,EAAM,MAAQ9H,KAAKgmB,MAC7B7pB,KAAK4K,OAAOyB,IAAI,OAAS8S,MAAO,oCAAsCqK,EAAU,KACzE,CAAC,EAAaxpB,KAAK6e,WAAWhQ,IAAI2a,EAASD,IACtD,KAAK,EAyBD,OAxBAlgB,EAAW2V,EAAGxB,OACc,MAAxBnU,EAASkD,YACTvM,KAAK4K,OAAOyB,IAAI,OAASiT,YAAa,sDACtCtf,KAAKqpB,SAAU,GAEc,MAAxBhgB,EAASkD,YACdvM,KAAK4K,OAAOyB,IAAI,OAAS3G,MAAO,qDAAuD2D,EAASkD,WAAa,KAE7GvM,KAAK8pB,WAAa,IAAI,OAAUzgB,EAASsF,YAAc,GAAItF,EAASkD,YACpEvM,KAAKqpB,SAAU,GAIXhgB,EAASmC,SACTxL,KAAK4K,OAAOyB,IAAI,OAAS8S,MAAO,0CAA4C,eAAc9V,EAASmC,QAASxL,KAAK+e,mBAAqB,KAClI/e,KAAKmlB,WACLnlB,KAAKmlB,UAAU9b,EAASmC,UAK5BxL,KAAK4K,OAAOyB,IAAI,OAAS8S,MAAO,sDAGjC,CAAC,EAAa,GACzB,KAAK,EAiBD,OAhBA8K,EAAMjL,EAAGxB,OACJxd,KAAKqpB,QAKFY,aAAe,OAEfjqB,KAAK4K,OAAOyB,IAAI,OAAS8S,MAAO,uDAIhCnf,KAAK8pB,WAAaG,EAClBjqB,KAAKqpB,SAAU,GAVnBrpB,KAAK4K,OAAOyB,IAAI,OAAS8S,MAAO,wDAA0D8K,EAAIzJ,SAa3F,CAAC,EAAa,GACzB,KAAK,EAAG,MAAO,CAAC,EAAa,GAC7B,KAAK,EAAG,MAAO,CAAC,EAAa,GAC7B,KAAK,EAOD,OANAxgB,KAAK4K,OAAOyB,IAAI,OAAS8S,MAAO,6CAG3Bnf,KAAKkqB,aACNlqB,KAAKmqB,eAEF,CAAC,GACZ,KAAK,EAAG,MAAO,CAAC,WAKhChB,EAAqBhhB,UAAU+C,KAAO,SAAUjL,GAC5C,OAAO,EAAUD,UAAM,OAAQ,GAAQ,WACnC,OAAO,EAAYA,MAAM,SAAUgf,GAC/B,OAAKhf,KAAKqpB,QAGH,CAAC,EAAc,eAAYrpB,KAAK4K,OAAQ,cAAe5K,KAAK6e,WAAY7e,KAAK2L,IAAK3L,KAAK8e,mBAAoB7e,EAAMD,KAAK+e,oBAFlH,CAAC,EAAc3T,QAAQE,OAAO,IAAI5F,MAAM,yDAM/DyjB,EAAqBhhB,UAAUue,KAAO,WAClC,OAAO,EAAU1mB,UAAM,OAAQ,GAAQ,WACnC,IAAIoqB,EAAenL,EACnB,OAAO,EAAYjf,MAAM,SAAUgf,GAC/B,OAAQA,EAAGzB,OACP,KAAK,EACDvd,KAAK4K,OAAOyB,IAAI,OAAS8S,MAAO,6CAEhCnf,KAAKqpB,SAAU,EACfrpB,KAAKopB,UAAU3c,QACfuS,EAAGzB,MAAQ,EACf,KAAK,EAED,OADAyB,EAAGvB,KAAK/W,KAAK,CAAC,EAAG,CAAE,EAAG,IACf,CAAC,EAAa1G,KAAK+pB,WAC9B,KAAK,EAOD,OANA/K,EAAGxB,OAEHxd,KAAK4K,OAAOyB,IAAI,OAAS8S,MAAO,qDAAuDnf,KAAK2L,IAAM,KAClGye,EAAgB,CACZre,QAAS,IAEN,CAAC,EAAa/L,KAAK2pB,kBAC9B,KAAK,EAGD,OAFA1K,EAAQD,EAAGxB,OACXxd,KAAK4pB,kBAAkBQ,EAAenL,GAC/B,CAAC,EAAajf,KAAK6e,WAAW7P,OAAOhP,KAAK2L,IAAKye,IAC1D,KAAK,EAGD,OAFApL,EAAGxB,OACHxd,KAAK4K,OAAOyB,IAAI,OAAS8S,MAAO,gDACzB,CAAC,EAAa,GACzB,KAAK,EAKD,OAJAnf,KAAK4K,OAAOyB,IAAI,OAAS8S,MAAO,0CAGhCnf,KAAKmqB,eACE,CAAC,GACZ,KAAK,EAAG,MAAO,CAAC,WAKhChB,EAAqBhhB,UAAUgiB,aAAe,WAC1C,GAAInqB,KAAKqlB,QAAS,CACd,IAAIgF,EAAa,gDACbrqB,KAAK8pB,aACLO,GAAc,WAAarqB,KAAK8pB,YAEpC9pB,KAAK4K,OAAOyB,IAAI,OAAS8S,MAAOkL,GAChCrqB,KAAKqlB,QAAQrlB,KAAK8pB,cAGnBX,EA3O8B,GC1CrC,EAAwC,SAAU3M,EAASC,EAAYC,EAAGC,GAC1E,OAAO,IAAKD,IAAMA,EAAItR,WAAU,SAAUC,EAASC,GAC/C,SAASsR,EAAU/c,GAAS,IAAMgd,EAAKF,EAAUG,KAAKjd,IAAW,MAAOyP,GAAKhE,EAAOgE,IACpF,SAASyN,EAASld,GAAS,IAAMgd,EAAKF,EAAU,SAAS9c,IAAW,MAAOyP,GAAKhE,EAAOgE,IACvF,SAASuN,EAAKG,GAAUA,EAAOC,KAAO5R,EAAQ2R,EAAOnd,OAAS,IAAI6c,GAAE,SAAUrR,GAAWA,EAAQ2R,EAAOnd,UAAWqd,KAAKN,EAAWG,GACnIF,GAAMF,EAAYA,EAAU3T,MAAMwT,EAASC,GAAc,KAAKK,YAGlE,EAA4C,SAAUN,EAAS5Q,GAC/D,IAAsGwR,EAAG9G,EAAGzV,EAAGwc,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAP3c,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,IAAO4c,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAEP,KAAMa,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAX9H,SAA0BwH,EAAExH,OAAO+H,UAAY,WAAa,OAAO5d,OAAUqd,EACvJ,SAASM,EAAKtT,GAAK,OAAO,SAAUwT,GAAK,OAAOhB,EAAK,CAACxS,EAAGwT,KACzD,SAAShB,EAAKiB,GACV,GAAIV,EAAG,MAAM,IAAIjM,UAAU,mCAC3B,MAAOmM,EAAG,IACN,GAAIF,EAAI,EAAG9G,IAAMzV,EAAY,EAARid,EAAG,GAASxH,EAAE,UAAYwH,EAAG,GAAKxH,EAAE,YAAczV,EAAIyV,EAAE,YAAczV,EAAE0J,KAAK+L,GAAI,GAAKA,EAAEwG,SAAWjc,EAAIA,EAAE0J,KAAK+L,EAAGwH,EAAG,KAAKb,KAAM,OAAOpc,EAE3J,OADIyV,EAAI,EAAGzV,IAAGid,EAAK,CAAS,EAARA,EAAG,GAAQjd,EAAEhB,QACzBie,EAAG,IACP,KAAK,EAAG,KAAK,EAAGjd,EAAIid,EAAI,MACxB,KAAK,EAAc,OAAXR,EAAEC,QAAgB,CAAE1d,MAAOie,EAAG,GAAIb,MAAM,GAChD,KAAK,EAAGK,EAAEC,QAASjH,EAAIwH,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKR,EAAEI,IAAInW,MAAO+V,EAAEG,KAAKlW,MAAO,SACxC,QACI,GAAM1G,EAAIyc,EAAEG,OAAM5c,EAAIA,EAAEyE,OAAS,GAAKzE,EAAEA,EAAEyE,OAAS,MAAkB,IAAVwY,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAER,EAAI,EAAG,SACjG,GAAc,IAAVQ,EAAG,MAAcjd,GAAMid,EAAG,GAAKjd,EAAE,IAAMid,EAAG,GAAKjd,EAAE,IAAM,CAAEyc,EAAEC,MAAQO,EAAG,GAAI,MAC9E,GAAc,IAAVA,EAAG,IAAYR,EAAEC,MAAQ1c,EAAE,GAAI,CAAEyc,EAAEC,MAAQ1c,EAAE,GAAIA,EAAIid,EAAI,MAC7D,GAAIjd,GAAKyc,EAAEC,MAAQ1c,EAAE,GAAI,CAAEyc,EAAEC,MAAQ1c,EAAE,GAAIyc,EAAEI,IAAIhX,KAAKoX,GAAK,MACvDjd,EAAE,IAAIyc,EAAEI,IAAInW,MAChB+V,EAAEG,KAAKlW,MAAO,SAEtBuW,EAAKlS,EAAKrB,KAAKiS,EAASc,GAC1B,MAAOhO,GAAKwO,EAAK,CAAC,EAAGxO,GAAIgH,EAAI,EAAK,QAAU8G,EAAIvc,EAAI,EACtD,GAAY,EAARid,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAEje,MAAOie,EAAG,GAAKA,EAAG,QAAK,EAAQb,MAAM,KAO9E,EAA2C,WAC3C,SAASqN,EAA0BzL,EAAYC,EAAoBlU,EAAQmU,EAAmBwL,GAC1FvqB,KAAK6e,WAAaA,EAClB7e,KAAK8e,mBAAqBA,EAC1B9e,KAAK4K,OAASA,EACd5K,KAAK+e,kBAAoBA,EACzB/e,KAAKuqB,uBAAyBA,EAC9BvqB,KAAKmlB,UAAY,KACjBnlB,KAAKqlB,QAAU,KAmGnB,OAjGAiF,EAA0BniB,UAAUmhB,QAAU,SAAU3d,EAAK0a,GACzD,OAAO,EAAUrmB,UAAM,OAAQ,GAAQ,WACnC,IAAIif,EACApU,EAAQ7K,KACZ,OAAO,EAAYA,MAAM,SAAUgf,GAC/B,OAAQA,EAAGzB,OACP,KAAK,EAOD,OANA,OAAIS,WAAWrS,EAAK,OACpB,OAAIqS,WAAWqI,EAAgB,kBAC/B,OAAIpI,KAAKoI,EAAgBzB,EAAgB,kBACzC5kB,KAAK4K,OAAOyB,IAAI,OAAS8S,MAAO,+BAEhCnf,KAAK2L,IAAMA,EACN3L,KAAK8e,mBACH,CAAC,EAAa9e,KAAK8e,sBADW,CAAC,EAAa,GAEvD,KAAK,EACDG,EAAQD,EAAGxB,OACPyB,IACAtT,IAAQA,EAAI/F,QAAQ,KAAO,EAAI,IAAM,KAAQ,gBAAkB4kB,mBAAmBvL,IAEtFD,EAAGzB,MAAQ,EACf,KAAK,EAAG,MAAO,CAAC,EAAc,IAAInS,SAAQ,SAAUC,EAASC,GACrD,IAAImf,GAAS,EACb,GAAIpE,IAAmBzB,EAAe8F,KAAtC,CAIA,IAAIC,EACJ,GAAsB,qBAAXC,OACPD,EAAc,IAAI9f,EAAM0f,uBAAuB5e,EAAK,CAAEmY,iBAAiB,QAEtE,CAED,IAAI+G,EAAUhgB,EAAMgU,WAAWnS,gBAAgBf,GAC/Cgf,EAAc,IAAI9f,EAAM0f,uBAAuB5e,EAAK,CAAEmY,iBAAiB,EAAM/X,QAAS,CAAE+e,OAAQD,KAEpG,IACIF,EAAYI,UAAY,SAAUzb,GAC9B,GAAIzE,EAAMsa,UACN,IACIta,EAAMD,OAAOyB,IAAI,OAAS8S,MAAO,kCAAoC,eAAc7P,EAAErP,KAAM4K,EAAMkU,mBAAqB,KACtHlU,EAAMsa,UAAU7V,EAAErP,MAEtB,MAAOiM,GAEH,YADArB,EAAMzI,MAAM8J,KAKxBye,EAAYtG,QAAU,SAAU/U,GAC5B,IAAIpD,EAAQ,IAAIxG,MAAM4J,EAAErP,MAAQ,kBAC5BwqB,EACA5f,EAAMzI,MAAM8J,GAGZZ,EAAOY,IAGfye,EAAYK,OAAS,WACjBngB,EAAMD,OAAOyB,IAAI,OAASiT,YAAa,oBAAsBzU,EAAMc,KACnEd,EAAM8f,YAAcA,EACpBF,GAAS,EACTpf,KAGR,MAAOiE,GAEH,YADAhE,EAAOgE,SA1CPhE,EAAO,IAAI5F,MAAM,0FAkD7C4kB,EAA0BniB,UAAU+C,KAAO,SAAUjL,GACjD,OAAO,EAAUD,UAAM,OAAQ,GAAQ,WACnC,OAAO,EAAYA,MAAM,SAAUgf,GAC/B,OAAKhf,KAAK2qB,YAGH,CAAC,EAAc,eAAY3qB,KAAK4K,OAAQ,MAAO5K,KAAK6e,WAAY7e,KAAK2L,IAAK3L,KAAK8e,mBAAoB7e,EAAMD,KAAK+e,oBAF1G,CAAC,EAAc3T,QAAQE,OAAO,IAAI5F,MAAM,yDAM/D4kB,EAA0BniB,UAAUue,KAAO,WAEvC,OADA1mB,KAAKoC,QACEgJ,QAAQC,WAEnBif,EAA0BniB,UAAU/F,MAAQ,SAAUkN,GAC9CtP,KAAK2qB,cACL3qB,KAAK2qB,YAAYvoB,QACjBpC,KAAK2qB,iBAAcrmB,EACftE,KAAKqlB,SACLrlB,KAAKqlB,QAAQ/V,KAIlBgb,EA3GmC,GCvC1C,EAAwC,SAAU9N,EAASC,EAAYC,EAAGC,GAC1E,OAAO,IAAKD,IAAMA,EAAItR,WAAU,SAAUC,EAASC,GAC/C,SAASsR,EAAU/c,GAAS,IAAMgd,EAAKF,EAAUG,KAAKjd,IAAW,MAAOyP,GAAKhE,EAAOgE,IACpF,SAASyN,EAASld,GAAS,IAAMgd,EAAKF,EAAU,SAAS9c,IAAW,MAAOyP,GAAKhE,EAAOgE,IACvF,SAASuN,EAAKG,GAAUA,EAAOC,KAAO5R,EAAQ2R,EAAOnd,OAAS,IAAI6c,GAAE,SAAUrR,GAAWA,EAAQ2R,EAAOnd,UAAWqd,KAAKN,EAAWG,GACnIF,GAAMF,EAAYA,EAAU3T,MAAMwT,EAASC,GAAc,KAAKK,YAGlE,EAA4C,SAAUN,EAAS5Q,GAC/D,IAAsGwR,EAAG9G,EAAGzV,EAAGwc,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAP3c,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,IAAO4c,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAEP,KAAMa,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAX9H,SAA0BwH,EAAExH,OAAO+H,UAAY,WAAa,OAAO5d,OAAUqd,EACvJ,SAASM,EAAKtT,GAAK,OAAO,SAAUwT,GAAK,OAAOhB,EAAK,CAACxS,EAAGwT,KACzD,SAAShB,EAAKiB,GACV,GAAIV,EAAG,MAAM,IAAIjM,UAAU,mCAC3B,MAAOmM,EAAG,IACN,GAAIF,EAAI,EAAG9G,IAAMzV,EAAY,EAARid,EAAG,GAASxH,EAAE,UAAYwH,EAAG,GAAKxH,EAAE,YAAczV,EAAIyV,EAAE,YAAczV,EAAE0J,KAAK+L,GAAI,GAAKA,EAAEwG,SAAWjc,EAAIA,EAAE0J,KAAK+L,EAAGwH,EAAG,KAAKb,KAAM,OAAOpc,EAE3J,OADIyV,EAAI,EAAGzV,IAAGid,EAAK,CAAS,EAARA,EAAG,GAAQjd,EAAEhB,QACzBie,EAAG,IACP,KAAK,EAAG,KAAK,EAAGjd,EAAIid,EAAI,MACxB,KAAK,EAAc,OAAXR,EAAEC,QAAgB,CAAE1d,MAAOie,EAAG,GAAIb,MAAM,GAChD,KAAK,EAAGK,EAAEC,QAASjH,EAAIwH,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKR,EAAEI,IAAInW,MAAO+V,EAAEG,KAAKlW,MAAO,SACxC,QACI,GAAM1G,EAAIyc,EAAEG,OAAM5c,EAAIA,EAAEyE,OAAS,GAAKzE,EAAEA,EAAEyE,OAAS,MAAkB,IAAVwY,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAER,EAAI,EAAG,SACjG,GAAc,IAAVQ,EAAG,MAAcjd,GAAMid,EAAG,GAAKjd,EAAE,IAAMid,EAAG,GAAKjd,EAAE,IAAM,CAAEyc,EAAEC,MAAQO,EAAG,GAAI,MAC9E,GAAc,IAAVA,EAAG,IAAYR,EAAEC,MAAQ1c,EAAE,GAAI,CAAEyc,EAAEC,MAAQ1c,EAAE,GAAIA,EAAIid,EAAI,MAC7D,GAAIjd,GAAKyc,EAAEC,MAAQ1c,EAAE,GAAI,CAAEyc,EAAEC,MAAQ1c,EAAE,GAAIyc,EAAEI,IAAIhX,KAAKoX,GAAK,MACvDjd,EAAE,IAAIyc,EAAEI,IAAInW,MAChB+V,EAAEG,KAAKlW,MAAO,SAEtBuW,EAAKlS,EAAKrB,KAAKiS,EAASc,GAC1B,MAAOhO,GAAKwO,EAAK,CAAC,EAAGxO,GAAIgH,EAAI,EAAK,QAAU8G,EAAIvc,EAAI,EACtD,GAAY,EAARid,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAEje,MAAOie,EAAG,GAAKA,EAAG,QAAK,EAAQb,MAAM,KAO9E,EAAoC,WACpC,SAASgO,EAAmBpM,EAAYC,EAAoBlU,EAAQmU,EAAmBmM,GACnFlrB,KAAK4K,OAASA,EACd5K,KAAK8e,mBAAqBA,EAC1B9e,KAAK+e,kBAAoBA,EACzB/e,KAAKkrB,qBAAuBA,EAC5BlrB,KAAK6e,WAAaA,EAClB7e,KAAKmlB,UAAY,KACjBnlB,KAAKqlB,QAAU,KAoGnB,OAlGA4F,EAAmB9iB,UAAUmhB,QAAU,SAAU3d,EAAK0a,GAClD,OAAO,EAAUrmB,UAAM,OAAQ,GAAQ,WACnC,IAAIif,EACApU,EAAQ7K,KACZ,OAAO,EAAYA,MAAM,SAAUgf,GAC/B,OAAQA,EAAGzB,OACP,KAAK,EAKD,OAJA,OAAIS,WAAWrS,EAAK,OACpB,OAAIqS,WAAWqI,EAAgB,kBAC/B,OAAIpI,KAAKoI,EAAgBzB,EAAgB,kBACzC5kB,KAAK4K,OAAOyB,IAAI,OAAS8S,MAAO,sCAC3Bnf,KAAK8e,mBACH,CAAC,EAAa9e,KAAK8e,sBADW,CAAC,EAAa,GAEvD,KAAK,EACDG,EAAQD,EAAGxB,OACPyB,IACAtT,IAAQA,EAAI/F,QAAQ,KAAO,EAAI,IAAM,KAAQ,gBAAkB4kB,mBAAmBvL,IAEtFD,EAAGzB,MAAQ,EACf,KAAK,EAAG,MAAO,CAAC,EAAc,IAAInS,SAAQ,SAAUC,EAASC,GAErD,IAAI6f,EADJxf,EAAMA,EAAI6P,QAAQ,QAAS,MAE3B,IAAIqP,EAAUhgB,EAAMgU,WAAWnS,gBAAgBf,GACzB,qBAAXif,QAA0BC,IAEjCM,EAAY,IAAItgB,EAAMqgB,qBAAqBvf,OAAKrH,EAAW,CACvDyH,QAAS,CACL+e,OAAQ,GAAKD,MAIpBM,IAEDA,EAAY,IAAItgB,EAAMqgB,qBAAqBvf,IAE3C0a,IAAmBzB,EAAe6E,SAClC0B,EAAUC,WAAa,eAG3BD,EAAUH,OAAS,SAAUK,GACzBxgB,EAAMD,OAAOyB,IAAI,OAASiT,YAAa,0BAA4B3T,EAAM,KACzEd,EAAMsgB,UAAYA,EAClB9f,KAEJ8f,EAAU9G,QAAU,SAAUiH,GAC1B,IAAIpf,EAAQ,KAEc,qBAAfqf,YAA8BD,aAAiBC,aACtDrf,EAAQof,EAAMpf,OAElBZ,EAAOY,IAEXif,EAAUJ,UAAY,SAAUvK,GAC5B3V,EAAMD,OAAOyB,IAAI,OAAS8S,MAAO,yCAA2C,eAAcqB,EAAQvgB,KAAM4K,EAAMkU,mBAAqB,KAC/HlU,EAAMsa,WACNta,EAAMsa,UAAU3E,EAAQvgB,OAGhCkrB,EAAU9F,QAAU,SAAUiG,GAAS,OAAOzgB,EAAMzI,MAAMkpB,gBAMlFL,EAAmB9iB,UAAU+C,KAAO,SAAUjL,GAC1C,OAAID,KAAKmrB,WAAanrB,KAAKmrB,UAAUK,aAAexrB,KAAKkrB,qBAAqBO,MAC1EzrB,KAAK4K,OAAOyB,IAAI,OAAS8S,MAAO,wCAA0C,eAAclf,EAAMD,KAAK+e,mBAAqB,KACxH/e,KAAKmrB,UAAUjgB,KAAKjL,GACbmL,QAAQC,WAEZD,QAAQE,OAAO,uCAE1B2f,EAAmB9iB,UAAUue,KAAO,WAYhC,OAXI1mB,KAAKmrB,YAELnrB,KAAKmrB,UAAU9F,QAAU,aACzBrlB,KAAKmrB,UAAUJ,UAAY,aAC3B/qB,KAAKmrB,UAAU9G,QAAU,aACzBrkB,KAAKmrB,UAAU/oB,QACfpC,KAAKmrB,eAAY7mB,EAGjBtE,KAAKoC,WAAMkC,IAER8G,QAAQC,WAEnB4f,EAAmB9iB,UAAU/F,MAAQ,SAAUkpB,GAE3CtrB,KAAK4K,OAAOyB,IAAI,OAAS8S,MAAO,yCAC5Bnf,KAAKqlB,WACDiG,IAA6B,IAAnBA,EAAMI,UAAqC,MAAfJ,EAAMnmB,KAI5CnF,KAAKqlB,UAHLrlB,KAAKqlB,QAAQ,IAAI3f,MAAM,sCAAwC4lB,EAAMnmB,KAAO,KAAOmmB,EAAMK,OAAS,SAOvGV,EA5G4B,GCvCnC,EAAwC,SAAUzO,EAASC,EAAYC,EAAGC,GAC1E,OAAO,IAAKD,IAAMA,EAAItR,WAAU,SAAUC,EAASC,GAC/C,SAASsR,EAAU/c,GAAS,IAAMgd,EAAKF,EAAUG,KAAKjd,IAAW,MAAOyP,GAAKhE,EAAOgE,IACpF,SAASyN,EAASld,GAAS,IAAMgd,EAAKF,EAAU,SAAS9c,IAAW,MAAOyP,GAAKhE,EAAOgE,IACvF,SAASuN,EAAKG,GAAUA,EAAOC,KAAO5R,EAAQ2R,EAAOnd,OAAS,IAAI6c,GAAE,SAAUrR,GAAWA,EAAQ2R,EAAOnd,UAAWqd,KAAKN,EAAWG,GACnIF,GAAMF,EAAYA,EAAU3T,MAAMwT,EAASC,GAAc,KAAKK,YAGlE,EAA4C,SAAUN,EAAS5Q,GAC/D,IAAsGwR,EAAG9G,EAAGzV,EAAGwc,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAP3c,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,IAAO4c,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAEP,KAAMa,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAX9H,SAA0BwH,EAAExH,OAAO+H,UAAY,WAAa,OAAO5d,OAAUqd,EACvJ,SAASM,EAAKtT,GAAK,OAAO,SAAUwT,GAAK,OAAOhB,EAAK,CAACxS,EAAGwT,KACzD,SAAShB,EAAKiB,GACV,GAAIV,EAAG,MAAM,IAAIjM,UAAU,mCAC3B,MAAOmM,EAAG,IACN,GAAIF,EAAI,EAAG9G,IAAMzV,EAAY,EAARid,EAAG,GAASxH,EAAE,UAAYwH,EAAG,GAAKxH,EAAE,YAAczV,EAAIyV,EAAE,YAAczV,EAAE0J,KAAK+L,GAAI,GAAKA,EAAEwG,SAAWjc,EAAIA,EAAE0J,KAAK+L,EAAGwH,EAAG,KAAKb,KAAM,OAAOpc,EAE3J,OADIyV,EAAI,EAAGzV,IAAGid,EAAK,CAAS,EAARA,EAAG,GAAQjd,EAAEhB,QACzBie,EAAG,IACP,KAAK,EAAG,KAAK,EAAGjd,EAAIid,EAAI,MACxB,KAAK,EAAc,OAAXR,EAAEC,QAAgB,CAAE1d,MAAOie,EAAG,GAAIb,MAAM,GAChD,KAAK,EAAGK,EAAEC,QAASjH,EAAIwH,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKR,EAAEI,IAAInW,MAAO+V,EAAEG,KAAKlW,MAAO,SACxC,QACI,GAAM1G,EAAIyc,EAAEG,OAAM5c,EAAIA,EAAEyE,OAAS,GAAKzE,EAAEA,EAAEyE,OAAS,MAAkB,IAAVwY,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAER,EAAI,EAAG,SACjG,GAAc,IAAVQ,EAAG,MAAcjd,GAAMid,EAAG,GAAKjd,EAAE,IAAMid,EAAG,GAAKjd,EAAE,IAAM,CAAEyc,EAAEC,MAAQO,EAAG,GAAI,MAC9E,GAAc,IAAVA,EAAG,IAAYR,EAAEC,MAAQ1c,EAAE,GAAI,CAAEyc,EAAEC,MAAQ1c,EAAE,GAAIA,EAAIid,EAAI,MAC7D,GAAIjd,GAAKyc,EAAEC,MAAQ1c,EAAE,GAAI,CAAEyc,EAAEC,MAAQ1c,EAAE,GAAIyc,EAAEI,IAAIhX,KAAKoX,GAAK,MACvDjd,EAAE,IAAIyc,EAAEI,IAAInW,MAChB+V,EAAEG,KAAKlW,MAAO,SAEtBuW,EAAKlS,EAAKrB,KAAKiS,EAASc,GAC1B,MAAOhO,GAAKwO,EAAK,CAAC,EAAGxO,GAAIgH,EAAI,EAAK,QAAU8G,EAAIvc,EAAI,EACtD,GAAY,EAARid,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAEje,MAAOie,EAAG,GAAKA,EAAG,QAAK,EAAQb,MAAM,KAU9E2O,EAAgB,IAChBC,EAAkB,KAClBC,EAAoB,KACxB,GAAsB,qBAAXlB,OAA0D,CAGjE,IAAIngB,EAA0D,QAC9DohB,EAAkBphB,EAAY,MAC9BqhB,EAAoBrhB,EAAY,eAGpC,IAAI,EAAgC,WAChC,SAASshB,EAAepgB,EAAKmD,QACT,IAAZA,IAAsBA,EAAU,IACpC9O,KAAKwoB,SAAW,GAChB,OAAIxK,WAAWrS,EAAK,OACpB3L,KAAK4K,OAAS,eAAakE,EAAQlE,QACnC5K,KAAKgsB,QAAUhsB,KAAKisB,WAAWtgB,GAC/BmD,EAAUA,GAAW,GACrBA,EAAQiQ,kBAAoBjQ,EAAQiQ,oBAAqB,EACzD,IAAImN,EAA2B,qBAAXtB,OACfsB,GAA+B,qBAAdC,WAA8Brd,EAAQqd,UAGnDD,IAAWpd,EAAQqd,WACpBN,IACA/c,EAAQqd,UAAYN,GAJxB/c,EAAQqd,UAAYA,UAOnBD,GAAiC,qBAAhBE,aAAgCtd,EAAQsd,YAGrDF,IAAWpd,EAAQsd,aACS,qBAAtBN,IACPhd,EAAQsd,YAAcN,GAJ1Bhd,EAAQsd,YAAcA,YAO1BpsB,KAAK6e,WAAa/P,EAAQ+P,YAAc,IAAI,EAAkB7e,KAAK4K,QACnE5K,KAAK0lB,gBAAkB,EACvB1lB,KAAK8O,QAAUA,EACf9O,KAAKmlB,UAAY,KACjBnlB,KAAKqlB,QAAU,KAgWnB,OA9VA0G,EAAe5jB,UAAU5B,MAAQ,SAAU8f,GAIvC,OAHAA,EAAiBA,GAAkBzB,EAAe6E,OAClD,OAAIxL,KAAKoI,EAAgBzB,EAAgB,kBACzC5kB,KAAK4K,OAAOyB,IAAI,OAAS6Z,MAAO,6CAA+CtB,EAAeyB,GAAkB,MACnF,IAAzBrmB,KAAK0lB,gBACEta,QAAQE,OAAO,IAAI5F,MAAM,wEAEpC1F,KAAK0lB,gBAAkB,EACvB1lB,KAAKqsB,aAAersB,KAAKssB,cAAcjG,GAChCrmB,KAAKqsB,eAEhBN,EAAe5jB,UAAU+C,KAAO,SAAUjL,GACtC,GAA6B,IAAzBD,KAAK0lB,gBACL,MAAM,IAAIhgB,MAAM,uEAGpB,OAAO1F,KAAKusB,UAAUrhB,KAAKjL,IAE/B8rB,EAAe5jB,UAAUue,KAAO,SAAUxa,GACtC,OAAO,EAAUlM,UAAM,OAAQ,GAAQ,WAEnC,OAAO,EAAYA,MAAM,SAAUgf,GAC/B,OAAQA,EAAGzB,OACP,KAAK,EACDvd,KAAK0lB,gBAAkB,EAIvB1lB,KAAKwsB,UAAYtgB,EACjB8S,EAAGzB,MAAQ,EACf,KAAK,EAED,OADAyB,EAAGvB,KAAK/W,KAAK,CAAC,EAAG,EAAG,CAAE,IACf,CAAC,EAAa1G,KAAKqsB,cAC9B,KAAK,EAED,OADArN,EAAGxB,OACI,CAAC,EAAa,GACzB,KAAK,EAED,OADMwB,EAAGxB,OACF,CAAC,EAAa,GACzB,KAAK,EACD,OAAKxd,KAAKusB,UACH,CAAC,EAAavsB,KAAKusB,UAAU7F,QADR,CAAC,EAAa,GAE9C,KAAK,EACD1H,EAAGxB,OACHxd,KAAKusB,eAAYjoB,EACjB0a,EAAGzB,MAAQ,EACf,KAAK,EAAG,MAAO,CAAC,WAKhCwO,EAAe5jB,UAAUmkB,cAAgB,SAAUjG,GAC/C,OAAO,EAAUrmB,UAAM,OAAQ,GAAQ,WACnC,IAAI2L,EAAK8gB,EAAmBC,EAAWC,EAASC,EAAQC,EAASC,EAC7DjiB,EAAQ7K,KACZ,OAAO,EAAYA,MAAM,SAAUgf,GAC/B,OAAQA,EAAGzB,OACP,KAAK,EACD5R,EAAM3L,KAAKgsB,QACXhsB,KAAK8e,mBAAqB9e,KAAK8O,QAAQgQ,mBACvCE,EAAGzB,MAAQ,EACf,KAAK,EAED,OADAyB,EAAGvB,KAAK/W,KAAK,CAAC,EAAG,GAAI,CAAE,KAClB1G,KAAK8O,QAAQie,gBACZ/sB,KAAK8O,QAAQyd,YAAc5H,EAAkBqI,WAAoB,CAAC,EAAa,IAErFhtB,KAAKusB,UAAYvsB,KAAKitB,mBAAmBtI,EAAkBqI,YAGpD,CAAC,EAAahtB,KAAKusB,UAAUjD,QAAQ3d,EAAK0a,KANP,CAAC,EAAa,GAO5D,KAAK,EAID,OADArH,EAAGxB,OACI,CAAC,EAAa,GACzB,KAAK,EAAG,MAAM9X,MAAM,gFACpB,KAAK,EAAG,MAAO,CAAC,EAAa,IAC7B,KAAK,EACD+mB,EAAoB,KACpBC,EAAY,EACZC,EAAU,WACN,IAAIO,EACJ,OAAO,EAAYltB,MAAM,SAAUgf,GAC/B,OAAQA,EAAGzB,OACP,KAAK,EAAG,MAAO,CAAC,EAAaqP,EAAOO,uBAAuBxhB,IAC3D,KAAK,EAGD,GAFA8gB,EAAoBzN,EAAGxB,OAEQ,IAA3BoP,EAAOlH,gBACP,MAAO,CAAC,EAAc,CAAE7lB,WAAO,IAEnC,GAAI4sB,EAAkBvgB,MAClB,MAAMxG,MAAM+mB,EAAkBvgB,OAElC,GAAIugB,EAAkBW,gBAClB,MAAM1nB,MAAM,gMAUhB,OARI+mB,EAAkB9gB,MAClBA,EAAM8gB,EAAkB9gB,KAExB8gB,EAAkBY,cAClBH,EAAgBT,EAAkBY,YAClCT,EAAO9N,mBAAqB,WAAc,OAAOoO,IAErDR,IACO,CAAC,QAIxBE,EAAS5sB,KACTgf,EAAGzB,MAAQ,EACf,KAAK,EAAG,MAAO,CAAC,EAAcoP,KAC9B,KAAK,EAED,GADAE,EAAU7N,EAAGxB,OACU,kBAAZqP,EACP,MAAO,CAAC,EAAcA,EAAQhtB,OAClCmf,EAAGzB,MAAQ,EACf,KAAK,EACD,GAAIkP,EAAkB9gB,KAAO+gB,EAAYd,EAAe,MAAO,CAAC,EAAa,GAC7E5M,EAAGzB,MAAQ,EACf,KAAK,EACD,GAAImP,IAAcd,GAAiBa,EAAkB9gB,IACjD,MAAMjG,MAAM,yCAEhB,MAAO,CAAC,EAAa1F,KAAKstB,gBAAgB3hB,EAAK3L,KAAK8O,QAAQyd,UAAWE,EAAmBpG,IAC9F,KAAK,GACDrH,EAAGxB,OACHwB,EAAGzB,MAAQ,GACf,KAAK,GASD,OARIvd,KAAKusB,qBAAqB,IAC1BvsB,KAAKwoB,SAASC,mBAAoB,GAEtCzoB,KAAKusB,UAAUpH,UAAYnlB,KAAKmlB,UAChCnlB,KAAKusB,UAAUlH,QAAU,SAAU/V,GAAK,OAAOzE,EAAM0iB,eAAeje,IAGpEtP,KAAKwtB,YAAY,EAAoB,GAC9B,CAAC,EAAa,IACzB,KAAK,GAKD,MAJAV,EAAM9N,EAAGxB,OACTxd,KAAK4K,OAAOyB,IAAI,OAAS3G,MAAO,mCAAqConB,GACrE9sB,KAAK0lB,gBAAkB,EACvB1lB,KAAKusB,eAAYjoB,EACXwoB,EACV,KAAK,GAAI,MAAO,CAAC,WAKjCf,EAAe5jB,UAAUglB,uBAAyB,SAAUxhB,GACxD,OAAO,EAAU3L,UAAM,OAAQ,GAAQ,WACnC,IAAIgf,EAAIjT,EAASkT,EAAOwO,EAAcpkB,EAAUqkB,EAChD,OAAO,EAAY1tB,MAAM,SAAUkf,GAC/B,OAAQA,EAAG3B,OACP,KAAK,EACD,OAAKvd,KAAK8e,mBACH,CAAC,EAAa9e,KAAK8e,sBADW,CAAC,EAAa,GAEvD,KAAK,EACDG,EAAQC,EAAG1B,OACPyB,IACWD,EAAK,GACZA,EAAG,iBAAmB,UAAYC,EADtClT,EAEIiT,GAERE,EAAG3B,MAAQ,EACf,KAAK,EACDkQ,EAAeztB,KAAK2tB,oBAAoBhiB,GACxC3L,KAAK4K,OAAOyB,IAAI,OAAS6Z,MAAO,gCAAkCuH,EAAe,KACjFvO,EAAG3B,MAAQ,EACf,KAAK,EAED,OADA2B,EAAGzB,KAAK/W,KAAK,CAAC,EAAG,EAAG,CAAE,IACf,CAAC,EAAa1G,KAAK6e,WAAW9P,KAAK0e,EAAc,CAChDjiB,QAAS,GACTO,QAASA,KAErB,KAAK,EAED,GADA1C,EAAW6V,EAAG1B,OACc,MAAxBnU,EAASkD,WACT,MAAM7G,MAAM,kDAAoD2D,EAASkD,YAE7E,MAAO,CAAC,EAAcjE,KAAKnB,MAAMkC,EAASmC,UAC9C,KAAK,EAGD,MAFAkiB,EAAMxO,EAAG1B,OACTxd,KAAK4K,OAAOyB,IAAI,OAAS3G,MAAO,mDAAqDgoB,GAC/EA,EACV,KAAK,EAAG,MAAO,CAAC,WAKhC3B,EAAe5jB,UAAUylB,iBAAmB,SAAUjiB,EAAKkiB,GACvD,OAAKA,EAGEliB,IAA6B,IAAtBA,EAAI/F,QAAQ,KAAc,IAAM,KAAQ,MAAQioB,EAFnDliB,GAIfogB,EAAe5jB,UAAUmlB,gBAAkB,SAAU3hB,EAAKmiB,EAAoBrB,EAAmBsB,GAC7F,OAAO,EAAU/tB,UAAM,OAAQ,GAAQ,WACnC,IAAIguB,EAAYC,EAAYvO,EAAIwO,EAAcC,EAAU5B,EAAW6B,EACnE,OAAO,EAAYpuB,MAAM,SAAUgf,GAC/B,OAAQA,EAAGzB,OACP,KAAK,EAED,OADAyQ,EAAahuB,KAAK4tB,iBAAiBjiB,EAAK8gB,EAAkBoB,cACrD7tB,KAAKquB,aAAaP,IACvB9tB,KAAK4K,OAAOyB,IAAI,OAAS6Z,MAAO,2EAChClmB,KAAKusB,UAAYuB,EACV,CAAC,EAAa9tB,KAAKusB,UAAUjD,QAAQ0E,EAAYD,KAHL,CAAC,EAAa,GAIrE,KAAK,EAKD,OAJA/O,EAAGxB,OAGHxd,KAAKwtB,YAAY,EAAoB,GAC9B,CAAC,GACZ,KAAK,EACDS,EAAaxB,EAAkB6B,qBAAuB,GACtD5O,EAAK,EAAGwO,EAAeD,EACvBjP,EAAGzB,MAAQ,EACf,KAAK,EACD,OAAMmC,EAAKwO,EAAa5oB,QACxB6oB,EAAWD,EAAaxO,GACxB1f,KAAK0lB,gBAAkB,EACvB6G,EAAYvsB,KAAKuuB,iBAAiBJ,EAAUL,EAAoBC,GACrC,kBAAdxB,EAAgC,CAAC,EAAa,IAC3DvsB,KAAKusB,UAAYvsB,KAAKitB,mBAAmBV,GACnCE,EAAkBoB,aAAqB,CAAC,EAAa,GACpD,CAAC,EAAa7tB,KAAKmtB,uBAAuBxhB,MAPT,CAAC,EAAa,GAQ1D,KAAK,EACD8gB,EAAoBzN,EAAGxB,OACvBwQ,EAAahuB,KAAK4tB,iBAAiBjiB,EAAK8gB,EAAkBoB,cAC1D7O,EAAGzB,MAAQ,EACf,KAAK,EAED,OADAyB,EAAGvB,KAAK/W,KAAK,CAAC,EAAG,EAAG,CAAE,IACf,CAAC,EAAa1G,KAAKusB,UAAUjD,QAAQ0E,EAAYD,IAC5D,KAAK,EAGD,OAFA/O,EAAGxB,OACHxd,KAAKwtB,YAAY,EAAoB,GAC9B,CAAC,GACZ,KAAK,EAKD,OAJAY,EAAOpP,EAAGxB,OACVxd,KAAK4K,OAAOyB,IAAI,OAAS3G,MAAO,kCAAoCif,EAAkB4H,GAAa,MAAQ6B,GAC3GpuB,KAAK0lB,gBAAkB,EACvB+G,EAAkBoB,kBAAevpB,EAC1B,CAAC,EAAa,GACzB,KAAK,EAED,OADAob,IACO,CAAC,EAAa,GACzB,KAAK,EAAG,MAAM,IAAIha,MAAM,iEAKxCqmB,EAAe5jB,UAAU8kB,mBAAqB,SAAUV,GACpD,OAAQA,GACJ,KAAK5H,EAAkBqI,WACnB,IAAKhtB,KAAK8O,QAAQqd,UACd,MAAM,IAAIzmB,MAAM,qDAEpB,OAAO,IAAI,EAAmB1F,KAAK6e,WAAY7e,KAAK8e,mBAAoB9e,KAAK4K,OAAQ5K,KAAK8O,QAAQiQ,oBAAqB,EAAO/e,KAAK8O,QAAQqd,WAC/I,KAAKxH,EAAkB6J,iBACnB,IAAKxuB,KAAK8O,QAAQsd,YACd,MAAM,IAAI1mB,MAAM,uDAEpB,OAAO,IAAI,EAA0B1F,KAAK6e,WAAY7e,KAAK8e,mBAAoB9e,KAAK4K,OAAQ5K,KAAK8O,QAAQiQ,oBAAqB,EAAO/e,KAAK8O,QAAQsd,aACtJ,KAAKzH,EAAkB8J,YACnB,OAAO,IAAI,EAAqBzuB,KAAK6e,WAAY7e,KAAK8e,mBAAoB9e,KAAK4K,OAAQ5K,KAAK8O,QAAQiQ,oBAAqB,GAC7H,QACI,MAAM,IAAIrZ,MAAM,sBAAwB6mB,EAAY,OAGhER,EAAe5jB,UAAUomB,iBAAmB,SAAUJ,EAAUL,EAAoBC,GAChF,IAAIxB,EAAY5H,EAAkBwJ,EAAS5B,WAC3C,GAAkB,OAAdA,QAAoCjoB,IAAdioB,EACtBvsB,KAAK4K,OAAOyB,IAAI,OAAS6Z,MAAO,uBAAyBiI,EAAS5B,UAAY,qDAE7E,CACD,IAAImC,EAAkBP,EAASO,gBAAgBC,KAAI,SAAUvkB,GAAK,OAAOwa,EAAexa,MACxF,GAAIwkB,EAAiBd,EAAoBvB,GACrC,GAAImC,EAAgB9oB,QAAQmoB,IAA4B,EAAG,CACvD,IAAKxB,IAAc5H,EAAkBqI,YAAehtB,KAAK8O,QAAQqd,aAC5DI,IAAc5H,EAAkB6J,kBAAqBxuB,KAAK8O,QAAQsd,aAKnE,OADApsB,KAAK4K,OAAOyB,IAAI,OAAS6Z,MAAO,wBAA0BvB,EAAkB4H,GAAa,MAClFA,EAJPvsB,KAAK4K,OAAOyB,IAAI,OAAS6Z,MAAO,uBAAyBvB,EAAkB4H,GAAa,4DAQ5FvsB,KAAK4K,OAAOyB,IAAI,OAAS6Z,MAAO,uBAAyBvB,EAAkB4H,GAAa,gEAAkE3H,EAAemJ,GAA2B,WAIxM/tB,KAAK4K,OAAOyB,IAAI,OAAS6Z,MAAO,uBAAyBvB,EAAkB4H,GAAa,4CAGhG,OAAO,MAEXR,EAAe5jB,UAAUkmB,aAAe,SAAU9B,GAC9C,OAAOA,GAAoC,kBAAhB,GAA4B,YAAaA,GAExER,EAAe5jB,UAAUqlB,YAAc,SAAU/hB,EAAMojB,GACnD,OAAI7uB,KAAK0lB,kBAAoBja,IACzBzL,KAAK0lB,gBAAkBmJ,GAChB,IAIf9C,EAAe5jB,UAAUolB,eAAiB,SAAUrhB,GAChDlM,KAAKusB,eAAYjoB,EAEjB4H,EAAQlM,KAAKwsB,WAAatgB,EACtBA,EACAlM,KAAK4K,OAAOyB,IAAI,OAAS3G,MAAO,uCAAyCwG,EAAQ,MAGjFlM,KAAK4K,OAAOyB,IAAI,OAASiT,YAAa,4BAE1Ctf,KAAK0lB,gBAAkB,EACnB1lB,KAAKqlB,SACLrlB,KAAKqlB,QAAQnZ,IAGrB6f,EAAe5jB,UAAU8jB,WAAa,SAAUtgB,GAE5C,GAAuC,IAAnCA,EAAI4H,YAAY,WAAY,IAA8C,IAAlC5H,EAAI4H,YAAY,UAAW,GACnE,OAAO5H,EAEX,GAAsB,qBAAXif,SAA2BA,SAAWA,OAAOkE,SACpD,MAAM,IAAIppB,MAAM,mBAAqBiG,EAAM,MAO/C,IAAIojB,EAAOnE,OAAOkE,SAASE,cAAc,KAGzC,OAFAD,EAAK9mB,KAAO0D,EACZ3L,KAAK4K,OAAOyB,IAAI,OAASiT,YAAa,gBAAkB3T,EAAM,SAAWojB,EAAK9mB,KAAO,MAC9E8mB,EAAK9mB,MAEhB8jB,EAAe5jB,UAAUwlB,oBAAsB,SAAUhiB,GACrD,IAAIuU,EAAQvU,EAAI/F,QAAQ,KACpB6nB,EAAe9hB,EAAIvC,UAAU,GAAc,IAAX8W,EAAevU,EAAIrG,OAAS4a,GAMhE,MAL8C,MAA1CuN,EAAaA,EAAanoB,OAAS,KACnCmoB,GAAgB,KAEpBA,GAAgB,YAChBA,IAA2B,IAAXvN,EAAe,GAAKvU,EAAIvC,UAAU8W,GAC3CuN,GAEJ1B,EA9XwB,GAiYnC,SAAS6C,EAAiBd,EAAoBmB,GAC1C,OAAQnB,GAAkE,KAA1CmB,EAAkBnB,G,4BClblDoB,EAAyB,OAEzB,EAAiC,WACjC,SAASC,IAELnvB,KAAKzB,KAAO2wB,EAEZlvB,KAAKimB,QAAU,EAEfjmB,KAAKqmB,eAAiBzB,EAAe8F,KAsFzC,OA/EAyE,EAAgBhnB,UAAU6f,cAAgB,SAAU5gB,EAAOwD,GAEvD,GAAqB,kBAAVxD,EACP,MAAM,IAAI1B,MAAM,2DAEpB,IAAK0B,EACD,MAAO,GAEI,OAAXwD,IACAA,EAAS,OAAW6D,UAKxB,IAFA,IAAIpH,EAAWL,EAAA,KAAkBG,MAAMC,GACnCgoB,EAAc,GACT1P,EAAK,EAAGuI,EAAa5gB,EAAUqY,EAAKuI,EAAW3iB,OAAQoa,IAAM,CAClE,IAAIc,EAAUyH,EAAWvI,GACrB2P,EAAgB/mB,KAAKnB,MAAMqZ,GAC/B,GAAkC,kBAAvB6O,EAActwB,KACrB,MAAM,IAAI2G,MAAM,oBAEpB,OAAQ2pB,EAActwB,MAClB,KAAK+hB,EAAYoH,WACbloB,KAAKsvB,oBAAoBD,GACzB,MACJ,KAAKvO,EAAYsH,WACbpoB,KAAKuvB,oBAAoBF,GACzB,MACJ,KAAKvO,EAAYyG,WACbvnB,KAAKwvB,oBAAoBH,GACzB,MACJ,KAAKvO,EAAYgF,KAEb,MACJ,KAAKhF,EAAYuH,MAEb,MACJ,QAEIzd,EAAOyB,IAAI,OAASiT,YAAa,yBAA2B+P,EAActwB,KAAO,cACjF,SAERqwB,EAAY1oB,KAAK2oB,GAErB,OAAOD,GAOXD,EAAgBhnB,UAAU0d,aAAe,SAAUrF,GAC/C,OAAOxZ,EAAA,KAAkBC,MAAMqB,KAAKC,UAAUiY,KAElD2O,EAAgBhnB,UAAUmnB,oBAAsB,SAAU9O,GACtDxgB,KAAKyvB,qBAAqBjP,EAAQtJ,OAAQ,gDACb5S,IAAzBkc,EAAQ4G,cACRpnB,KAAKyvB,qBAAqBjP,EAAQ4G,aAAc,4CAGxD+H,EAAgBhnB,UAAUonB,oBAAsB,SAAU/O,GAEtD,GADAxgB,KAAKyvB,qBAAqBjP,EAAQ4G,aAAc,gDAC3B9iB,IAAjBkc,EAAQf,KACR,MAAM,IAAI/Z,MAAM,4CAGxBypB,EAAgBhnB,UAAUqnB,oBAAsB,SAAUhP,GACtD,GAAIA,EAAQxD,QAAUwD,EAAQtU,MAC1B,MAAM,IAAIxG,MAAM,4CAEf8a,EAAQxD,QAAUwD,EAAQtU,OAC3BlM,KAAKyvB,qBAAqBjP,EAAQtU,MAAO,2CAE7ClM,KAAKyvB,qBAAqBjP,EAAQ4G,aAAc,4CAEpD+H,EAAgBhnB,UAAUsnB,qBAAuB,SAAU5vB,EAAOqc,GAC9D,GAAqB,kBAAVrc,GAAgC,KAAVA,EAC7B,MAAM,IAAI6F,MAAMwW,IAGjBiT,EA7FyB,GCDhC,EAAsC,WACtC,SAASO,KAwDT,OAtDAA,EAAqBvnB,UAAUwnB,iBAAmB,SAAUC,GAQxD,OAPA,OAAI5R,WAAW4R,EAAS,WACpBC,GAASD,GACT5vB,KAAK4K,OAASglB,EAGd5vB,KAAK4K,OAAS,IAAI,OAAcglB,GAE7B5vB,MAEX0vB,EAAqBvnB,UAAU2nB,QAAU,SAAUnkB,EAAKokB,GAapD,OAZA,OAAI/R,WAAWrS,EAAK,OACpB3L,KAAK2L,IAAMA,EAIP3L,KAAKgwB,sBAD6B,kBAA3BD,EACsBA,EAGA,CACzBxD,UAAWwD,GAGZ/vB,MAMX0vB,EAAqBvnB,UAAU8nB,gBAAkB,SAAUlL,GAGvD,OAFA,OAAI/G,WAAW+G,EAAU,YACzB/kB,KAAK+kB,SAAWA,EACT/kB,MAMX0vB,EAAqBvnB,UAAU+nB,MAAQ,WAGnC,IAAIF,EAAwBhwB,KAAKgwB,uBAAyB,GAO1D,QALqC1rB,IAAjC0rB,EAAsBplB,SAEtBolB,EAAsBplB,OAAS5K,KAAK4K,SAGnC5K,KAAK2L,IACN,MAAM,IAAIjG,MAAM,4FAEpB,IAAIof,EAAa,IAAI,EAAe9kB,KAAK2L,IAAKqkB,GAC9C,OAAO,EAAc/lB,OAAO6a,EAAY9kB,KAAK4K,QAAU,OAAW6D,SAAUzO,KAAK+kB,UAAY,IAAI,IAE9F2K,EAzD8B,GA4DzC,SAASG,GAASjlB,GACd,YAAsBtG,IAAfsG,EAAOyB,ICjEX,I,oDCJH,GAAS,WAAa,IAAI0U,EAAI/gB,KAASghB,EAAGD,EAAI1gB,eAAmB4gB,EAAGF,EAAIG,MAAMD,IAAID,EAAG,OAAOC,EAAG,MAAM,CAAC/gB,YAAY,gBAAgBC,MAAM,CAACgwB,QAASpP,EAAIqP,KAAO,IAAQlkB,MAAO6U,EAAIqP,MAAQ,MAAS,CAACnP,EAAG,MAAM,CAACvgB,MAAM,CAAC,GAAK,QAAUqgB,EAAIsP,WACtO,GAAkB,GCSD,GAArB,wDAQE,iDACE,eALM,EAAAC,YAAc,GACd,EAAAC,SAAkC,KAKxC,EAAKH,KAAOvsB,KAAKgmB,MAFnB,EARF,8DAcI7pB,KAAKuwB,SAAWC,YAAYxwB,KAAKywB,cAAe,OAdpD,sCAmBI,IAAMC,EAAW1wB,KAAKowB,KAGhBO,EAAO5iB,KAAKoC,MAAMugB,EAAW,OAC7BE,EAAQ7iB,KAAKoC,MAChBugB,EAAW,MAAZ,MAEIG,EAAU9iB,KAAKoC,MAAOugB,EAAW,KAAZ,KACrBI,EAAU/iB,KAAKoC,MAAOugB,EAAW,IAAe,KAGtD1wB,KAAKswB,YACHK,EAAO,KAAOC,EAAQ,KAAOC,EAAU,KAAOC,EAAU,KAGtDJ,EAAW,IACbK,cAAc/wB,KAAKuwB,UACnBvwB,KAAKswB,YAAc,WAIrBtwB,KAAKgxB,GAAGC,UAAYjxB,KAAKswB,YACzBtwB,KAAKowB,MAAQ,MAzCjB,gCA6CIpwB,KAAKowB,KAAOpwB,KAAKkX,OACjB,IAAMga,EAASpC,SAASqC,eAAT,eAAgCnxB,KAAKqwB,OAEhDa,IACFlxB,KAAKgxB,GAAKE,GAIZlxB,KAAKoxB,mBArDT,GAA4C,QAE1C,gBADC,eAAK,CAAEC,UAAU,K,8BADC,GAAc,gBADlC,QACoB,cCV6X,M,yBCQ9YC,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,GAAAA,G,qBCqSM,GAArB,wDAiDC,iDACC,eAhDD,EAAA9P,QAA0B,KAE1B,EAAAY,gBAAkB,GAClB,EAAAI,iBAAkB,EAClB,EAAA+O,WAAY,EACZ,EAAApQ,WAAY,EACZ,EAAAqQ,QAAU,EACV,EAAAC,WAAY,EACZ,EAAA1O,KAAsB,GACtB,EAAAN,WAAY,EAyCX,EAAKqC,YAAa,IAAI,GACpBgL,QAAQ,EAAK4B,OAAQ,CACrB5S,mBAAoB,kBACnB,EAAK6S,OAAOC,QAAQ,wBAErBjC,iBAAiB,OAASrQ,aAC1B4Q,QAEF,EAAKpL,WAAWO,SAAQ,SAACzF,GACxB,EAAKvT,IAAI,0BACTqU,QAAQxU,MAAM0T,GACd,EAAK2R,WAAY,EACjB,EAAKllB,IAAI,qBACT,EAAKid,aAGN,EAAKxE,WAAWhkB,GAAG,aAAc,EAAK+wB,oBACtC,EAAK/M,WAAWhkB,GAAG,aAAc,EAAKgxB,cACtC,EAAKhN,WAAWhkB,GAAG,aAAc,EAAKixB,cACtC,EAAKjN,WAAWhkB,GAAG,iBAAkB,EAAKkxB,kBAC1C,EAAKlN,WAAWhkB,GAAG,aAAc,EAAKmxB,cACtC,EAAKnN,WAAWhkB,GAAG,eAAgB,EAAKoxB,gBAxBzC,EAjDD,gEA6EkBC,GACZnyB,KAAKwhB,UACRxhB,KAAKwhB,QAASU,SAAWiQ,KA/E5B,wCAoFmBA,GACbnyB,KAAKwhB,UACRxhB,KAAKwhB,QAAQM,UAAYqQ,KAtF5B,0BA0FKvyB,GACHI,KAAK+iB,KAAKrc,KAAK,CACdyc,KAAM,IAAItf,KACVjE,WA7FH,gCAiGQ,WACc,MAAhBI,KAAKwhB,UACRxhB,KAAKqM,IAAI,0BACTrM,KAAK8kB,WACHve,QACA2W,MAAK,WAAK,MACV,EAAK7Q,IAAI,gBACT,EAAKklB,WAAY,EACjB,EAAKzM,WAAW2C,OAAO,aAAvB,UAAqC,EAAKjG,eAA1C,aAAqC,EAAcve,OAEnDod,OAAM,SAACT,GACP,EAAKvT,IAAL,8CAAgDuT,UA5GrD,sCAqHiB3c,GAAU,WACzB,QAAK4L,IACJ7O,KAAK2xB,OAAOC,QAAQ5F,QAAU,iBAAmB/oB,EACjD,SACA,GAECia,MAAK,SAACjd,GACN,EAAKuhB,QAAUvhB,EACf,EAAKqpB,aAELjJ,OAAM,SAACT,GAAD,OAASc,QAAQrU,IAAIuT,MAC3B1C,MAAK,WACL,EAAKiE,WAAY,OAjIrB,gCAqIQ,WACNnhB,KAAK8kB,WACH5Z,KAAK,MAAOlL,KAAKwhB,QAASve,GAAIjD,KAAK2iB,MAAO,IAAI9e,MAC9CqZ,MAAK,kBAAM,EAAK7Q,IAAI,kBACtBrM,KAAKwxB,QAAUxxB,KAAK2iB,QAzItB,wCA4IgB,WACd3iB,KAAK8kB,WACH5Z,KACA,MACAlL,KAAKwhB,QAASve,GACdjD,KAAKwhB,QAASe,aACd,IAAI1e,MAEJqZ,MAAK,kBAAM,EAAK7Q,IAAI,8BACtBrM,KAAKwxB,QAAUxxB,KAAK2iB,QArJtB,yCAwJoByP,GAClBpyB,KAAKwhB,QAASe,aAAe6P,EAAMC,IACnCryB,KAAKoiB,gBAAkBgQ,EAAME,SAC7BtyB,KAAKwiB,gBAAkB4P,EAAM3P,UAC7BziB,KAAKqM,IAAL,0BAA4B+lB,EAAMC,IAAlC,oBA5JF,mCA+JcE,GACZvyB,KAAKqM,IAAI,gBAAkBkmB,KAhK7B,mCAmKcpP,GAAU,WACtBnjB,KAAKwhB,QAASgR,QAAUrP,EACxBnjB,KAAKqM,IACJ,qBAAuBrM,KAAKkjB,QAAQC,GAAMC,OAAO,qBAElDpjB,KAAKyxB,WAAY,EACjB,QAAK5iB,IAAL,oCAAsC7O,KAAKwhB,QAASve,KAClDia,MAAK,SAACF,IACN,OAAIA,QAAJ,IAAIA,OAAJ,EAAIA,EAAQ/c,QACX,EAAKuhB,QAASU,SAAWlF,EAAO/c,SAGjCogB,OAAM,SAACT,GACPc,QAAQrU,IAAIuT,MAEZ1C,MAAK,kBAAO,EAAKuU,WAAY,OAlLjC,yCAsLE/Q,QAAQrU,IAAI,mBACZrM,KAAKqM,IACJ,4CAA8CrM,KAAKwhB,QAASve,MAxL/D,mCA4LchD,GACRA,EAAKwyB,WAAazyB,KAAKwhB,QAASve,KACnCyd,QAAQrU,IAAI,QACZrM,KAAKwhB,QAASM,WAAY,EAC1B9hB,KAAKwhB,QAAS+B,OAAS,IAAI,QAC3BvjB,KAAKwhB,QAAS+B,OAAO/f,OAASvD,EAAKyyB,SACnC1yB,KAAKwhB,QAAS8B,SAAWrjB,EAAK0yB,YAlMjC,qCAsMgB1yB,GACdD,KAAKyiB,UAAYxiB,EAAK2yB,qBAElB3yB,EAAKqyB,WACRtyB,KAAKwhB,QAASe,aAAetiB,EAAKoyB,IAClCryB,KAAKoiB,gBAAkBniB,EAAKqyB,SAC5BtyB,KAAKwiB,gBAAkBviB,EAAKwiB,aA5M/B,gCAgNQ,IACExf,EAAOjD,KAAK6yB,OAAOC,OAAnB7vB,QAEEqB,GAANrB,EACHjD,KAAK+yB,gBAAgB9vB,GAErBjD,KAAKgzB,QAAQC,SAtNhB,6BAcE,OAAIjzB,KAAKwhB,QAASe,aACV2Q,YAAYlzB,KAAKwhB,QAASe,aAAeviB,KAAKwhB,QAASS,SAASkR,QAAQ,IAExED,WAAYlzB,KAAKwhB,QAASQ,WAAYmR,QAAQ,MAjBxD,4BAsBE,OAAInzB,KAAKwhB,QAASe,aACV2Q,YAAYlzB,KAAKwhB,QAASe,aAAeviB,KAAKwhB,QAASS,SAASkR,QAAQ,IAExED,WAAYlzB,KAAKwhB,QAASQ,WAAYmR,QAAQ,MAzBxD,mCA8BE,OAAOnzB,KAAKoiB,iBAAmBpiB,KAAKqiB,gBA9BtC,6BAkCE,OAAOriB,KAAK2xB,OAAOC,QAAQ5F,QAAU,kBAlCvC,oCAsCE,OAAOhsB,KAAK2xB,OAAOC,QAAQ,oBAtC7B,iCA0CE,IAAM5c,EAAMhV,KAAKwhB,QAASC,aAAa2R,MAAMzE,KAAI,SAACtY,GAAD,sBAAC,kBAC9CA,GAD6C,IAEhDpT,GAAIoT,EAAEgd,WAEP,OAAOre,IA9CT,8BAkHE,OAAOhV,KAAKkjB,QAAQljB,KAAKwhB,QAASgR,SAASpP,OAAO,wBAlHpD,GAAyC,QA6ExC,gBADC,eAAM,mBAAoB,CAAEkQ,WAAW,K,gCAKvC,MAGD,gBADC,eAAM,oBAAqB,CAAEA,WAAW,K,iCAKxC,MAxFmB,GAAW,gBAT/B,eAAU,CACVC,WAAY,CACXC,eAAA,QACAC,MAAA,IAED3zB,SAAU,CACT6hB,aAAc,kBAAM,aAGD,cCxT+X,M,4ICQhZ,GAAY,gBACd,GACA9e,EACA4gB,GACA,EACA,KACA,KACA,MAIa,gBAAiB,QAahC,KAAkB,GAAW,CAACiQ,UAAA,KAAOlzB,QAAA,KAAKmzB,SAAA,KAAMC,UAAA,QAAUC,WAAA,QAAWC,QAAA,KAAKC,YAAA,KAASC,qBAAA,KAAkBC,QAAA,Q,mBChCrG,IAAIpmB,EAAW,GAAGA,SAElBqmB,EAAOxvB,QAAUQ,MAAMqL,SAAW,SAAUtK,GAC1C,MAA6B,kBAAtB4H,EAAStD,KAAKtE,K,kCCHvB,IAAIpD,EAAS,WAAa,IAAIke,EAAI/gB,KAASghB,EAAGD,EAAI1gB,eAAmB4gB,EAAGF,EAAIG,MAAMD,IAAID,EAAG,OAAOC,EAAG,MAAM,CAAC/gB,YAAY,kBAAkB,CAAC+gB,EAAG,MAAM,CAAEF,EAAIc,YAAcd,EAAIc,WAAWvc,OAAS,EAAG2b,EAAG,eAAe,CAAC/gB,YAAY,4BAA4BQ,MAAM,CAAC,QAAUqgB,EAAIhV,QAAQ,MAAQgV,EAAIc,WAAW,gBAAgBd,EAAIoT,aAAa,WAAW,KAAK,cAAcpT,EAAIqT,YAAYC,YAAYtT,EAAIuT,GAAG,CAAC,CAACrR,IAAI,UAAUsR,GAAG,SAASC,GAC9a,IAAI/U,EAAO+U,EAAI/U,KACf,MAAO,CAACwB,EAAG,MAAM,CAAC9gB,MAAM4gB,EAAI0T,WAAW,CAAC1T,EAAIM,GAAGN,EAAIO,GAAG7B,EAAKxc,UAAU,CAACggB,IAAI,aAAasR,GAAG,SAASC,GACnG,IAAI/U,EAAO+U,EAAI/U,KACf,MAAO,CAACwB,EAAG,MAAM,CAAC9gB,MAAM4gB,EAAI0T,WAAW,CAAC1T,EAAIM,GAAGN,EAAIO,GAAG7B,EAAKiC,aAAa,CAACuB,IAAI,mBAAmBsR,GAAG,SAASC,GAC5G,IAAI/U,EAAO+U,EAAI/U,KACf,MAAO,CAACwB,EAAG,MAAM,CAAC9gB,MAAM4gB,EAAI0T,UAAUC,SAAS,CAAC,UAAY3T,EAAIO,GAAG7B,EAAKkV,mBAAmB,CAAC1R,IAAI,iBAAiBsR,GAAG,WAAW,MAAO,CAAGxT,EAAIpgB,SAASi0B,WAAWC,GAAyW9T,EAAIK,KAAzWH,EAAG,QAAQ,CAACxe,MAAOse,EAAIpgB,SAASi0B,WAAWE,OAAS,CAAE,cAAe,OAAU,CAAE,cAAe,OAASp0B,MAAM,CAAC,MAAQ,GAAG,MAAQ,QAAQ,SAAW,IAAII,GAAG,CAAC,MAAQ,SAASi0B,GAAQhU,EAAIiU,UAAYjU,EAAIiU,YAAY,CAACjU,EAAIM,GAAG,IAAIN,EAAIO,GAAGP,EAAIiU,SAAWjU,EAAIQ,GAAG,0CAA4CR,EAAIQ,GAAG,2CAA2C,SAAkB0T,OAAM,IAAO,MAAK,GAAM7C,MAAM,CAACvyB,MAAOkhB,EAAY,SAAE+G,SAAS,SAAUoN,GAAMnU,EAAIoU,SAASD,GAAKE,WAAW,cAAcrU,EAAIK,MAAM,MACnpBqC,EAAkB,G,wECqCD,EAArB,yG,0BAKU,EAAA0R,SAAkB,GAC1B,EAAAH,UAAW,EANb,gEA+CQh1B,KAAKm1B,UAAYn1B,KAAKm1B,SAAS7vB,OAAS,IAAGtF,KAAKm1B,SAAW,MA/CnE,wCAoDIn1B,KAAKq1B,MAAM,4BAA6Br1B,KAAKm1B,YApDjD,iCASI,OAAOn1B,KAAKozB,QAThB,gCAaI,OAAOpzB,KAAKW,SAASi0B,WAAWC,GAAK,sDAAwD70B,KAAKg1B,SAAW,uBAAyB,qBAb1I,8BAiBI,MAAO,CACL,CACEp1B,KAAMI,KAAKuhB,GAAG,uBACd+T,MAAO,QACPC,UAAU,EACV11B,MAAO,oBAET,CACED,KAAMI,KAAKuhB,GAAG,qCACd+T,MAAO,QACPC,UAAU,EACV11B,MAAO,MAET,CACED,KAAMI,KAAKuhB,GAAG,6CACd+T,MAAO,QACPC,UAAU,EACV11B,MAAO,SAET,CACED,KAAMI,KAAKuhB,GAAG,8CACd+T,MAAO,QACPC,UAAU,EACV11B,MAAO,oBAxCf,GAA4C,QACf,gBAA1B,eAAK,CAAEwxB,UAAU,K,mCACQ,gBAAzB,eAAK,CAAEA,UAAU,K,4BACO,gBAAxB,eAAK,CAAEnyB,SAAS,K,mCACQ,gBAAxB,eAAK,CAAEA,SAAS,K,iCA0CjB,gBADC,eAAM,U,2BAGN,MAGD,gBADC,eAAM,a,8BAGN,MArDkB,EAAc,gBADlC,QACoB,WC5CkZ,I,qECQnaoyB,EAAY,eACd,EACAzuB,EACA4gB,GACA,EACA,KACA,WACA,MAIa,OAAA6N,EAAiB,QAMhC,IAAkBA,EAAW,CAAC9wB,OAAA,KAAKg1B,aAAA,Q,iWCnBtBC,EACX,aAAyB,IAAbzyB,EAAa,uDAAF,GAAE,uBACvBhD,KAAKiD,GAAKD,EAAIC,GACdjD,KAAKyhB,aAAe,IAAIiU,EAAoB1yB,EAAIye,cAChDzhB,KAAKujB,OAASvgB,EAAIugB,OAAS,IAAI,OAAOvgB,EAAIugB,aAAUjf,EACpDtE,KAAK21B,KAAO3yB,EAAI2yB,KAChB31B,KAAKwyB,QAAUxvB,EAAIwvB,QACnBxyB,KAAK41B,UAAY5yB,EAAI4yB,UACrB51B,KAAKiiB,QAAUjf,EAAIif,QACnBjiB,KAAKgiB,WAAahf,EAAIgf,WACtBhiB,KAAKuiB,aAAevf,EAAIuf,aACxBviB,KAAKsjB,SAAWtgB,EAAIsgB,SACpBtjB,KAAK8hB,UAAY9e,EAAI8e,UACrB9hB,KAAK61B,QAAU7yB,EAAI6yB,QACnB71B,KAAK81B,eAAiB9yB,EAAI8yB,iBAAkB,EAC5C91B,KAAKkiB,SAAWlf,EAAIkf,UAAY,KAChCliB,KAAK+1B,mBAAqB/yB,EAAI+yB,mBAC9B/1B,KAAKg2B,kBAAoBhzB,EAAIgzB,mBAqBpBN,EACX,aAAyB,WAAb1yB,EAAa,uDAAF,GAAE,uBACvBhD,KAAKiD,GAAKD,EAAIC,IAAM,KACpBjD,KAAKmF,KAAOnC,EAAImC,MAAQ,GACxBnF,KAAK0hB,MAAQ1e,EAAI0e,MACjB1hB,KAAKi2B,MAAQjzB,EAAIizB,MACjBj2B,KAAKk2B,UAAYlzB,EAAIkzB,UACrBl2B,KAAK2hB,aAAe3e,EAAI2e,aACxB3hB,KAAKm2B,iBAAmBnzB,EAAImzB,iBAC5Bn2B,KAAKo2B,WAAapzB,EAAIozB,WACtBp2B,KAAKgiB,WAAahf,EAAIgf,WACtBhiB,KAAKiiB,QAAUjf,EAAIif,QACnBjiB,KAAKq2B,kBAAoBrzB,EAAIqzB,kBAAoB,IAAIxyB,KAAKb,EAAIqzB,mBAAqB,KACnFr2B,KAAKs2B,gBAAkBtzB,EAAIszB,gBAAkB,IAAIzyB,KAAKb,EAAIszB,iBAAmB,KAC7Et2B,KAAKu2B,iBAAmBvzB,EAAIuzB,iBAAmB,IAAI1yB,KAAKb,EAAIuzB,kBAAoB,KAChFv2B,KAAKw2B,eAAiBxzB,EAAIwzB,eAAiB,IAAI3yB,KAAKb,EAAIwzB,gBAAkB,KAC1Ex2B,KAAKozB,MAAQpwB,EAAIowB,OAAS,GAC1BpzB,KAAK20B,YAAc3xB,EAAI2xB,aAAe,GACtC30B,KAAKy2B,YAAc,GACnBz2B,KAAK02B,UAAY,GACjB12B,KAAK22B,mBAAqB,GAC1B32B,KAAK42B,UAAY5zB,EAAI4zB,WAAa,GAClC52B,KAAKqjB,UAAYrgB,EAAIqgB,YAAa,EAClCrjB,KAAKwjB,YAAcxgB,EAAIwgB,YAAc,IAAI3f,KAAKb,EAAIwgB,aAAe,KACjExjB,KAAK62B,YAAc7zB,EAAI6zB,YACvB72B,KAAK+1B,mBAAqB/yB,EAAI+yB,mBAC9B/1B,KAAKg2B,kBAAoBhzB,EAAIgzB,kBAC7Bh2B,KAAK82B,kBAAoB9zB,EAAI8zB,kBAC7B92B,KAAK+2B,kBAAoB/zB,EAAI+zB,kBAC7B/2B,KAAKg3B,kBAAoBh0B,EAAIg0B,kBAC7Bh3B,KAAKi3B,oBAAsBj0B,EAAIi0B,oBAS3Bj0B,EAAIyzB,aAAezzB,EAAIyzB,YAAYnxB,QACrCtC,EAAIyzB,YAAYhY,SAAQ,SAACyY,GACvB,IAAMzX,EAAO,IAAI,OAAU,CAAExc,GAAIi0B,EAAQj0B,GAAIkL,KAAM+oB,EAAShpB,KAAMgpB,EAAQhpB,OAE1E,EAAKuoB,YAAY/vB,KAAK+Y,OAoCjB0X,EAAb,oCACE,KAAAl0B,GAAoB,KACpB,KAAAowB,MAAuB,KACvB,KAAA1R,aAAe,GACf,KAAAD,MAAQ,GACR,KAAAiT,YAAc,GACd,KAAAyC,iBAAkB,EAClB,KAAAC,WAAa,GACb,KAAAjzB,WAAa,IAGFkzB,EACX,aAAyB,WAAbt0B,EAAa,uDAAF,GAAE,uBACvBhD,KAAKiD,GAAKD,EAAIC,GACdjD,KAAKu3B,aAAev0B,EAAIu0B,aACxBv3B,KAAKw3B,cAAgBx0B,EAAIw0B,cACzBx3B,KAAKy3B,YAAcz0B,EAAIy0B,aAAe,IAAI,OAC1Cz3B,KAAK03B,eAAiB10B,EAAI00B,eAC1B13B,KAAK23B,sBAAwB30B,EAAI20B,sBACjC33B,KAAK43B,WAAa50B,EAAI40B,WACtB53B,KAAK63B,YAAc70B,EAAI60B,YACvB73B,KAAK83B,YAAc90B,EAAI80B,YACvB93B,KAAK+3B,mBAAqB/0B,EAAI+0B,mBAC9B/3B,KAAKg4B,uBAAyBh1B,EAAIg1B,uBAClCh4B,KAAKi4B,QAAUj1B,EAAIi1B,UAAW,EAC9Bj4B,KAAKk4B,cAAgBl1B,EAAIk1B,gBAAiB,EAC1Cl4B,KAAKm4B,uBAAyBn1B,EAAIm1B,yBAA0B,EAC5Dn4B,KAAKo4B,UAAYp1B,EAAIo1B,UACrBp4B,KAAK42B,UAAY5zB,EAAI4zB,UACrB52B,KAAKq4B,kBAAoBr1B,EAAIq1B,kBAC7Br4B,KAAKs4B,oBAAsBt1B,EAAIs1B,oBAC/Bt4B,KAAKu4B,kBAAoBv1B,EAAIu1B,kBAC7Bv4B,KAAKw4B,qBAAuBx1B,EAAIw1B,qBAChCx4B,KAAKy4B,mBAAqBz1B,EAAIy1B,mBAC9Bz4B,KAAK04B,mBAAqB11B,EAAI01B,mBAC9B14B,KAAK24B,uBAAyB31B,EAAI21B,uBAClC34B,KAAK44B,UAAY51B,EAAI41B,UACrB54B,KAAK64B,UAAY71B,EAAI61B,UACrB74B,KAAK84B,QAAU91B,EAAI81B,QACnB94B,KAAK+4B,aAAe/1B,EAAI+1B,aACxB/4B,KAAKy2B,YAAc,GACnBz2B,KAAK02B,UAAY,GACjB12B,KAAK22B,mBAAqB,GAC1B32B,KAAKg5B,KAAOh2B,EAAIi2B,KAChBj5B,KAAKk5B,SAAWl2B,EAAIk2B,SACpBl5B,KAAKm5B,iBAAmBn2B,EAAIm2B,iBAExBn2B,EAAI0zB,WAAa1zB,EAAI0zB,UAAUpxB,QACjCtC,EAAI0zB,UAAUjY,SAAQ,SAACyY,GACrB,IAAMzX,EAAO,IAAI,OAAUyX,GAE3B,EAAKR,UAAUhwB,KAAK+Y,MAIpBzc,EAAIyzB,aAAezzB,EAAIyzB,YAAYnxB,QACrCtC,EAAIyzB,YAAYhY,SAAQ,SAACyY,GACvB,IAAMzX,EAAO,IAAI,OAAU,CAAExc,GAAIi0B,EAAQj0B,GAAIkL,KAAM+oB,IAEnD,EAAKT,YAAY/vB,KAAK+Y,OAwCjB2Z,EACX,aAAyB,IAAbp2B,EAAa,uDAAF,GAAE,uBACvBhD,KAAKq5B,0BAA4Br2B,EAAIq2B,0BACrCr5B,KAAKs5B,UAAYt2B,EAAIs2B,UACrBt5B,KAAKo2B,WAAapzB,EAAIozB,WACtBp2B,KAAKq2B,kBAAoBrzB,EAAIqzB,kBAC7Br2B,KAAKs2B,gBAAkBtzB,EAAIszB,gBAC3Bt2B,KAAKu2B,iBAAmBvzB,EAAIuzB,iBAC5Bv2B,KAAKw2B,eAAiBxzB,EAAIwzB,eAC1Bx2B,KAAKu5B,cAAgBv2B,EAAIu2B,cACzBv5B,KAAKw5B,QAAUx2B,EAAIw2B,QACnBx5B,KAAK21B,KAAO3yB,EAAI2yB,KAChB31B,KAAKy5B,QAAUz2B,EAAIy2B,QACnBz5B,KAAKozB,MAAQpwB,EAAIowB,OAuCRsG,EACX,aAA0B,IAAb12B,EAAa,uDAAF,GAAE,uBACxBhD,KAAK+1B,mBAAqB/yB,EAAI+yB,oBAAsB,GACpD/1B,KAAKg2B,kBAAoBhzB,EAAIgzB,mBAAqB,GAClDh2B,KAAK82B,kBAAoB9zB,EAAI8zB,mBAAqB,GAClD92B,KAAK+2B,kBAAoB/zB,EAAI+zB,mBAAqB,GAClD/2B,KAAKg3B,kBAAoBh0B,EAAIg0B,mBAAqB,GAClDh3B,KAAKi3B,oBAAsBj0B,EAAIi0B,qBAAuB","file":"js/chunk-066325eb.81aab2ed.js","sourcesContent":["import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./propertiesShortDisplayList.vue?vue&type=style&index=0&id=ccaac5ee&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./propertiesShortDisplayList.vue?vue&type=style&index=0&id=ccaac5ee&lang=scss&scoped=true&\"","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'transitionable',\n\n props: {\n mode: String,\n origin: String,\n transition: String,\n },\n})\n","// Styles\nimport './VAlert.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNodeData } from 'vue'\nimport { VNode } from 'vue/types'\n\n/* @vue/component */\nexport default mixins(\n VSheet,\n Toggleable,\n Transitionable\n).extend({\n name: 'v-alert',\n\n props: {\n border: {\n type: String,\n validator (val: string) {\n return [\n 'top',\n 'right',\n 'bottom',\n 'left',\n ].includes(val)\n },\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n coloredBorder: Boolean,\n dense: Boolean,\n dismissible: Boolean,\n closeIcon: {\n type: String,\n default: '$cancel',\n },\n icon: {\n default: '',\n type: [Boolean, String],\n validator (val: boolean | string) {\n return typeof val === 'string' || val === false\n },\n },\n outlined: Boolean,\n prominent: Boolean,\n text: Boolean,\n type: {\n type: String,\n validator (val: string) {\n return [\n 'info',\n 'error',\n 'success',\n 'warning',\n ].includes(val)\n },\n },\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n computed: {\n __cachedBorder (): VNode | null {\n if (!this.border) return null\n\n let data: VNodeData = {\n staticClass: 'v-alert__border',\n class: {\n [`v-alert__border--${this.border}`]: true,\n },\n }\n\n if (this.coloredBorder) {\n data = this.setBackgroundColor(this.computedColor, data)\n data.class['v-alert__border--has-color'] = true\n }\n\n return this.$createElement('div', data)\n },\n __cachedDismissible (): VNode | null {\n if (!this.dismissible) return null\n\n const color = this.iconColor\n\n return this.$createElement(VBtn, {\n staticClass: 'v-alert__dismissible',\n props: {\n color,\n icon: true,\n small: true,\n },\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.closeLabel),\n },\n on: {\n click: () => (this.isActive = false),\n },\n }, [\n this.$createElement(VIcon, {\n props: { color },\n }, this.closeIcon),\n ])\n },\n __cachedIcon (): VNode | null {\n if (!this.computedIcon) return null\n\n return this.$createElement(VIcon, {\n staticClass: 'v-alert__icon',\n props: { color: this.iconColor },\n }, this.computedIcon)\n },\n classes (): object {\n const classes: Record = {\n ...VSheet.options.computed.classes.call(this),\n 'v-alert--border': Boolean(this.border),\n 'v-alert--dense': this.dense,\n 'v-alert--outlined': this.outlined,\n 'v-alert--prominent': this.prominent,\n 'v-alert--text': this.text,\n }\n\n if (this.border) {\n classes[`v-alert--border-${this.border}`] = true\n }\n\n return classes\n },\n computedColor (): string {\n return this.color || this.type\n },\n computedIcon (): string | boolean {\n if (this.icon === false) return false\n if (typeof this.icon === 'string' && this.icon) return this.icon\n if (!['error', 'info', 'success', 'warning'].includes(this.type)) return false\n\n return `$${this.type}`\n },\n hasColoredIcon (): boolean {\n return (\n this.hasText ||\n (Boolean(this.border) && this.coloredBorder)\n )\n },\n hasText (): boolean {\n return this.text || this.outlined\n },\n iconColor (): string | undefined {\n return this.hasColoredIcon ? this.computedColor : undefined\n },\n isDark (): boolean {\n if (\n this.type &&\n !this.coloredBorder &&\n !this.outlined\n ) return true\n\n return Themeable.options.computed.isDark.call(this)\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('outline')) {\n breaking('outline', 'outlined', this)\n }\n },\n\n methods: {\n genWrapper (): VNode {\n const children = [\n this.$slots.prepend || this.__cachedIcon,\n this.genContent(),\n this.__cachedBorder,\n this.$slots.append,\n this.$scopedSlots.close\n ? this.$scopedSlots.close({ toggle: this.toggle })\n : this.__cachedDismissible,\n ]\n\n const data: VNodeData = {\n staticClass: 'v-alert__wrapper',\n }\n\n return this.$createElement('div', data, children)\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-alert__content',\n }, this.$slots.default)\n },\n genAlert (): VNode {\n let data: VNodeData = {\n staticClass: 'v-alert',\n attrs: {\n role: 'alert',\n },\n on: this.listeners$,\n class: this.classes,\n style: this.styles,\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }\n\n if (!this.coloredBorder) {\n const setColor = this.hasText ? this.setTextColor : this.setBackgroundColor\n data = setColor(this.computedColor, data)\n }\n\n return this.$createElement('div', data, [this.genWrapper()])\n },\n /** @public */\n toggle () {\n this.isActive = !this.isActive\n },\n },\n\n render (h): VNode {\n const render = this.genAlert()\n\n if (!this.transition) return render\n\n return h('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n mode: this.mode,\n },\n }, [render])\n },\n})\n","import { Address, AddressViewModel } from \"@/models/address\";\r\nimport UserModel from \"@/models/user\";\r\n\r\nexport default class Person {\r\n id: number | null;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n phone: string;\r\n email: string;\r\n identificationNumber: string;\r\n identificationType: string | null;\r\n identificationTypeName: string | null;\r\n idType: string | null;\r\n idIssueDate: Date | null;\r\n idIssuer: string;\r\n idNumber: string;\r\n isForeigner: boolean;\r\n userId: string | null;\r\n address?: Address | null;\r\n user?: UserModel | null;\r\n\r\n constructor(obj: any = {}) {\r\n this.id = obj.id || null;\r\n this.firstName = obj.firstName || '';\r\n this.middleName = obj.middleName || '';\r\n this.lastName = obj.lastName || '';\r\n this.phone = obj.phone || '';\r\n this.email = obj.email || '';\r\n this.identificationNumber = obj.identificationNumber || '';\r\n this.userId = obj.userId || null;\r\n this.identificationType = obj.identificationType || null;\r\n this.identificationTypeName = obj.identificationTypeName;\r\n this.address = obj.address ? new Address(obj.address) : null;\r\n this.idIssueDate = obj.idIssueDate ? new Date(obj.idIssueDate) : null;\r\n this.idIssuer = obj.idIssuer || '';\r\n this.idNumber = obj.idNumber || '';\r\n this.idType = obj.idType || null;\r\n this.isForeigner = obj.isForeigner || false;\r\n this.user = obj.user;\r\n }\r\n}\r\n\r\n\r\nexport class PersonViewModel {\r\n id: number | null;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n phone: string;\r\n email: string;\r\n identificationNumber: string;\r\n identificationNumberType: string;\r\n fullName: string;\r\n addressId: number | null;\r\n address?: AddressViewModel | null;\r\n idType: string | null;\r\n idIssueDate: Date | null;\r\n idIssuer: string;\r\n idNumber: string;\r\n isForeigner: boolean;\r\n\r\n constructor(obj: any = {}) {\r\n this.id = obj.id || null;\r\n this.firstName = obj.firstName || '';\r\n this.middleName = obj.middleName || '';\r\n this.lastName = obj.lastName || '';\r\n this.phone = obj.phone || '';\r\n this.email = obj.email || '';\r\n this.identificationNumber = obj.identificationNumber || '';\r\n this.identificationNumberType = obj.identificationNumberType || '';\r\n this.fullName = obj.fullName || '';\r\n this.addressId = obj.addressId || null;\r\n this.address = obj.address ? new AddressViewModel(obj.address) : null;\r\n this.idIssueDate = obj.idIssueDate ? new Date(obj.idIssueDate) : null;\r\n this.idIssuer = obj.idIssuer || '';\r\n this.idNumber = obj.idNumber || '';\r\n this.idType = obj.idType || null;\r\n this.isForeigner = obj.isForeigner || false;\r\n }\r\n}\r\n\r\nexport class RegixPersonModel {\r\n constructor(obj: any = {}) {\r\n this.id = obj.id || 0;\r\n this.identifier = obj.identifier;\r\n this.firstName = obj.firstName;\r\n this.middleName = obj.middleName;\r\n this.lastName = obj.lastName;\r\n this.dateOfBirth = obj.dateOfBirth ? new Date(obj.dateOfBirth) : undefined;\r\n this.dateOfDeath = obj.dateOfDeath ? new Date(obj.dateOfDeath) : undefined;\r\n this.fullName = `${this.firstName ?? ''} ${this.middleName ?? ''} ${this.lastName ?? ''}`;\r\n this.requestId = obj.requestId || 0;\r\n }\r\n\r\n id: number;\r\n identifier: string;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n dateOfBirth?: Date;\r\n dateOfDeath?: Date;\r\n fullName: string;\r\n requestId?: number;\r\n}\r\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n// Not exported from index\r\n/** @private */\r\nvar TextMessageFormat = /** @class */ (function () {\r\n function TextMessageFormat() {\r\n }\r\n TextMessageFormat.write = function (output) {\r\n return \"\" + output + TextMessageFormat.RecordSeparator;\r\n };\r\n TextMessageFormat.parse = function (input) {\r\n if (input[input.length - 1] !== TextMessageFormat.RecordSeparator) {\r\n throw new Error(\"Message is incomplete.\");\r\n }\r\n var messages = input.split(TextMessageFormat.RecordSeparator);\r\n messages.pop();\r\n return messages;\r\n };\r\n TextMessageFormat.RecordSeparatorCode = 0x1e;\r\n TextMessageFormat.RecordSeparator = String.fromCharCode(TextMessageFormat.RecordSeparatorCode);\r\n return TextMessageFormat;\r\n}());\r\nexport { TextMessageFormat };\r\n//# sourceMappingURL=TextMessageFormat.js.map","export default class BlobModel {\r\n constructor(obj: any = {}) {\r\n this.blobId = obj.blobId || null;\r\n this.fileName = obj.fileName || null;\r\n this.fileType = obj.fileType || null;\r\n this.unixTimeSeconds = obj.unixTimeSeconds || null;\r\n this.hmac = obj.hmac || null;\r\n this.blobServiceUrl = obj.blobServiceUrl || null;\r\n if(obj.href) {\r\n this.href = obj.href;\r\n } else {\r\n this.href = `${this.blobServiceUrl}/${this.blobId}?t=${this.unixTimeSeconds}&h=${this.hmac}`;\r\n }\r\n\r\n }\r\n\r\n blobId: number | null;\r\n fileName: string | null;\r\n fileType: string | null;\r\n unixTimeSeconds: number | null;\r\n hmac: string | null;\r\n blobServiceUrl: string | null;\r\n href: string | null;\r\n}","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nimport { TextMessageFormat } from \"./TextMessageFormat\";\r\nimport { isArrayBuffer } from \"./Utils\";\r\n/** @private */\r\nvar HandshakeProtocol = /** @class */ (function () {\r\n function HandshakeProtocol() {\r\n }\r\n // Handshake request is always JSON\r\n HandshakeProtocol.prototype.writeHandshakeRequest = function (handshakeRequest) {\r\n return TextMessageFormat.write(JSON.stringify(handshakeRequest));\r\n };\r\n HandshakeProtocol.prototype.parseHandshakeResponse = function (data) {\r\n var responseMessage;\r\n var messageData;\r\n var remainingData;\r\n if (isArrayBuffer(data) || (typeof Buffer !== \"undefined\" && data instanceof Buffer)) {\r\n // Format is binary but still need to read JSON text from handshake response\r\n var binaryData = new Uint8Array(data);\r\n var separatorIndex = binaryData.indexOf(TextMessageFormat.RecordSeparatorCode);\r\n if (separatorIndex === -1) {\r\n throw new Error(\"Message is incomplete.\");\r\n }\r\n // content before separator is handshake response\r\n // optional content after is additional messages\r\n var responseLength = separatorIndex + 1;\r\n messageData = String.fromCharCode.apply(null, binaryData.slice(0, responseLength));\r\n remainingData = (binaryData.byteLength > responseLength) ? binaryData.slice(responseLength).buffer : null;\r\n }\r\n else {\r\n var textData = data;\r\n var separatorIndex = textData.indexOf(TextMessageFormat.RecordSeparator);\r\n if (separatorIndex === -1) {\r\n throw new Error(\"Message is incomplete.\");\r\n }\r\n // content before separator is handshake response\r\n // optional content after is additional messages\r\n var responseLength = separatorIndex + 1;\r\n messageData = textData.substring(0, responseLength);\r\n remainingData = (textData.length > responseLength) ? textData.substring(responseLength) : null;\r\n }\r\n // At this point we should have just the single handshake message\r\n var messages = TextMessageFormat.parse(messageData);\r\n var response = JSON.parse(messages[0]);\r\n if (response.type) {\r\n throw new Error(\"Expected a handshake response from the server.\");\r\n }\r\n responseMessage = response;\r\n // multiple messages could have arrived with handshake\r\n // return additional data to be parsed as usual, or null if all parsed\r\n return [remainingData, responseMessage];\r\n };\r\n return HandshakeProtocol;\r\n}());\r\nexport { HandshakeProtocol };\r\n//# sourceMappingURL=HandshakeProtocol.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __extends = (this && this.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\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\nvar __assign = (this && this.__assign) || Object.assign || function(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))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n};\r\nimport { AbortError, HttpError, TimeoutError } from \"./Errors\";\r\nimport { HttpClient, HttpResponse } from \"./HttpClient\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { isArrayBuffer } from \"./Utils\";\r\nvar requestModule;\r\nif (typeof XMLHttpRequest === \"undefined\") {\r\n // In order to ignore the dynamic require in webpack builds we need to do this magic\r\n // @ts-ignore: TS doesn't know about these names\r\n var requireFunc = typeof __webpack_require__ === \"function\" ? __non_webpack_require__ : require;\r\n requestModule = requireFunc(\"request\");\r\n}\r\nvar NodeHttpClient = /** @class */ (function (_super) {\r\n __extends(NodeHttpClient, _super);\r\n function NodeHttpClient(logger) {\r\n var _this = _super.call(this) || this;\r\n if (typeof requestModule === \"undefined\") {\r\n throw new Error(\"The 'request' module could not be loaded.\");\r\n }\r\n _this.logger = logger;\r\n _this.cookieJar = requestModule.jar();\r\n _this.request = requestModule.defaults({ jar: _this.cookieJar });\r\n return _this;\r\n }\r\n NodeHttpClient.prototype.send = function (httpRequest) {\r\n var _this = this;\r\n return new Promise(function (resolve, reject) {\r\n var requestBody;\r\n if (isArrayBuffer(httpRequest.content)) {\r\n requestBody = Buffer.from(httpRequest.content);\r\n }\r\n else {\r\n requestBody = httpRequest.content || \"\";\r\n }\r\n var currentRequest = _this.request(httpRequest.url, {\r\n body: requestBody,\r\n // If binary is expected 'null' should be used, otherwise for text 'utf8'\r\n encoding: httpRequest.responseType === \"arraybuffer\" ? null : \"utf8\",\r\n headers: __assign({ \r\n // Tell auth middleware to 401 instead of redirecting\r\n \"X-Requested-With\": \"XMLHttpRequest\" }, httpRequest.headers),\r\n method: httpRequest.method,\r\n timeout: httpRequest.timeout,\r\n }, function (error, response, body) {\r\n if (httpRequest.abortSignal) {\r\n httpRequest.abortSignal.onabort = null;\r\n }\r\n if (error) {\r\n if (error.code === \"ETIMEDOUT\") {\r\n _this.logger.log(LogLevel.Warning, \"Timeout from HTTP request.\");\r\n reject(new TimeoutError());\r\n }\r\n _this.logger.log(LogLevel.Warning, \"Error from HTTP request. \" + error);\r\n reject(error);\r\n return;\r\n }\r\n if (response.statusCode >= 200 && response.statusCode < 300) {\r\n resolve(new HttpResponse(response.statusCode, response.statusMessage || \"\", body));\r\n }\r\n else {\r\n reject(new HttpError(response.statusMessage || \"\", response.statusCode || 0));\r\n }\r\n });\r\n if (httpRequest.abortSignal) {\r\n httpRequest.abortSignal.onabort = function () {\r\n currentRequest.abort();\r\n reject(new AbortError());\r\n };\r\n }\r\n });\r\n };\r\n NodeHttpClient.prototype.getCookieString = function (url) {\r\n return this.cookieJar.getCookieString(url);\r\n };\r\n return NodeHttpClient;\r\n}(HttpClient));\r\nexport { NodeHttpClient };\r\n//# sourceMappingURL=NodeHttpClient.js.map","export class Address {\r\n constructor(obj: any = {}) {\r\n this.id = obj.id || null;\r\n this.regionId = obj.regionId || null;\r\n this.municipalityId = obj.municipalityId || null;\r\n this.cityId = obj.cityId || null;\r\n this.streetAddress = obj.streetAddress || null;\r\n this.isForeigner = obj.isForeigner || false;\r\n this.countryId = obj.countryId || null;\r\n this.addressOfForeigner = obj.addressOfForeigner || null;\r\n }\r\n\r\n id: number|null;\r\n regionId: number|null;\r\n municipalityId: number|null;\r\n cityId: number|null;\r\n streetAddress: string|null;\r\n isForeigner: boolean;\r\n countryId: number|null;\r\n addressOfForeigner: string|null;\r\n}\r\n\r\nexport class AddressViewModel {\r\n constructor(obj: any = {}) {\r\n this.id = obj.id || null;\r\n this.regionId = obj.regionId || null;\r\n this.regionName = obj.regionName || '';\r\n this.municipalityId = obj.municipalityId || null;\r\n this.municipalityName = obj.municipalityName || '';\r\n this.cityId = obj.cityId || null;\r\n this.cityName = obj.cityName || '';\r\n this.cityPrefix = obj.cityPrefix || '';\r\n this.cityFullName = obj.cityFullName || '';\r\n this.streetAddress = obj.streetAddress || '';\r\n this.isForeigner = obj.isForeigner || false;\r\n this.countryId = obj.countryId || null;\r\n this.countryName = obj.countryName || null;\r\n this.addressOfForeigner = obj.addressOfForeigner || null;\r\n }\r\n\r\n id: number|null;\r\n regionId: number|null;\r\n regionName: string;\r\n municipalityId: number|null;\r\n municipalityName: string;\r\n cityId: number|null;\r\n cityName: string;\r\n cityPrefix: string;\r\n cityFullName: string;\r\n streetAddress: string;\r\n isForeigner: boolean;\r\n countryId: number|null;\r\n countryName: string;\r\n addressOfForeigner: string|null;\r\n}\r\n","var IDX=256, HEX=[], SIZE=256, BUFFER;\nwhile (IDX--) HEX[IDX] = (IDX + 256).toString(16).substring(1);\n\nexport function uid(len) {\n\tvar i=0, tmp=(len || 11);\n\tif (!BUFFER || ((IDX + tmp) > SIZE*2)) {\n\t\tfor (BUFFER='',IDX=0; i < SIZE; i++) {\n\t\t\tBUFFER += HEX[Math.random() * 256 | 0];\n\t\t}\n\t}\n\n\treturn BUFFER.substring(IDX, IDX++ + tmp);\n}\n","import BlobModel from \"./blob\";\r\nimport { uid } from 'uid';\r\n\r\nexport default class FileModel {\r\n constructor(obj: any = {}) {\r\n if (obj.file) {\r\n if (obj.file instanceof File) {\r\n this.file = obj.file;\r\n } else {\r\n //we need file name to display it\r\n this.file = new File([], obj.file.fileName);\r\n }\r\n } else {\r\n this.file = new File([], \"\")\r\n }\r\n\r\n this.id = obj.id;\r\n this.blob = obj.blob ? new BlobModel(obj.blob) : null;\r\n }\r\n\r\n file: File;\r\n id: number;\r\n __id: string = uid();\r\n blob: BlobModel | null = null;\r\n}","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./auction.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./auction.vue?vue&type=style&index=0&lang=scss&\"","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n// These values are designed to match the ASP.NET Log Levels since that's the pattern we're emulating here.\r\n/** Indicates the severity of a log message.\r\n *\r\n * Log Levels are ordered in increasing severity. So `Debug` is more severe than `Trace`, etc.\r\n */\r\nexport var LogLevel;\r\n(function (LogLevel) {\r\n /** Log level for very low severity diagnostic messages. */\r\n LogLevel[LogLevel[\"Trace\"] = 0] = \"Trace\";\r\n /** Log level for low severity diagnostic messages. */\r\n LogLevel[LogLevel[\"Debug\"] = 1] = \"Debug\";\r\n /** Log level for informational diagnostic messages. */\r\n LogLevel[LogLevel[\"Information\"] = 2] = \"Information\";\r\n /** Log level for diagnostic messages that indicate a non-fatal problem. */\r\n LogLevel[LogLevel[\"Warning\"] = 3] = \"Warning\";\r\n /** Log level for diagnostic messages that indicate a failure in the current operation. */\r\n LogLevel[LogLevel[\"Error\"] = 4] = \"Error\";\r\n /** Log level for diagnostic messages that indicate a failure that will terminate the entire application. */\r\n LogLevel[LogLevel[\"Critical\"] = 5] = \"Critical\";\r\n /** The highest possible log level. Used when configuring logging to indicate that no log messages should be emitted. */\r\n LogLevel[LogLevel[\"None\"] = 6] = \"None\";\r\n})(LogLevel || (LogLevel = {}));\r\n//# sourceMappingURL=ILogger.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n/** A logger that does nothing when log messages are sent to it. */\r\nvar NullLogger = /** @class */ (function () {\r\n function NullLogger() {\r\n }\r\n /** @inheritDoc */\r\n // tslint:disable-next-line\r\n NullLogger.prototype.log = function (_logLevel, _message) {\r\n };\r\n /** The singleton instance of the {@link @aspnet/signalr.NullLogger}. */\r\n NullLogger.instance = new NullLogger();\r\n return NullLogger;\r\n}());\r\nexport { NullLogger };\r\n//# sourceMappingURL=Loggers.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __assign = (this && this.__assign) || Object.assign || function(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))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n};\r\n/** Represents an HTTP response. */\r\nvar HttpResponse = /** @class */ (function () {\r\n function HttpResponse(statusCode, statusText, content) {\r\n this.statusCode = statusCode;\r\n this.statusText = statusText;\r\n this.content = content;\r\n }\r\n return HttpResponse;\r\n}());\r\nexport { HttpResponse };\r\n/** Abstraction over an HTTP client.\r\n *\r\n * This class provides an abstraction over an HTTP client so that a different implementation can be provided on different platforms.\r\n */\r\nvar HttpClient = /** @class */ (function () {\r\n function HttpClient() {\r\n }\r\n HttpClient.prototype.get = function (url, options) {\r\n return this.send(__assign({}, options, { method: \"GET\", url: url }));\r\n };\r\n HttpClient.prototype.post = function (url, options) {\r\n return this.send(__assign({}, options, { method: \"POST\", url: url }));\r\n };\r\n HttpClient.prototype.delete = function (url, options) {\r\n return this.send(__assign({}, options, { method: \"DELETE\", url: url }));\r\n };\r\n /** Gets all cookies that apply to the specified URL.\r\n *\r\n * @param url The URL that the cookies are valid for.\r\n * @returns {string} A string containing all the key-value cookie pairs for the specified URL.\r\n */\r\n // @ts-ignore\r\n HttpClient.prototype.getCookieString = function (url) {\r\n return \"\";\r\n };\r\n return HttpClient;\r\n}());\r\nexport { HttpClient };\r\n//# sourceMappingURL=HttpClient.js.map","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./timer.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./timer.vue?vue&type=style&index=0&lang=scss&\"","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __extends = (this && this.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\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/** Error thrown when an HTTP request fails. */\r\nvar HttpError = /** @class */ (function (_super) {\r\n __extends(HttpError, _super);\r\n /** Constructs a new instance of {@link @aspnet/signalr.HttpError}.\r\n *\r\n * @param {string} errorMessage A descriptive error message.\r\n * @param {number} statusCode The HTTP status code represented by this error.\r\n */\r\n function HttpError(errorMessage, statusCode) {\r\n var _newTarget = this.constructor;\r\n var _this = this;\r\n var trueProto = _newTarget.prototype;\r\n _this = _super.call(this, errorMessage) || this;\r\n _this.statusCode = statusCode;\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n _this.__proto__ = trueProto;\r\n return _this;\r\n }\r\n return HttpError;\r\n}(Error));\r\nexport { HttpError };\r\n/** Error thrown when a timeout elapses. */\r\nvar TimeoutError = /** @class */ (function (_super) {\r\n __extends(TimeoutError, _super);\r\n /** Constructs a new instance of {@link @aspnet/signalr.TimeoutError}.\r\n *\r\n * @param {string} errorMessage A descriptive error message.\r\n */\r\n function TimeoutError(errorMessage) {\r\n var _newTarget = this.constructor;\r\n if (errorMessage === void 0) { errorMessage = \"A timeout occurred.\"; }\r\n var _this = this;\r\n var trueProto = _newTarget.prototype;\r\n _this = _super.call(this, errorMessage) || this;\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n _this.__proto__ = trueProto;\r\n return _this;\r\n }\r\n return TimeoutError;\r\n}(Error));\r\nexport { TimeoutError };\r\n/** Error thrown when an action is aborted. */\r\nvar AbortError = /** @class */ (function (_super) {\r\n __extends(AbortError, _super);\r\n /** Constructs a new instance of {@link AbortError}.\r\n *\r\n * @param {string} errorMessage A descriptive error message.\r\n */\r\n function AbortError(errorMessage) {\r\n var _newTarget = this.constructor;\r\n if (errorMessage === void 0) { errorMessage = \"An abort occurred.\"; }\r\n var _this = this;\r\n var trueProto = _newTarget.prototype;\r\n _this = _super.call(this, errorMessage) || this;\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n _this.__proto__ = trueProto;\r\n return _this;\r\n }\r\n return AbortError;\r\n}(Error));\r\nexport { AbortError };\r\n//# sourceMappingURL=Errors.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\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) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (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\nimport { LogLevel } from \"./ILogger\";\r\nimport { NullLogger } from \"./Loggers\";\r\n/** @private */\r\nvar Arg = /** @class */ (function () {\r\n function Arg() {\r\n }\r\n Arg.isRequired = function (val, name) {\r\n if (val === null || val === undefined) {\r\n throw new Error(\"The '\" + name + \"' argument is required.\");\r\n }\r\n };\r\n Arg.isIn = function (val, values, name) {\r\n // TypeScript enums have keys for **both** the name and the value of each enum member on the type itself.\r\n if (!(val in values)) {\r\n throw new Error(\"Unknown \" + name + \" value: \" + val + \".\");\r\n }\r\n };\r\n return Arg;\r\n}());\r\nexport { Arg };\r\n/** @private */\r\nexport function getDataDetail(data, includeContent) {\r\n var detail = \"\";\r\n if (isArrayBuffer(data)) {\r\n detail = \"Binary data of length \" + data.byteLength;\r\n if (includeContent) {\r\n detail += \". Content: '\" + formatArrayBuffer(data) + \"'\";\r\n }\r\n }\r\n else if (typeof data === \"string\") {\r\n detail = \"String data of length \" + data.length;\r\n if (includeContent) {\r\n detail += \". Content: '\" + data + \"'\";\r\n }\r\n }\r\n return detail;\r\n}\r\n/** @private */\r\nexport function formatArrayBuffer(data) {\r\n var view = new Uint8Array(data);\r\n // Uint8Array.map only supports returning another Uint8Array?\r\n var str = \"\";\r\n view.forEach(function (num) {\r\n var pad = num < 16 ? \"0\" : \"\";\r\n str += \"0x\" + pad + num.toString(16) + \" \";\r\n });\r\n // Trim of trailing space.\r\n return str.substr(0, str.length - 1);\r\n}\r\n// Also in signalr-protocol-msgpack/Utils.ts\r\n/** @private */\r\nexport function isArrayBuffer(val) {\r\n return val && typeof ArrayBuffer !== \"undefined\" &&\r\n (val instanceof ArrayBuffer ||\r\n // Sometimes we get an ArrayBuffer that doesn't satisfy instanceof\r\n (val.constructor && val.constructor.name === \"ArrayBuffer\"));\r\n}\r\n/** @private */\r\nexport function sendMessage(logger, transportName, httpClient, url, accessTokenFactory, content, logMessageContent) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _a, headers, token, responseType, response;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n if (!accessTokenFactory) return [3 /*break*/, 2];\r\n return [4 /*yield*/, accessTokenFactory()];\r\n case 1:\r\n token = _b.sent();\r\n if (token) {\r\n headers = (_a = {},\r\n _a[\"Authorization\"] = \"Bearer \" + token,\r\n _a);\r\n }\r\n _b.label = 2;\r\n case 2:\r\n logger.log(LogLevel.Trace, \"(\" + transportName + \" transport) sending data. \" + getDataDetail(content, logMessageContent) + \".\");\r\n responseType = isArrayBuffer(content) ? \"arraybuffer\" : \"text\";\r\n return [4 /*yield*/, httpClient.post(url, {\r\n content: content,\r\n headers: headers,\r\n responseType: responseType,\r\n })];\r\n case 3:\r\n response = _b.sent();\r\n logger.log(LogLevel.Trace, \"(\" + transportName + \" transport) request complete. Response status: \" + response.statusCode + \".\");\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n}\r\n/** @private */\r\nexport function createLogger(logger) {\r\n if (logger === undefined) {\r\n return new ConsoleLogger(LogLevel.Information);\r\n }\r\n if (logger === null) {\r\n return NullLogger.instance;\r\n }\r\n if (logger.log) {\r\n return logger;\r\n }\r\n return new ConsoleLogger(logger);\r\n}\r\n/** @private */\r\nvar Subject = /** @class */ (function () {\r\n function Subject() {\r\n this.observers = [];\r\n }\r\n Subject.prototype.next = function (item) {\r\n for (var _i = 0, _a = this.observers; _i < _a.length; _i++) {\r\n var observer = _a[_i];\r\n observer.next(item);\r\n }\r\n };\r\n Subject.prototype.error = function (err) {\r\n for (var _i = 0, _a = this.observers; _i < _a.length; _i++) {\r\n var observer = _a[_i];\r\n if (observer.error) {\r\n observer.error(err);\r\n }\r\n }\r\n };\r\n Subject.prototype.complete = function () {\r\n for (var _i = 0, _a = this.observers; _i < _a.length; _i++) {\r\n var observer = _a[_i];\r\n if (observer.complete) {\r\n observer.complete();\r\n }\r\n }\r\n };\r\n Subject.prototype.subscribe = function (observer) {\r\n this.observers.push(observer);\r\n return new SubjectSubscription(this, observer);\r\n };\r\n return Subject;\r\n}());\r\nexport { Subject };\r\n/** @private */\r\nvar SubjectSubscription = /** @class */ (function () {\r\n function SubjectSubscription(subject, observer) {\r\n this.subject = subject;\r\n this.observer = observer;\r\n }\r\n SubjectSubscription.prototype.dispose = function () {\r\n var index = this.subject.observers.indexOf(this.observer);\r\n if (index > -1) {\r\n this.subject.observers.splice(index, 1);\r\n }\r\n if (this.subject.observers.length === 0 && this.subject.cancelCallback) {\r\n this.subject.cancelCallback().catch(function (_) { });\r\n }\r\n };\r\n return SubjectSubscription;\r\n}());\r\nexport { SubjectSubscription };\r\n/** @private */\r\nvar ConsoleLogger = /** @class */ (function () {\r\n function ConsoleLogger(minimumLogLevel) {\r\n this.minimumLogLevel = minimumLogLevel;\r\n }\r\n ConsoleLogger.prototype.log = function (logLevel, message) {\r\n if (logLevel >= this.minimumLogLevel) {\r\n switch (logLevel) {\r\n case LogLevel.Critical:\r\n case LogLevel.Error:\r\n console.error(\"[\" + new Date().toISOString() + \"] \" + LogLevel[logLevel] + \": \" + message);\r\n break;\r\n case LogLevel.Warning:\r\n console.warn(\"[\" + new Date().toISOString() + \"] \" + LogLevel[logLevel] + \": \" + message);\r\n break;\r\n case LogLevel.Information:\r\n console.info(\"[\" + new Date().toISOString() + \"] \" + LogLevel[logLevel] + \": \" + message);\r\n break;\r\n default:\r\n // console.debug only goes to attached debuggers in Node, so we use console.log for Trace and Debug\r\n console.log(\"[\" + new Date().toISOString() + \"] \" + LogLevel[logLevel] + \": \" + message);\r\n break;\r\n }\r\n }\r\n };\r\n return ConsoleLogger;\r\n}());\r\nexport { ConsoleLogger };\r\n//# sourceMappingURL=Utils.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.isLoading)?_c('v-card',[_c('v-card-title',[_c('h2',[_vm._v(\" \"+_vm._s(_vm.$t(\"auctions.auction.title\"))+\": \"+_vm._s(_vm.auction.announcement.title)+\" \")])]),_c('v-card-text',[_c('h4',[_vm._v(_vm._s(_vm.$t(\"auctions.auction.saleItems\")))]),_c('properties-list',{attrs:{\"propertyType\":_vm.propertyType.Other,\"items\":_vm.localItems,\"selectable\":false}}),(_vm.auction && !_vm.auction.completed)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"12\",\"sm\":\"12\"}},[_c('h5',[_vm._v(_vm._s(_vm.$t(\"auctions.auction.auctionData\")))]),_c('v-row',[_c('v-col',{attrs:{\"md\":\"4\",\"sm\":\"4\",\"cols\":\"12\"}},[_c('h6',{staticClass:\"mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"auctions.auction.auctionEnd\"))+\" \")]),_c('div',[_c('strong',[_vm._v(_vm._s(_vm.endTime))])])]),_c('v-col',{attrs:{\"md\":\"4\",\"sm\":\"4\",\"cols\":\"12\"}},[_c('h6',{staticClass:\"mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"auctions.auction.startPrice\"))+\" \")]),_c('div',[_c('strong',[_vm._v(_vm._s(_vm.auction.startPrice)+\" \"+_vm._s(_vm.$t(\"auctions.auction.currency\"))+\" \")])])]),_c('v-col',{attrs:{\"md\":\"4\",\"sm\":\"4\",\"cols\":\"12\"}},[_c('h6',{staticClass:\"mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"auctions.auction.step\"))+\" \")]),_c('div',[_c('strong',[_vm._v(_vm._s(_vm.auction.bidStep)+\" \"+_vm._s(_vm.$t(\"auctions.auction.currency\")))])])])],1)],1),(_vm.connected)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"12\",\"sm\":\"12\"}},[_c('h5',[_vm._v(_vm._s(_vm.$t(\"auctions.auction.biddingProcedure\")))]),_c('v-row',[_c('v-col',{attrs:{\"md\":\"4\",\"cols\":\"12\"}},[_c('h6',[_vm._v(_vm._s(_vm.$t(\"auctions.auction.timeLeft\")))]),(_vm.showTimer)?_c('div',{staticClass:\"w-100\"},[_c('timer',{attrs:{\"target\":_vm.auction.timeSpan}})],1):_vm._e()]),_c('v-col',{attrs:{\"md\":\"4\",\"cols\":\"12\"}},[_c('h6',{staticClass:\"mb-1\"},[_vm._v(\" \"+_vm._s(_vm.$t( \"auctions.auction.currentHighestPrice\" ))+\" \")]),_c('div',{staticClass:\"pt-2\"},[_c('div',{staticClass:\"mb-2\"},[_c('span',{staticClass:\"h6\",class:{\n\t\t\t\t\t\t\t\t\t\t\t\tgreenText:\n\t\t\t\t\t\t\t\t\t\t\t\t\t_vm.currentWinnerId ==\n\t\t\t\t\t\t\t\t\t\t\t\t\t_vm.currentUserId,\n\t\t\t\t\t\t\t\t\t\t\t\tredText:\n\t\t\t\t\t\t\t\t\t\t\t\t\t_vm.currentWinnerId !=\n\t\t\t\t\t\t\t\t\t\t\t\t\t_vm.currentUserId,\n\t\t\t\t\t\t\t\t\t\t\t}},[_c('strong',{staticClass:\"font12\"},[_vm._v(\" \"+_vm._s(_vm.auction.currentPrice ? _vm.auction.currentPrice + \" \" + _vm.$t( \"auctions.auction.currency\" ) : _vm.$t(\"auctions.auction.noBidRegistered\"))+\" \")]),_vm._v(\" \"+_vm._s(_vm.currentWinnerId ? _vm.currentWinnerId == _vm.currentUserId ? _vm.$t(\"auctions.auction.auctionWinnerBid\") : _vm.isWinnerCoOwner ? _vm.$t(\"auctions.auction.sameBidInfo\") : _vm.$t( \"auctions.auction.auctionLoserBid\" ) : \"\")+\" \")]),(\n\t\t\t\t\t\t\t\t\t\t\t\t_vm.currentWinnerId &&\n\t\t\t\t\t\t\t\t\t\t\t\t_vm.currentWinnerId !=\n\t\t\t\t\t\t\t\t\t\t\t\t\t_vm.currentUserId &&\n\t\t\t\t\t\t\t\t\t\t\t\t_vm.isCoOwner\n\t\t\t\t\t\t\t\t\t\t\t)?_c('v-btn',{attrs:{\"color\":\"info\"},on:{\"click\":_vm.matchCurrentBid}},[_vm._v(\" \"+_vm._s(_vm.$t(\"auctions.auction.matchBid\"))+\" \")]):_vm._e()],1),(\n\t\t\t\t\t\t\t\t\t\t\t_vm.currentWinnerId &&\n\t\t\t\t\t\t\t\t\t\t\t_vm.currentWinnerId != _vm.currentUserId &&\n\t\t\t\t\t\t\t\t\t\t\t_vm.isCoOwner\n\t\t\t\t\t\t\t\t\t\t)?_c('div',[_c('v-alert',{attrs:{\"dense\":\"\",\"outlined\":\"\",\"type\":\"info\"}},[_vm._v(\" \"+_vm._s(_vm.$t( \"auctions.auction.matchBidInfo\" ))+\" \")])],1):_vm._e()])]),_c('v-col',{attrs:{\"md\":\"4\",\"cols\":\"12\"}},[_c('h6',{staticClass:\"mb-1\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"auctions.auction.myBid\"))+\" \")]),_c('div',[_c('span',{staticClass:\"h5 mr-2\"},[_vm._v(_vm._s(_vm.myBid))]),_c('v-btn',{attrs:{\"color\":\"success\",\"disabled\":!_vm.bidBtnActive},on:{\"click\":_vm.makeBid}},[_vm._v(\" \"+_vm._s(_vm.auction.currentPrice ? _vm.$t(\"auctions.auction.bid\") : _vm.$t(\"auctions.auction.addStartBid\"))+\" \")])],1)])],1)],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"sm\":\"12\"}},[_c('h4',[_vm._v(_vm._s(_vm.$t(\"auctions.auction.logs\")))]),_c('div',{staticClass:\"w-100\"},_vm._l((_vm.logs.slice().reverse()),function(log,index){return _c('div',{key:'log' + index},[_vm._v(\" \"+_vm._s((\"[\" + (_vm.$moment(log.date).format( \"DD.MM.YYY HH:mm:ss\" )) + \"] \" + (log.text)))+\" \")])}),0)])],1):_vm._e(),(_vm.auction && _vm.auction.completed && !_vm.auction.announcement.cancelled)?_c('v-row',{staticClass:\"text-center\"},[_c('v-col',{attrs:{\"md\":\"12\"}},[_c('h4',[_vm._v(_vm._s(_vm.$t(\"auctions.auction.auctionOver\")))])]),(_vm.auction.winner)?_c('v-col',{attrs:{\"md\":\"12\"}},[_c('h5',[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"auctions.auction.finalPrice\"))+\" \"),_c('strong',[_vm._v(_vm._s(_vm.auction.endPrice)+\" \"+_vm._s(_vm.$t(\"auctions.auction.currency\")))])])]),_c('v-row',{attrs:{\"align\":'baseline',\"justify\":'center'}},[_c('h5',[(\n\t\t\t\t\t\t\t\t\t\t_vm.auction.winner.userId == _vm.currentUserId\n\t\t\t\t\t\t\t\t\t)?_c('div',[_c('v-alert',{attrs:{\"dense\":\"\",\"text\":\"\",\"type\":\"success\",\"icon\":false}},[_vm._v(\" \"+_vm._s(_vm.$t( \"auctions.auction.auctionWinnerBid\" ))+\" \")])],1):_c('div',[_c('v-alert',{attrs:{\"dense\":\"\",\"text\":\"\",\"type\":\"error\",\"icon\":false}},[_vm._v(\" \"+_vm._s(_vm.$t( \"auctions.auction.auctionLoserBid\" ))+\" \")])],1)])])],1):_vm._e(),(!_vm.auction.winner)?_c('v-col',{attrs:{\"md\":\"12\"}},[_c('h5',[_c('div',[_c('strong',[_vm._v(_vm._s(_vm.$t(\"auctions.auction.noWinner\")))])])])]):_vm._e(),(_vm.auction.winner)?_c('div',[(_vm.auction.winner.userId === _vm.currentUserId)?_c('v-col',{attrs:{\"md\":\"12\"}},[_c('v-alert',{attrs:{\"dense\":\"\",\"text\":\"\",\"type\":\"success\",\"icon\":\"fa fa-trophy\"}},[_c('h5',[_vm._v(\" \"+_vm._s(_vm.$t(\"auctions.auction.auctionWinner\"))+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"auctions.auction.additionalInfo\"))+\" \")])])],1):_vm._e(),(_vm.auction.winner.userId != _vm.currentUserId)?_c('v-col',{attrs:{\"md\":\"12\"}},[_c('v-alert',{attrs:{\"dense\":\"\",\"text\":\"\",\"type\":\"error\",\"icon\":\"fa fa-frown\"}},[_c('h5',[_vm._v(\" \"+_vm._s(_vm.$t(\"auctions.auction.auctionLoser\"))+\" \")])])],1):_vm._e()],1):_vm._e()],1):_vm._e(),(_vm.auction && _vm.auction.announcement.cancelled)?_c('v-row',[_c('v-col',[_c('div',{staticClass:\"d-flex justify-content-center\"},[_c('div',{staticClass:\"alert alert-danger\"},[_vm._v(\" \"+_vm._s((\"Публичната продан е отменена на \" + (_vm.$moment( _vm.auction.announcement.cancelledOn ).format(\"DD.MM.YYYY hh:mm\")) + \" от \" + (_vm.auction.announcement.cancelledBy)))+\" \")])])])],1):_vm._e()],1)],1):_vm._e(),_c('v-overlay',{attrs:{\"value\":_vm.isLoading}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"64\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n/** Defines the type of a Hub Message. */\r\nexport var MessageType;\r\n(function (MessageType) {\r\n /** Indicates the message is an Invocation message and implements the {@link @aspnet/signalr.InvocationMessage} interface. */\r\n MessageType[MessageType[\"Invocation\"] = 1] = \"Invocation\";\r\n /** Indicates the message is a StreamItem message and implements the {@link @aspnet/signalr.StreamItemMessage} interface. */\r\n MessageType[MessageType[\"StreamItem\"] = 2] = \"StreamItem\";\r\n /** Indicates the message is a Completion message and implements the {@link @aspnet/signalr.CompletionMessage} interface. */\r\n MessageType[MessageType[\"Completion\"] = 3] = \"Completion\";\r\n /** Indicates the message is a Stream Invocation message and implements the {@link @aspnet/signalr.StreamInvocationMessage} interface. */\r\n MessageType[MessageType[\"StreamInvocation\"] = 4] = \"StreamInvocation\";\r\n /** Indicates the message is a Cancel Invocation message and implements the {@link @aspnet/signalr.CancelInvocationMessage} interface. */\r\n MessageType[MessageType[\"CancelInvocation\"] = 5] = \"CancelInvocation\";\r\n /** Indicates the message is a Ping message and implements the {@link @aspnet/signalr.PingMessage} interface. */\r\n MessageType[MessageType[\"Ping\"] = 6] = \"Ping\";\r\n /** Indicates the message is a Close message and implements the {@link @aspnet/signalr.CloseMessage} interface. */\r\n MessageType[MessageType[\"Close\"] = 7] = \"Close\";\r\n})(MessageType || (MessageType = {}));\r\n//# sourceMappingURL=IHubProtocol.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __extends = (this && this.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\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\nimport { AbortError, HttpError, TimeoutError } from \"./Errors\";\r\nimport { HttpClient, HttpResponse } from \"./HttpClient\";\r\nimport { LogLevel } from \"./ILogger\";\r\nvar XhrHttpClient = /** @class */ (function (_super) {\r\n __extends(XhrHttpClient, _super);\r\n function XhrHttpClient(logger) {\r\n var _this = _super.call(this) || this;\r\n _this.logger = logger;\r\n return _this;\r\n }\r\n /** @inheritDoc */\r\n XhrHttpClient.prototype.send = function (request) {\r\n var _this = this;\r\n // Check that abort was not signaled before calling send\r\n if (request.abortSignal && request.abortSignal.aborted) {\r\n return Promise.reject(new AbortError());\r\n }\r\n if (!request.method) {\r\n return Promise.reject(new Error(\"No method defined.\"));\r\n }\r\n if (!request.url) {\r\n return Promise.reject(new Error(\"No url defined.\"));\r\n }\r\n return new Promise(function (resolve, reject) {\r\n var xhr = new XMLHttpRequest();\r\n xhr.open(request.method, request.url, true);\r\n xhr.withCredentials = true;\r\n xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\r\n // Explicitly setting the Content-Type header for React Native on Android platform.\r\n xhr.setRequestHeader(\"Content-Type\", \"text/plain;charset=UTF-8\");\r\n var headers = request.headers;\r\n if (headers) {\r\n Object.keys(headers)\r\n .forEach(function (header) {\r\n xhr.setRequestHeader(header, headers[header]);\r\n });\r\n }\r\n if (request.responseType) {\r\n xhr.responseType = request.responseType;\r\n }\r\n if (request.abortSignal) {\r\n request.abortSignal.onabort = function () {\r\n xhr.abort();\r\n reject(new AbortError());\r\n };\r\n }\r\n if (request.timeout) {\r\n xhr.timeout = request.timeout;\r\n }\r\n xhr.onload = function () {\r\n if (request.abortSignal) {\r\n request.abortSignal.onabort = null;\r\n }\r\n if (xhr.status >= 200 && xhr.status < 300) {\r\n resolve(new HttpResponse(xhr.status, xhr.statusText, xhr.response || xhr.responseText));\r\n }\r\n else {\r\n reject(new HttpError(xhr.statusText, xhr.status));\r\n }\r\n };\r\n xhr.onerror = function () {\r\n _this.logger.log(LogLevel.Warning, \"Error from HTTP request. \" + xhr.status + \": \" + xhr.statusText + \".\");\r\n reject(new HttpError(xhr.statusText, xhr.status));\r\n };\r\n xhr.ontimeout = function () {\r\n _this.logger.log(LogLevel.Warning, \"Timeout from HTTP request.\");\r\n reject(new TimeoutError());\r\n };\r\n xhr.send(request.content || \"\");\r\n });\r\n };\r\n return XhrHttpClient;\r\n}(HttpClient));\r\nexport { XhrHttpClient };\r\n//# sourceMappingURL=XhrHttpClient.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __extends = (this && this.__extends) || (function () {\r\n var 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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\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\nimport { AbortError } from \"./Errors\";\r\nimport { HttpClient } from \"./HttpClient\";\r\nimport { NodeHttpClient } from \"./NodeHttpClient\";\r\nimport { XhrHttpClient } from \"./XhrHttpClient\";\r\n/** Default implementation of {@link @aspnet/signalr.HttpClient}. */\r\nvar DefaultHttpClient = /** @class */ (function (_super) {\r\n __extends(DefaultHttpClient, _super);\r\n /** Creates a new instance of the {@link @aspnet/signalr.DefaultHttpClient}, using the provided {@link @aspnet/signalr.ILogger} to log messages. */\r\n function DefaultHttpClient(logger) {\r\n var _this = _super.call(this) || this;\r\n if (typeof XMLHttpRequest !== \"undefined\") {\r\n _this.httpClient = new XhrHttpClient(logger);\r\n }\r\n else {\r\n _this.httpClient = new NodeHttpClient(logger);\r\n }\r\n return _this;\r\n }\r\n /** @inheritDoc */\r\n DefaultHttpClient.prototype.send = function (request) {\r\n // Check that abort was not signaled before calling send\r\n if (request.abortSignal && request.abortSignal.aborted) {\r\n return Promise.reject(new AbortError());\r\n }\r\n if (!request.method) {\r\n return Promise.reject(new Error(\"No method defined.\"));\r\n }\r\n if (!request.url) {\r\n return Promise.reject(new Error(\"No url defined.\"));\r\n }\r\n return this.httpClient.send(request);\r\n };\r\n DefaultHttpClient.prototype.getCookieString = function (url) {\r\n return this.httpClient.getCookieString(url);\r\n };\r\n return DefaultHttpClient;\r\n}(HttpClient));\r\nexport { DefaultHttpClient };\r\n//# sourceMappingURL=DefaultHttpClient.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\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) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (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\nimport { HandshakeProtocol } from \"./HandshakeProtocol\";\r\nimport { MessageType } from \"./IHubProtocol\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { Arg, Subject } from \"./Utils\";\r\nvar DEFAULT_TIMEOUT_IN_MS = 30 * 1000;\r\nvar DEFAULT_PING_INTERVAL_IN_MS = 15 * 1000;\r\n/** Describes the current state of the {@link HubConnection} to the server. */\r\nexport var HubConnectionState;\r\n(function (HubConnectionState) {\r\n /** The hub connection is disconnected. */\r\n HubConnectionState[HubConnectionState[\"Disconnected\"] = 0] = \"Disconnected\";\r\n /** The hub connection is connected. */\r\n HubConnectionState[HubConnectionState[\"Connected\"] = 1] = \"Connected\";\r\n})(HubConnectionState || (HubConnectionState = {}));\r\n/** Represents a connection to a SignalR Hub. */\r\nvar HubConnection = /** @class */ (function () {\r\n function HubConnection(connection, logger, protocol) {\r\n var _this = this;\r\n Arg.isRequired(connection, \"connection\");\r\n Arg.isRequired(logger, \"logger\");\r\n Arg.isRequired(protocol, \"protocol\");\r\n this.serverTimeoutInMilliseconds = DEFAULT_TIMEOUT_IN_MS;\r\n this.keepAliveIntervalInMilliseconds = DEFAULT_PING_INTERVAL_IN_MS;\r\n this.logger = logger;\r\n this.protocol = protocol;\r\n this.connection = connection;\r\n this.handshakeProtocol = new HandshakeProtocol();\r\n this.connection.onreceive = function (data) { return _this.processIncomingData(data); };\r\n this.connection.onclose = function (error) { return _this.connectionClosed(error); };\r\n this.callbacks = {};\r\n this.methods = {};\r\n this.closedCallbacks = [];\r\n this.id = 0;\r\n this.receivedHandshakeResponse = false;\r\n this.connectionState = HubConnectionState.Disconnected;\r\n this.cachedPingMessage = this.protocol.writeMessage({ type: MessageType.Ping });\r\n }\r\n /** @internal */\r\n // Using a public static factory method means we can have a private constructor and an _internal_\r\n // create method that can be used by HubConnectionBuilder. An \"internal\" constructor would just\r\n // be stripped away and the '.d.ts' file would have no constructor, which is interpreted as a\r\n // public parameter-less constructor.\r\n HubConnection.create = function (connection, logger, protocol) {\r\n return new HubConnection(connection, logger, protocol);\r\n };\r\n Object.defineProperty(HubConnection.prototype, \"state\", {\r\n /** Indicates the state of the {@link HubConnection} to the server. */\r\n get: function () {\r\n return this.connectionState;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /** Starts the connection.\r\n *\r\n * @returns {Promise} A Promise that resolves when the connection has been successfully established, or rejects with an error.\r\n */\r\n HubConnection.prototype.start = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var handshakeRequest, handshakePromise;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n handshakeRequest = {\r\n protocol: this.protocol.name,\r\n version: this.protocol.version,\r\n };\r\n this.logger.log(LogLevel.Debug, \"Starting HubConnection.\");\r\n this.receivedHandshakeResponse = false;\r\n handshakePromise = new Promise(function (resolve, reject) {\r\n _this.handshakeResolver = resolve;\r\n _this.handshakeRejecter = reject;\r\n });\r\n return [4 /*yield*/, this.connection.start(this.protocol.transferFormat)];\r\n case 1:\r\n _a.sent();\r\n this.logger.log(LogLevel.Debug, \"Sending handshake request.\");\r\n return [4 /*yield*/, this.sendMessage(this.handshakeProtocol.writeHandshakeRequest(handshakeRequest))];\r\n case 2:\r\n _a.sent();\r\n this.logger.log(LogLevel.Information, \"Using HubProtocol '\" + this.protocol.name + \"'.\");\r\n // defensively cleanup timeout in case we receive a message from the server before we finish start\r\n this.cleanupTimeout();\r\n this.resetTimeoutPeriod();\r\n this.resetKeepAliveInterval();\r\n // Wait for the handshake to complete before marking connection as connected\r\n return [4 /*yield*/, handshakePromise];\r\n case 3:\r\n // Wait for the handshake to complete before marking connection as connected\r\n _a.sent();\r\n this.connectionState = HubConnectionState.Connected;\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /** Stops the connection.\r\n *\r\n * @returns {Promise} A Promise that resolves when the connection has been successfully terminated, or rejects with an error.\r\n */\r\n HubConnection.prototype.stop = function () {\r\n this.logger.log(LogLevel.Debug, \"Stopping HubConnection.\");\r\n this.cleanupTimeout();\r\n this.cleanupPingTimer();\r\n return this.connection.stop();\r\n };\r\n /** Invokes a streaming hub method on the server using the specified name and arguments.\r\n *\r\n * @typeparam T The type of the items returned by the server.\r\n * @param {string} methodName The name of the server method to invoke.\r\n * @param {any[]} args The arguments used to invoke the server method.\r\n * @returns {IStreamResult} An object that yields results from the server as they are received.\r\n */\r\n HubConnection.prototype.stream = function (methodName) {\r\n var _this = this;\r\n var args = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n args[_i - 1] = arguments[_i];\r\n }\r\n var invocationDescriptor = this.createStreamInvocation(methodName, args);\r\n var promiseQueue;\r\n var subject = new Subject();\r\n subject.cancelCallback = function () {\r\n var cancelInvocation = _this.createCancelInvocation(invocationDescriptor.invocationId);\r\n var cancelMessage = _this.protocol.writeMessage(cancelInvocation);\r\n delete _this.callbacks[invocationDescriptor.invocationId];\r\n return promiseQueue.then(function () {\r\n return _this.sendMessage(cancelMessage);\r\n });\r\n };\r\n this.callbacks[invocationDescriptor.invocationId] = function (invocationEvent, error) {\r\n if (error) {\r\n subject.error(error);\r\n return;\r\n }\r\n else if (invocationEvent) {\r\n // invocationEvent will not be null when an error is not passed to the callback\r\n if (invocationEvent.type === MessageType.Completion) {\r\n if (invocationEvent.error) {\r\n subject.error(new Error(invocationEvent.error));\r\n }\r\n else {\r\n subject.complete();\r\n }\r\n }\r\n else {\r\n subject.next((invocationEvent.item));\r\n }\r\n }\r\n };\r\n var message = this.protocol.writeMessage(invocationDescriptor);\r\n promiseQueue = this.sendMessage(message)\r\n .catch(function (e) {\r\n subject.error(e);\r\n delete _this.callbacks[invocationDescriptor.invocationId];\r\n });\r\n return subject;\r\n };\r\n HubConnection.prototype.sendMessage = function (message) {\r\n this.resetKeepAliveInterval();\r\n return this.connection.send(message);\r\n };\r\n /** Invokes a hub method on the server using the specified name and arguments. Does not wait for a response from the receiver.\r\n *\r\n * The Promise returned by this method resolves when the client has sent the invocation to the server. The server may still\r\n * be processing the invocation.\r\n *\r\n * @param {string} methodName The name of the server method to invoke.\r\n * @param {any[]} args The arguments used to invoke the server method.\r\n * @returns {Promise} A Promise that resolves when the invocation has been successfully sent, or rejects with an error.\r\n */\r\n HubConnection.prototype.send = function (methodName) {\r\n var args = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n args[_i - 1] = arguments[_i];\r\n }\r\n var invocationDescriptor = this.createInvocation(methodName, args, true);\r\n var message = this.protocol.writeMessage(invocationDescriptor);\r\n return this.sendMessage(message);\r\n };\r\n /** Invokes a hub method on the server using the specified name and arguments.\r\n *\r\n * The Promise returned by this method resolves when the server indicates it has finished invoking the method. When the promise\r\n * resolves, the server has finished invoking the method. If the server method returns a result, it is produced as the result of\r\n * resolving the Promise.\r\n *\r\n * @typeparam T The expected return type.\r\n * @param {string} methodName The name of the server method to invoke.\r\n * @param {any[]} args The arguments used to invoke the server method.\r\n * @returns {Promise} A Promise that resolves with the result of the server method (if any), or rejects with an error.\r\n */\r\n HubConnection.prototype.invoke = function (methodName) {\r\n var _this = this;\r\n var args = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n args[_i - 1] = arguments[_i];\r\n }\r\n var invocationDescriptor = this.createInvocation(methodName, args, false);\r\n var p = new Promise(function (resolve, reject) {\r\n // invocationId will always have a value for a non-blocking invocation\r\n _this.callbacks[invocationDescriptor.invocationId] = function (invocationEvent, error) {\r\n if (error) {\r\n reject(error);\r\n return;\r\n }\r\n else if (invocationEvent) {\r\n // invocationEvent will not be null when an error is not passed to the callback\r\n if (invocationEvent.type === MessageType.Completion) {\r\n if (invocationEvent.error) {\r\n reject(new Error(invocationEvent.error));\r\n }\r\n else {\r\n resolve(invocationEvent.result);\r\n }\r\n }\r\n else {\r\n reject(new Error(\"Unexpected message type: \" + invocationEvent.type));\r\n }\r\n }\r\n };\r\n var message = _this.protocol.writeMessage(invocationDescriptor);\r\n _this.sendMessage(message)\r\n .catch(function (e) {\r\n reject(e);\r\n // invocationId will always have a value for a non-blocking invocation\r\n delete _this.callbacks[invocationDescriptor.invocationId];\r\n });\r\n });\r\n return p;\r\n };\r\n /** Registers a handler that will be invoked when the hub method with the specified method name is invoked.\r\n *\r\n * @param {string} methodName The name of the hub method to define.\r\n * @param {Function} newMethod The handler that will be raised when the hub method is invoked.\r\n */\r\n HubConnection.prototype.on = function (methodName, newMethod) {\r\n if (!methodName || !newMethod) {\r\n return;\r\n }\r\n methodName = methodName.toLowerCase();\r\n if (!this.methods[methodName]) {\r\n this.methods[methodName] = [];\r\n }\r\n // Preventing adding the same handler multiple times.\r\n if (this.methods[methodName].indexOf(newMethod) !== -1) {\r\n return;\r\n }\r\n this.methods[methodName].push(newMethod);\r\n };\r\n HubConnection.prototype.off = function (methodName, method) {\r\n if (!methodName) {\r\n return;\r\n }\r\n methodName = methodName.toLowerCase();\r\n var handlers = this.methods[methodName];\r\n if (!handlers) {\r\n return;\r\n }\r\n if (method) {\r\n var removeIdx = handlers.indexOf(method);\r\n if (removeIdx !== -1) {\r\n handlers.splice(removeIdx, 1);\r\n if (handlers.length === 0) {\r\n delete this.methods[methodName];\r\n }\r\n }\r\n }\r\n else {\r\n delete this.methods[methodName];\r\n }\r\n };\r\n /** Registers a handler that will be invoked when the connection is closed.\r\n *\r\n * @param {Function} callback The handler that will be invoked when the connection is closed. Optionally receives a single argument containing the error that caused the connection to close (if any).\r\n */\r\n HubConnection.prototype.onclose = function (callback) {\r\n if (callback) {\r\n this.closedCallbacks.push(callback);\r\n }\r\n };\r\n HubConnection.prototype.processIncomingData = function (data) {\r\n this.cleanupTimeout();\r\n if (!this.receivedHandshakeResponse) {\r\n data = this.processHandshakeResponse(data);\r\n this.receivedHandshakeResponse = true;\r\n }\r\n // Data may have all been read when processing handshake response\r\n if (data) {\r\n // Parse the messages\r\n var messages = this.protocol.parseMessages(data, this.logger);\r\n for (var _i = 0, messages_1 = messages; _i < messages_1.length; _i++) {\r\n var message = messages_1[_i];\r\n switch (message.type) {\r\n case MessageType.Invocation:\r\n this.invokeClientMethod(message);\r\n break;\r\n case MessageType.StreamItem:\r\n case MessageType.Completion:\r\n var callback = this.callbacks[message.invocationId];\r\n if (callback != null) {\r\n if (message.type === MessageType.Completion) {\r\n delete this.callbacks[message.invocationId];\r\n }\r\n callback(message);\r\n }\r\n break;\r\n case MessageType.Ping:\r\n // Don't care about pings\r\n break;\r\n case MessageType.Close:\r\n this.logger.log(LogLevel.Information, \"Close message received from server.\");\r\n // We don't want to wait on the stop itself.\r\n // tslint:disable-next-line:no-floating-promises\r\n this.connection.stop(message.error ? new Error(\"Server returned an error on close: \" + message.error) : undefined);\r\n break;\r\n default:\r\n this.logger.log(LogLevel.Warning, \"Invalid message type: \" + message.type + \".\");\r\n break;\r\n }\r\n }\r\n }\r\n this.resetTimeoutPeriod();\r\n };\r\n HubConnection.prototype.processHandshakeResponse = function (data) {\r\n var _a;\r\n var responseMessage;\r\n var remainingData;\r\n try {\r\n _a = this.handshakeProtocol.parseHandshakeResponse(data), remainingData = _a[0], responseMessage = _a[1];\r\n }\r\n catch (e) {\r\n var message = \"Error parsing handshake response: \" + e;\r\n this.logger.log(LogLevel.Error, message);\r\n var error = new Error(message);\r\n // We don't want to wait on the stop itself.\r\n // tslint:disable-next-line:no-floating-promises\r\n this.connection.stop(error);\r\n this.handshakeRejecter(error);\r\n throw error;\r\n }\r\n if (responseMessage.error) {\r\n var message = \"Server returned handshake error: \" + responseMessage.error;\r\n this.logger.log(LogLevel.Error, message);\r\n this.handshakeRejecter(message);\r\n // We don't want to wait on the stop itself.\r\n // tslint:disable-next-line:no-floating-promises\r\n this.connection.stop(new Error(message));\r\n throw new Error(message);\r\n }\r\n else {\r\n this.logger.log(LogLevel.Debug, \"Server handshake complete.\");\r\n }\r\n this.handshakeResolver();\r\n return remainingData;\r\n };\r\n HubConnection.prototype.resetKeepAliveInterval = function () {\r\n var _this = this;\r\n this.cleanupPingTimer();\r\n this.pingServerHandle = setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {\r\n var _a;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n if (!(this.connectionState === HubConnectionState.Connected)) return [3 /*break*/, 4];\r\n _b.label = 1;\r\n case 1:\r\n _b.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, this.sendMessage(this.cachedPingMessage)];\r\n case 2:\r\n _b.sent();\r\n return [3 /*break*/, 4];\r\n case 3:\r\n _a = _b.sent();\r\n // We don't care about the error. It should be seen elsewhere in the client.\r\n // The connection is probably in a bad or closed state now, cleanup the timer so it stops triggering\r\n this.cleanupPingTimer();\r\n return [3 /*break*/, 4];\r\n case 4: return [2 /*return*/];\r\n }\r\n });\r\n }); }, this.keepAliveIntervalInMilliseconds);\r\n };\r\n HubConnection.prototype.resetTimeoutPeriod = function () {\r\n var _this = this;\r\n if (!this.connection.features || !this.connection.features.inherentKeepAlive) {\r\n // Set the timeout timer\r\n this.timeoutHandle = setTimeout(function () { return _this.serverTimeout(); }, this.serverTimeoutInMilliseconds);\r\n }\r\n };\r\n HubConnection.prototype.serverTimeout = function () {\r\n // The server hasn't talked to us in a while. It doesn't like us anymore ... :(\r\n // Terminate the connection, but we don't need to wait on the promise.\r\n // tslint:disable-next-line:no-floating-promises\r\n this.connection.stop(new Error(\"Server timeout elapsed without receiving a message from the server.\"));\r\n };\r\n HubConnection.prototype.invokeClientMethod = function (invocationMessage) {\r\n var _this = this;\r\n var methods = this.methods[invocationMessage.target.toLowerCase()];\r\n if (methods) {\r\n methods.forEach(function (m) { return m.apply(_this, invocationMessage.arguments); });\r\n if (invocationMessage.invocationId) {\r\n // This is not supported in v1. So we return an error to avoid blocking the server waiting for the response.\r\n var message = \"Server requested a response, which is not supported in this version of the client.\";\r\n this.logger.log(LogLevel.Error, message);\r\n // We don't need to wait on this Promise.\r\n // tslint:disable-next-line:no-floating-promises\r\n this.connection.stop(new Error(message));\r\n }\r\n }\r\n else {\r\n this.logger.log(LogLevel.Warning, \"No client method with the name '\" + invocationMessage.target + \"' found.\");\r\n }\r\n };\r\n HubConnection.prototype.connectionClosed = function (error) {\r\n var _this = this;\r\n var callbacks = this.callbacks;\r\n this.callbacks = {};\r\n this.connectionState = HubConnectionState.Disconnected;\r\n // if handshake is in progress start will be waiting for the handshake promise, so we complete it\r\n // if it has already completed this should just noop\r\n if (this.handshakeRejecter) {\r\n this.handshakeRejecter(error);\r\n }\r\n Object.keys(callbacks)\r\n .forEach(function (key) {\r\n var callback = callbacks[key];\r\n callback(null, error ? error : new Error(\"Invocation canceled due to connection being closed.\"));\r\n });\r\n this.cleanupTimeout();\r\n this.cleanupPingTimer();\r\n this.closedCallbacks.forEach(function (c) { return c.apply(_this, [error]); });\r\n };\r\n HubConnection.prototype.cleanupPingTimer = function () {\r\n if (this.pingServerHandle) {\r\n clearTimeout(this.pingServerHandle);\r\n }\r\n };\r\n HubConnection.prototype.cleanupTimeout = function () {\r\n if (this.timeoutHandle) {\r\n clearTimeout(this.timeoutHandle);\r\n }\r\n };\r\n HubConnection.prototype.createInvocation = function (methodName, args, nonblocking) {\r\n if (nonblocking) {\r\n return {\r\n arguments: args,\r\n target: methodName,\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n else {\r\n var id = this.id;\r\n this.id++;\r\n return {\r\n arguments: args,\r\n invocationId: id.toString(),\r\n target: methodName,\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n };\r\n HubConnection.prototype.createStreamInvocation = function (methodName, args) {\r\n var id = this.id;\r\n this.id++;\r\n return {\r\n arguments: args,\r\n invocationId: id.toString(),\r\n target: methodName,\r\n type: MessageType.StreamInvocation,\r\n };\r\n };\r\n HubConnection.prototype.createCancelInvocation = function (id) {\r\n return {\r\n invocationId: id,\r\n type: MessageType.CancelInvocation,\r\n };\r\n };\r\n return HubConnection;\r\n}());\r\nexport { HubConnection };\r\n//# sourceMappingURL=HubConnection.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n// This will be treated as a bit flag in the future, so we keep it using power-of-two values.\r\n/** Specifies a specific HTTP transport type. */\r\nexport var HttpTransportType;\r\n(function (HttpTransportType) {\r\n /** Specifies no transport preference. */\r\n HttpTransportType[HttpTransportType[\"None\"] = 0] = \"None\";\r\n /** Specifies the WebSockets transport. */\r\n HttpTransportType[HttpTransportType[\"WebSockets\"] = 1] = \"WebSockets\";\r\n /** Specifies the Server-Sent Events transport. */\r\n HttpTransportType[HttpTransportType[\"ServerSentEvents\"] = 2] = \"ServerSentEvents\";\r\n /** Specifies the Long Polling transport. */\r\n HttpTransportType[HttpTransportType[\"LongPolling\"] = 4] = \"LongPolling\";\r\n})(HttpTransportType || (HttpTransportType = {}));\r\n/** Specifies the transfer format for a connection. */\r\nexport var TransferFormat;\r\n(function (TransferFormat) {\r\n /** Specifies that only text data will be transmitted over the connection. */\r\n TransferFormat[TransferFormat[\"Text\"] = 1] = \"Text\";\r\n /** Specifies that binary data will be transmitted over the connection. */\r\n TransferFormat[TransferFormat[\"Binary\"] = 2] = \"Binary\";\r\n})(TransferFormat || (TransferFormat = {}));\r\n//# sourceMappingURL=ITransport.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n// Rough polyfill of https://developer.mozilla.org/en-US/docs/Web/API/AbortController\r\n// We don't actually ever use the API being polyfilled, we always use the polyfill because\r\n// it's a very new API right now.\r\n// Not exported from index.\r\n/** @private */\r\nvar AbortController = /** @class */ (function () {\r\n function AbortController() {\r\n this.isAborted = false;\r\n this.onabort = null;\r\n }\r\n AbortController.prototype.abort = function () {\r\n if (!this.isAborted) {\r\n this.isAborted = true;\r\n if (this.onabort) {\r\n this.onabort();\r\n }\r\n }\r\n };\r\n Object.defineProperty(AbortController.prototype, \"signal\", {\r\n get: function () {\r\n return this;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(AbortController.prototype, \"aborted\", {\r\n get: function () {\r\n return this.isAborted;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n return AbortController;\r\n}());\r\nexport { AbortController };\r\n//# sourceMappingURL=AbortController.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\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) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (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\nimport { AbortController } from \"./AbortController\";\r\nimport { HttpError, TimeoutError } from \"./Errors\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\nimport { Arg, getDataDetail, sendMessage } from \"./Utils\";\r\n// Not exported from 'index', this type is internal.\r\n/** @private */\r\nvar LongPollingTransport = /** @class */ (function () {\r\n function LongPollingTransport(httpClient, accessTokenFactory, logger, logMessageContent) {\r\n this.httpClient = httpClient;\r\n this.accessTokenFactory = accessTokenFactory;\r\n this.logger = logger;\r\n this.pollAbort = new AbortController();\r\n this.logMessageContent = logMessageContent;\r\n this.running = false;\r\n this.onreceive = null;\r\n this.onclose = null;\r\n }\r\n Object.defineProperty(LongPollingTransport.prototype, \"pollAborted\", {\r\n // This is an internal type, not exported from 'index' so this is really just internal.\r\n get: function () {\r\n return this.pollAbort.aborted;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n LongPollingTransport.prototype.connect = function (url, transferFormat) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var pollOptions, token, pollUrl, response;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n Arg.isRequired(url, \"url\");\r\n Arg.isRequired(transferFormat, \"transferFormat\");\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n this.url = url;\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) Connecting.\");\r\n // Allow binary format on Node and Browsers that support binary content (indicated by the presence of responseType property)\r\n if (transferFormat === TransferFormat.Binary &&\r\n (typeof XMLHttpRequest !== \"undefined\" && typeof new XMLHttpRequest().responseType !== \"string\")) {\r\n throw new Error(\"Binary protocols over XmlHttpRequest not implementing advanced features are not supported.\");\r\n }\r\n pollOptions = {\r\n abortSignal: this.pollAbort.signal,\r\n headers: {},\r\n timeout: 100000,\r\n };\r\n if (transferFormat === TransferFormat.Binary) {\r\n pollOptions.responseType = \"arraybuffer\";\r\n }\r\n return [4 /*yield*/, this.getAccessToken()];\r\n case 1:\r\n token = _a.sent();\r\n this.updateHeaderToken(pollOptions, token);\r\n pollUrl = url + \"&_=\" + Date.now();\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) polling: \" + pollUrl + \".\");\r\n return [4 /*yield*/, this.httpClient.get(pollUrl, pollOptions)];\r\n case 2:\r\n response = _a.sent();\r\n if (response.statusCode !== 200) {\r\n this.logger.log(LogLevel.Error, \"(LongPolling transport) Unexpected response code: \" + response.statusCode + \".\");\r\n // Mark running as false so that the poll immediately ends and runs the close logic\r\n this.closeError = new HttpError(response.statusText || \"\", response.statusCode);\r\n this.running = false;\r\n }\r\n else {\r\n this.running = true;\r\n }\r\n this.receiving = this.poll(this.url, pollOptions);\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n LongPollingTransport.prototype.getAccessToken = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!this.accessTokenFactory) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.accessTokenFactory()];\r\n case 1: return [2 /*return*/, _a.sent()];\r\n case 2: return [2 /*return*/, null];\r\n }\r\n });\r\n });\r\n };\r\n LongPollingTransport.prototype.updateHeaderToken = function (request, token) {\r\n if (!request.headers) {\r\n request.headers = {};\r\n }\r\n if (token) {\r\n // tslint:disable-next-line:no-string-literal\r\n request.headers[\"Authorization\"] = \"Bearer \" + token;\r\n return;\r\n }\r\n // tslint:disable-next-line:no-string-literal\r\n if (request.headers[\"Authorization\"]) {\r\n // tslint:disable-next-line:no-string-literal\r\n delete request.headers[\"Authorization\"];\r\n }\r\n };\r\n LongPollingTransport.prototype.poll = function (url, pollOptions) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var token, pollUrl, response, e_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n _a.trys.push([0, , 8, 9]);\r\n _a.label = 1;\r\n case 1:\r\n if (!this.running) return [3 /*break*/, 7];\r\n return [4 /*yield*/, this.getAccessToken()];\r\n case 2:\r\n token = _a.sent();\r\n this.updateHeaderToken(pollOptions, token);\r\n _a.label = 3;\r\n case 3:\r\n _a.trys.push([3, 5, , 6]);\r\n pollUrl = url + \"&_=\" + Date.now();\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) polling: \" + pollUrl + \".\");\r\n return [4 /*yield*/, this.httpClient.get(pollUrl, pollOptions)];\r\n case 4:\r\n response = _a.sent();\r\n if (response.statusCode === 204) {\r\n this.logger.log(LogLevel.Information, \"(LongPolling transport) Poll terminated by server.\");\r\n this.running = false;\r\n }\r\n else if (response.statusCode !== 200) {\r\n this.logger.log(LogLevel.Error, \"(LongPolling transport) Unexpected response code: \" + response.statusCode + \".\");\r\n // Unexpected status code\r\n this.closeError = new HttpError(response.statusText || \"\", response.statusCode);\r\n this.running = false;\r\n }\r\n else {\r\n // Process the response\r\n if (response.content) {\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) data received. \" + getDataDetail(response.content, this.logMessageContent) + \".\");\r\n if (this.onreceive) {\r\n this.onreceive(response.content);\r\n }\r\n }\r\n else {\r\n // This is another way timeout manifest.\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) Poll timed out, reissuing.\");\r\n }\r\n }\r\n return [3 /*break*/, 6];\r\n case 5:\r\n e_1 = _a.sent();\r\n if (!this.running) {\r\n // Log but disregard errors that occur after stopping\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) Poll errored after shutdown: \" + e_1.message);\r\n }\r\n else {\r\n if (e_1 instanceof TimeoutError) {\r\n // Ignore timeouts and reissue the poll.\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) Poll timed out, reissuing.\");\r\n }\r\n else {\r\n // Close the connection with the error as the result.\r\n this.closeError = e_1;\r\n this.running = false;\r\n }\r\n }\r\n return [3 /*break*/, 6];\r\n case 6: return [3 /*break*/, 1];\r\n case 7: return [3 /*break*/, 9];\r\n case 8:\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) Polling complete.\");\r\n // We will reach here with pollAborted==false when the server returned a response causing the transport to stop.\r\n // If pollAborted==true then client initiated the stop and the stop method will raise the close event after DELETE is sent.\r\n if (!this.pollAborted) {\r\n this.raiseOnClose();\r\n }\r\n return [7 /*endfinally*/];\r\n case 9: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n LongPollingTransport.prototype.send = function (data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n if (!this.running) {\r\n return [2 /*return*/, Promise.reject(new Error(\"Cannot send until the transport is connected\"))];\r\n }\r\n return [2 /*return*/, sendMessage(this.logger, \"LongPolling\", this.httpClient, this.url, this.accessTokenFactory, data, this.logMessageContent)];\r\n });\r\n });\r\n };\r\n LongPollingTransport.prototype.stop = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var deleteOptions, token;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) Stopping polling.\");\r\n // Tell receiving loop to stop, abort any current request, and then wait for it to finish\r\n this.running = false;\r\n this.pollAbort.abort();\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, , 5, 6]);\r\n return [4 /*yield*/, this.receiving];\r\n case 2:\r\n _a.sent();\r\n // Send DELETE to clean up long polling on the server\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) sending DELETE request to \" + this.url + \".\");\r\n deleteOptions = {\r\n headers: {},\r\n };\r\n return [4 /*yield*/, this.getAccessToken()];\r\n case 3:\r\n token = _a.sent();\r\n this.updateHeaderToken(deleteOptions, token);\r\n return [4 /*yield*/, this.httpClient.delete(this.url, deleteOptions)];\r\n case 4:\r\n _a.sent();\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) DELETE request sent.\");\r\n return [3 /*break*/, 6];\r\n case 5:\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) Stop finished.\");\r\n // Raise close event here instead of in polling\r\n // It needs to happen after the DELETE request is sent\r\n this.raiseOnClose();\r\n return [7 /*endfinally*/];\r\n case 6: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n LongPollingTransport.prototype.raiseOnClose = function () {\r\n if (this.onclose) {\r\n var logMessage = \"(LongPolling transport) Firing onclose event.\";\r\n if (this.closeError) {\r\n logMessage += \" Error: \" + this.closeError;\r\n }\r\n this.logger.log(LogLevel.Trace, logMessage);\r\n this.onclose(this.closeError);\r\n }\r\n };\r\n return LongPollingTransport;\r\n}());\r\nexport { LongPollingTransport };\r\n//# sourceMappingURL=LongPollingTransport.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\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) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (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\nimport { LogLevel } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\nimport { Arg, getDataDetail, sendMessage } from \"./Utils\";\r\n/** @private */\r\nvar ServerSentEventsTransport = /** @class */ (function () {\r\n function ServerSentEventsTransport(httpClient, accessTokenFactory, logger, logMessageContent, eventSourceConstructor) {\r\n this.httpClient = httpClient;\r\n this.accessTokenFactory = accessTokenFactory;\r\n this.logger = logger;\r\n this.logMessageContent = logMessageContent;\r\n this.eventSourceConstructor = eventSourceConstructor;\r\n this.onreceive = null;\r\n this.onclose = null;\r\n }\r\n ServerSentEventsTransport.prototype.connect = function (url, transferFormat) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var token;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n Arg.isRequired(url, \"url\");\r\n Arg.isRequired(transferFormat, \"transferFormat\");\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n this.logger.log(LogLevel.Trace, \"(SSE transport) Connecting.\");\r\n // set url before accessTokenFactory because this.url is only for send and we set the auth header instead of the query string for send\r\n this.url = url;\r\n if (!this.accessTokenFactory) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.accessTokenFactory()];\r\n case 1:\r\n token = _a.sent();\r\n if (token) {\r\n url += (url.indexOf(\"?\") < 0 ? \"?\" : \"&\") + (\"access_token=\" + encodeURIComponent(token));\r\n }\r\n _a.label = 2;\r\n case 2: return [2 /*return*/, new Promise(function (resolve, reject) {\r\n var opened = false;\r\n if (transferFormat !== TransferFormat.Text) {\r\n reject(new Error(\"The Server-Sent Events transport only supports the 'Text' transfer format\"));\r\n return;\r\n }\r\n var eventSource;\r\n if (typeof window !== \"undefined\") {\r\n eventSource = new _this.eventSourceConstructor(url, { withCredentials: true });\r\n }\r\n else {\r\n // Non-browser passes cookies via the dictionary\r\n var cookies = _this.httpClient.getCookieString(url);\r\n eventSource = new _this.eventSourceConstructor(url, { withCredentials: true, headers: { Cookie: cookies } });\r\n }\r\n try {\r\n eventSource.onmessage = function (e) {\r\n if (_this.onreceive) {\r\n try {\r\n _this.logger.log(LogLevel.Trace, \"(SSE transport) data received. \" + getDataDetail(e.data, _this.logMessageContent) + \".\");\r\n _this.onreceive(e.data);\r\n }\r\n catch (error) {\r\n _this.close(error);\r\n return;\r\n }\r\n }\r\n };\r\n eventSource.onerror = function (e) {\r\n var error = new Error(e.data || \"Error occurred\");\r\n if (opened) {\r\n _this.close(error);\r\n }\r\n else {\r\n reject(error);\r\n }\r\n };\r\n eventSource.onopen = function () {\r\n _this.logger.log(LogLevel.Information, \"SSE connected to \" + _this.url);\r\n _this.eventSource = eventSource;\r\n opened = true;\r\n resolve();\r\n };\r\n }\r\n catch (e) {\r\n reject(e);\r\n return;\r\n }\r\n })];\r\n }\r\n });\r\n });\r\n };\r\n ServerSentEventsTransport.prototype.send = function (data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n if (!this.eventSource) {\r\n return [2 /*return*/, Promise.reject(new Error(\"Cannot send until the transport is connected\"))];\r\n }\r\n return [2 /*return*/, sendMessage(this.logger, \"SSE\", this.httpClient, this.url, this.accessTokenFactory, data, this.logMessageContent)];\r\n });\r\n });\r\n };\r\n ServerSentEventsTransport.prototype.stop = function () {\r\n this.close();\r\n return Promise.resolve();\r\n };\r\n ServerSentEventsTransport.prototype.close = function (e) {\r\n if (this.eventSource) {\r\n this.eventSource.close();\r\n this.eventSource = undefined;\r\n if (this.onclose) {\r\n this.onclose(e);\r\n }\r\n }\r\n };\r\n return ServerSentEventsTransport;\r\n}());\r\nexport { ServerSentEventsTransport };\r\n//# sourceMappingURL=ServerSentEventsTransport.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\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) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (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\nimport { LogLevel } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\nimport { Arg, getDataDetail } from \"./Utils\";\r\n/** @private */\r\nvar WebSocketTransport = /** @class */ (function () {\r\n function WebSocketTransport(httpClient, accessTokenFactory, logger, logMessageContent, webSocketConstructor) {\r\n this.logger = logger;\r\n this.accessTokenFactory = accessTokenFactory;\r\n this.logMessageContent = logMessageContent;\r\n this.webSocketConstructor = webSocketConstructor;\r\n this.httpClient = httpClient;\r\n this.onreceive = null;\r\n this.onclose = null;\r\n }\r\n WebSocketTransport.prototype.connect = function (url, transferFormat) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var token;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n Arg.isRequired(url, \"url\");\r\n Arg.isRequired(transferFormat, \"transferFormat\");\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n this.logger.log(LogLevel.Trace, \"(WebSockets transport) Connecting.\");\r\n if (!this.accessTokenFactory) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.accessTokenFactory()];\r\n case 1:\r\n token = _a.sent();\r\n if (token) {\r\n url += (url.indexOf(\"?\") < 0 ? \"?\" : \"&\") + (\"access_token=\" + encodeURIComponent(token));\r\n }\r\n _a.label = 2;\r\n case 2: return [2 /*return*/, new Promise(function (resolve, reject) {\r\n url = url.replace(/^http/, \"ws\");\r\n var webSocket;\r\n var cookies = _this.httpClient.getCookieString(url);\r\n if (typeof window === \"undefined\" && cookies) {\r\n // Only pass cookies when in non-browser environments\r\n webSocket = new _this.webSocketConstructor(url, undefined, {\r\n headers: {\r\n Cookie: \"\" + cookies,\r\n },\r\n });\r\n }\r\n if (!webSocket) {\r\n // Chrome is not happy with passing 'undefined' as protocol\r\n webSocket = new _this.webSocketConstructor(url);\r\n }\r\n if (transferFormat === TransferFormat.Binary) {\r\n webSocket.binaryType = \"arraybuffer\";\r\n }\r\n // tslint:disable-next-line:variable-name\r\n webSocket.onopen = function (_event) {\r\n _this.logger.log(LogLevel.Information, \"WebSocket connected to \" + url + \".\");\r\n _this.webSocket = webSocket;\r\n resolve();\r\n };\r\n webSocket.onerror = function (event) {\r\n var error = null;\r\n // ErrorEvent is a browser only type we need to check if the type exists before using it\r\n if (typeof ErrorEvent !== \"undefined\" && event instanceof ErrorEvent) {\r\n error = event.error;\r\n }\r\n reject(error);\r\n };\r\n webSocket.onmessage = function (message) {\r\n _this.logger.log(LogLevel.Trace, \"(WebSockets transport) data received. \" + getDataDetail(message.data, _this.logMessageContent) + \".\");\r\n if (_this.onreceive) {\r\n _this.onreceive(message.data);\r\n }\r\n };\r\n webSocket.onclose = function (event) { return _this.close(event); };\r\n })];\r\n }\r\n });\r\n });\r\n };\r\n WebSocketTransport.prototype.send = function (data) {\r\n if (this.webSocket && this.webSocket.readyState === this.webSocketConstructor.OPEN) {\r\n this.logger.log(LogLevel.Trace, \"(WebSockets transport) sending data. \" + getDataDetail(data, this.logMessageContent) + \".\");\r\n this.webSocket.send(data);\r\n return Promise.resolve();\r\n }\r\n return Promise.reject(\"WebSocket is not in the OPEN state\");\r\n };\r\n WebSocketTransport.prototype.stop = function () {\r\n if (this.webSocket) {\r\n // Clear websocket handlers because we are considering the socket closed now\r\n this.webSocket.onclose = function () { };\r\n this.webSocket.onmessage = function () { };\r\n this.webSocket.onerror = function () { };\r\n this.webSocket.close();\r\n this.webSocket = undefined;\r\n // Manually invoke onclose callback inline so we know the HttpConnection was closed properly before returning\r\n // This also solves an issue where websocket.onclose could take 18+ seconds to trigger during network disconnects\r\n this.close(undefined);\r\n }\r\n return Promise.resolve();\r\n };\r\n WebSocketTransport.prototype.close = function (event) {\r\n // webSocket will be null if the transport did not start successfully\r\n this.logger.log(LogLevel.Trace, \"(WebSockets transport) socket closed.\");\r\n if (this.onclose) {\r\n if (event && (event.wasClean === false || event.code !== 1000)) {\r\n this.onclose(new Error(\"WebSocket closed with status code: \" + event.code + \" (\" + event.reason + \").\"));\r\n }\r\n else {\r\n this.onclose();\r\n }\r\n }\r\n };\r\n return WebSocketTransport;\r\n}());\r\nexport { WebSocketTransport };\r\n//# sourceMappingURL=WebSocketTransport.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\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) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (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\nimport { DefaultHttpClient } from \"./DefaultHttpClient\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { HttpTransportType, TransferFormat } from \"./ITransport\";\r\nimport { LongPollingTransport } from \"./LongPollingTransport\";\r\nimport { ServerSentEventsTransport } from \"./ServerSentEventsTransport\";\r\nimport { Arg, createLogger } from \"./Utils\";\r\nimport { WebSocketTransport } from \"./WebSocketTransport\";\r\nvar MAX_REDIRECTS = 100;\r\nvar WebSocketModule = null;\r\nvar EventSourceModule = null;\r\nif (typeof window === \"undefined\" && typeof require !== \"undefined\") {\r\n // In order to ignore the dynamic require in webpack builds we need to do this magic\r\n // @ts-ignore: TS doesn't know about these names\r\n var requireFunc = typeof __webpack_require__ === \"function\" ? __non_webpack_require__ : require;\r\n WebSocketModule = requireFunc(\"ws\");\r\n EventSourceModule = requireFunc(\"eventsource\");\r\n}\r\n/** @private */\r\nvar HttpConnection = /** @class */ (function () {\r\n function HttpConnection(url, options) {\r\n if (options === void 0) { options = {}; }\r\n this.features = {};\r\n Arg.isRequired(url, \"url\");\r\n this.logger = createLogger(options.logger);\r\n this.baseUrl = this.resolveUrl(url);\r\n options = options || {};\r\n options.logMessageContent = options.logMessageContent || false;\r\n var isNode = typeof window === \"undefined\";\r\n if (!isNode && typeof WebSocket !== \"undefined\" && !options.WebSocket) {\r\n options.WebSocket = WebSocket;\r\n }\r\n else if (isNode && !options.WebSocket) {\r\n if (WebSocketModule) {\r\n options.WebSocket = WebSocketModule;\r\n }\r\n }\r\n if (!isNode && typeof EventSource !== \"undefined\" && !options.EventSource) {\r\n options.EventSource = EventSource;\r\n }\r\n else if (isNode && !options.EventSource) {\r\n if (typeof EventSourceModule !== \"undefined\") {\r\n options.EventSource = EventSourceModule;\r\n }\r\n }\r\n this.httpClient = options.httpClient || new DefaultHttpClient(this.logger);\r\n this.connectionState = 2 /* Disconnected */;\r\n this.options = options;\r\n this.onreceive = null;\r\n this.onclose = null;\r\n }\r\n HttpConnection.prototype.start = function (transferFormat) {\r\n transferFormat = transferFormat || TransferFormat.Binary;\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n this.logger.log(LogLevel.Debug, \"Starting connection with transfer format '\" + TransferFormat[transferFormat] + \"'.\");\r\n if (this.connectionState !== 2 /* Disconnected */) {\r\n return Promise.reject(new Error(\"Cannot start a connection that is not in the 'Disconnected' state.\"));\r\n }\r\n this.connectionState = 0 /* Connecting */;\r\n this.startPromise = this.startInternal(transferFormat);\r\n return this.startPromise;\r\n };\r\n HttpConnection.prototype.send = function (data) {\r\n if (this.connectionState !== 1 /* Connected */) {\r\n throw new Error(\"Cannot send data if the connection is not in the 'Connected' State.\");\r\n }\r\n // Transport will not be null if state is connected\r\n return this.transport.send(data);\r\n };\r\n HttpConnection.prototype.stop = function (error) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var e_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.connectionState = 2 /* Disconnected */;\r\n // Set error as soon as possible otherwise there is a race between\r\n // the transport closing and providing an error and the error from a close message\r\n // We would prefer the close message error.\r\n this.stopError = error;\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, this.startPromise];\r\n case 2:\r\n _a.sent();\r\n return [3 /*break*/, 4];\r\n case 3:\r\n e_1 = _a.sent();\r\n return [3 /*break*/, 4];\r\n case 4:\r\n if (!this.transport) return [3 /*break*/, 6];\r\n return [4 /*yield*/, this.transport.stop()];\r\n case 5:\r\n _a.sent();\r\n this.transport = undefined;\r\n _a.label = 6;\r\n case 6: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n HttpConnection.prototype.startInternal = function (transferFormat) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var url, negotiateResponse, redirects, _loop_1, this_1, state_1, e_2;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n url = this.baseUrl;\r\n this.accessTokenFactory = this.options.accessTokenFactory;\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 12, , 13]);\r\n if (!this.options.skipNegotiation) return [3 /*break*/, 5];\r\n if (!(this.options.transport === HttpTransportType.WebSockets)) return [3 /*break*/, 3];\r\n // No need to add a connection ID in this case\r\n this.transport = this.constructTransport(HttpTransportType.WebSockets);\r\n // We should just call connect directly in this case.\r\n // No fallback or negotiate in this case.\r\n return [4 /*yield*/, this.transport.connect(url, transferFormat)];\r\n case 2:\r\n // We should just call connect directly in this case.\r\n // No fallback or negotiate in this case.\r\n _a.sent();\r\n return [3 /*break*/, 4];\r\n case 3: throw Error(\"Negotiation can only be skipped when using the WebSocket transport directly.\");\r\n case 4: return [3 /*break*/, 11];\r\n case 5:\r\n negotiateResponse = null;\r\n redirects = 0;\r\n _loop_1 = function () {\r\n var accessToken_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this_1.getNegotiationResponse(url)];\r\n case 1:\r\n negotiateResponse = _a.sent();\r\n // the user tries to stop the connection when it is being started\r\n if (this_1.connectionState === 2 /* Disconnected */) {\r\n return [2 /*return*/, { value: void 0 }];\r\n }\r\n if (negotiateResponse.error) {\r\n throw Error(negotiateResponse.error);\r\n }\r\n if (negotiateResponse.ProtocolVersion) {\r\n throw Error(\"Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server. See https://aka.ms/signalr-core-differences for details.\");\r\n }\r\n if (negotiateResponse.url) {\r\n url = negotiateResponse.url;\r\n }\r\n if (negotiateResponse.accessToken) {\r\n accessToken_1 = negotiateResponse.accessToken;\r\n this_1.accessTokenFactory = function () { return accessToken_1; };\r\n }\r\n redirects++;\r\n return [2 /*return*/];\r\n }\r\n });\r\n };\r\n this_1 = this;\r\n _a.label = 6;\r\n case 6: return [5 /*yield**/, _loop_1()];\r\n case 7:\r\n state_1 = _a.sent();\r\n if (typeof state_1 === \"object\")\r\n return [2 /*return*/, state_1.value];\r\n _a.label = 8;\r\n case 8:\r\n if (negotiateResponse.url && redirects < MAX_REDIRECTS) return [3 /*break*/, 6];\r\n _a.label = 9;\r\n case 9:\r\n if (redirects === MAX_REDIRECTS && negotiateResponse.url) {\r\n throw Error(\"Negotiate redirection limit exceeded.\");\r\n }\r\n return [4 /*yield*/, this.createTransport(url, this.options.transport, negotiateResponse, transferFormat)];\r\n case 10:\r\n _a.sent();\r\n _a.label = 11;\r\n case 11:\r\n if (this.transport instanceof LongPollingTransport) {\r\n this.features.inherentKeepAlive = true;\r\n }\r\n this.transport.onreceive = this.onreceive;\r\n this.transport.onclose = function (e) { return _this.stopConnection(e); };\r\n // only change the state if we were connecting to not overwrite\r\n // the state if the connection is already marked as Disconnected\r\n this.changeState(0 /* Connecting */, 1 /* Connected */);\r\n return [3 /*break*/, 13];\r\n case 12:\r\n e_2 = _a.sent();\r\n this.logger.log(LogLevel.Error, \"Failed to start the connection: \" + e_2);\r\n this.connectionState = 2 /* Disconnected */;\r\n this.transport = undefined;\r\n throw e_2;\r\n case 13: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n HttpConnection.prototype.getNegotiationResponse = function (url) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _a, headers, token, negotiateUrl, response, e_3;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n if (!this.accessTokenFactory) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.accessTokenFactory()];\r\n case 1:\r\n token = _b.sent();\r\n if (token) {\r\n headers = (_a = {},\r\n _a[\"Authorization\"] = \"Bearer \" + token,\r\n _a);\r\n }\r\n _b.label = 2;\r\n case 2:\r\n negotiateUrl = this.resolveNegotiateUrl(url);\r\n this.logger.log(LogLevel.Debug, \"Sending negotiation request: \" + negotiateUrl + \".\");\r\n _b.label = 3;\r\n case 3:\r\n _b.trys.push([3, 5, , 6]);\r\n return [4 /*yield*/, this.httpClient.post(negotiateUrl, {\r\n content: \"\",\r\n headers: headers,\r\n })];\r\n case 4:\r\n response = _b.sent();\r\n if (response.statusCode !== 200) {\r\n throw Error(\"Unexpected status code returned from negotiate \" + response.statusCode);\r\n }\r\n return [2 /*return*/, JSON.parse(response.content)];\r\n case 5:\r\n e_3 = _b.sent();\r\n this.logger.log(LogLevel.Error, \"Failed to complete negotiation with the server: \" + e_3);\r\n throw e_3;\r\n case 6: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n HttpConnection.prototype.createConnectUrl = function (url, connectionId) {\r\n if (!connectionId) {\r\n return url;\r\n }\r\n return url + (url.indexOf(\"?\") === -1 ? \"?\" : \"&\") + (\"id=\" + connectionId);\r\n };\r\n HttpConnection.prototype.createTransport = function (url, requestedTransport, negotiateResponse, requestedTransferFormat) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var connectUrl, transports, _i, transports_1, endpoint, transport, ex_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n connectUrl = this.createConnectUrl(url, negotiateResponse.connectionId);\r\n if (!this.isITransport(requestedTransport)) return [3 /*break*/, 2];\r\n this.logger.log(LogLevel.Debug, \"Connection was provided an instance of ITransport, using that directly.\");\r\n this.transport = requestedTransport;\r\n return [4 /*yield*/, this.transport.connect(connectUrl, requestedTransferFormat)];\r\n case 1:\r\n _a.sent();\r\n // only change the state if we were connecting to not overwrite\r\n // the state if the connection is already marked as Disconnected\r\n this.changeState(0 /* Connecting */, 1 /* Connected */);\r\n return [2 /*return*/];\r\n case 2:\r\n transports = negotiateResponse.availableTransports || [];\r\n _i = 0, transports_1 = transports;\r\n _a.label = 3;\r\n case 3:\r\n if (!(_i < transports_1.length)) return [3 /*break*/, 9];\r\n endpoint = transports_1[_i];\r\n this.connectionState = 0 /* Connecting */;\r\n transport = this.resolveTransport(endpoint, requestedTransport, requestedTransferFormat);\r\n if (!(typeof transport === \"number\")) return [3 /*break*/, 8];\r\n this.transport = this.constructTransport(transport);\r\n if (!!negotiateResponse.connectionId) return [3 /*break*/, 5];\r\n return [4 /*yield*/, this.getNegotiationResponse(url)];\r\n case 4:\r\n negotiateResponse = _a.sent();\r\n connectUrl = this.createConnectUrl(url, negotiateResponse.connectionId);\r\n _a.label = 5;\r\n case 5:\r\n _a.trys.push([5, 7, , 8]);\r\n return [4 /*yield*/, this.transport.connect(connectUrl, requestedTransferFormat)];\r\n case 6:\r\n _a.sent();\r\n this.changeState(0 /* Connecting */, 1 /* Connected */);\r\n return [2 /*return*/];\r\n case 7:\r\n ex_1 = _a.sent();\r\n this.logger.log(LogLevel.Error, \"Failed to start the transport '\" + HttpTransportType[transport] + \"': \" + ex_1);\r\n this.connectionState = 2 /* Disconnected */;\r\n negotiateResponse.connectionId = undefined;\r\n return [3 /*break*/, 8];\r\n case 8:\r\n _i++;\r\n return [3 /*break*/, 3];\r\n case 9: throw new Error(\"Unable to initialize any of the available transports.\");\r\n }\r\n });\r\n });\r\n };\r\n HttpConnection.prototype.constructTransport = function (transport) {\r\n switch (transport) {\r\n case HttpTransportType.WebSockets:\r\n if (!this.options.WebSocket) {\r\n throw new Error(\"'WebSocket' is not supported in your environment.\");\r\n }\r\n return new WebSocketTransport(this.httpClient, this.accessTokenFactory, this.logger, this.options.logMessageContent || false, this.options.WebSocket);\r\n case HttpTransportType.ServerSentEvents:\r\n if (!this.options.EventSource) {\r\n throw new Error(\"'EventSource' is not supported in your environment.\");\r\n }\r\n return new ServerSentEventsTransport(this.httpClient, this.accessTokenFactory, this.logger, this.options.logMessageContent || false, this.options.EventSource);\r\n case HttpTransportType.LongPolling:\r\n return new LongPollingTransport(this.httpClient, this.accessTokenFactory, this.logger, this.options.logMessageContent || false);\r\n default:\r\n throw new Error(\"Unknown transport: \" + transport + \".\");\r\n }\r\n };\r\n HttpConnection.prototype.resolveTransport = function (endpoint, requestedTransport, requestedTransferFormat) {\r\n var transport = HttpTransportType[endpoint.transport];\r\n if (transport === null || transport === undefined) {\r\n this.logger.log(LogLevel.Debug, \"Skipping transport '\" + endpoint.transport + \"' because it is not supported by this client.\");\r\n }\r\n else {\r\n var transferFormats = endpoint.transferFormats.map(function (s) { return TransferFormat[s]; });\r\n if (transportMatches(requestedTransport, transport)) {\r\n if (transferFormats.indexOf(requestedTransferFormat) >= 0) {\r\n if ((transport === HttpTransportType.WebSockets && !this.options.WebSocket) ||\r\n (transport === HttpTransportType.ServerSentEvents && !this.options.EventSource)) {\r\n this.logger.log(LogLevel.Debug, \"Skipping transport '\" + HttpTransportType[transport] + \"' because it is not supported in your environment.'\");\r\n }\r\n else {\r\n this.logger.log(LogLevel.Debug, \"Selecting transport '\" + HttpTransportType[transport] + \"'.\");\r\n return transport;\r\n }\r\n }\r\n else {\r\n this.logger.log(LogLevel.Debug, \"Skipping transport '\" + HttpTransportType[transport] + \"' because it does not support the requested transfer format '\" + TransferFormat[requestedTransferFormat] + \"'.\");\r\n }\r\n }\r\n else {\r\n this.logger.log(LogLevel.Debug, \"Skipping transport '\" + HttpTransportType[transport] + \"' because it was disabled by the client.\");\r\n }\r\n }\r\n return null;\r\n };\r\n HttpConnection.prototype.isITransport = function (transport) {\r\n return transport && typeof (transport) === \"object\" && \"connect\" in transport;\r\n };\r\n HttpConnection.prototype.changeState = function (from, to) {\r\n if (this.connectionState === from) {\r\n this.connectionState = to;\r\n return true;\r\n }\r\n return false;\r\n };\r\n HttpConnection.prototype.stopConnection = function (error) {\r\n this.transport = undefined;\r\n // If we have a stopError, it takes precedence over the error from the transport\r\n error = this.stopError || error;\r\n if (error) {\r\n this.logger.log(LogLevel.Error, \"Connection disconnected with error '\" + error + \"'.\");\r\n }\r\n else {\r\n this.logger.log(LogLevel.Information, \"Connection disconnected.\");\r\n }\r\n this.connectionState = 2 /* Disconnected */;\r\n if (this.onclose) {\r\n this.onclose(error);\r\n }\r\n };\r\n HttpConnection.prototype.resolveUrl = function (url) {\r\n // startsWith is not supported in IE\r\n if (url.lastIndexOf(\"https://\", 0) === 0 || url.lastIndexOf(\"http://\", 0) === 0) {\r\n return url;\r\n }\r\n if (typeof window === \"undefined\" || !window || !window.document) {\r\n throw new Error(\"Cannot resolve '\" + url + \"'.\");\r\n }\r\n // Setting the url to the href propery of an anchor tag handles normalization\r\n // for us. There are 3 main cases.\r\n // 1. Relative path normalization e.g \"b\" -> \"http://localhost:5000/a/b\"\r\n // 2. Absolute path normalization e.g \"/a/b\" -> \"http://localhost:5000/a/b\"\r\n // 3. Networkpath reference normalization e.g \"//localhost:5000/a/b\" -> \"http://localhost:5000/a/b\"\r\n var aTag = window.document.createElement(\"a\");\r\n aTag.href = url;\r\n this.logger.log(LogLevel.Information, \"Normalizing '\" + url + \"' to '\" + aTag.href + \"'.\");\r\n return aTag.href;\r\n };\r\n HttpConnection.prototype.resolveNegotiateUrl = function (url) {\r\n var index = url.indexOf(\"?\");\r\n var negotiateUrl = url.substring(0, index === -1 ? url.length : index);\r\n if (negotiateUrl[negotiateUrl.length - 1] !== \"/\") {\r\n negotiateUrl += \"/\";\r\n }\r\n negotiateUrl += \"negotiate\";\r\n negotiateUrl += index === -1 ? \"\" : url.substring(index);\r\n return negotiateUrl;\r\n };\r\n return HttpConnection;\r\n}());\r\nexport { HttpConnection };\r\nfunction transportMatches(requestedTransport, actualTransport) {\r\n return !requestedTransport || ((actualTransport & requestedTransport) !== 0);\r\n}\r\n//# sourceMappingURL=HttpConnection.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nimport { MessageType } from \"./IHubProtocol\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\nimport { NullLogger } from \"./Loggers\";\r\nimport { TextMessageFormat } from \"./TextMessageFormat\";\r\nvar JSON_HUB_PROTOCOL_NAME = \"json\";\r\n/** Implements the JSON Hub Protocol. */\r\nvar JsonHubProtocol = /** @class */ (function () {\r\n function JsonHubProtocol() {\r\n /** @inheritDoc */\r\n this.name = JSON_HUB_PROTOCOL_NAME;\r\n /** @inheritDoc */\r\n this.version = 1;\r\n /** @inheritDoc */\r\n this.transferFormat = TransferFormat.Text;\r\n }\r\n /** Creates an array of {@link @aspnet/signalr.HubMessage} objects from the specified serialized representation.\r\n *\r\n * @param {string} input A string containing the serialized representation.\r\n * @param {ILogger} logger A logger that will be used to log messages that occur during parsing.\r\n */\r\n JsonHubProtocol.prototype.parseMessages = function (input, logger) {\r\n // The interface does allow \"ArrayBuffer\" to be passed in, but this implementation does not. So let's throw a useful error.\r\n if (typeof input !== \"string\") {\r\n throw new Error(\"Invalid input for JSON hub protocol. Expected a string.\");\r\n }\r\n if (!input) {\r\n return [];\r\n }\r\n if (logger === null) {\r\n logger = NullLogger.instance;\r\n }\r\n // Parse the messages\r\n var messages = TextMessageFormat.parse(input);\r\n var hubMessages = [];\r\n for (var _i = 0, messages_1 = messages; _i < messages_1.length; _i++) {\r\n var message = messages_1[_i];\r\n var parsedMessage = JSON.parse(message);\r\n if (typeof parsedMessage.type !== \"number\") {\r\n throw new Error(\"Invalid payload.\");\r\n }\r\n switch (parsedMessage.type) {\r\n case MessageType.Invocation:\r\n this.isInvocationMessage(parsedMessage);\r\n break;\r\n case MessageType.StreamItem:\r\n this.isStreamItemMessage(parsedMessage);\r\n break;\r\n case MessageType.Completion:\r\n this.isCompletionMessage(parsedMessage);\r\n break;\r\n case MessageType.Ping:\r\n // Single value, no need to validate\r\n break;\r\n case MessageType.Close:\r\n // All optional values, no need to validate\r\n break;\r\n default:\r\n // Future protocol changes can add message types, old clients can ignore them\r\n logger.log(LogLevel.Information, \"Unknown message type '\" + parsedMessage.type + \"' ignored.\");\r\n continue;\r\n }\r\n hubMessages.push(parsedMessage);\r\n }\r\n return hubMessages;\r\n };\r\n /** Writes the specified {@link @aspnet/signalr.HubMessage} to a string and returns it.\r\n *\r\n * @param {HubMessage} message The message to write.\r\n * @returns {string} A string containing the serialized representation of the message.\r\n */\r\n JsonHubProtocol.prototype.writeMessage = function (message) {\r\n return TextMessageFormat.write(JSON.stringify(message));\r\n };\r\n JsonHubProtocol.prototype.isInvocationMessage = function (message) {\r\n this.assertNotEmptyString(message.target, \"Invalid payload for Invocation message.\");\r\n if (message.invocationId !== undefined) {\r\n this.assertNotEmptyString(message.invocationId, \"Invalid payload for Invocation message.\");\r\n }\r\n };\r\n JsonHubProtocol.prototype.isStreamItemMessage = function (message) {\r\n this.assertNotEmptyString(message.invocationId, \"Invalid payload for StreamItem message.\");\r\n if (message.item === undefined) {\r\n throw new Error(\"Invalid payload for StreamItem message.\");\r\n }\r\n };\r\n JsonHubProtocol.prototype.isCompletionMessage = function (message) {\r\n if (message.result && message.error) {\r\n throw new Error(\"Invalid payload for Completion message.\");\r\n }\r\n if (!message.result && message.error) {\r\n this.assertNotEmptyString(message.error, \"Invalid payload for Completion message.\");\r\n }\r\n this.assertNotEmptyString(message.invocationId, \"Invalid payload for Completion message.\");\r\n };\r\n JsonHubProtocol.prototype.assertNotEmptyString = function (value, errorMessage) {\r\n if (typeof value !== \"string\" || value === \"\") {\r\n throw new Error(errorMessage);\r\n }\r\n };\r\n return JsonHubProtocol;\r\n}());\r\nexport { JsonHubProtocol };\r\n//# sourceMappingURL=JsonHubProtocol.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nimport { HttpConnection } from \"./HttpConnection\";\r\nimport { HubConnection } from \"./HubConnection\";\r\nimport { JsonHubProtocol } from \"./JsonHubProtocol\";\r\nimport { NullLogger } from \"./Loggers\";\r\nimport { Arg, ConsoleLogger } from \"./Utils\";\r\n/** A builder for configuring {@link @aspnet/signalr.HubConnection} instances. */\r\nvar HubConnectionBuilder = /** @class */ (function () {\r\n function HubConnectionBuilder() {\r\n }\r\n HubConnectionBuilder.prototype.configureLogging = function (logging) {\r\n Arg.isRequired(logging, \"logging\");\r\n if (isLogger(logging)) {\r\n this.logger = logging;\r\n }\r\n else {\r\n this.logger = new ConsoleLogger(logging);\r\n }\r\n return this;\r\n };\r\n HubConnectionBuilder.prototype.withUrl = function (url, transportTypeOrOptions) {\r\n Arg.isRequired(url, \"url\");\r\n this.url = url;\r\n // Flow-typing knows where it's at. Since HttpTransportType is a number and IHttpConnectionOptions is guaranteed\r\n // to be an object, we know (as does TypeScript) this comparison is all we need to figure out which overload was called.\r\n if (typeof transportTypeOrOptions === \"object\") {\r\n this.httpConnectionOptions = transportTypeOrOptions;\r\n }\r\n else {\r\n this.httpConnectionOptions = {\r\n transport: transportTypeOrOptions,\r\n };\r\n }\r\n return this;\r\n };\r\n /** Configures the {@link @aspnet/signalr.HubConnection} to use the specified Hub Protocol.\r\n *\r\n * @param {IHubProtocol} protocol The {@link @aspnet/signalr.IHubProtocol} implementation to use.\r\n */\r\n HubConnectionBuilder.prototype.withHubProtocol = function (protocol) {\r\n Arg.isRequired(protocol, \"protocol\");\r\n this.protocol = protocol;\r\n return this;\r\n };\r\n /** Creates a {@link @aspnet/signalr.HubConnection} from the configuration options specified in this builder.\r\n *\r\n * @returns {HubConnection} The configured {@link @aspnet/signalr.HubConnection}.\r\n */\r\n HubConnectionBuilder.prototype.build = function () {\r\n // If httpConnectionOptions has a logger, use it. Otherwise, override it with the one\r\n // provided to configureLogger\r\n var httpConnectionOptions = this.httpConnectionOptions || {};\r\n // If it's 'null', the user **explicitly** asked for null, don't mess with it.\r\n if (httpConnectionOptions.logger === undefined) {\r\n // If our logger is undefined or null, that's OK, the HttpConnection constructor will handle it.\r\n httpConnectionOptions.logger = this.logger;\r\n }\r\n // Now create the connection\r\n if (!this.url) {\r\n throw new Error(\"The 'HubConnectionBuilder.withUrl' method must be called before building the connection.\");\r\n }\r\n var connection = new HttpConnection(this.url, httpConnectionOptions);\r\n return HubConnection.create(connection, this.logger || NullLogger.instance, this.protocol || new JsonHubProtocol());\r\n };\r\n return HubConnectionBuilder;\r\n}());\r\nexport { HubConnectionBuilder };\r\nfunction isLogger(logger) {\r\n return logger.log !== undefined;\r\n}\r\n//# sourceMappingURL=HubConnectionBuilder.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n// Version token that will be replaced by the prepack command\r\n/** The version of the SignalR client. */\r\nexport var VERSION = \"1.1.4\";\r\nexport { AbortError, HttpError, TimeoutError } from \"./Errors\";\r\nexport { HttpClient, HttpResponse } from \"./HttpClient\";\r\nexport { DefaultHttpClient } from \"./DefaultHttpClient\";\r\nexport { HubConnection, HubConnectionState } from \"./HubConnection\";\r\nexport { HubConnectionBuilder } from \"./HubConnectionBuilder\";\r\nexport { MessageType } from \"./IHubProtocol\";\r\nexport { LogLevel } from \"./ILogger\";\r\nexport { HttpTransportType, TransferFormat } from \"./ITransport\";\r\nexport { NullLogger } from \"./Loggers\";\r\nexport { JsonHubProtocol } from \"./JsonHubProtocol\";\r\n//# sourceMappingURL=index.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"timer-wrapper\",class:{success: _vm.time > 600000, error: _vm.time <= 600000}},[_c('div',{attrs:{\"id\":'timer' + _vm._uid}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport { Vue, Component, Prop } from \"vue-property-decorator\";\r\n\r\n@Component\r\nexport default class TimerComponent extends Vue {\r\n @Prop({ required: true })\r\n target!: number;\r\n private time: number;\r\n private displayText = \"\";\r\n private interval: NodeJS.Timeout | null = null;\r\n private el!: HTMLElement;\r\n\r\n constructor() {\r\n super();\r\n this.time = Date.now();\r\n }\r\n\r\n startCounter() {\r\n this.interval = setInterval(this.calculateTime, 1000);\r\n }\r\n\r\n calculateTime() {\r\n // Find the distance between now and the count down date\r\n const distance = this.time;\r\n\r\n // Time calculations for days, hours, minutes and seconds\r\n const days = Math.floor(distance / (1000 * 60 * 60 * 24));\r\n const hours = Math.floor(\r\n (distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)\r\n );\r\n const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\r\n const seconds = Math.floor((distance % (1000 * 60)) / 1000);\r\n\r\n // Output the result in an element\r\n this.displayText =\r\n days + \"д \" + hours + \"ч \" + minutes + \"м \" + seconds + \"с \";\r\n\r\n // If the count down is over, write some text\r\n if (distance < 0) {\r\n clearInterval(this.interval!);\r\n this.displayText = \"EXPIRED\";\r\n }\r\n\r\n //The vanilla js is mutch faster than vue js\r\n this.el.innerHTML = this.displayText;\r\n this.time -= 1000;\r\n }\r\n\r\n mounted() {\r\n this.time = this.target;\r\n const htmlEl = document.getElementById(`timer${this._uid}`);\r\n\r\n if (htmlEl) {\r\n this.el = htmlEl;\r\n }\r\n\r\n \r\n this.startCounter();\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./timer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./timer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./timer.vue?vue&type=template&id=38634ab6&\"\nimport script from \"./timer.vue?vue&type=script&lang=ts&\"\nexport * from \"./timer.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./timer.vue?vue&type=style&index=0&lang=scss&\"\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 null,\n null\n \n)\n\nexport default component.exports","\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\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\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\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\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\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\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\n\n\n\n\n\n\n\n\n\nimport { Vue, Component, Watch } from \"vue-property-decorator\";\nimport { HubConnection, HubConnectionBuilder, LogLevel } from \"@aspnet/signalr\";\nimport {\n\tAuction,\n\tAuctionOngoingInfoModel,\n\tBidResultModel,\n} from \"@/models/autction.models\";\nimport Person from \"@/models/person\";\nimport http from \"@/services/http.service\";\nimport PropertiesList from \"@/components/properties/propertiesShortDisplayList.vue\";\nimport Timer from \"@/components/timers/timer.vue\";\nimport { PropertyType } from \"@/models/enums\";\n\n@Component({\n\tcomponents: {\n\t\tPropertiesList,\n\t\tTimer,\n\t},\n\tcomputed: {\n\t\tpropertyType: () => PropertyType,\n\t},\n})\nexport default class AuctionView extends Vue {\n\tprivate auctionId?: number;\n\tauction: Auction | null = null;\n\tconnection: HubConnection;\n\tcurrentWinnerId = \"\";\n\tisWinnerCoOwner = false;\n\tconnected = false;\n\tisLoading = true;\n\tlastBid = 0;\n\tshowTimer = true;\n\tlogs: Array = [];\n\tisCoOwner = false;\n\n\tget minBid() {\n\t\tif (this.auction!.currentPrice) {\n\t\t\treturn parseFloat((this.auction!.currentPrice + this.auction!.bidStep).toFixed(2));\n\t\t} else {\n\t\t\treturn parseFloat((this.auction!.startPrice).toFixed(2));\n\t\t}\n\t}\n\n\tget myBid() {\n\t\tif (this.auction!.currentPrice) {\n\t\t\treturn parseFloat((this.auction!.currentPrice + this.auction!.bidStep).toFixed(2));\n\t\t} else {\n\t\t\treturn parseFloat((this.auction!.startPrice).toFixed(2));\n\t\t}\n\t}\n\n\tget bidBtnActive() {\n\t\treturn this.currentWinnerId != this.currentUserId;\n\t}\n\n\tget hubUrl() {\n\t\treturn this.$store.getters.baseUrl + \"/auctions/hub\";\n\t}\n\n\tget currentUserId() {\n\t\treturn this.$store.getters[\"user/getUserId\"];\n\t}\n\n\tget localItems() {\n\t\tconst res = this.auction!.announcement.items.map((x: any) => ({\n\t\t\t...x,\n\t\t\tid: x.nrzId,\n\t\t}));\n\t\treturn res;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.connection = new HubConnectionBuilder()\n\t\t\t.withUrl(this.hubUrl, {\n\t\t\t\taccessTokenFactory: () =>\n\t\t\t\t\tthis.$store.getters[\"user/getAuthToken\"],\n\t\t\t})\n\t\t\t.configureLogging(LogLevel.Information)\n\t\t\t.build();\n\n\t\tthis.connection.onclose((err: Error | undefined) => {\n\t\t\tthis.log(\"Connection closed ....\");\n\t\t\tconsole.error(err);\n\t\t\tthis.connected = false;\n\t\t\tthis.log(\"Reconnectiong ...\");\n\t\t\tthis.connect();\n\t\t});\n\n\t\tthis.connection.on(\"HighestBid\", this.onHighestBidChange);\n\t\tthis.connection.on(\"InvalidBid\", this.onInvalidBid);\n\t\tthis.connection.on(\"TimeExtend\", this.onTimeExtend);\n\t\tthis.connection.on(\"InvalidAuction\", this.onInvalidAuction);\n\t\tthis.connection.on(\"AuctionEnd\", this.onAuctionEnd);\n\t\tthis.connection.on(\"AddedToGroup\", this.onAddedToGroup);\n\t}\n\n\t@Watch(\"auction.timeSpan\", { immediate: true })\n\tonTimeSpanChange(newVal: number) {\n\t\tif (this.auction) {\n\t\t\tthis.auction!.timeSpan = newVal;\n\t\t}\n\t}\n\n\t@Watch(\"auction.completed\", { immediate: true })\n\tonCompletedChange(newVal: boolean) {\n\t\tif (this.auction) {\n\t\t\tthis.auction.completed = newVal;\n\t\t}\n\t}\n\n\tlog(text: string) {\n\t\tthis.logs.push({\n\t\t\tdate: new Date(),\n\t\t\ttext,\n\t\t});\n\t}\n\n\tconnect() {\n\t\tif (this.auction != null) {\n\t\t\tthis.log(\"starting connection...\");\n\t\t\tthis.connection\n\t\t\t\t.start()\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.log(\"connected...\");\n\t\t\t\t\tthis.connected = true;\n\t\t\t\t\tthis.connection.invoke(\"AddToGroup\", this.auction?.id);\n\t\t\t\t})\n\t\t\t\t.catch((err: any) => {\n\t\t\t\t\tthis.log(`[ERROR] Failed to connect with hub. ${err}`);\n\t\t\t\t});\n\t\t}\n\t}\n\n\tget endTime() {\n\t\treturn this.$moment(this.auction!.endDate).format(\"DD.MM.YYYY HH:mm\");\n\t}\n\n\tloadAuctionData(id: string) {\n\t\thttp.get(\n\t\t\tthis.$store.getters.baseUrl + \"/api/auctions/\" + id,\n\t\t\tAuction,\n\t\t\ttrue\n\t\t)\n\t\t\t.then((data: Auction) => {\n\t\t\t\tthis.auction = data;\n\t\t\t\tthis.connect();\n\t\t\t})\n\t\t\t.catch((err) => console.log(err))\n\t\t\t.then(() => {\n\t\t\t\tthis.isLoading = false;\n\t\t\t});\n\t}\n\n\tmakeBid() {\n\t\tthis.connection\n\t\t\t.send(\"Bid\", this.auction!.id, this.myBid, new Date())\n\t\t\t.then(() => this.log(\"Send bid...\"));\n\t\tthis.lastBid = this.myBid;\n\t}\n\n\tmatchCurrentBid() {\n\t\tthis.connection\n\t\t\t.send(\n\t\t\t\t\"Bid\",\n\t\t\t\tthis.auction!.id,\n\t\t\t\tthis.auction!.currentPrice,\n\t\t\t\tnew Date()\n\t\t\t)\n\t\t\t.then(() => this.log(\"Send bid as co-owner...\"));\n\t\tthis.lastBid = this.myBid;\n\t}\n\n\tonHighestBidChange(model: BidResultModel) {\n\t\tthis.auction!.currentPrice = model.bid;\n\t\tthis.currentWinnerId = model.bidderId;\n\t\tthis.isWinnerCoOwner = model.isCoOwner;\n\t\tthis.log(`New highest bid ${model.bid} received ...`);\n\t}\n\n\tonInvalidBid(msg: string) {\n\t\tthis.log(\"Invalid bid: \" + msg);\n\t}\n\n\tonTimeExtend(date: Date) {\n\t\tthis.auction!.endDate = date;\n\t\tthis.log(\n\t\t\t\"Time extended to: \" + this.$moment(date).format(\"DD.MM.YYYY HH:mm\")\n\t\t);\n\t\tthis.showTimer = false;\n\t\thttp.get(`api/auctions/getTimeStamp/${this.auction!.id}`)\n\t\t\t.then((result) => {\n\t\t\t\tif (result?.data) {\n\t\t\t\t\tthis.auction!.timeSpan = result.data;\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tconsole.log(err);\n\t\t\t})\n\t\t\t.then(() => (this.showTimer = true));\n\t}\n\n\tonInvalidAuction() {\n\t\tconsole.log(\"Invalid auction\");\n\t\tthis.log(\n\t\t\t\"Not allowed to participate in auction ID=\" + this.auction!.id\n\t\t);\n\t}\n\n\tonAuctionEnd(data: any) {\n\t\tif (data.auctionId == this.auction!.id) {\n\t\t\tconsole.log(\"over\");\n\t\t\tthis.auction!.completed = true;\n\t\t\tthis.auction!.winner = new Person();\n\t\t\tthis.auction!.winner.userId = data.winnerId;\n\t\t\tthis.auction!.endPrice = data.maxPrice;\n\t\t}\n\t}\n\n\tonAddedToGroup(data: AuctionOngoingInfoModel) {\n\t\tthis.isCoOwner = data.isCurrentUserCoOwner;\n\n\t\tif (data.bidderId) {\n\t\t\tthis.auction!.currentPrice = data.bid;\n\t\t\tthis.currentWinnerId = data.bidderId;\n\t\t\tthis.isWinnerCoOwner = data.isCoOwner;\n\t\t}\n\t}\n\n\tmounted() {\n\t\tconst { id } = this.$route.params;\n\n\t\tif (id != undefined) {\n\t\t\tthis.loadAuctionData(id);\n\t\t} else {\n\t\t\tthis.$router.back();\n\t\t}\n\t}\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./auction.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./auction.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./auction.vue?vue&type=template&id=1afce66c&\"\nimport script from \"./auction.vue?vue&type=script&lang=ts&\"\nexport * from \"./auction.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./auction.vue?vue&type=style&index=0&lang=scss&\"\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 null,\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 { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } 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 { VOverlay } from 'vuetify/lib/components/VOverlay';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VBtn,VCard,VCardText,VCardTitle,VCol,VOverlay,VProgressCircular,VRow})\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"propertiesList\"},[_c('div',[(_vm.localItems && _vm.localItems.length > 0)?_c('v-data-table',{staticClass:\"table-striped elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.localItems,\"single-select\":_vm.singleSelect,\"item-key\":\"id\",\"show-select\":_vm.selectable},scopedSlots:_vm._u([{key:\"item.id\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{class:_vm.itemClass},[_vm._v(_vm._s(item.id))])]}},{key:\"item.title\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{class:_vm.itemClass},[_vm._v(_vm._s(item.title))])]}},{key:\"item.description\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{class:_vm.itemClass,domProps:{\"innerHTML\":_vm._s(item.description)}})]}},{key:\"footer.prepend\",fn:function(){return [(!_vm.$vuetify.breakpoint.xs)?_c('v-btn',{style:(_vm.$vuetify.breakpoint.mobile ? { 'margin-left': '25%' } : { 'margin-left': '50%' }),attrs:{\"small\":\"\",\"color\":\"light\",\"outlined\":\"\"},on:{\"click\":function($event){_vm.expanded = !_vm.expanded}}},[_vm._v(\" \"+_vm._s(_vm.expanded ? _vm.$t(\"auctions.announcements.display.tipLess\") : _vm.$t(\"auctions.announcements.display.tipMore\"))+\" \")]):_vm._e()]},proxy:true}],null,true),model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}}):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\r\n// @ is an alias to /src\r\nimport { Component, Vue, Prop, Watch } from \"vue-property-decorator\";\r\n\r\n@Component\r\nexport default class PropertiesList extends Vue {\r\n @Prop({ required: false }) propertyType!: string;\r\n @Prop({ required: true }) items: any;\r\n @Prop({ default: true }) singleSelect!: boolean;\r\n @Prop({ default: true }) selectable!: boolean;\r\n private selected: any[] = [];\r\n expanded = false;\r\n\r\n get localItems() {\r\n return this.items;\r\n }\r\n \r\n get itemClass(){\r\n return this.$vuetify.breakpoint.xs ? \"v-data-table__mobile-row__header description-custom\" : this.expanded ? \"description-expanded\" : \"description-slot\";\r\n }\r\n\r\n get headers() {\r\n return [\r\n {\r\n text: this.$t(\"propertiesList.type\"),\r\n align: \"start\",\r\n sortable: false,\r\n value: \"propertyTypeName\",\r\n },\r\n {\r\n text: this.$t(\"propertiesList.otherProperties.id\"),\r\n align: \"start\",\r\n sortable: false,\r\n value: \"id\",\r\n },\r\n {\r\n text: this.$t(\"propertiesList.otherProperties.identifier\"),\r\n align: \"start\",\r\n sortable: false,\r\n value: \"title\",\r\n },\r\n {\r\n text: this.$t(\"propertiesList.otherProperties.description\"),\r\n align: \"start\",\r\n sortable: false,\r\n value: \"description\",\r\n },\r\n ];\r\n }\r\n\r\n @Watch(\"items\")\r\n itemsChanged() {\r\n if (this.selected && this.selected.length > 0) this.selected = [];\r\n }\r\n\r\n @Watch(\"selected\")\r\n selectedChanged() {\r\n this.$emit(\"selected-property-changed\", this.selected);\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./propertiesShortDisplayList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./propertiesShortDisplayList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./propertiesShortDisplayList.vue?vue&type=template&id=ccaac5ee&scoped=true&\"\nimport script from \"./propertiesShortDisplayList.vue?vue&type=script&lang=ts&\"\nexport * from \"./propertiesShortDisplayList.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./propertiesShortDisplayList.vue?vue&type=style&index=0&id=ccaac5ee&lang=scss&scoped=true&\"\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 \"ccaac5ee\",\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 { VDataTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VBtn,VDataTable})\n","import BlobModel from './blob';\r\n/* eslint-disable */\r\nimport Company from './company';\r\nimport FileModel from './file';\r\nimport Person from './person';\r\n\r\nexport class Auction {\r\n constructor(obj: any = {}) {\r\n this.id = obj.id;\r\n this.announcement = new AuctionAnnouncement(obj.announcement);\r\n this.winner = obj.winner ? new Person(obj.winner) : undefined;\r\n this.bids = obj.bids;\r\n this.endDate = obj.endDate;\r\n this.startDate = obj.startDate;\r\n this.bidStep = obj.bidStep;\r\n this.startPrice = obj.startPrice;\r\n this.currentPrice = obj.currentPrice;\r\n this.endPrice = obj.endPrice;\r\n this.completed = obj.completed;\r\n this.started = obj.started;\r\n this.canParticipate = obj.canParticipate || false;\r\n this.timeSpan = obj.timeSpan || null;\r\n this.createdByFirstName = obj.createdByFirstName;\r\n this.createdByLastName = obj.createdByLastName;\r\n }\r\n\r\n id: number;\r\n announcement: AuctionAnnouncement;\r\n winner?: Person;\r\n bids: [];\r\n endDate: Date;\r\n startDate: Date;\r\n bidStep: number;\r\n startPrice: number;\r\n currentPrice: number;\r\n endPrice: number;\r\n completed: boolean;\r\n started: boolean;\r\n canParticipate: boolean;\r\n timeSpan: number | null;\r\n createdByFirstName: string\r\n createdByLastName: string\r\n}\r\n\r\nexport class AuctionAnnouncement {\r\n constructor(obj: any = {}) {\r\n this.id = obj.id || null;\r\n this.code = obj.code || '';\r\n this.title = obj.title;\r\n this.order = obj.order;\r\n this.orderName = obj.orderName;\r\n this.propertyType = obj.propertyType;\r\n this.propertyTypeName = obj.propertyTypeName;\r\n this.caseNumber = obj.caseNumber;\r\n this.startPrice = obj.startPrice;\r\n this.bidStep = obj.bidStep;\r\n this.registerStartDate = obj.registerStartDate ? new Date(obj.registerStartDate) : null;\r\n this.registerEndDate = obj.registerEndDate ? new Date(obj.registerEndDate) : null;\r\n this.auctionStartDate = obj.auctionStartDate ? new Date(obj.auctionStartDate) : null;\r\n this.auctionEndDate = obj.auctionEndDate ? new Date(obj.auctionEndDate) : null;\r\n this.items = obj.items || [];\r\n this.description = obj.description || '';\r\n this.attachments = [];\r\n this.documents = [];\r\n this.scannedAttachments = [];\r\n this.createdBy = obj.createdBy || '';\r\n this.cancelled = obj.cancelled || false;\r\n this.cancelledOn = obj.cancelledOn ? new Date(obj.cancelledOn) : null;\r\n this.cancelledBy = obj.cancelledBy;\r\n this.createdByFirstName = obj.createdByFirstName;\r\n this.createdByLastName = obj.createdByLastName;\r\n this.createdByRoleName = obj.createdByRoleName;\r\n this.createdByUserType = obj.createdByUserType;\r\n this.createdByCHSIName = obj.createdByCHSIName;\r\n this.createdByCHSINumber = obj.createdByCHSINumber;\r\n // if (obj.documents && obj.documents.length) {\r\n // obj.documents.forEach((element: any) => {\r\n // const item = new BlobModel(element);\r\n\r\n // this.documents.push(item);\r\n // });\r\n // }\r\n\r\n if (obj.attachments && obj.attachments.length) {\r\n obj.attachments.forEach((element: any) => {\r\n const item = new FileModel({ id: element.id, file: element, blob: element.blob });\r\n\r\n this.attachments.push(item);\r\n });\r\n }\r\n }\r\n\r\n id: number | null;\r\n code: string;\r\n title: string;\r\n order: string;\r\n orderName: string;\r\n propertyType: string;\r\n propertyTypeName: string;\r\n caseNumber: string;\r\n startPrice: number;\r\n bidStep: number;\r\n registerStartDate: Date | null;\r\n registerEndDate: Date | null;\r\n auctionStartDate: Date | null;\r\n auctionEndDate: Date | null;\r\n description: string;\r\n items: object[];\r\n attachments: FileModel[];\r\n documents: BlobModel[];\r\n scannedAttachments: string[];\r\n createdBy: string;\r\n cancelled: boolean;\r\n cancelledBy: string;\r\n cancelledOn: Date | null;\r\n createdByFirstName: string;\r\n createdByLastName: string;\r\n createdByRoleName: string;\r\n createdByUserType: string;\r\n createdByCHSIName: string;\r\n createdByCHSINumber: string;\r\n}\r\n\r\nexport class AuctionItem {\r\n id: number | null = null;\r\n nrzId: number | null = null;\r\n propertyType = '';\r\n title = '';\r\n description = '';\r\n isManuallyAdded = false;\r\n objectType = '';\r\n identifier = '';\r\n}\r\n\r\nexport class Registration {\r\n constructor(obj: any = {}) {\r\n this.id = obj.id;\r\n this.uniqueNumber = obj.uniqueNumber;\r\n this.participantId = obj.participantId;\r\n this.participant = obj.participant || new Person();\r\n this.announcementId = obj.announcementId;\r\n this.announcementCreatedBy = obj.announcementCreatedBy;\r\n this.isApproved = obj.isApproved;\r\n this.processedOn = obj.processedOn;\r\n this.processedBy = obj.processedBy;\r\n this.representationType = obj.representationType;\r\n this.representationTypeName = obj.representationTypeName;\r\n this.isOwner = obj.isOwner || false;\r\n this.isOwnerSpouse = obj.isOwnerSpouse || false;\r\n this.appliedByCourtEnforcer = obj.appliedByCourtEnforcer || false;\r\n this.createdOn = obj.createdOn;\r\n this.createdBy = obj.createdBy;\r\n this.representedUserId = obj.representedUserId;\r\n this.representedPersonId = obj.representedPersonId;\r\n this.representedPerson = obj.representedPerson;\r\n this.representedCompanyId = obj.representedCompanyId;\r\n this.representedCompany = obj.representedCompany;\r\n this.resultDeliveryType = obj.resultDeliveryType;\r\n this.resultDeliveryTypeName = obj.resultDeliveryTypeName;\r\n this.deletedOn = obj.deletedOn;\r\n this.deletedBy = obj.deletedBy;\r\n this.deleted = obj.deleted;\r\n this.rejectReason = obj.rejectReason;\r\n this.attachments = [];\r\n this.documents = [];\r\n this.scannedAttachments = [];\r\n this.IBAN = obj.iban;\r\n this.bankName = obj.bankName;\r\n this.bankAccountOwner = obj.bankAccountOwner;\r\n\r\n if (obj.documents && obj.documents.length) {\r\n obj.documents.forEach((element: any) => {\r\n const item = new BlobModel(element);\r\n\r\n this.documents.push(item);\r\n });\r\n }\r\n\r\n if (obj.attachments && obj.attachments.length) {\r\n obj.attachments.forEach((element: any) => {\r\n const item = new FileModel({ id: element.id, file: element });\r\n\r\n this.attachments.push(item);\r\n });\r\n }\r\n }\r\n\r\n id: number;\r\n uniqueNumber: string;\r\n participantId: string;\r\n participant: Person;\r\n announcementId: number;\r\n announcementCreatedBy: string;\r\n isApproved: boolean | null;\r\n processedOn: Date | null;\r\n processedBy: string;\r\n representationType: string;\r\n representationTypeName: string;\r\n isOwner: boolean;\r\n isOwnerSpouse: boolean;\r\n appliedByCourtEnforcer: boolean;\r\n createdOn: Date | null;\r\n createdBy: string;\r\n representedUserId: string;\r\n representedPersonId: number | null;\r\n representedPerson: Person | null;\r\n representedCompanyId: number | null;\r\n representedCompany: Company | null;\r\n resultDeliveryType: string;\r\n resultDeliveryTypeName: string;\r\n deletedOn: Date | null;\r\n deletedBy: string;\r\n deleted: boolean;\r\n rejectReason: string;\r\n attachments: FileModel[];\r\n documents: BlobModel[];\r\n scannedAttachments: string[];\r\n IBAN: string;\r\n bankName: string;\r\n bankAccountOwner: string;\r\n}\r\n\r\nexport class AuctionResultModel {\r\n constructor(obj: any = {}) {\r\n this.auctionTimeExnetionsCount = obj.auctionTimeExnetionsCount;\r\n this.organizer = obj.organizer;\r\n this.caseNumber = obj.caseNumber;\r\n this.registerStartDate = obj.registerStartDate;\r\n this.registerEndDate = obj.registerEndDate;\r\n this.auctionStartDate = obj.auctionStartDate;\r\n this.auctionEndDate = obj.auctionEndDate;\r\n this.registrations = obj.registrations;\r\n this.bidders = obj.bidders;\r\n this.bids = obj.bids;\r\n this.ranking = obj.ranking;\r\n this.items = obj.items;\r\n }\r\n\r\n auctionTimeExnetionsCount: number;\r\n organizer: string;\r\n caseNumber: string;\r\n registerStartDate: Date;\r\n registerEndDate: Date;\r\n auctionStartDate: Date;\r\n auctionEndDate: Date;\r\n registrations: [];\r\n bidders: [];\r\n bids: [];\r\n ranking: [];\r\n items: [];\r\n}\r\n\r\nexport class AuctionOngoingInfoModel implements BidResultModel {\r\n constructor(obj: any = {}) {\r\n this.bid = obj.bid || 0;\r\n this.bidderId = obj.bidderId;\r\n this.isCurrentUserCoOwner = obj.isCurrentUserCoOwner || false;\r\n this.isCoOwner = obj.isCoOwner || false;\r\n }\r\n\r\n bid: number;\r\n bidderId: string;\r\n isCurrentUserCoOwner: boolean;\r\n isCoOwner: boolean;\r\n valid = true;\r\n}\r\n\r\nexport interface BidResultModel {\r\n bid: number;\r\n bidderId: string\r\n isCoOwner: boolean;\r\n valid: boolean;\r\n}\r\n\r\nexport class AuctionOrganizerDetails {\r\n constructor( obj: any = {}){\r\n this.createdByFirstName = obj.createdByFirstName || '';\r\n this.createdByLastName = obj.createdByLastName || '';\r\n this.createdByRoleName = obj.createdByRoleName || '';\r\n this.createdByUserType = obj.createdByUserType || '';\r\n this.createdByCHSIName = obj.createdByCHSIName || '';\r\n this.createdByCHSINumber = obj.createdByCHSINumber || '';\r\n }\r\n\r\n createdByFirstName: string;\r\n createdByLastName: string;\r\n createdByRoleName: string;\r\n createdByUserType: string;\r\n createdByCHSIName: string;\r\n createdByCHSINumber: string;\r\n}"],"sourceRoot":""}