{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/libs/ggo/sgfparser.js","webpack:///./src/libs/ggo/basicplayer.js","webpack:///./src/App.vue?c90f","webpack:///./src/libs/ggo/player.trymove.js","webpack:///./src/assets/pdf/logo.jpg","webpack:///./src/components/board.vue?83c0","webpack:///./src/App.vue","webpack:///./src/App.vue?dfb6","webpack:///./src/components/footer.vue","webpack:///./src/components/footer.vue?d150","webpack:///./src/components/board.vue","webpack:///./src/components/board.vue?9d16","webpack:///./src/main.js","webpack:///./src/components/footer.vue?dc12","webpack:///./src/components/report_logo.vue?fdc2","webpack:///./src/libs/ggo/player.js","webpack:///./src/libs/ggo/wgo.js","webpack:///./src/libs/ggo/score.js","webpack:///./src/router/index.js","webpack:///./src/components/report_logo.vue?7b76","webpack:///./src/libs/ggo/player.editable.js","webpack:///./src/libs/ggo/player.maker.js","webpack:///./src/components/report_logo.vue","webpack:///./src/libs/ggo/kifu.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","WGo","SGF","to_num","str","charCodeAt","sgf_player_info","black","kifu","node","ident","info","properties","size","move","pass","B","W","x","y","addSetup","turn","comment","join","addMarkup","text","substr","parseInt","this","BL","WL","reg_seq","reg_node","reg_ident","reg_props","parse","sequence","props","vals","stack","Kifu","match","pop","nodeCount","KNode","root","propertyCount","k","exec","substring","replace","parent","pl_count","playerBlock","visible","element","className","wrapper","style","display","BPgenerateDom","dom","center","board","regions","left","right","top","bottom","getCurrentLayout","cl","config","layout","constructor","Array","bh","height","maxHeight","conditions","minWidth","width","minHeight","maxWidth","custom","appendComponents","area","components","currentLayout","BasicPlayer","component","appendTo","_detachFromPlayer","manageComponents","extendClass","Player","elem","default","innerHTML","classes","id","Board","init","addEventListener","noresize","updateDimensions","initGame","css","getComputedStyle","els","firstChild","tmp_w","tmp_h","tmp_mh","lastLayout","bw","clientWidth","offsetHeight","setHeight","setWidth","diff","paddingTop","showMessage","closeCallback","permanent","info_overlay","offsetWidth","info_message","close_info","hideMessage","setFrozen","ERROR_REPORT","url","stacktrace","layouts","dynamicLayout","i18n","en","attributes","sgf","sgfFile","eval","kifuLoaded","Function","update","frozen","unfrozen","toLowerCase","enableWheel","lockScroll","enableKeys","rememberPath","allowIllegalMoves","isNaN","markLastMove","player_from_tag","att","pl","a","_wgo_player","pl_elems","querySelectorAll","tryMove","player","marker","trySgf","state","BLACK_STONE","WHITE_STONE","edit_board_mouse_move","_lastX","_lastY","_last_mark","removeObject","kifuReader","game","isValid","addObject","edit_board_mouse_out","toSgf","curPos","path","position","bs","ws","x1","String","fromCharCode","y1","AB","AW","loadSgf","last","capCount","_bind_evn","play","_ev_move","_ev_out","editMode","_edited","next","children","endTry","goTo","removeEventListener","TryMove","render","class","title","page","__scopeId","cap_list","item","coor","is_scale","fontsize","margintop","desc","show_move","Number","Boolean","markerConfig","markerStyle","markerNum","lastMoveColor","start","mounted","initBoard","methods","self","getElementById","displayVariations","theme","gridLinesColor","stoneHandler","drawHandlers","MONO","op","tempPos","clone","temp","addStone","forEach","set","cap","index","setCoordinates","Marker","fastClick","attach","body","createApp","App","use","router","report_logo","footer","mount","FileError","loadFromUrl","callback","xmlhttp","XMLHttpRequest","onreadystatechange","readyState","status","responseText","open","send","update_board","change","temp_marks","add","notification","variationColor","markup","concat","prepare_board","setSize","removeAllObjects","setWheel","detect_scrolling","bp","_wgo_scrollable","scrollHeight","overflow","wheel_lis","delta","wheelDelta","detail","preventDefault","previous","key_lis","focusedElements","querySelector","keyCode","board_click_default","selectBranch","listeners","focus","json","loadJSON","loadSgfFromFile","ev","getPosition","dispatchEvent","loadKifu","KifuReader","fromSgf","fromJGO","file_path","game_path","_this","listener","indexOf","evt","log","help","first","getGameInfo","infoList","infoFormatters","filterHTML","setKeys","b","onkeydown","_wheel_listener","onmousewheel","coordinates","setSection","addCustomObject","removeCustomObject","removeStone","remove","_last_selected","player_terms","scripts","split","mydir","version","DIR","lang","opera","navigator","userAgent","search","webkit","msie","mozilla","loc","arguments","child","super","abstractMethod","obj","n_obj","themes","tx","section","ty","bx","by","pixelRatio","devicePixelRatio","setDimensions","old","shadowColor","shadowTransparentColor","shadowBlur","shadowSize","markupBlackColor","markupWhiteColor","markupNoneColor","markupLinesWidth","autoLineWidth","stoneRadius","lineWidth","gridLinesWidth","Math","min","starColor","starSize","stoneSize","fieldWidth","fieldHeight","coordinatesColor","font","linesShift","shell_seed","theme_variable","shadow_handler","draw","args","xr","getX","yr","getY","sr","beginPath","blur","radius","max","gradient","createRadialGradient","ls","addColorStop","fillStyle","arc","PI","fill","clear","clearRect","get_markup_color","obj_arr","is_here_stone","redraw_layer","layer","z","handler","getContext","obj_list","draw_shell_line","ctx","start_angle","end_angle","factor","thickness","strokeStyle","angle","diff_x","diff_y","cos","sin","x2","y2","atan","bx1","by1","bx2","by2","moveTo","bezierCurveTo","stroke","draw_shell","arg","from_angle","to_angle","lines","NORMAL","stone","radgrad","shadow","PAINTED","REALISTIC","whiteCount","whiteStoneGraphic","blackCount","blackStoneGraphic","randIndex","ceil","random","redraw","isOkay","img","complete","naturalWidth","idx","stoneGraphic","Image","drawImage","GLOW","SHELL","lw","REDMONO","round","textBaseline","textAlign","fillText","outside","CR","LB","grid","_nodraw","CR_BIG","SQ","rect","TR","lineTo","closePath","MA","lineCap","SL","SM","outline","alpha","globalAlpha","stoneStyle","mini","GLSQ","YKLB","color","PDFLB","draw1","ch","xright","xleft","ytop","ybottom","chArr","textFont","measureText","zh","save","restore","CanvasLayer","context","scale","weight","zIndex","removeFrom","GridLayer","tmp","strokeRect","starPoints","MultipleCanvasLayer","tmpContext","layers","elements","contexts","ShadowLayer","setTransform","default_field_clear","calcLeftMargin","calcTopMargin","calcFieldWidth","calcFieldHeight","clearField","drawField","getMousePos","offsetX","offsetY","updateDim","background","backgroundColor","backgroundImage","addLayer","getSection","section_or_top","removeLayer","changes","unshift","removeObjectsAt","evListener","handleEvent","coo","getState","objects","restoreState","5","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","Position","schema","compare","floor","Game","checkRepeat","allowRewrite","allowSuicide","repeating","allow_rewrite","allow_suicide","white","pos","do_capture","captured","check_liberties","testing","check_capturing","checkHistory","flag","stop","noplay","isOnBoard","new_pos","cap_color","pushPosition","setStone","getStone","popPosition","firstPosition","getCaptureCount","validatePosition","ratio","ScoreMode","originalPosition","UNKNOWN","BLACK_CANDIDATE","WHITE_CANDIDATE","BLACK_NEUTRAL","WHITE_NEUTRAL","NEUTRAL","saved_state","displayScore","RU","toLocaleLowerCase","trim","end","calculateKm","km","ha","colorText","abs","score","newpos","sqrt","routes","createRouter","history","createWebHashHistory","process","beforeEach","to","from","screen","query","playcb","Editable","playType","colorType","preplayMove","setPlayType","setIsDrop","setAllowIllegalMoves","_ev_click","postion","curNode","curColor","addLastNode","lastNode","getLastNode","Control","menu","control","MenuItem","togglable","click","_editable","_disabled","disabled","disable","enable","_CrNum","addCr","defConfig","branchPath","poss","_bindEvent","clearDefaultSytle","showMarker","clearMarker","num","switchMaker","curPath","comparePosition","oldNum","curNum","branchNum","tempMarknum","v","recursive_clone","JSON","stringify","getProperties","find_property","prop","res","recursive_save","gameTree","nt","recursive_save2","tnode","anode","insertAfter","sgf_escape","a_char","sgf_coordinates","sgf_write_group_desc","values","output","sgf_write_group","sgf_write_node","setup","AE","sgf_write_variantion","hasComments","jgo","pureSgf","root_props","SZ","write_node_sgf","selected","deleteLastNode","cleanSgf","PB","rank","BR","team","BT","PW","WR","WT","AP","FF","GM","CA","scoreSgf","KM","HA","noSetupsgf","getForbidden","toJGO","player_formatter","TM","time","RE","no_add","arr","no_remove","getChild","removeSetup","removeMarkup","Exception","pos_diff","old_p","new_p","allow_illegal","exec_node","set_subtract","q","concat_changes","ch_orig","ch_new","InvalidMoveError","exec_next","exec_previous","exec_first","old_pos","previousFork","letter","WHITE"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAGnBC,EAAqB,CACxB,IAAO,GAMJjB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASa,EAAe7B,GACvB,OAAOyB,EAAoBK,EAAI,qBAAuB,GAAG9B,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,YAAYA,GAAW,MAI1X,SAASyB,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAUgC,QAGnC,IAAIC,EAASL,EAAiB5B,GAAY,CACzCK,EAAGL,EACHkC,GAAG,EACHF,QAAS,IAUV,OANAlB,EAAQd,GAAUW,KAAKsB,EAAOD,QAASC,EAAQA,EAAOD,QAASN,GAG/DO,EAAOC,GAAI,EAGJD,EAAOD,QAKfN,EAAoBS,EAAI,SAAuBlC,GAC9C,IAAImC,EAAW,GAIXC,EAAY,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,GACxFR,EAAmB5B,GAAUmC,EAASvB,KAAKgB,EAAmB5B,IACzB,IAAhC4B,EAAmB5B,IAAkBoC,EAAUpC,IACtDmC,EAASvB,KAAKgB,EAAmB5B,GAAW,IAAIqC,SAAQ,SAASC,EAASC,GAIzE,IAHA,IAAIC,EAAO,sBAAwB,GAAGxC,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,YAAYA,GAAW,OAClWyC,EAAWhB,EAAoBK,EAAIU,EACnCE,EAAmBC,SAASC,qBAAqB,QAC7CxC,EAAI,EAAGA,EAAIsC,EAAiBpC,OAAQF,IAAK,CAChD,IAAIyC,EAAMH,EAAiBtC,GACvB0C,EAAWD,EAAIE,aAAa,cAAgBF,EAAIE,aAAa,QACjE,GAAe,eAAZF,EAAIG,MAAyBF,IAAaN,GAAQM,IAAaL,GAAW,OAAOH,IAErF,IAAIW,EAAoBN,SAASC,qBAAqB,SACtD,IAAQxC,EAAI,EAAGA,EAAI6C,EAAkB3C,OAAQF,IAAK,CAC7CyC,EAAMI,EAAkB7C,GACxB0C,EAAWD,EAAIE,aAAa,aAChC,GAAGD,IAAaN,GAAQM,IAAaL,EAAU,OAAOH,IAEvD,IAAIY,EAAUP,SAASQ,cAAc,QACrCD,EAAQF,IAAM,aACdE,EAAQE,KAAO,WACfF,EAAQG,OAASf,EACjBY,EAAQI,QAAU,SAASC,GAC1B,IAAIC,EAAUD,GAASA,EAAME,QAAUF,EAAME,OAAOC,KAAOjB,EACvDkB,EAAM,IAAIC,MAAM,qBAAuB5D,EAAU,cAAgBwD,EAAU,KAC/EG,EAAIE,KAAO,wBACXF,EAAIH,QAAUA,SACP5B,EAAmB5B,GAC1BkD,EAAQY,WAAWC,YAAYb,GAC/BX,EAAOoB,IAERT,EAAQV,KAAOC,EAEf,IAAIuB,EAAOrB,SAASC,qBAAqB,QAAQ,GACjDoB,EAAKC,YAAYf,MACfgB,MAAK,WACPtC,EAAmB5B,GAAW,MAMhC,IAAImE,EAAqBxD,EAAgBX,GACzC,GAA0B,IAAvBmE,EAGF,GAAGA,EACFhC,EAASvB,KAAKuD,EAAmB,QAC3B,CAEN,IAAIC,EAAU,IAAI/B,SAAQ,SAASC,EAASC,GAC3C4B,EAAqBxD,EAAgBX,GAAW,CAACsC,EAASC,MAE3DJ,EAASvB,KAAKuD,EAAmB,GAAKC,GAGtC,IACIC,EADAC,EAAS3B,SAASQ,cAAc,UAGpCmB,EAAOC,QAAU,QACjBD,EAAOE,QAAU,IACb/C,EAAoBgD,IACvBH,EAAOI,aAAa,QAASjD,EAAoBgD,IAElDH,EAAOZ,IAAM7B,EAAe7B,GAG5B,IAAI2E,EAAQ,IAAIf,MAChBS,EAAmB,SAAUd,GAE5Be,EAAOhB,QAAUgB,EAAOjB,OAAS,KACjCuB,aAAaJ,GACb,IAAIK,EAAQlE,EAAgBX,GAC5B,GAAa,IAAV6E,EAAa,CACf,GAAGA,EAAO,CACT,IAAIC,EAAYvB,IAAyB,SAAfA,EAAMH,KAAkB,UAAYG,EAAMH,MAChE2B,EAAUxB,GAASA,EAAME,QAAUF,EAAME,OAAOC,IACpDiB,EAAMK,QAAU,iBAAmBhF,EAAU,cAAgB8E,EAAY,KAAOC,EAAU,IAC1FJ,EAAMM,KAAO,iBACbN,EAAMvB,KAAO0B,EACbH,EAAMnB,QAAUuB,EAChBF,EAAM,GAAGF,GAEVhE,EAAgBX,QAAWkF,IAG7B,IAAIV,EAAUW,YAAW,WACxBd,EAAiB,CAAEjB,KAAM,UAAWK,OAAQa,MAC1C,MACHA,EAAOhB,QAAUgB,EAAOjB,OAASgB,EACjC1B,SAASqB,KAAKC,YAAYK,GAG5B,OAAOjC,QAAQ+C,IAAIjD,IAIpBV,EAAoB4D,EAAIxE,EAGxBY,EAAoB6D,EAAI3D,EAGxBF,EAAoB8D,EAAI,SAASxD,EAASkD,EAAMO,GAC3C/D,EAAoBgE,EAAE1D,EAASkD,IAClC1E,OAAOmF,eAAe3D,EAASkD,EAAM,CAAEU,YAAY,EAAMC,IAAKJ,KAKhE/D,EAAoBoE,EAAI,SAAS9D,GACX,qBAAX+D,QAA0BA,OAAOC,aAC1CxF,OAAOmF,eAAe3D,EAAS+D,OAAOC,YAAa,CAAEC,MAAO,WAE7DzF,OAAOmF,eAAe3D,EAAS,aAAc,CAAEiE,OAAO,KAQvDvE,EAAoBwE,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQvE,EAAoBuE,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAK7F,OAAO8F,OAAO,MAGvB,GAFA5E,EAAoBoE,EAAEO,GACtB7F,OAAOmF,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOvE,EAAoB8D,EAAEa,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIR3E,EAAoB+E,EAAI,SAASxE,GAChC,IAAIwD,EAASxD,GAAUA,EAAOmE,WAC7B,WAAwB,OAAOnE,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAP,EAAoB8D,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR/D,EAAoBgE,EAAI,SAASgB,EAAQC,GAAY,OAAOnG,OAAOC,UAAUC,eAAeC,KAAK+F,EAAQC,IAGzGjF,EAAoBK,EAAI,IAGxBL,EAAoBkF,GAAK,SAAShD,GAA2B,MAApBiD,QAAQjC,MAAMhB,GAAYA,GAEnE,IAAIkD,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAWjG,KAAK2F,KAAKM,GAC5CA,EAAWjG,KAAOf,EAClBgH,EAAaA,EAAWG,QACxB,IAAI,IAAI5G,EAAI,EAAGA,EAAIyG,EAAWvG,OAAQF,IAAKP,EAAqBgH,EAAWzG,IAC3E,IAAIU,EAAsBiG,EAI1B/F,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,wGCzQT,SAAU+F,EAAK/B,GAEf+B,EAAIC,IAAM,GAEV,IAAIC,EAAS,SAASC,EAAKhH,GAC1B,OAAOgH,EAAIC,WAAWjH,GAAG,IAGtBkH,EAAkB,SAASlE,EAAMmE,EAAOC,EAAMC,EAAMzB,EAAO0B,GAC9D,IAAIpC,EAAIoC,GAASH,EAAQ,QAAU,QACnCC,EAAKG,KAAKrC,GAAKkC,EAAKG,KAAKrC,IAAM,GAC/BkC,EAAKG,KAAKrC,GAAGlC,GAAQ4C,EAAM,IAIxB4B,EAAaX,EAAIC,IAAIU,WAAa,GAGtCA,EAAW,KAAOA,EAAW,KAAO,SAASJ,EAAMC,EAAMzB,EAAO0B,IAC3D1B,EAAM,IAAOwB,EAAKK,MAAQ,IAAkB,MAAZ7B,EAAM,GAAayB,EAAKK,KAAO,CAClEC,MAAM,EACNzC,EAAY,KAAToC,EAAeT,EAAIe,EAAIf,EAAIgB,GAE1BR,EAAKK,KAAO,CAChBI,EAAGf,EAAOnB,EAAM,GAAI,GACpBmC,EAAGhB,EAAOnB,EAAM,GAAI,GACpBV,EAAY,KAAToC,EAAeT,EAAIe,EAAIf,EAAIgB,IAKhCL,EAAW,MAAQA,EAAW,MAAQ,SAASJ,EAAMC,EAAMzB,EAAO0B,GACjE,IAAI,IAAItH,KAAK4F,EACZyB,EAAKW,SAAS,CACbF,EAAGf,EAAOnB,EAAM5F,GAAI,GACpB+H,EAAGhB,EAAOnB,EAAM5F,GAAI,GACpBkF,EAAY,MAAToC,EAAgBT,EAAIe,EAAIf,EAAIgB,KAIlCL,EAAW,MAAQ,SAASJ,EAAMC,EAAMzB,GACvC,IAAI,IAAI5F,KAAK4F,EACZyB,EAAKW,SAAS,CACbF,EAAGf,EAAOnB,EAAM5F,GAAI,GACpB+H,EAAGhB,EAAOnB,EAAM5F,GAAI,MAIvBwH,EAAW,MAAQ,SAASJ,EAAMC,EAAMzB,GACvCyB,EAAKY,KAAoB,KAAZrC,EAAM,IAAyB,KAAZA,EAAM,GAAaiB,EAAIe,EAAIf,EAAIgB,GAIhEL,EAAW,KAAO,SAASJ,EAAMC,EAAMzB,GACtCyB,EAAKa,QAAUtC,EAAMuC,QAItBX,EAAW,MAAQ,SAASJ,EAAMC,EAAMzB,GACvC,IAAI,IAAI5F,KAAK4F,EACZyB,EAAKe,UAAU,CACdN,EAAGf,EAAOnB,EAAM5F,GAAG,GACnB+H,EAAGhB,EAAOnB,EAAM5F,GAAG,GACnBgD,KAAM,KACNqF,KAAMzC,EAAM5F,GAAGsI,OAAO,MAIzBd,EAAW,MAAQA,EAAW,MAAQA,EAAW,MAAQA,EAAW,MAAQA,EAAW,MAAQ,SAASJ,EAAMC,EAAMzB,EAAO0B,GAC1H,IAAI,IAAItH,KAAK4F,EACZyB,EAAKe,UAAU,CACdN,EAAGf,EAAOnB,EAAM5F,GAAG,GACnB+H,EAAGhB,EAAOnB,EAAM5F,GAAG,GACnBgD,KAAMsE,KAMTE,EAAW,MAAQ,SAASJ,EAAMC,EAAMzB,GACvCwB,EAAKK,KAAOc,SAAS3C,EAAM,KAI5B4B,EAAW,MAAQA,EAAW,MAAQN,EAAgBf,KAAKqC,KAAM,OAAQ,MACzEhB,EAAW,MAAQA,EAAW,MAAQN,EAAgBf,KAAKqC,KAAM,OAAQ,MACzEhB,EAAW,MAAQA,EAAW,MAAQN,EAAgBf,KAAKqC,KAAM,OAAQ,MACzEhB,EAAW,MAAS,SAASJ,EAAMC,EAAMzB,EAAO0B,GAC/CF,EAAKG,KAAKD,GAAS1B,EAAM,GACzByB,EAAKoB,GAAK7C,EAAM,GAChByB,EAAKqB,GAAK9C,EAAM,IAGjB,IAAI+C,EAAU,6DACVC,EAAW,8CACXC,EAAY,SACZC,EAAY,gCAGhBjC,EAAIC,IAAIiC,MAAQ,SAAS/B,GAExB,IACCgC,EAAUC,EAAOC,EAAM5B,EADpB6B,EAAQ,GAEX/B,EAAO,IAAIP,EAAIuC,KACf/B,EAAO,KAKR,IAAI,IAAIrH,KAFRgJ,EAAWhC,EAAIqC,MAAMV,GAERK,EAEZ,GAAkB,KAAfA,EAAShJ,GAAWmJ,EAAM3I,KAAK6G,QAG7B,GAAkB,KAAf2B,EAAShJ,GAAWqH,EAAO8B,EAAMG,WAaxC,IAAI,IAAIpI,KARLmG,GAAMD,EAAKmC,YACdlC,EAAOA,EAAOA,EAAKxD,YAAY,IAAIgD,EAAI2C,OAAWpC,EAAKqC,KAGvDR,EAAQD,EAAShJ,GAAGqJ,MAAMT,IAAa,GACvCxB,EAAKsC,eAAiBT,EAAM/I,OAGf+I,EAAO,CAQnB,IAAI,IAAIU,KANRrC,EAAQuB,EAAUe,KAAKX,EAAM/H,IAAI,GAGjCgI,EAAOD,EAAM/H,GAAGmI,MAAMP,GAGTI,EAAMA,EAAKS,GAAKT,EAAKS,GAAGE,UAAU,EAAGX,EAAKS,GAAGzJ,OAAO,GAAG4J,QAAQ,YAAa,IAGtFjD,EAAIC,IAAIU,WAAWF,GAAQT,EAAIC,IAAIU,WAAWF,GAAOF,EAAMC,EAAM6B,EAAM5B,IAGtE4B,EAAKhJ,QAAU,IAAGgJ,EAAOA,EAAK,IAG9B7B,EAAK0C,OAAQ1C,EAAKC,GAAS4B,EAI7B9B,EAAKG,KAAKD,GAAS4B,GAOxB,OAAO9B,GA3JR,CA6JGP,M,gFC7JH,SAAUA,KAEV,aAGA,IAAImD,SAAW,EAGXC,YAAc,SAASpF,EAAMkF,EAAQG,GACxC,IAAIpI,EAAI,GAQR,OAPAA,EAAEqI,QAAU5H,SAASQ,cAAc,OACnCjB,EAAEqI,QAAQC,UAAY,cAAcvF,EACpC/C,EAAEuI,QAAU9H,SAASQ,cAAc,OACnCjB,EAAEuI,QAAQD,UAAY,cAAcvF,EAAK,WACzC/C,EAAEqI,QAAQtG,YAAY/B,EAAEuI,SACxBN,EAAOlG,YAAY/B,EAAEqI,SACjBD,IAASpI,EAAEqI,QAAQG,MAAMC,QAAU,QAChCzI,GAIJ0I,cAAgB,WAEnBhC,KAAKiC,IAAM,GAGXjC,KAAKiC,IAAIC,OAASnI,SAASQ,cAAc,OACzCyF,KAAKiC,IAAIC,OAAON,UAAY,oBAG5B5B,KAAKiC,IAAIE,MAAQpI,SAASQ,cAAc,OACxCyF,KAAKiC,IAAIE,MAAMP,UAAY,mBAG3B5B,KAAKoC,QAAU,GAefpC,KAAKoC,QAAQC,KAAOZ,YAAY,OAAQzB,KAAK2B,SAC7C3B,KAAK2B,QAAQtG,YAAY2E,KAAKiC,IAAIC,QAClClC,KAAKoC,QAAQE,MAAQb,YAAY,QAASzB,KAAK2B,SAE/C3B,KAAKoC,QAAQG,IAAMd,YAAY,MAAOzB,KAAKiC,IAAIC,QAC/ClC,KAAKiC,IAAIC,OAAO7G,YAAY2E,KAAKiC,IAAIE,OACrCnC,KAAKoC,QAAQI,OAASf,YAAY,SAAUzB,KAAKiC,IAAIC,SAGlDO,iBAAmB,WACtB,IAAIC,EAAK1C,KAAK2C,OAAOC,OACrB,GAAGF,EAAGG,aAAeC,MAAO,OAAOJ,EAGnC,IADA,IAAIK,EAAK/C,KAAKgD,QAAUhD,KAAKiD,UACrBzL,EAAI,EAAGA,EAAIkL,EAAGhL,OAAQF,IAE7B,IAAIkL,EAAGlL,GAAG0L,cACPR,EAAGlL,GAAG0L,WAAWC,UAAYT,EAAGlL,GAAG0L,WAAWC,UAAYnD,KAAKoD,UAC/DV,EAAGlL,GAAG0L,WAAWG,YAAcN,GAAML,EAAGlL,GAAG0L,WAAWG,WAAaN,MACnEL,EAAGlL,GAAG0L,WAAWI,UAAYZ,EAAGlL,GAAG0L,WAAWI,UAAYtD,KAAKoD,UAC/DV,EAAGlL,GAAG0L,WAAWD,YAAcF,GAAML,EAAGlL,GAAG0L,WAAWD,WAAaF,MACnEL,EAAGlL,GAAG0L,WAAWK,QAAUb,EAAGlL,GAAG0L,WAAWK,OAAOzL,KAAKkI,OAE1D,OAAO0C,EAAGlL,IAKTgM,iBAAmB,SAASC,GAC/B,IAAIC,EAKJ,GAH8BA,EAA3B1D,KAAK2D,cAAcf,OAAqB5C,KAAK2D,cAAcf,OAAOa,GACnDzD,KAAK2D,cAAcF,GAElCC,EAKF,IAAI,IAAIlM,KAJRwI,KAAKoC,QAAQqB,GAAM9B,QAAQG,MAAMC,QAAU,OAExC2B,EAAWb,aAAeC,QAAOY,EAAa,CAACA,IAErCA,EACR1D,KAAK0D,WAAWA,EAAWlM,MAAKwI,KAAK0D,WAAWA,EAAWlM,IAAM,IAAIoM,YAAYC,UAAUH,EAAWlM,IAAIwI,OAE9GA,KAAK0D,WAAWA,EAAWlM,IAAIsM,SAAS9D,KAAKoC,QAAQqB,GAAM5B,SAG3D7B,KAAK0D,WAAWA,EAAWlM,IAAIuM,mBAAoB,OAIpD/D,KAAKoC,QAAQqB,GAAM9B,QAAQG,MAAMC,QAAU,QAKzCiC,iBAAmB,WAEtB,IAAI,IAAItG,KAAOsC,KAAK0D,WACnB1D,KAAK0D,WAAWhG,GAAKqG,mBAAoB,EAS1C,IAAI,IAAIrG,KANR8F,iBAAiB1L,KAAKkI,KAAM,QAC5BwD,iBAAiB1L,KAAKkI,KAAM,SAC5BwD,iBAAiB1L,KAAKkI,KAAM,OAC5BwD,iBAAiB1L,KAAKkI,KAAM,UAGbA,KAAK0D,WAChB1D,KAAK0D,WAAWhG,GAAKqG,mBAAqB/D,KAAK0D,WAAWhG,GAAKiE,QAAQzG,YAAY8E,KAAK0D,WAAWhG,GAAKiE,QAAQzG,WAAWC,YAAY6E,KAAK0D,WAAWhG,GAAKiE,UAgC7JiC,YAAcvF,IAAI4F,YAAY5F,IAAI6F,QAAQ,SAASC,EAAMxB,GAI5D,IAAI,IAAIjF,KAHRsC,KAAK2C,OAASA,EAGCiB,YAAYQ,aAAiC9H,IAArB0D,KAAK2C,OAAOjF,SAAmDpB,IAA7BsH,YAAYQ,QAAQ1G,KAAoBsC,KAAK2C,OAAOjF,GAAOkG,YAAYQ,QAAQ1G,IAExJ,IAAI,IAAIA,KAAOW,IAAI6F,OAAOE,aAAiC9H,IAArB0D,KAAK2C,OAAOjF,SAAkDpB,IAA5B+B,IAAI6F,OAAOE,QAAQ1G,KAAoBsC,KAAK2C,OAAOjF,GAAOW,IAAI6F,OAAOE,QAAQ1G,IAErJsC,KAAK2B,QAAUwC,EACfnE,KAAK2B,QAAQ0C,UAAY,GACzBrE,KAAKsE,SAAWtE,KAAK2B,QAAQC,UAAY5B,KAAK2B,QAAQC,UAAU,IAAM,IAAI,kBAC1E5B,KAAK2B,QAAQC,UAAY5B,KAAKsE,QAC1BtE,KAAK2B,QAAQ4C,KAAIvE,KAAK2B,QAAQ4C,GAAK,OAAQ/C,YAE/CQ,cAAclK,KAAKkI,MAEnBA,KAAKmC,MAAQ,IAAI9D,IAAImG,MAAMxE,KAAKiC,IAAIE,MAAOnC,KAAK2C,OAAOR,OAEvDnC,KAAKyE,OAELzE,KAAK0D,WAAa,GAElBxF,OAAOwG,iBAAiB,SAAU,WAC7B1E,KAAK2E,UACR3E,KAAK4E,oBAGLjH,KAAKqC,OAEPA,KAAK4E,mBAEL5E,KAAK6E,cAONjB,YAAYhM,UAAUkM,SAAW,SAASK,GACzCA,EAAK9I,YAAY2E,KAAK2B,SACtB3B,KAAK4E,oBAONhB,YAAYhM,UAAUgN,iBAAmB,WACrC,IAAIE,EAAM5G,OAAO6G,iBAAiB/E,KAAK2B,SAEnCqD,EAAM,GACV,MAAMhF,KAAK2B,QAAQsD,WACjBD,EAAIhN,KAAKgI,KAAK2B,QAAQsD,YACtBjF,KAAK2B,QAAQxG,YAAY6E,KAAK2B,QAAQsD,YAOxC,IAJA,IAAIC,EAAQnF,SAAS+E,EAAI1B,OACrB+B,EAAQpF,SAAS+E,EAAI9B,QACrBoC,EAASrF,SAAS+E,EAAI7B,YAAc,EAEhCzL,EAAI,EAAGA,EAAIwN,EAAItN,OAAQF,IAC7BwI,KAAK2B,QAAQtG,YAAY2J,EAAIxN,IAG/B,GAAG0N,GAASlF,KAAKoD,OAAS+B,GAASnF,KAAKgD,QAAUoC,GAAUpF,KAAKiD,UAAjE,CAEAjD,KAAKoD,MAAQ8B,EACblF,KAAKgD,OAASmC,EACdnF,KAAKiD,UAAYmC,EAEjBpF,KAAK2D,cAAgBlB,iBAAiB3K,KAAKkI,MAExCA,KAAK2D,eAAiB3D,KAAKqF,YAAcrF,KAAK2D,gBAC5C3D,KAAK2D,cAAc/B,UAAW5B,KAAK2B,QAAQC,UAAY5B,KAAKsE,QAAQ,IAAItE,KAAK2D,cAAc/B,UACzF5B,KAAK2B,QAAQC,UAAY5B,KAAKsE,QACnCN,iBAAiBlM,KAAKkI,MACtBA,KAAKqF,WAAarF,KAAK2D,eAIzB,IAAI2B,EAAKtF,KAAKiC,IAAIE,MAAMoD,YACpBxC,EAAK/C,KAAKgD,QAAUhD,KAAKiD,UAE1BF,IACDA,GAAM/C,KAAKoC,QAAQG,IAAIZ,QAAQ6D,aAAexF,KAAKoC,QAAQI,OAAOb,QAAQ6D,cAGzEzC,GAAMA,EAAKuC,EACTvC,GAAM/C,KAAKmC,MAAMa,QAAQhD,KAAKmC,MAAMsD,UAAU1C,GAG9CuC,GAAMtF,KAAKmC,MAAMiB,OAAOpD,KAAKmC,MAAMuD,SAASJ,GAGjD,IAAIK,EAAO5C,EAAKuC,EAchB,IAAI,IAAI9N,KAZLmO,EAAO,GACR3F,KAAKiC,IAAIE,MAAML,MAAMkB,OAASD,EAAG,KACjC/C,KAAKiC,IAAIE,MAAML,MAAM8D,WAAcD,EAAK,EAAG,OAG3C3F,KAAKiC,IAAIE,MAAML,MAAMkB,OAAS,OAC9BhD,KAAKiC,IAAIE,MAAML,MAAM8D,WAAa,KAGpC5F,KAAKoC,QAAQC,KAAKV,QAAQG,MAAMkB,OAAShD,KAAKiC,IAAIC,OAAOsD,aAAa,KACtExF,KAAKoC,QAAQE,MAAMX,QAAQG,MAAMkB,OAAShD,KAAKiC,IAAIC,OAAOsD,aAAa,KAE1DxF,KAAK0D,WACb1D,KAAK0D,WAAWlM,GAAGoN,kBAAkB5E,KAAK0D,WAAWlM,GAAGoN,qBAYjEhB,YAAYhM,UAAUiO,YAAc,SAAShG,EAAMiG,EAAeC,GACjE/F,KAAKgG,aAAejM,SAASQ,cAAc,OAC3CyF,KAAKgG,aAAalE,MAAMsB,MAAQpD,KAAK2B,QAAQsE,YAAY,KACzDjG,KAAKgG,aAAalE,MAAMkB,OAAShD,KAAK2B,QAAQ6D,aAAa,KAC3DxF,KAAKgG,aAAapE,UAAY,mBAC9B5B,KAAK2B,QAAQtG,YAAY2E,KAAKgG,cAE9B,IAAIE,EAAenM,SAASQ,cAAc,OAC1C2L,EAAatE,UAAY,mBACzBsE,EAAa7B,UAAYxE,EAEzB,IAAIsG,EAAapM,SAASQ,cAAc,OACxC4L,EAAWvE,UAAY,iBACnBmE,IAAWI,EAAW9B,UAAYhG,IAAIhB,EAAE,gBAE5C6I,EAAa7K,YAAY8K,GAEzBnG,KAAKgG,aAAa3K,YAAY6K,GAE3BJ,EACF9F,KAAKgG,aAAatB,iBAAiB,SAAQ,SAASpL,GACnDwM,EAAcxM,MAGPyM,GACR/F,KAAKgG,aAAatB,iBAAiB,QAAQ,SAASpL,GACnD0G,KAAKoG,eACJzI,KAAKqC,OAGRA,KAAKqG,WAAU,IAOhBzC,YAAYhM,UAAUwO,YAAc,WACnCpG,KAAK2B,QAAQxG,YAAY6E,KAAKgG,cAC9BhG,KAAKqG,WAAU,IAOhBzC,YAAYhM,UAAUmE,MAAQ,SAAShB,GACtC,IAAIsD,IAAIiI,aAAc,MAAMvL,EAE5B,IAAIwL,EAAM,IAEV,OAAOxL,EAAIsB,MACV,IAAK,mBACJ2D,KAAK6F,YAAY,OAAO9K,EAAIsB,KAAK,WAAWtB,EAAIqB,QAAQ,gFAAgFmK,EAAI,8DAC7I,MACA,IAAK,YACJvG,KAAK6F,YAAY,OAAO9K,EAAIsB,KAAK,WAAWtB,EAAIqB,QAAQ,8GACzD,MACA,QACC4D,KAAK6F,YAAY,OAAO9K,EAAIsB,KAAK,WAAWtB,EAAIqB,QAAQ,YAAYrB,EAAIyL,WAAW,oFAAqFD,EAAI,qBAI/K3C,YAAYC,UAAY,GAQxBD,YAAY6C,QAAU,CACrB,WAAc,CACblE,IAAK,GACLC,OAAQ,IAET,WAAc,CACbD,IAAK,GACLC,OAAQ,IAET,UAAa,CACZD,IAAK,GACLD,MAAO,IAER,MAAS,CACRA,MAAO,IAER,QAAW,CACVE,OAAQ,KA0BVoB,YAAY8C,cAAgB,CAC3B,CACCxD,WAAY,CACXC,SAAU,KAEXP,OAAQgB,YAAY6C,QAAQ,aAC5B7E,UAAW,yBAEZ,CACCsB,WAAY,CACXC,SAAU,IACVE,UAAW,KAEZT,OAAQgB,YAAY6C,QAAQ,cAC5B7E,UAAW,cAEZ,CACCsB,WAAY,CACXC,SAAU,KAEXP,OAAQgB,YAAY6C,QAAQ,cAC5B7E,UAAW,aAEZ,CACCgB,OAAQgB,YAAY6C,QAAQ,cAC5B7E,UAAW,eAKbgC,YAAYQ,QAAU,CACrBxB,OAAQgB,YAAY8C,eAGrBrI,IAAIsI,KAAKC,GAAG,eAAiB,sCAI7BhD,YAAYiD,WAAa,CACxB,WAAY,SAASzJ,GACjBA,IACa,KAAZA,EAAM,GAAW4C,KAAK8G,IAAM1J,EAC1B4C,KAAK+G,QAAU3J,IAItB,iBAAkB,sBAASA,OAE1B4C,KAAKmC,MAAQ6E,KAAK,KAAK5J,MAAM,OAG9B,sBAAuB,SAASA,GAC/B4C,KAAKiH,WAAa,IAAIC,SAAS9J,IAGhC,oBAAqB,SAASA,GAC7B4C,KAAKmH,OAAS,IAAID,SAAS9J,IAG5B,oBAAqB,SAASA,GAC7B4C,KAAKoH,OAAS,IAAIF,SAAS9J,IAG5B,sBAAuB,SAASA,GAC/B4C,KAAKqH,SAAW,IAAIH,SAAS9J,IAG9B,kBAAmB,uBAASA,OAC3B4C,KAAK4C,OAASoE,KAAK,KAAK5J,MAAM,OAG/B,uBAAwB,SAASA,GACN,SAAvBA,EAAMkK,gBAA0BtH,KAAKuH,aAAc,IAGvD,sBAAuB,SAASnK,GACL,SAAvBA,EAAMkK,gBAA0BtH,KAAKwH,YAAa,IAGtD,sBAAuB,SAASpK,GACL,SAAvBA,EAAMkK,gBAA0BtH,KAAKyH,YAAa,IAGtD,wBAAyB,SAASrK,GACP,SAAvBA,EAAMkK,gBAA0BtH,KAAK0H,cAAe,IAGxD,wBAAyB,SAAStK,GACP,SAAvBA,EAAMkK,gBAA0BtH,KAAK2H,mBAAoB,IAG7D,gBAAiB,qBAASvK,OACzB,IAAIX,EAAIsD,SAAS3C,OACbwK,MAAMnL,GACLuD,KAAKd,KAAO8H,KAAK,KAAK5J,MAAM,MADnB4C,KAAKd,KAAOzC,GAI3B,wBAAyB,SAASW,GACP,SAAvBA,EAAMkK,gBAA0BtH,KAAK6H,cAAe,IAGxD,mBAAoB,SAASzK,GACzBA,IACa,KAAZA,EAAM,GAAW4C,KAAK8G,IAAM1J,EAC1B4C,KAAK+G,QAAU3J,EAEpB4C,KAAK6H,cAAe,EACpB7H,KAAKyH,YAAa,EAClBzH,KAAKuH,aAAc,EACnBvH,KAAK4C,OAAS,CAACL,IAAK,GAAID,MAAO,GAAID,KAAM,GAAIG,OAAQ,OAKxD,IAAIsF,gBAAkB,SAAS3D,GAC9B,IAAI4D,EAAKpF,EAAQqF,EAEjBrF,EAAS,GAET,IAAI,IAAIsF,EAAI,EAAGA,EAAI9D,EAAK0C,WAAWnP,OAAQuQ,IAC1CF,EAAM5D,EAAK0C,WAAWoB,GACnBrE,YAAYiD,WAAWkB,EAAI1L,OAAOuH,YAAYiD,WAAWkB,EAAI1L,MAAMvE,KAAK6K,EAAQoF,EAAI3K,MAAO2K,EAAI1L,MAGnG2L,EAAK,IAAIpE,YAAYO,EAAMxB,GAC3BwB,EAAK+D,YAAcF,GAGpB3J,IAAIuF,YAAcA,YAElB1F,OAAOwG,iBAAiB,QAAQ,WAG/B,IAFA,IAAIyD,EAAWpO,SAASqO,iBAAiB,iCAEjC5Q,EAAI,EAAGA,EAAI2Q,EAASzQ,OAAQF,IACnCsQ,gBAAgBK,EAAS3Q,OArgB3B,CAygBG6G,M,2DC1gBH,W,iCCGA,SAAUA,GACT,IAAIgK,EAAU,SAASC,EAAQnG,EAAOoG,EAAQC,GAE7CxI,KAAKsI,OAASA,EACdtI,KAAKmC,MAAQA,EACbnC,KAAKuI,OAASA,EAEdvI,KAAKwI,OAASA,GAAU,GACxBxI,KAAKyE,QAEFgE,EAAQ,CACXC,YAAa,EACbC,aAAc,GAEVC,EAAwB,SAAUtJ,EAAGC,GACjCS,KAAKsI,OAAOlB,QAAWpH,KAAK6I,QAAUvJ,GAAKU,KAAK8I,QAAUvJ,IAE9DS,KAAK6I,OAASvJ,EACdU,KAAK8I,OAASvJ,EAEVS,KAAK+I,YACL/I,KAAKmC,MAAM6G,aAAahJ,KAAK+I,aAGvB,GAANzJ,IAAiB,GAANC,GAAWS,KAAKsI,OAAOW,WAAWC,KAAKC,QAAQ7J,EAAGC,IAC7DS,KAAK+I,WAAa,CACdvO,KAAM,OACN8E,EAAGA,EACHC,EAAGA,EACH7C,EAAGsD,KAAKsI,OAAOW,WAAWC,KAAKzJ,MAEnCO,KAAKmC,MAAMiH,UAAUpJ,KAAK+I,oBAGnB/I,KAAK+I,aAIhBM,EAAuB,WACnBrJ,KAAK+I,aACL/I,KAAKmC,MAAM6G,aAAahJ,KAAK+I,mBACtB/I,KAAK+I,kBACL/I,KAAK6I,cACL7I,KAAK8I,SAGrBT,EAAQzQ,UAAY,CACnB6M,KAAM,WACLzE,KAAK8G,IAAM9G,KAAKsI,OAAOW,WAAWrK,KAAK0K,QACvCtJ,KAAKuJ,OAASvJ,KAAKsI,OAAOW,WAAWO,KAAK/M,EAU1C,IAJA,IAAIgD,EAAOO,KAAKsI,OAAOW,WAAWC,KAAKzJ,KACnCvG,EAAI8G,KAAKsI,OAAOW,WAAWC,KAAKO,SAChCC,EAAK,GACRC,EAAK,GACEnS,EAAI,EAAGA,EAAI0B,EAAE+F,KAAMzH,IAC1B,IAAI,IAAIkB,EAAI,EAAGA,EAAIQ,EAAE+F,KAAMvG,IAAK,CAC/B,IAAII,EAAII,EAAE8D,IAAItE,EAAGlB,GACboS,EAAKC,OAAOC,aAAapR,EAAI,IAC7BqR,EAAKF,OAAOC,aAAatS,EAAI,IAC9BsB,GAAK2P,EAAMC,YACbgB,EAAG1R,KAAK,IAAM4R,EAAUG,EAAK,KACpBjR,GAAK2P,EAAME,aACpBgB,EAAG3R,KAAK,IAAM4R,EAAUG,EAAK,KAQhC,IAAIC,EAAKN,EAAGhS,OAAS,EAAIgS,EAAG/J,KAAK,KAAO,KACpCsK,EAAKN,EAAGjS,OAAS,EAAIiS,EAAGhK,KAAK,KAAO,KACpCmH,EAAM,QAAU9G,KAAKsI,OAAOW,WAAWrK,KAAKK,KAAO,MAAQ+K,EAAK,KAAOC,EAAKjK,KAAKwI,OAAS,IAE9FxI,KAAKsI,OAAO4B,QAAQpD,GACpB9G,KAAKsI,OAAO6B,OAEZnK,KAAKsI,OAAOW,WAAWC,KAAKzJ,KAAOA,EACnCO,KAAKsI,OAAOW,WAAWC,KAAKO,SAASW,SAAWlR,EAAEkR,SAC9CpK,KAAKqK,YAAWrK,KAAKqK,UAAYrK,KAAKsK,KAAK3M,KAAKqC,OACpDA,KAAKuK,SAAWvK,KAAKuK,UAAY3B,EAAsBjL,KAAKqC,MAC5DA,KAAKwK,QAAUxK,KAAKwK,SAAWnB,EAAqB1L,KAAKqC,MACzDA,KAAKmC,MAAMuC,iBAAiB,QAAS1E,KAAKqK,WAC1CrK,KAAKmC,MAAMuC,iBAAiB,YAAa1E,KAAKuK,UAC9CvK,KAAKmC,MAAMuC,iBAAiB,WAAY1E,KAAKwK,UAE9CF,KAAM,SAAShL,EAAGC,IACdS,KAAKsI,OAAOlB,QAAWpH,KAAKsI,OAAOW,WAAWC,KAAKC,QAAQ7J,EAAGC,IAAwB,GAAjBS,KAAKyK,WAC7EzK,KAAKsI,OAAOW,WAAWpK,KAAKxD,YAAY,IAAIgD,EAAI2C,MAAM,CACrD9B,KAAM,CACLI,EAAGA,EACHC,EAAGA,EACH7C,EAAGsD,KAAKsI,OAAOW,WAAWC,KAAKzJ,MAEhCiL,SAAS,KAEV1K,KAAKsI,OAAO1J,KAAKmC,YACjBf,KAAKsI,OAAOqC,KAAK3K,KAAKsI,OAAOW,WAAWpK,KAAK+L,SAASlT,OAAS,KAEhEmT,OAAQ,SAAStB,GAGhBvJ,KAAKsI,OAAO4B,QAAQlK,KAAK8G,KACzB9G,KAAKsI,OAAOwC,KAAKvB,GAAUvJ,KAAKuJ,QAEhCvJ,KAAKmC,MAAM4I,oBAAoB,QAAS/K,KAAKqK,WAC1CrK,KAAKmC,MAAM4I,oBAAoB,YAAa/K,KAAKuK,UACjDvK,KAAKmC,MAAM4I,oBAAoB,WAAY/K,KAAKwK,SACnD,IAAI1D,EAAM9G,KAAKsI,OAAOW,WAAWrK,KAAK0K,QACtC,OAAOxC,IAGTzI,EAAI2M,QAAU3C,EArHf,CAsHGhK,M,uBCzHHjF,EAAOD,QAAU,IAA0B,uC,kCCA3C,W,+KCCE,eAEM,YADJ,eAAe,K,UCDnB,MAAMuC,EAAS,GAGfA,EAAOuP,OAASA,EAED,Q,sICJFC,MAAM,U,wEADf,eAKM,YAJF,eAGM,MAHN,EAGM,CAFF,eAAoB,0BAAb,EAAAC,OAAK,GACZ,eAAmB,0BAAZ,EAAAC,MAAI,UAKJ,GACX3K,MAAO,CACH0K,MAAO,CACH3Q,KAAMqP,OACNzF,QAAS,gBAEbgH,KAAM,CACF5Q,KAAMqP,OACNzF,QAAS,Q,UCZzB,EAAO6G,OAAS,EAChB,EAAOI,UAAY,kBAEJ,Q,yFCNFvJ,MAAA,gB,wEADT,eAaM,YAZF,eAWM,MAXN,EAWM,CAVF,eAAoB,OAAdyC,GAAI,EAAAA,IAAE,eACZ,eAKM,a,mBAJF,eAGO,2BAH4E,EAAA+G,UAAQ,SAAhBC,G,wBAA3E,eAGO,QAHDzJ,MAAA,4CAA8CpE,IAAK6N,EAAK/B,M,CAC1D,eAAqF,QAA/E0B,MAAK,CAAC,QAAO,KAAsB,GAANK,EAAK7O,EAAC,KAAgB,GAAN6O,EAAK7O,K,eAAW6O,EAAK/B,MAAI,GAC5E,eAA2B,2BAAlB+B,EAAKC,MAAI,Q,QAG1B,eAEM,OAFDN,MAAK,CAAC,OAAM,gBAA2B,EAAAO,WAAY3J,MAAK,aAAe,EAAA4J,SAAQ,kBAAmB,EAAAC,UAAS,O,eAC1G,EAAAC,MAAI,UAeH,G,wHAAA,CACXnL,MAAO,CACH0K,MAAO,CACH3Q,KAAMqP,OACNzF,QAAS,gBAEbkH,SAAS,CACL9Q,KAAKsI,OAET8I,KAAM,CACFpR,KAAMqP,OACNzF,QAAS,IAEbsH,SAAU,CACNlR,KAAMqP,OACNzF,QAAS,MAEbuH,UAAW,CACPnR,KAAMqP,OACNzF,QAAS,MAEbG,GAAI,CACA/J,KAAMqP,OACNzF,QAAS,KAEb0C,IAAK,CACDtM,KAAMqP,OACNzF,QAAS,aAEbyH,UAAU,CACNrR,KAAMsR,OACN1H,QAAS,GAEbqH,SAAS,CACLjR,KAAMuR,QACN3H,SAAS,IAGjBlN,KAtCW,WAuCP,MAAO,CACHoR,OAAQ,KACR0D,aAAc,CACVC,YAAa,KACbC,UAAUlM,KAAK6L,UACfM,cAAe,GACfC,MAAO,KAInBC,QAjDW,WAkDPrM,KAAKsM,aAETC,QAAS,CAELD,UAFK,WAGD,IAAIE,EAAOxM,KACP2B,EAAU5H,SAAS0S,eAAezM,KAAKuE,IAC3CiI,EAAKlE,OAAS,IAAIjK,IAAIuF,YAAYjC,EAAS,CACvCmF,IAAK9G,KAAK8G,IACVS,aAAa,EACbmF,mBAAmB,EACnBjF,YAAY,EACZI,cAAc,EACdF,mBAAmB,EACnBxF,MAAM,CACFwK,MAAM,CAAEC,eAAe,QACvBC,aAAcxO,IAAImG,MAAMsI,aAAaC,MAEzC5F,OAAQ,SAAU7N,GACd,IAAIA,EAAE0T,IAAIR,EAAKlB,SAAS,CACpB,IAAI2B,EAAS5O,IAAI6O,MAAM5T,EAAEmQ,UACrB0D,EAAO9O,IAAI6O,MAAMV,EAAKlB,UACtB8B,EAAS,GACbD,EAAKE,SAAQ,SAAA9B,GACuB,GAA7B0B,EAAQjQ,IAAIuO,EAAKjM,EAAEiM,EAAKhM,KACvB6N,EAASpV,KAAKuT,GACd0B,EAAQK,IAAI/B,EAAKjM,EAAEiM,EAAKhM,EAAEgM,EAAK7O,GAC/B8P,EAAKlE,OAAOnG,MAAMiH,UAClB,CACI5O,KAAM,QACN8E,EAAEiM,EAAKjM,EACPC,EAAEgM,EAAKhM,EACP7C,EAAE6O,EAAK7O,EACPmD,KAAK0L,EAAK/B,WAItB4D,EAASC,SAAQ,SAAA9B,GACbiB,EAAKlB,SAAS+B,SAAQ,SAACE,EAAIC,GACpBjC,EAAK/B,MAAM+D,EAAI/D,MACdgD,EAAKlB,SAAS1S,OAAO4U,EAAM,aAOnDhB,EAAKlE,OAAOmF,gBAAe,GAC3BjB,EAAKjE,OAAS,IAAIlK,IAAI6F,OAAOwJ,OACzBlB,EAAKlE,OACLkE,EAAKlE,OAAOnG,MACZqK,EAAKR,cAETQ,EAAKlE,OAAO6B,W,UC5H5B,EAAOc,OAAS,EAChB,EAAOI,UAAY,kBAEJ,QCAfsC,IAAUC,OAAO7T,SAAS8T,MAE1BC,eAAUC,GAAKC,IAAIC,QACnBpK,UAAU,aAAaqK,cACvBrK,UAAU,YAAYsK,GACtBtK,UAAU,QAAQ1B,GAClBiM,MAAM,S,oCCdN,W,oCCAA,4BAGA,aAAOnD,OAAS,OAChB,aAAOI,UAAY,kBAEJ,2B,qDCLf,SAAUhN,GAEV,aAEA,IAAIgQ,EAAY,SAAS7E,EAAMvO,GAC9B+E,KAAK3D,KAAO,YAEK2D,KAAK5D,QAAR,GAARnB,EAA0B,SAASuO,EAAK,cAC9B,GAARvO,EAA0B,8CAA8CuO,EAAK,KACjE,SAASA,EAAK,kCAGnC6E,EAAUzW,UAAY,IAAIoD,MAC1BqT,EAAUzW,UAAUiL,YAAcwL,EAElChQ,EAAIgQ,UAAYA,EAGhB,IAAIC,EAAcjQ,EAAIiQ,YAAc,SAAS/H,EAAKgI,GAEjD,IAAIC,EAAU,IAAIC,eAClBD,EAAQE,mBAAqB,WAC5B,GAA0B,GAAtBF,EAAQG,WAAiB,CAC5B,GAAqB,KAAlBH,EAAQI,OASV,MAAM,IAAIP,EAAU9H,GARpB,GAAkC,GAA/BiI,EAAQK,aAAanX,OACvB,MAAM,IAAI2W,EAAU9H,EAAK,GAGzBgI,EAASC,EAAQK,gBASrB,IACCL,EAAQM,KAAK,MAAOvI,GAAK,GACzBiI,EAAQO,OAET,MAAMhU,GACL,MAAM,IAAIsT,EAAU9H,EAAK,KAMvByI,EAAe,SAAS1V,GAExBA,EAAE2V,QAAQjP,KAAKmC,MAAMgF,OAAO7N,EAAE2V,QAG9BjP,KAAKkP,YAAYlP,KAAKmC,MAAM6G,aAAahJ,KAAKkP,YAGjD,IAAIC,EAAM,GAcV,GAZAnP,KAAKoP,eAGF9V,EAAEuF,KAAKK,MAAQc,KAAK2C,OAAOkF,eAC1BvO,EAAEuF,KAAKK,KAAKC,KAAMa,KAAKoP,aAAa/Q,EAAIhB,GAAG/D,EAAEuF,KAAKK,KAAKxC,GAAK2B,EAAIe,EAAI,IAAM,KAAK,SAC7E+P,EAAInX,KAAK,CACbwC,KAAM,KACN8E,EAAGhG,EAAEuF,KAAKK,KAAKI,EACfC,EAAGjG,EAAEuF,KAAKK,KAAKK,KAIdjG,EAAEuF,KAAK+L,SAASlT,OAAS,GAAKsI,KAAK2C,OAAO+J,kBAC5C,IAAI,IAAIlV,EAAI,EAAGA,EAAI8B,EAAEuF,KAAK+L,SAASlT,OAAQF,IACvC8B,EAAEuF,KAAK+L,SAASpT,GAAG0H,OAAS5F,EAAEuF,KAAK+L,SAASpT,GAAG0H,KAAKC,MAAMgQ,EAAInX,KAAK,CACrEwC,KAAM,KACNqF,KAAMgK,OAAOC,aAAa,GAAGtS,GAC7B8H,EAAGhG,EAAEuF,KAAK+L,SAASpT,GAAG0H,KAAKI,EAC3BC,EAAGjG,EAAEuF,KAAK+L,SAASpT,GAAG0H,KAAKK,EAC3B7C,EAAGsD,KAAKmC,MAAMwK,MAAM0C,gBAAkB,uBAMzC,GAAG/V,EAAEuF,KAAKyQ,OAAQ,CACjB,IAAI,IAAI9X,KAAK8B,EAAEuF,KAAKyQ,OACnB,IAAI,IAAI5W,EAAI,EAAGA,EAAIyW,EAAIzX,OAAQgB,IAC3BY,EAAEuF,KAAKyQ,OAAO9X,GAAG8H,GAAK6P,EAAIzW,GAAG4G,GAAKhG,EAAEuF,KAAKyQ,OAAO9X,GAAG+H,GAAK4P,EAAIzW,GAAG6G,IACjE4P,EAAIvW,OAAOF,EAAE,GACbA,KAIHyW,EAAMA,EAAII,OAAOjW,EAAEuF,KAAKyQ,QAIzBtP,KAAKkP,WAAaC,EAClBnP,KAAKmC,MAAMiH,UAAU+F,IAIlBK,EAAgB,SAASlW,GAE5B0G,KAAKmC,MAAMsN,QAAQnW,EAAEsF,KAAKK,MAG1Be,KAAKmC,MAAMuN,mBAGR1P,KAAK2C,OAAO4E,aAAavH,KAAK2P,UAAS,IAIvCC,EAAmB,SAAnBA,EAA4B/Q,EAAMgR,GACrC,OAAGhR,GAAQgR,EAAGlO,SAAW9C,GAAQgR,EAAGlO,aAC5B9C,EAAKiR,iBAAoBjR,EAAKkR,aAAelR,EAAK2G,cAA0D,QAA1CtH,OAAO6G,iBAAiBlG,GAAMmR,WAC5FJ,EAAiB/Q,EAAK3D,WAAY2U,KAI3CI,EAAY,SAAS3W,GACxB,IAAI4W,EAAQ5W,EAAE6W,aAAyB,EAAX7W,EAAE8W,OAG9B,QAAGR,EAAiBtW,EAAEuB,OAAQmF,QAE3BkQ,EAAQ,GACVlQ,KAAK2K,OACF3K,KAAK2C,OAAO6E,YAAclO,EAAE+W,gBAAgB/W,EAAE+W,kBACzCrQ,KAAK2C,OAAO6E,cAEb0I,EAAQ,KACflQ,KAAKsQ,WACFtQ,KAAK2C,OAAO6E,YAAclO,EAAE+W,gBAAgB/W,EAAE+W,kBACzCrQ,KAAK2C,OAAO6E,cAMlB+I,EAAU,SAASjX,GAEtB,IAAIkX,EAAkBzW,SAAS0W,cAAc,+BAC7C,GAAGD,EAAiB,OAAO,EAE3B,OAAOlX,EAAEoX,SACR,KAAK,GAAI1Q,KAAK2K,OAAQ,MACtB,KAAK,GAAI3K,KAAKsQ,WAAY,MAE1B,QAAS,OAAO,EAGjB,OADGtQ,KAAK2C,OAAO6E,YAAclO,EAAE+W,gBAAgB/W,EAAE+W,kBACzCrQ,KAAK2C,OAAO6E,YAIjBmJ,EAAsB,SAASrR,EAAEC,GACpC,IAAIS,KAAKiJ,aAAejJ,KAAKiJ,WAAWpK,OAAQmB,KAAK2C,OAAOiO,aAAc,OAAO,EACjF,IAAI,IAAIpZ,KAAKwI,KAAKiJ,WAAWpK,KAAK+L,SACjC,GAAG5K,KAAKiJ,WAAWpK,KAAK+L,SAASpT,GAAG0H,MAAQc,KAAKiJ,WAAWpK,KAAK+L,SAASpT,GAAG0H,KAAKI,GAAKA,GAAKU,KAAKiJ,WAAWpK,KAAK+L,SAASpT,GAAG0H,KAAKK,GAAKA,EAEtI,YADAS,KAAK2K,KAAKnT,IA0DT0M,EAAS,SAATA,EAAkBvB,GAIrB,IAAI,IAAIjF,KAHRsC,KAAK2C,OAASA,EAGCuB,EAAOE,aAAiC9H,IAArB0D,KAAK2C,OAAOjF,SAA8CpB,IAAxB4H,EAAOE,QAAQ1G,KAAoBsC,KAAK2C,OAAOjF,GAAOwG,EAAOE,QAAQ1G,IAEzIsC,KAAK2B,QAAU5H,SAASQ,cAAc,OACtCyF,KAAKmC,MAAQ,IAAI9D,EAAImG,MAAMxE,KAAK2B,QAAS3B,KAAK2C,OAAOR,OAErDnC,KAAKyE,OACLzE,KAAK6E,YAGNX,EAAOtM,UAAY,CAClBiL,YAAaqB,EASbO,KAAM,WAELzE,KAAKpB,KAAO,KAGZoB,KAAK6Q,UAAY,CAChB5J,WAAY,CAACuI,EAAc7R,KAAKqC,OAChCmH,OAAQ,CAAC6H,EAAarR,KAAKqC,OAC3BoH,OAAQ,GACRC,SAAU,IAERrH,KAAK2C,OAAOsE,YAAYjH,KAAK0E,iBAAiB,aAAc1E,KAAK2C,OAAOsE,YACxEjH,KAAK2C,OAAOwE,QAAQnH,KAAK0E,iBAAiB,SAAU1E,KAAK2C,OAAOwE,QAChEnH,KAAK2C,OAAOyE,QAAQpH,KAAK0E,iBAAiB,SAAU1E,KAAK2C,OAAOyE,QAChEpH,KAAK2C,OAAO0E,UAAUrH,KAAK0E,iBAAiB,WAAY1E,KAAK2C,OAAO0E,UAEvErH,KAAKmC,MAAMuC,iBAAiB,QAASiM,EAAoBhT,KAAKqC,OAC9DA,KAAK2B,QAAQ+C,iBAAiB,QAAS1E,KAAK8Q,MAAMnT,KAAKqC,OAEvDA,KAAK8Q,SAGNjM,SAAU,WAEN7E,KAAK2C,OAAOmE,IACd9G,KAAKkK,QAAQlK,KAAK2C,OAAOmE,IAAK9G,KAAK2C,OAAOzD,MAEnCc,KAAK2C,OAAOoO,KACnB/Q,KAAKgR,SAAShR,KAAK2C,OAAOoO,KAAM/Q,KAAK2C,OAAOzD,MAErCc,KAAK2C,OAAOoE,SACnB/G,KAAKiR,gBAAgBjR,KAAK2C,OAAOoE,QAAS/G,KAAK2C,OAAOzD,OAWxDiI,OAAQ,SAAS6F,GAChB,GAAIhN,KAAKiJ,YAAejJ,KAAKiJ,WAAWgG,OAAxC,CAEA,IAAIiC,EAAK,CACR1W,KAAM,SACNwS,GAAIA,EACJnS,OAAQmF,KACRnB,KAAMmB,KAAKiJ,WAAWpK,KACtB4K,SAAUzJ,KAAKiJ,WAAWkI,cAC1B3H,KAAMxJ,KAAKiJ,WAAWO,KACtByF,OAAQjP,KAAKiJ,WAAWgG,QAIzBjP,KAAKoR,cAAcF,KAUpBG,SAAU,SAASzS,EAAM4K,GACxBxJ,KAAKpB,KAAOA,EAGZoB,KAAKiJ,WAAa,IAAI5K,EAAIiT,WAAWtR,KAAKpB,KAAMoB,KAAK2C,OAAO+E,aAAc1H,KAAK2C,OAAOgF,mBAGtF3H,KAAKoR,cAAc,CAClB5W,KAAM,aACNK,OAAQmF,KACRpB,KAAMoB,KAAKpB,OAYZoB,KAAKmH,OAAO,QAETqC,GACFxJ,KAAK8K,KAAKtB,IAcZU,QAAS,SAASpD,EAAK0C,GACtB,IACCxJ,KAAKqR,SAAShT,EAAIuC,KAAK2Q,QAAQzK,GAAM0C,GAEtC,MAAMzO,GACLiF,KAAKjE,MAAMhB,KAQbiW,SAAU,SAASD,EAAMvH,GACxB,IACCxJ,KAAKqR,SAAShT,EAAIuC,KAAK4Q,QAAQT,GAAOvH,GAEvC,MAAMzO,GACLiF,KAAKjE,MAAMhB,KAQbkW,gBAAiB,SAASQ,EAAWC,GACpC,IAAIC,EAAQ3R,KACZ,IACCsO,EAAYmD,GAAW,SAAS3K,GAC/B6K,EAAMzH,QAAQpD,EAAK4K,MAGrB,MAAM3W,GACLiF,KAAKjE,MAAMhB,KAYb2J,iBAAkB,SAASlK,EAAMoX,GAChC5R,KAAK6Q,UAAUrW,GAAQwF,KAAK6Q,UAAUrW,IAAS,GAC/CwF,KAAK6Q,UAAUrW,GAAMxC,KAAK4Z,IAU3B7G,oBAAqB,SAASvQ,EAAMoX,GACnC,GAAI5R,KAAK6Q,UAAUrW,GAAnB,CACA,IAAIhD,EAAIwI,KAAK6Q,UAAUrW,GAAMqX,QAAQD,IAC5B,GAANpa,GAASwI,KAAK6Q,UAAUrW,GAAM5B,OAAOpB,EAAE,KAS3C4Z,cAAe,SAASU,GACvB,GAAI9R,KAAK6Q,UAAUiB,EAAItX,MACvB,IAAI,IAAIhD,EAAE,EAAEA,EAAEwI,KAAK6Q,UAAUiB,EAAItX,MAAM9C,OAAOF,IAC7CwI,KAAK6Q,UAAUiB,EAAItX,MAAMhD,GAAGsa,IAW9B1C,aAAc,SAASvP,GAClB7B,SAAW6B,GACd7B,QAAQ+T,IAAIlS,IAQdmS,KAAM,SAASnS,GACX7B,SAASA,QAAQ+T,IAAIlS,IAOzB9D,MAAO,SAAShB,GACf,IAAIsD,EAAIiI,aAAc,MAAMvL,EAEzBiD,SAASA,QAAQ+T,IAAIhX,IAUzB4P,KAAM,SAASnT,GACd,IAAGwI,KAAKoH,QAAWpH,KAAKpB,KAExB,IACCoB,KAAKiJ,WAAW0B,KAAKnT,GAErBwI,KAAKmH,SAGN,MAAMpM,GACL,MAAMA,IASRuV,SAAU,WACT,IAAGtQ,KAAKoH,QAAWpH,KAAKpB,KAExB,IACCoB,KAAKiJ,WAAWqH,WAChBtQ,KAAKmH,SAEN,MAAMpM,GACLiF,KAAKjE,MAAMhB,KAQboP,KAAM,WACL,IAAGnK,KAAKoH,QAAWpH,KAAKpB,KAExB,IACCoB,KAAKiJ,WAAWkB,OAChBnK,KAAKmH,SAEN,MAAMpM,GACLiF,KAAKjE,MAAMhB,KAQbkX,MAAO,WACN,IAAGjS,KAAKoH,QAAWpH,KAAKpB,KAExB,IACCoB,KAAKiJ,WAAWgJ,QAChBjS,KAAKmH,SAEN,MAAMpM,GACLiF,KAAKjE,MAAMhB,KAUb+P,KAAM,SAAS5L,GACd,IAAGc,KAAKoH,QAAWpH,KAAKpB,KAAxB,CACA,IAAI4K,EACc,mBAARtK,IAAoBA,EAAOA,EAAKpH,KAAKkI,OAE7B,iBAARd,GACTsK,EAAOnL,EAAI6O,MAAMlN,KAAKiJ,WAAWO,MACjCA,EAAK/M,EAAIyC,GAAQ,GAEbsK,EAAOtK,EAEZ,IACCc,KAAKiJ,WAAW6B,KAAKtB,GACrBxJ,KAAKmH,SAEN,MAAMpM,GACLiF,KAAKjE,MAAMhB,MAUbmX,YAAa,WACZ,IAAIlS,KAAKpB,KAAM,OAAO,KACtB,IAAIG,EAAO,GACX,IAAI,IAAIrB,KAAOsC,KAAKpB,KAAKG,MACc,GAAnCV,EAAIuC,KAAKuR,SAASN,QAAQnU,KAC1BW,EAAIuC,KAAKwR,eAAe1U,GAC1BqB,EAAKV,EAAIhB,EAAEK,IAAQW,EAAIuC,KAAKwR,eAAe1U,GAAKsC,KAAKpB,KAAKG,KAAKrB,IAE3DqB,EAAKV,EAAIhB,EAAEK,IAAQW,EAAIgU,WAAWrS,KAAKpB,KAAKG,KAAKrB,KAEvD,OAAOqB,GAORsH,UAAW,SAASe,GACnBpH,KAAKoH,OAASA,EACdpH,KAAKoR,cAAc,CAClB5W,KAAMwF,KAAKoH,OAAS,SAAW,WAC/BvM,OAAQmF,QAQV8D,SAAU,SAASK,GAClBA,EAAK9I,YAAY2E,KAAK2B,UAOvBmP,MAAO,WACH9Q,KAAK2C,OAAO8E,YAAYzH,KAAKsS,SAAQ,IAOzCA,QAAS,SAASC,GAEhBxY,SAASyY,UADPD,EACmBhC,EAAQ5S,KAAKqC,MAGb,MAQvB2P,SAAU,SAAS4C,GAClB,IAAIvS,KAAKyS,iBAAmBF,EAAG,CAC9BvS,KAAKyS,gBAAkBxC,EAAUtS,KAAKqC,MACtC,IAAIxF,OAAkC8B,IAA1BvC,SAAS2Y,aAA8B,aAAe,iBAClE1S,KAAK2B,QAAQ+C,iBAAiBlK,EAAMwF,KAAKyS,sBAErC,GAAGzS,KAAKyS,kBAAoBF,EAAG,CAC/B/X,OAAkC8B,IAA1BvC,SAAS2Y,aAA8B,aAAe,iBAClE1S,KAAK2B,QAAQoJ,oBAAoBvQ,EAAMwF,KAAKyS,wBACrCzS,KAAKyS,kBAQdhF,eAAgB,SAAS8E,IACpBvS,KAAK2S,aAAeJ,GAEvBvS,KAAKmC,MAAMyQ,YAAY,IAAM,IAAM,IAAM,IAEzC5S,KAAKmC,MAAM0Q,gBAAgBxU,EAAImG,MAAMmO,cAE9B3S,KAAK2S,cAAgBJ,IAC5BvS,KAAKmC,MAAMyQ,WAAW,EAAG,EAAG,EAAG,GAC/B5S,KAAKmC,MAAM2Q,mBAAmBzU,EAAImG,MAAMmO,cAEzC3S,KAAK2S,YAAcJ,GAEjBQ,YAAY,WACR,IAAG/S,KAAKoH,QAAWpH,KAAKpB,KAExB,IACIoB,KAAKiJ,WAAWpK,KAAKmU,SACrBhT,KAAKmH,SAET,MAAMpM,GACFiF,KAAKjE,MAAMhB,KAGnBiY,OAAQ,WACJ,IAAGhT,KAAKoH,QAAWpH,KAAKpB,KAExB,IACIoB,KAAKiJ,WAAWqH,WAChB,IAAIzR,EAAKmB,KAAKiJ,WAAWpK,KACzBmB,KAAKiJ,WAAWpK,KAAKA,EAAK+L,SAAS/L,EAAKoU,gBAAgBD,SACxDhT,KAAKmH,SAET,MAAMpM,GACFiF,KAAKjE,MAAMhB,MAMvBmJ,EAAOE,QAAU,CAChB0C,SAAKxK,EACLyU,UAAMzU,EACNyK,aAASzK,EACT4C,UAAM5C,EACN6F,MAAO,GACPoF,aAAa,EACbC,YAAY,EACZC,YAAY,EACZC,cAAc,EACdT,gBAAY3K,EACZ6K,YAAQ7K,EACR8K,YAAQ9K,EACR+K,cAAU/K,EACVqL,mBAAmB,EACnBE,cAAc,EACd6E,mBAAmB,EACnBkE,cAAa,GAGdvS,EAAI6F,OAASA,EAQb,IAAIgP,EAAe,CAClB,aAAc,ukBAKd,MAAS,QACT,MAAS,QACT,GAAM,OACN,GAAM,OACN,GAAM,WACN,GAAM,cACN,GAAM,YACN,GAAM,gBACN,GAAM,YACN,GAAM,SACN,GAAM,WACN,GAAM,aACN,GAAM,SACN,GAAM,QACN,GAAM,QACN,GAAM,WACN,GAAM,QACN,GAAM,QACN,GAAM,SACN,KAAQ,OACR,MAAS,gBACT,MAAS,iBAGV,IAAI,IAAIxV,KAAOwV,EAAc7U,EAAIsI,KAAKC,GAAGlJ,GAAOwV,EAAaxV,GAztB7D,CA2tBGW,M;;;;;;;;;;;;;;;;;;;ACvsBH,SAAWH,EAAQ5B,GACjB,aAEA,IAAI6W,EAAUpZ,SAASC,qBAAqB,UACxCwP,EAAO2J,EAAQA,EAAQzb,OAAS,GAAGoD,IAAIsY,MAAM,KAAK,GAClDC,EAAQ7J,EAAK4J,MAAM,KAAKhV,MAAM,GAAI,GAAGuB,KAAK,KAAO,IAOjDtB,EAAM,CAERiV,QAAS,UAGTlU,EAAG,EACHC,GAAI,EAGJiH,cAAc,EACdiN,IAAKF,EAGLG,KAAM,KAGN7M,KAAM,CACJC,GAAI,KAKRvI,EAAIoV,OAA8E,GAAtEC,UAAUC,UAAUC,OAAO,uCACvCvV,EAAIwV,QAAkE,GAAzDH,UAAUC,UAAUC,OAAO,0BACxCvV,EAAIyV,MAA0D,GAAnDJ,UAAUC,UAAUC,OAAO,oBACtCvV,EAAI0V,SAA2E,GAAjEL,UAAUC,UAAUC,OAAO,oCAA4CvV,EAAIwV,SAAWxV,EAAIyV,KAGxGzV,EAAIhB,EAAI,SAAUmB,GAChB,IAAIwV,EAAM3V,EAAIsI,KAAKtI,EAAImV,MAAMhV,IAAQH,EAAIsI,KAAKC,GAAGpI,GACjD,GAAIwV,EAAK,CACP,IAAK,IAAIxc,EAAI,EAAGA,EAAIyc,UAAUvc,OAAQF,IACpCwc,EAAMA,EAAI1S,QAAQ,IAAK2S,UAAUzc,IAEnC,OAAOwc,EAET,OAAOxV,GAITH,EAAI4F,YAAc,SAAU1C,EAAQ2S,GAKlC,OAJAA,EAAMtc,UAAYD,OAAO8F,OAAO8D,EAAO3J,WACvCsc,EAAMtc,UAAUiL,YAAcqR,EAC9BA,EAAMtc,UAAUuc,MAAQ5S,EAEjB2S,GAIT7V,EAAI+V,eAAiB,WACnB,MAAMpZ,MAAM,kCAIdqD,EAAI6O,MAAQ,SAAUmH,GACpB,GAAIA,GAAqB,UAAd,EAAOA,GAAiB,CACjC,IAAIC,EAAQD,EAAIxR,aAAeC,MAAQ,GAAK,GAE5C,IAAK,IAAIpF,KAAO2W,EACVA,EAAI3W,IAAQ2W,EAAKC,EAAM5W,GAAO2W,EAC7BC,EAAM5W,GAAOW,EAAI6O,MAAMmH,EAAI3W,IAGlC,OAAO4W,EACF,OAAOD,GAIhBhW,EAAIgU,WAAa,SAAUxS,GACzB,OAAKA,GAAuB,iBAARA,EACbA,EAAKyB,QAAQ,KAAM,QAAQA,QAAQ,KAAM,QADHzB,GAqC/C,IAAI2E,EAAQ,SAARA,EAAkBL,EAAMxB,GACtBA,EAASA,GAAU,GAGvB,IAAK,IAAIjF,KAAOiF,EAAQ3C,KAAKtC,GAAOiF,EAAOjF,GAG3C,IAAK,IAAIA,KAAOW,EAAImG,MAAMJ,QAAepE,KAAKtC,KAASpB,IAAW0D,KAAKtC,GAAOW,EAAImG,MAAMJ,QAAQ1G,IAEhG,IAAK,IAAIA,KAAO8G,EAAM+P,OAAOnQ,QAAepE,KAAK2M,MAAMjP,KAASpB,IAAW0D,KAAK2M,MAAMjP,GAAO8G,EAAM+P,OAAOnQ,QAAQ1G,IAGlHsC,KAAKwU,GAAKxU,KAAKyU,QAAQpS,KACvBrC,KAAK0U,GAAK1U,KAAKyU,QAAQlS,IACvBvC,KAAK2U,GAAK3U,KAAKf,KAAO,EAAIe,KAAKyU,QAAQnS,MACvCtC,KAAK4U,GAAK5U,KAAKf,KAAO,EAAIe,KAAKyU,QAAQjS,OAGvCxC,KAAKyE,OAGLN,EAAK9I,YAAY2E,KAAK2B,SAKtB3B,KAAK6U,WAAa3W,EAAO4W,kBAAoB,EAEzC9U,KAAKoD,OAASpD,KAAKgD,OAAQhD,KAAK+U,cAAc/U,KAAKoD,MAAOpD,KAAKgD,QAC1DhD,KAAKoD,MAAOpD,KAAK0F,SAAS1F,KAAKoD,OAC/BpD,KAAKgD,QAAQhD,KAAKyF,UAAUzF,KAAKgD,SAI5CwB,EAAM+P,OAAS,GAEf/P,EAAM+P,OAAOS,IAAM,CACjBC,YAAa,qBACbC,uBAAwB,mBACxBC,WAAY,EACZC,WAAY,SAAUjT,GACpB,OAAOA,EAAMiT,YAEfC,iBAAkB,wBAClBC,iBAAkB,kBAClBC,gBAAiB,kBACjBC,iBAAkB,SAAUrT,GAC1B,OAAOA,EAAMsT,cAAgBtT,EAAMuT,YAAc,EAAIvT,EAAMwT,WAE7DC,eAAgB,EAChBhJ,eAAgB,SAAUzK,GACxB,MAAO,cAAgB0T,KAAKC,IAAI,EAAG3T,EAAMuT,YAAc,IAAM,KAE/DK,UAAW,OACXC,SAAU,SAAU7T,GAClB,OAAOA,EAAM6T,UAAa7T,EAAMiB,MAAQ,IAAO,IAEjD6S,UAAW,SAAU9T,GACnB,OAAOA,EAAM8T,UAAYJ,KAAKC,IAAI3T,EAAM+T,WAAY/T,EAAMgU,aAAe,GAE3EC,iBAAkB,kBAClBC,KAAM,SAAUlU,GACd,OAAOA,EAAMkU,MAEfC,WAAY,IASd9R,EAAM+P,OAAOnQ,QAAU,CACrB6Q,YAAa,qBACbC,uBAAwB,mBACxBC,WAAY,SAAUhT,GACpB,MAA2B,GAApBA,EAAMuT,aAEfN,WAAY,EACZC,iBAAkB,wBAClBC,iBAAkB,kBAClBC,gBAAiB,kBACjBC,iBAAkB,SAAUrT,GAC1B,OAAOA,EAAMuT,YAAc,GAE7BE,eAAgB,SAAUzT,GACxB,OAAOA,EAAMuT,YAAc,IAE7B9I,eAAgB,UAChBmJ,UAAW,OACXC,SAAU,SAAU7T,GAClB,OAAQA,EAAMuT,YAAc,EAAK,GAEnCO,UAAW,SAAU9T,GACnB,OAAO0T,KAAKC,IAAI3T,EAAM+T,WAAY/T,EAAMgU,aAAe,GAEzDC,iBAAkB,OAClB/G,eAAgB,qBAChBgH,KAAM,UACNC,WAAY,KAGd,IA0GIC,EA1GAC,EAAiB,SAAU9Y,EAAKyE,GAClC,MAAkC,mBAApBA,EAAMwK,MAAMjP,GAAqByE,EAAMwK,MAAMjP,GAAKyE,GAASA,EAAMwK,MAAMjP,IAGnF+Y,EAAiB,CACnBC,KAAM,SAAUC,EAAMxU,GACpB,IAAIyU,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACvBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YAEb1V,KAAKiX,YAEL,IAAIC,EAAOV,EAAe,aAAcrU,GACpCgV,EAAStB,KAAKuB,IAAI,EAAGJ,EAAK,IAC1BK,EAAWrX,KAAKsX,qBAAqBV,EAAKzU,EAAMoV,GAAIT,EAAK3U,EAAMoV,GAAIJ,EAAS,EAAID,EAAMN,EAAKzU,EAAMoV,GAAIT,EAAK3U,EAAMoV,GAAIJ,EAASD,GAEjIG,EAASG,aAAa,EAAGhB,EAAe,cAAerU,IACvDkV,EAASG,aAAa,EAAGhB,EAAe,yBAA0BrU,IAElEnC,KAAKyX,UAAYJ,EAEjBrX,KAAK0X,IAAId,EAAKzU,EAAMoV,GAAIT,EAAK3U,EAAMoV,GAAIJ,EAASD,EAAM,EAAG,EAAIrB,KAAK8B,IAAI,GACtE3X,KAAK4X,QAEPC,MAAO,SAAUlB,EAAMxU,GACrB,IAAIyU,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACvBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YACb1V,KAAK8X,UAAUlB,EAAK,IAAMI,EAAK7U,EAAMoV,GAAIT,EAAK,IAAME,EAAK7U,EAAMoV,GAAI,IAAMP,EAAI,IAAMA,KAuCnFe,EAAmB,SAAU5V,EAAO7C,EAAGC,GACzC,OAAI4C,EAAM6V,QAAQ1Y,GAAGC,GAAG,GAAG7C,GAAK2B,EAAIe,EAAUoX,EAAe,mBAAoBrU,GACxEA,EAAM6V,QAAQ1Y,GAAGC,GAAG,GAAG7C,GAAK2B,EAAIgB,EAAUmX,EAAe,mBAAoBrU,GAC/EqU,EAAe,kBAAmBrU,IAGvC8V,EAAgB,SAAU9V,EAAO7C,EAAGC,GACtC,OAAQ4C,EAAM6V,QAAQ1Y,GAAGC,GAAG,IAAM4C,EAAM6V,QAAQ1Y,GAAGC,GAAG,GAAG7C,GAAK2B,EAAIgB,GAAK8C,EAAM6V,QAAQ1Y,GAAGC,GAAG,GAAG7C,GAAK2B,EAAIe,GAGrG8Y,EAAe,SAAU/V,EAAOgW,GAGlChW,EAAMgW,GAAON,QACb1V,EAAMgW,GAAOzB,KAAKvU,GAElB,IAAK,IAAI7C,EAAI,EAAGA,EAAI6C,EAAMlD,KAAMK,IAC9B,IAAK,IAAIC,EAAI,EAAGA,EAAI4C,EAAMlD,KAAMM,IAC9B,IAAK,IAAI6Y,EAAI,EAAGA,EAAIjW,EAAM6V,QAAQ1Y,GAAGC,GAAG7H,OAAQ0gB,IAAK,CACnD,IAAI/D,EAAMlS,EAAM6V,QAAQ1Y,GAAGC,GAAG6Y,GAEQC,EADjChE,EAAI7Z,KACmB,iBAAZ6Z,EAAI7Z,KAA4BgK,EAAMsI,aAAauH,EAAI7Z,MACxD6Z,EAAI7Z,KAFM2H,EAAM0K,aAI3BwL,EAAQF,IAAQE,EAAQF,GAAOzB,KAAK5e,KAAKqK,EAAMgW,GAAOG,WAAWjE,GAAMA,EAAKlS,GAKtF,IAAK,IAAI3K,EAAI,EAAGA,EAAI2K,EAAMoW,SAAS7gB,OAAQF,IAAK,CAC1C6c,EAAMlS,EAAMoW,SAAS/gB,GAAzB,IACI6gB,EAAUhE,EAAIgE,QAEdA,EAAQF,IAAQE,EAAQF,GAAOzB,KAAK5e,KAAKqK,EAAMgW,GAAOG,WAAWjE,EAAIsC,MAAOtC,EAAIsC,KAAMxU,KAQ1FqW,EAAkB,SAAUC,EAAKnZ,EAAGC,EAAG4X,EAAQuB,EAAaC,EAAWC,EAAQC,GACjFJ,EAAIK,YAAc,qBAElBL,EAAI9C,UAAawB,EAAS,GAAM0B,EAChCJ,EAAIxB,YAEJE,GAAUtB,KAAKuB,IAAI,EAAGqB,EAAI9C,WAE1B,IAKIlZ,EAAGsc,EAAUC,EAAQC,EALrBrP,EAAKtK,EAAI6X,EAAStB,KAAKqD,IAAIR,EAAc7C,KAAK8B,IAC9C5N,EAAKxK,EAAI4X,EAAStB,KAAKsD,IAAIT,EAAc7C,KAAK8B,IAC9CyB,EAAK9Z,EAAI6X,EAAStB,KAAKqD,IAAIP,EAAY9C,KAAK8B,IAC5C0B,EAAK9Z,EAAI4X,EAAStB,KAAKsD,IAAIR,EAAY9C,KAAK8B,IAG5CyB,EAAKxP,GACPnN,GAAK4c,EAAKtP,IAAOqP,EAAKxP,GACtBmP,EAAQlD,KAAKyD,KAAK7c,IACT2c,GAAMxP,EACfmP,EAAQlD,KAAK8B,GAAK,GAElBlb,GAAK4c,EAAKtP,IAAOqP,EAAKxP,GACtBmP,EAAQlD,KAAKyD,KAAK7c,GAAKoZ,KAAK8B,IAG9B,IAAIjb,EAAIkc,EAASzB,EACjB6B,EAASnD,KAAKsD,IAAIJ,GAASrc,EAC3Buc,EAASpD,KAAKqD,IAAIH,GAASrc,EAE3B,IAAI6c,EAAM3P,EAAKoP,EACXQ,EAAMzP,EAAKkP,EAEXQ,EAAML,EAAKJ,EACXU,EAAML,EAAKJ,EAEfR,EAAIkB,OAAO/P,EAAIG,GACf0O,EAAImB,cAAcL,EAAKC,EAAKC,EAAKC,EAAKN,EAAIC,GAC1CZ,EAAIoB,UAGFC,EAAa,SAAUC,GAIzB,IAHA,IAAIC,EAAaD,EAAIhB,MACjBkB,EAAWF,EAAIhB,MAEVvhB,EAAI,EAAGA,EAAIuiB,EAAIG,MAAMxiB,OAAQF,IACpCwiB,GAAcD,EAAIG,MAAM1iB,GACxByiB,GAAYF,EAAIG,MAAM1iB,GACtBghB,EAAgBuB,EAAItB,IAAKsB,EAAIza,EAAGya,EAAIxa,EAAGwa,EAAI5C,OAAQ6C,EAAYC,EAAUF,EAAInB,OAAQmB,EAAIlB,YAM7FrU,EAAMsI,aAAe,CAGnBqN,OAAQ,CAENC,MAAO,CAGL1D,KAAM,SAAUC,EAAMxU,GACpB,IAGEkY,EAHEzD,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACvBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YAITiB,EAAKja,GAAK2B,EAAIgB,GAChBgb,EAAUra,KAAKsX,qBAAqBV,EAAK,EAAII,EAAK,EAAGF,EAAK,EAAIE,EAAK,EAAGA,EAAK,EAAGJ,EAAKI,EAAK,EAAGF,EAAKE,EAAK,EAAG,EAAIA,EAAK,GACjHqD,EAAQ7C,aAAa,EAAG,QACxB6C,EAAQ7C,aAAa,EAAG,UAExB6C,EAAUra,KAAKsX,qBAAqBV,EAAK,EAAII,EAAK,EAAGF,EAAK,EAAIE,EAAK,EAAG,EAAGJ,EAAKI,EAAK,EAAGF,EAAKE,EAAK,EAAG,EAAIA,EAAK,GAC5GqD,EAAQ7C,aAAa,EAAG,QACxB6C,EAAQ7C,aAAa,EAAG,SAI1BxX,KAAKiX,YACLjX,KAAKyX,UAAY4C,EACjBra,KAAK0X,IAAId,EAAKzU,EAAMoV,GAAIT,EAAK3U,EAAMoV,GAAI1B,KAAKuB,IAAI,EAAGJ,EAAK,IAAM,EAAG,EAAInB,KAAK8B,IAAI,GAC9E3X,KAAK4X,SAIT0C,OAAQ7D,GAEV8D,QAAS,CACPH,MAAO,CACL1D,KAAM,SAAUC,EAAMxU,GACpB,IAGEkY,EAHEzD,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACvBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YAGTiB,EAAKja,GAAK2B,EAAIgB,GAChBgb,EAAUra,KAAKsX,qBAAqBV,EAAK,EAAII,EAAK,EAAGF,EAAK,EAAIE,EAAK,EAAG,EAAGJ,EAAKI,EAAK,EAAGF,EAAKE,EAAK,EAAG,EAAIA,EAAK,GAC5GqD,EAAQ7C,aAAa,EAAG,QACxB6C,EAAQ7C,aAAa,EAAG,UAExB6C,EAAUra,KAAKsX,qBAAqBV,EAAK,EAAII,EAAK,EAAGF,EAAK,EAAIE,EAAK,EAAG,EAAGJ,EAAKI,EAAK,EAAGF,EAAKE,EAAK,EAAG,EAAIA,EAAK,GAC5GqD,EAAQ7C,aAAa,EAAG,QACxB6C,EAAQ7C,aAAa,EAAG,SAG1BxX,KAAKiX,YACLjX,KAAKyX,UAAY4C,EACjBra,KAAK0X,IAAId,EAAKzU,EAAMoV,GAAIT,EAAK3U,EAAMoV,GAAI1B,KAAKuB,IAAI,EAAGJ,EAAK,IAAM,EAAG,EAAInB,KAAK8B,IAAI,GAC9E3X,KAAK4X,OAEL5X,KAAKiX,YACLjX,KAAK2V,UAAYqB,EAAK,EAElBL,EAAKja,GAAK2B,EAAIgB,GAChBW,KAAK8Y,YAAc,OACnB9Y,KAAK0X,IAAId,EAAKI,EAAK,EAAGF,EAAKE,EAAK,EAAGA,EAAK,EAAG,EAAGnB,KAAK8B,GAAK,GAAG,KAE3D3X,KAAK8Y,YAAc,OACnB9Y,KAAK0X,IAAId,EAAKI,EAAK,EAAGF,EAAKE,EAAK,EAAGA,EAAK,EAAGnB,KAAK8B,GAAI,IAAM9B,KAAK8B,KAGjE3X,KAAK6Z,WAGTS,OAAQ7D,GAGV+D,UAAW,CACTJ,MAAO,CACL1D,KAAM,SAAUC,EAAMxU,GACpB,IAAIyU,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACvBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YAET+E,EAAatY,EAAMuY,kBAAkBhjB,OACrCijB,EAAaxY,EAAMyY,kBAAkBljB,OAEX,qBAAnBsI,KAAK6a,YACd7a,KAAK6a,UAAYhF,KAAKiF,KAAqB,IAAhBjF,KAAKkF,WAGlC,IAAIC,EAAS,WACX7Y,EAAM6Y,UAKJC,EAAS,SAAUC,GACrB,MAAmB,kBAARA,MACNA,EAAIC,WACsB,oBAApBD,EAAIE,cAAmD,GAApBF,EAAIE,gBAMpD,GAAIzE,EAAKja,GAAK2B,EAAIgB,EAAG,CACnB,IAAIgc,EAAMrb,KAAK6a,UAAYJ,EAC3B,GAA4C,kBAAjCtY,EAAMuY,kBAAkBW,GAAmB,CAEpD,IAAIC,EAAe,IAAIC,MAIvBD,EAAa7gB,OAASugB,EACtBM,EAAaxgB,IAAMqH,EAAMuY,kBAAkBW,GAC3ClZ,EAAMuY,kBAAkBW,GAAOC,EAG7BL,EAAO9Y,EAAMuY,kBAAkBW,KACjCrb,KAAKwb,UAAUrZ,EAAMuY,kBAAkBW,GAAMzE,EAAKI,EAAIF,EAAKE,EAAI,EAAIA,EAAI,EAAIA,OAKxE,CACDqE,EAAMrb,KAAK6a,UAAYF,EAC3B,GAA4C,kBAAjCxY,EAAMyY,kBAAkBS,GAAmB,CAChDC,EAAe,IAAIC,MACvBD,EAAa7gB,OAASugB,EACtBM,EAAaxgB,IAAMqH,EAAMyY,kBAAkBS,GAC3ClZ,EAAMyY,kBAAkBS,GAAOC,EAG7BL,EAAO9Y,EAAMyY,kBAAkBS,KACjCrb,KAAKwb,UAAUrZ,EAAMyY,kBAAkBS,GAAMzE,EAAKI,EAAIF,EAAKE,EAAI,EAAIA,EAAI,EAAIA,OAUrFyE,KAAM,CACJrB,MAAO,CACL1D,KAAM,SAAUC,EAAMxU,GACpB,IAIIkY,EAJAzD,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACvBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YAGTiB,EAAKja,GAAK2B,EAAIgB,GAChBgb,EAAUra,KAAKsX,qBAAqBV,EAAK,EAAII,EAAK,EAAGF,EAAK,EAAIE,EAAK,EAAGA,EAAK,EAAGJ,EAAKI,EAAK,EAAGF,EAAKE,EAAK,EAAG,EAAIA,EAAK,GACjHqD,EAAQ7C,aAAa,EAAG,QACxB6C,EAAQ7C,aAAa,EAAG,UAExB6C,EAAUra,KAAKsX,qBAAqBV,EAAK,EAAII,EAAK,EAAGF,EAAK,EAAIE,EAAK,EAAG,EAAGJ,EAAKI,EAAK,EAAGF,EAAKE,EAAK,EAAG,EAAIA,EAAK,GAC5GqD,EAAQ7C,aAAa,EAAG,QACxB6C,EAAQ7C,aAAa,EAAG,SAG1BxX,KAAKiX,YACLjX,KAAKyX,UAAY4C,EACjBra,KAAK0X,IAAId,EAAKzU,EAAMoV,GAAIT,EAAK3U,EAAMoV,GAAI1B,KAAKuB,IAAI,EAAGJ,EAAK,IAAM,EAAG,EAAInB,KAAK8B,IAAI,GAC9E3X,KAAK4X,SAGT0C,OAAQ7D,GAEViF,MAAO,CACLtB,MAAO,CACL1D,KAAM,SAAUC,EAAMxU,GACpB,IAAIyU,EACFE,EAQEuD,EAPFrD,EAAK7U,EAAMuT,YAqBb,GAnBAa,EAAaA,GAAcV,KAAKiF,KAAqB,QAAhBjF,KAAKkF,UAE1CnE,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACrBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GAKnB8a,EADE1D,EAAKja,GAAK2B,EAAIgB,EACN,OAEA,OAGZW,KAAKiX,YACLjX,KAAKyX,UAAY4C,EACjBra,KAAK0X,IAAId,EAAKzU,EAAMoV,GAAIT,EAAK3U,EAAMoV,GAAI1B,KAAKuB,IAAI,EAAGJ,EAAK,IAAM,EAAG,EAAInB,KAAK8B,IAAI,GAC9E3X,KAAK4X,OAGDjB,EAAKja,GAAK2B,EAAIgB,EAAG,CAEnB,IAAI7E,EAAO+b,GAAc,EAAII,EAAKrX,EAAI6C,EAAMlD,KAAO0X,EAAKpX,GAAK,EACzD6Y,EAAIjW,EAAMlD,KAAOkD,EAAMlD,KAAO0X,EAAKrX,EAAI6C,EAAMlD,KAAO0X,EAAKpX,EACzDwZ,EAAS,EAAIX,GAAM7B,EAAa6B,GAGlC0B,EADU,GAARtf,EACS,CACTie,IAAKzY,KACLV,EAAGsX,EACHrX,EAAGuX,EACHK,OAAQH,EACR+B,MAAOA,EACPmB,MAAO,CAAC,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,KAClDtB,OAAQ,IACRC,UAAW,MAEI,GAARre,EACE,CACTie,IAAKzY,KACLV,EAAGsX,EACHrX,EAAGuX,EACHK,OAAQH,EACR+B,MAAOA,EACPmB,MAAO,CAAC,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,KACpEtB,OAAQ,GACRC,UAAW,KAGF,CACTJ,IAAKzY,KACLV,EAAGsX,EACHrX,EAAGuX,EACHK,OAAQH,EACR+B,MAAOA,EACPmB,MAAO,CAAC,IAAM,IAAM,IAAM,IAAM,IAAM,KACtCtB,OAAQ,GACRC,UAAW,IAGfwB,EAAUra,KAAKsX,qBAAqBV,EAAK,EAAII,EAAK,EAAGF,EAAK,EAAIE,EAAK,EAAGA,EAAK,EAAGJ,EAAKI,EAAK,EAAGF,EAAKE,EAAK,EAAG,EAAIA,EAAK,GACjHqD,EAAQ7C,aAAa,EAAG,yBACxB6C,EAAQ7C,aAAa,EAAG,uBAGxBxX,KAAKiX,YACLjX,KAAKyX,UAAY4C,EACjBra,KAAK0X,IAAId,EAAKzU,EAAMoV,GAAIT,EAAK3U,EAAMoV,GAAI1B,KAAKuB,IAAI,EAAGJ,EAAK,IAAM,EAAG,EAAInB,KAAK8B,IAAI,GAC9E3X,KAAK4X,YAELyC,EAAUra,KAAKsX,qBAAqBV,EAAK,GAAMI,EAAIF,EAAK,GAAME,EAAI,EAAGJ,EAAK,GAAMI,EAAIF,EAAK,GAAME,EAAIA,GACnGqD,EAAQ7C,aAAa,EAAG,oBACxB6C,EAAQ7C,aAAa,EAAG,iBAExBxX,KAAKiX,YACLjX,KAAKyX,UAAY4C,EACjBra,KAAK0X,IAAId,EAAKzU,EAAMoV,GAAIT,EAAK3U,EAAMoV,GAAI1B,KAAKuB,IAAI,EAAGJ,EAAK,IAAM,EAAG,EAAInB,KAAK8B,IAAI,GAC9E3X,KAAK4X,OAELyC,EAAUra,KAAKsX,qBAAqBV,EAAK,GAAMI,EAAIF,EAAK,GAAME,EAAI,EAAGJ,EAAK,GAAMI,EAAIF,EAAK,GAAME,EAAI,IAAMA,GACzGqD,EAAQ7C,aAAa,EAAG,oBACxB6C,EAAQ7C,aAAa,EAAG,iBAExBxX,KAAKiX,YACLjX,KAAKyX,UAAY4C,EACjBra,KAAK0X,IAAId,EAAKzU,EAAMoV,GAAIT,EAAK3U,EAAMoV,GAAI1B,KAAKuB,IAAI,EAAGJ,EAAK,IAAM,EAAG,EAAInB,KAAK8B,IAAI,GAC9E3X,KAAK4X,SAIX0C,OAAQ7D,GAGV1J,KAAM,CACJqN,MAAO,CACL1D,KAAM,SAAUC,EAAMxU,GACpB,IAAIyU,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACvBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YACXiG,EAAKnF,EAAe,mBAAoBrU,IAAU,EAEhDwU,EAAKja,GAAK2B,EAAIgB,EAAGW,KAAKyX,UAAY,QACjCzX,KAAKyX,UAAY,QAEtBzX,KAAKiX,YACLjX,KAAK0X,IAAId,EAAIE,EAAIjB,KAAKuB,IAAI,EAAGJ,EAAK2E,GAAK,EAAG,EAAI9F,KAAK8B,IAAI,GACvD3X,KAAK4X,OAEL5X,KAAK2V,UAAYgG,EACjB3b,KAAK8Y,YAAc,QACnB9Y,KAAK6Z,YAIX+B,QAAS,CACPxB,MAAO,CACL1D,KAAM,SAAUC,EAAMxU,GACpB,IAAIyU,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACrBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YACXiG,EAAKnF,EAAe,mBAAoBrU,IAAU,EAClDkU,EAAOM,EAAKN,MAAQG,EAAe,OAAQrU,IAAU,GAEzDnC,KAAKyX,UAAYd,EAAKja,GAAKqb,EAAiB5V,EAAOwU,EAAKrX,EAAGqX,EAAKpX,GAExC,GAApBoX,EAAK9W,KAAKnI,OAAasI,KAAKqW,KAAOR,KAAKgG,MAAW,IAAL7E,GAAY,MAAQX,EACzC,GAApBM,EAAK9W,KAAKnI,OAAasI,KAAKqW,KAAOR,KAAKgG,MAAW,IAAL7E,GAAY,MAAQX,EAClEM,EAAK9W,KAAKnI,OAAS,EAAGsI,KAAKqW,KAAOR,KAAKgG,MAAW,EAAL7E,EAAS,GAAK,MAAQX,EACvErW,KAAKqW,KAAOR,KAAKgG,MAAM7E,GAAM,MAAQX,EAC1CrW,KAAKiX,YACLjX,KAAK0X,IAAId,EAAIE,EAAIjB,KAAKuB,IAAI,EAAGJ,EAAK2E,GAAK,EAAG,EAAI9F,KAAK8B,IAAI,GACvD3X,KAAK4X,OACL5X,KAAKyX,UAAY,UACjBzX,KAAK8b,aAAe,SACpB9b,KAAK+b,UAAY,SACjB/b,KAAKgc,SAASrF,EAAK9W,KAAM+W,EAAIE,EAAI,EAAIE,GACjCL,EAAKsF,UACPjc,KAAK2V,UAAY,EACjB3V,KAAK8Y,YAAc,MACnB9Y,KAAK6Z,YAIXS,OAAQ7D,GAEVyF,GAAI,CACF9B,MAAO,CACL1D,KAAM,SAAUC,EAAMxU,GACpB,IAAIyU,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACvBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YAGb1V,KAAK8Y,YAAc,MACnB9Y,KAAK2V,UAAYgB,EAAKhB,WAAaa,EAAe,mBAAoBrU,IAAU,EAChFnC,KAAKiX,YACLjX,KAAK0X,IAAId,EAAKzU,EAAMoV,GAAIT,EAAK3U,EAAMoV,GAAIP,EAAK,EAAG,EAAG,EAAInB,KAAK8B,IAAI,GAC/D3X,KAAK6Z,YAKXsC,GAAI,CACF/B,MAAO,CACL1D,KAAM,SAAUC,EAAMxU,GACpB,IAAIyU,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACvBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YACXW,EAAOM,EAAKN,MAAQG,EAAe,OAAQrU,IAAU,GAEvDnC,KAAKyX,UAAYd,EAAKja,GAAKqb,EAAiB5V,EAAOwU,EAAKrX,EAAGqX,EAAKpX,GAExC,GAApBoX,EAAK9W,KAAKnI,OAAasI,KAAKqW,KAAOR,KAAKgG,MAAW,IAAL7E,GAAY,MAAQX,EACzC,GAApBM,EAAK9W,KAAKnI,OAAasI,KAAKqW,KAAOR,KAAKgG,MAAW,IAAL7E,GAAY,MAAQX,EACtErW,KAAKqW,KAAOR,KAAKgG,MAAM7E,GAAM,MAAQX,EAE1CrW,KAAKiX,YACLjX,KAAK8b,aAAe,SACpB9b,KAAK+b,UAAY,SACjB/b,KAAKgc,SAASrF,EAAK9W,KAAM+W,EAAIE,EAAI,EAAIE,KAKzCoF,KAAM,CACJ1F,KAAM,SAAUC,EAAMxU,GACpB,IAAK8V,EAAc9V,EAAOwU,EAAKrX,EAAGqX,EAAKpX,KAAOoX,EAAK0F,QAAS,CAC1D,IAAIzF,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACvBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YACb1V,KAAK8X,UAAUlB,EAAKI,EAAIF,EAAKE,EAAI,EAAIA,EAAI,EAAIA,KAGjDa,MAAO,SAAUlB,EAAMxU,GAChB8V,EAAc9V,EAAOwU,EAAKrX,EAAGqX,EAAKpX,KACrCoX,EAAK0F,SAAU,EACfnE,EAAa/V,EAAO,eACbwU,EAAK0F,YAKpBC,OAAQ,CACNlC,MAAO,CACL1D,KAAM,SAAUC,EAAMxU,GACpB,IAAIyU,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACvBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YAEb1V,KAAK8Y,YAAcnC,EAAKja,GAAKqb,EAAiB5V,EAAOwU,EAAKrX,EAAGqX,EAAKpX,GAClES,KAAK2V,UAAYgB,EAAKhB,WAAaa,EAAe,mBAAoBrU,IAAU,EAChFnC,KAAKiX,YACLjX,KAAK0X,IAAId,EAAKzU,EAAMoV,GAAIT,EAAK3U,EAAMoV,GAAIP,EAAI,EAAG,EAAInB,KAAK8B,IAAI,GAC3D3X,KAAK6Z,YAKX0C,GAAI,CACFnC,MAAO,CACL1D,KAAM,SAAUC,EAAMxU,GACpB,IAAIyU,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACvBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAKnB,KAAKgG,MAAM1Z,EAAMuT,aAExB1V,KAAK8Y,YAAcnC,EAAKja,GAAKqb,EAAiB5V,EAAOwU,EAAKrX,EAAGqX,EAAKpX,GAClES,KAAK2V,UAAYgB,EAAKhB,WAAaa,EAAe,mBAAoBrU,IAAU,EAChFnC,KAAKiX,YACLjX,KAAKwc,KAAK3G,KAAKgG,MAAMjF,EAAKI,EAAK,GAAK7U,EAAMoV,GAAI1B,KAAKgG,MAAM/E,EAAKE,EAAK,GAAK7U,EAAMoV,GAAIP,EAAIA,GACtFhX,KAAK6Z,YAKX4C,GAAI,CACFrC,MAAO,CACL1D,KAAM,SAAUC,EAAMxU,GACpB,IAAIyU,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACvBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YAEb1V,KAAK8Y,YAAcnC,EAAKja,GAAKqb,EAAiB5V,EAAOwU,EAAKrX,EAAGqX,EAAKpX,GAClES,KAAK2V,UAAYgB,EAAKhB,WAAaa,EAAe,mBAAoBrU,IAAU,EAChFnC,KAAKiX,YACLjX,KAAK2Z,OAAO/C,EAAKzU,EAAMoV,GAAIT,EAAK3U,EAAMoV,GAAK1B,KAAKgG,MAAM7E,EAAK,IAC3DhX,KAAK0c,OAAO7G,KAAKgG,MAAMjF,EAAKI,EAAK,GAAK7U,EAAMoV,GAAI1B,KAAKgG,MAAM/E,EAAKE,EAAK,GAAK7U,EAAMoV,IAChFvX,KAAK0c,OAAO7G,KAAKgG,MAAMjF,EAAKI,EAAK,GAAK7U,EAAMoV,GAAI1B,KAAKgG,MAAM/E,EAAKE,EAAK,GAAK7U,EAAMoV,IAChFvX,KAAK2c,YACL3c,KAAK6Z,YAKX+C,GAAI,CACFxC,MAAO,CACL1D,KAAM,SAAUC,EAAMxU,GACpB,IAAIyU,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACvBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YAEb1V,KAAK8Y,YAAcnC,EAAKja,GAAKqb,EAAiB5V,EAAOwU,EAAKrX,EAAGqX,EAAKpX,GAClES,KAAK6c,QAAU,QACf7c,KAAK2V,UAAiF,GAApEgB,EAAKhB,WAAaa,EAAe,mBAAoBrU,IAAU,GAAS,EAC1FnC,KAAKiX,YACLjX,KAAK2Z,OAAO9D,KAAKgG,MAAMjF,EAAKI,EAAK,GAAInB,KAAKgG,MAAM/E,EAAKE,EAAK,IAC1DhX,KAAK0c,OAAO7G,KAAKgG,MAAMjF,EAAKI,EAAK,GAAInB,KAAKgG,MAAM/E,EAAKE,EAAK,IAC1DhX,KAAK2Z,OAAO9D,KAAKgG,MAAMjF,EAAKI,EAAK,GAAK,EAAGnB,KAAKgG,MAAM/E,EAAKE,EAAK,IAC9DhX,KAAK0c,OAAO7G,KAAKgG,MAAMjF,EAAKI,EAAK,GAAK,EAAGnB,KAAKgG,MAAM/E,EAAKE,EAAK,IAC9DhX,KAAK6Z,SACL7Z,KAAK6c,QAAU,UAKrBC,GAAI,CACF1C,MAAO,CACL1D,KAAM,SAAUC,EAAMxU,GACpB,IAAIyU,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACvBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YAEb1V,KAAKyX,UAAYd,EAAKja,GAAKqb,EAAiB5V,EAAOwU,EAAKrX,EAAGqX,EAAKpX,GAChES,KAAKiX,YACLjX,KAAKwc,KAAK5F,EAAKI,EAAK,EAAGF,EAAKE,EAAK,EAAGA,EAAIA,GACxChX,KAAK4X,UAKXmF,GAAI,CACF3C,MAAO,CACL1D,KAAM,SAAUC,EAAMxU,GACpB,IAAIyU,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACvBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YAEb1V,KAAK8Y,YAAcnC,EAAKja,GAAKqb,EAAiB5V,EAAOwU,EAAKrX,EAAGqX,EAAKpX,GAClES,KAAK2V,UAAiF,GAApEgB,EAAKhB,WAAaa,EAAe,mBAAoBrU,IAAU,GACjFnC,KAAKiX,YACLjX,KAAK0X,IAAId,EAAKI,EAAK,EAAGF,EAAKE,EAAK,EAAGA,EAAK,EAAG,EAAG,EAAInB,KAAK8B,IAAI,GAC3D3X,KAAK6Z,SACL7Z,KAAKiX,YACLjX,KAAK0X,IAAId,EAAKI,EAAK,EAAGF,EAAKE,EAAK,EAAGA,EAAK,EAAG,EAAG,EAAInB,KAAK8B,IAAI,GAC3D3X,KAAK6Z,SACL7Z,KAAKiX,YACLjX,KAAK2Z,OAAO/C,EAAKI,EAAK,IAAKF,GAC3B9W,KAAK4Z,cAAchD,EAAKI,EAAK,IAAKF,EAAKE,EAAK,EAAGJ,EAAKI,EAAK,IAAKF,EAAKE,EAAK,EAAGJ,EAAKI,EAAK,IAAKF,GAC1F9W,KAAK6Z,YAKXmD,QAAS,CACP5C,MAAO,CACL1D,KAAM,SAAUC,EAAMxU,GAChBwU,EAAKsG,MAAOjd,KAAKkd,YAAcvG,EAAKsG,MACnCjd,KAAKkd,YAAc,GACpBvG,EAAKwG,WAAY3Y,EAAMsI,aAAa6J,EAAKwG,YAAY/C,MAAM1D,KAAK5e,KAAKkI,KAAM2W,EAAMxU,GAChFA,EAAM0K,aAAauN,MAAM1D,KAAK5e,KAAKkI,KAAM2W,EAAMxU,GACpDnC,KAAKkd,YAAc,KAKzBE,KAAM,CACJhD,MAAO,CACL1D,KAAM,SAAUC,EAAMxU,GACpBA,EAAMuT,YAAcvT,EAAMuT,YAAc,EACpCiB,EAAKwG,WAAY3Y,EAAMsI,aAAa6J,EAAKwG,YAAY/C,MAAM1D,KAAK5e,KAAKkI,KAAM2W,EAAMxU,GAChFA,EAAM0K,aAAauN,MAAM1D,KAAK5e,KAAKkI,KAAM2W,EAAMxU,GACpDA,EAAMuT,YAAkC,EAApBvT,EAAMuT,eAIhC2H,KAAM,CACJjD,MAAO,CACL1D,KAAM,SAAUC,EAAMxU,GACpB,IAAIyU,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACvBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YACT2E,EAAUra,KAAKsX,qBAAqBV,EAAKI,EAAK,GAAIF,EAAI,EAAGF,EAAKI,EAAK,GAAIF,EAAIE,GACjE,GAAVL,EAAKja,GACP2d,EAAQ7C,aAAa,EAAG,sBACxB6C,EAAQ7C,aAAa,EAAG,wBACJ,GAAXb,EAAKja,IACd2d,EAAQ7C,aAAa,EAAG,yBACxB6C,EAAQ7C,aAAa,EAAG,0BAE1BxX,KAAKiX,YACLjX,KAAKyX,UAAY4C,EAEjBra,KAAK0X,IAAId,EAAKzU,EAAMoV,GAAIT,EAAK3U,EAAMoV,GAAI1B,KAAKuB,IAAI,EAAGJ,EAAK,IAAM,EAAG,EAAInB,KAAK8B,IAAI,GAC9E3X,KAAK4X,UAKX0F,KAAM,CAEJlD,MAAO,CAGL1D,KAAM,SAAUC,EAAMxU,GACpB,IAAIyU,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACvBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YACXiG,EAAKnF,EAAe,mBAAoBrU,IAAU,EAClDkU,EAAOM,EAAKN,MAAQG,EAAe,OAAQrU,IAAU,GAEvDnC,KAAKyX,UAAYd,EAAKja,GAAKqb,EAAiB5V,EAAOwU,EAAKrX,EAAGqX,EAAKpX,GAExC,GAApBoX,EAAK9W,KAAKnI,OAAasI,KAAKqW,KAAOR,KAAKgG,MAAW,IAAL7E,GAAY,MAAQX,EACzC,GAApBM,EAAK9W,KAAKnI,OAAasI,KAAKqW,KAAOR,KAAKgG,MAAW,IAAL7E,GAAY,MAAQX,EAClEM,EAAK9W,KAAKnI,OAAS,EAAGsI,KAAKqW,KAAOR,KAAKgG,MAAW,EAAL7E,EAAS,GAAK,MAAQX,EACvErW,KAAKqW,KAAOR,KAAKgG,MAAM7E,GAAM,MAAQX,EAC1CrW,KAAKiX,YACLjX,KAAK0X,IAAId,EAAIE,EAAIjB,KAAKuB,IAAI,EAAGJ,EAAK2E,GAAI,EAAG,EAAG,EAAI9F,KAAK8B,IAAI,GACzD3X,KAAK4X,OACL5X,KAAKyX,UAAY,UACjBzX,KAAK8b,aAAe,SACpB9b,KAAK+b,UAAY,SACjB/b,KAAKgc,SAASrF,EAAK9W,KAAM+W,EAAIE,EAAI,EAAIE,GACjCL,EAAKsF,UACPjc,KAAK2V,UAAY,EACjB3V,KAAK8Y,YAAyB,GAAZnC,EAAK4G,MAAU,QAAQ,QACzCvd,KAAK6Z,aAQb2D,MAAO,CAELpD,MAAO,CAGL1D,KAAM,SAAUC,EAAMxU,GACpB,IAAIyU,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACvBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YACXiG,EAAKnF,EAAe,mBAAoBrU,IAAU,EAClDkU,EAAOM,EAAKN,MAAQG,EAAe,OAAQrU,IAAU,GAE7B,GAApBwU,EAAK9W,KAAKnI,OAAasI,KAAKqW,KAAOR,KAAKgG,MAAW,IAAL7E,GAAY,MAAQX,EACzC,GAApBM,EAAK9W,KAAKnI,OAAasI,KAAKqW,KAAOR,KAAKgG,MAAW,IAAL7E,GAAY,MAAQX,EAClEM,EAAK9W,KAAKnI,OAAS,EAAGsI,KAAKqW,KAAOR,KAAKgG,MAAW,EAAL7E,EAAS,GAAK,MAAQX,EACvErW,KAAKqW,KAAOR,KAAKgG,MAAM7E,GAAM,MAAQX,EAExCM,EAAKja,GAAK2B,EAAIgB,EAAGW,KAAKyX,UAAY,QACjCzX,KAAKyX,UAAY,QAEtBzX,KAAKiX,YACLjX,KAAK0X,IAAId,EAAIE,EAAIjB,KAAKuB,IAAI,EAAGJ,EAAK2E,GAAK,EAAG,EAAI9F,KAAK8B,IAAI,GACvD3X,KAAK4X,OACL5X,KAAKyX,UAAoB,GAARd,EAAKja,EAAK,OAAO,OAClCsD,KAAK8b,aAAe,SACpB9b,KAAK+b,UAAY,SACjB/b,KAAKgc,SAASrF,EAAK9W,KAAM+W,EAAIE,EAAI,EAAIE,GAErChX,KAAK2V,UAAYgG,EACjB3b,KAAK8Y,YAAc,QACnB9Y,KAAK6Z,UAGP4D,MAAO,SAAU9G,EAAMxU,GAGrB,IAAIyU,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACvBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YACXiG,EAAKnF,EAAe,mBAAoBrU,IAAU,EAClDkU,EAAOM,EAAKN,MAAQG,EAAe,OAAQrU,IAAU,GAEvDnC,KAAKyX,UAAYd,EAAKja,GAAKqb,EAAiB5V,EAAOwU,EAAKrX,EAAGqX,EAAKpX,GAExC,GAApBoX,EAAK9W,KAAKnI,OAAasI,KAAKqW,KAAOR,KAAKgG,MAAW,IAAL7E,GAAY,MAAQX,EACzC,GAApBM,EAAK9W,KAAKnI,OAAasI,KAAKqW,KAAOR,KAAKgG,MAAW,IAAL7E,GAAY,MAAQX,EAClEM,EAAK9W,KAAKnI,OAAS,EAAGsI,KAAKqW,KAAOR,KAAKgG,MAAW,EAAL7E,EAAS,GAAK,MAAQX,EACvErW,KAAKqW,KAAOR,KAAKgG,MAAM7E,GAAM,MAAQX,EAC1CrW,KAAKiX,YACLjX,KAAK0X,IAAId,EAAIE,EAAIjB,KAAKuB,IAAI,EAAGJ,EAAK2E,GAAI,EAAG,EAAG,EAAI9F,KAAK8B,IAAI,GACzD3X,KAAK4X,OAEDjB,EAAKsF,UACPjc,KAAK2V,UAAY,EACjB3V,KAAK8Y,YAAa,QAClB9Y,KAAK6Z,cASfrV,EAAMmO,YAAc,CAClByJ,KAAM,CACJ1F,KAAM,SAAUC,EAAMxU,GACpB,IAAIub,EAAIrgB,EAAGsgB,EAAQC,EAAOC,EAAMC,EAEhC9d,KAAKyX,UAAYjB,EAAe,mBAAoBrU,GACpDnC,KAAK8b,aAAe,SACpB9b,KAAK+b,UAAY,SACjB/b,KAAKqW,KAA4B,GAApBlU,EAAMuT,YAAqB,OAASvT,EAAMkU,MAAQ,IAE/DsH,EAASxb,EAAM0U,MAAM,KACrB+G,EAAQzb,EAAM0U,KAAK1U,EAAMlD,KAAO,KAChC4e,EAAO1b,EAAM4U,MAAM,KACnB+G,EAAU3b,EAAM4U,KAAK5U,EAAMlD,KAAO,KAElC,IAAI8e,EAAQ,GACRvK,EAAO,GAEPzZ,SAAS8T,KAAKjM,UAAUiQ,QAAQ,YAAc,GAChD2B,EAAO,UACPuK,EAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,SAEvHvK,EAAO,UACPuK,EAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAI1H,IADA,IAAIC,EAAWhe,KAAKie,YAAY,KAAK7a,MAC5B5L,EAAI,EAAGA,EAAI2K,EAAMlD,KAAMzH,IAAK,CACnCkmB,EAAKlmB,EAAI,IAAIiH,WAAW,GACpBif,GAAM,IAAIjf,WAAW,IAAIif,IAE7B,IAAIQ,EAAKH,EAAMvmB,GAEf,GADA6F,EAAI8E,EAAM4U,KAAKvf,GACH,WAARgc,EACFnW,EAAI8E,EAAM4U,KAAKvf,GACfwI,KAAKgc,SAAS7Z,EAAMlD,KAAOzH,EAAGmmB,EAAQtgB,GACtC2C,KAAKgc,SAAS7Z,EAAMlD,KAAOzH,EAAGomB,EAAOvgB,GAErCA,EAAI8E,EAAM0U,KAAKrf,GACfwI,KAAKgc,SAASnS,OAAOC,aAAa4T,GAAKrgB,EAAGwgB,GAC1C7d,KAAKgc,SAASnS,OAAOC,aAAa4T,GAAKrgB,EAAGygB,OACrC,CACL,IAAK,IAAIhlB,EAAI,EAAGA,EAAIolB,EAAGxmB,OAAQoB,IACpB,GAALA,GACFkH,KAAK8b,aAAe,MACpB9b,KAAKgc,SAASkC,EAAGplB,GAAI6kB,EAAgBtgB,EAAgB,IAAX2gB,GAC1Che,KAAKgc,SAASkC,EAAGplB,GAAI8kB,EAAOpmB,EAAI,EAAI6F,EAAgB,IAAX2gB,EAAmB3gB,EAAgB,IAAX2gB,GACjE3gB,GAAQ2C,KAAKie,YAAYC,EAAGplB,IAAIsK,QAEhCpD,KAAKme,OACLne,KAAK8b,aAAe,SACpB9b,KAAKgc,SAASkC,EAAGplB,GAAI6kB,EAAQtgB,EAAgB,IAAX2gB,GAClChe,KAAKgc,SAASkC,EAAGplB,GAAI8kB,EAAOvgB,EAAgB,IAAX2gB,GACjChe,KAAKoe,UACL/gB,GAAQ2C,KAAKie,YAAYC,EAAGplB,IAAIsK,OAGpC/F,EAAI8E,EAAM0U,KAAKrf,GACfwI,KAAK8b,aAAe,SACpB9b,KAAKgc,SAASxkB,EAAI,EAAG6F,EAAGwgB,GACxB7d,KAAKgc,SAASxkB,EAAI,EAAG6F,EAAGygB,IAI5B9d,KAAKyX,UAAY,WAKvBjT,EAAM6Z,YAAc,WAClBre,KAAK2B,QAAU5H,SAASQ,cAAc,UACtCyF,KAAKse,QAAUte,KAAK2B,QAAQ2W,WAAW,MAGvCtY,KAAK6U,WAAa3W,EAAO4W,kBAAoB,EACzC9U,KAAK6U,WAAa,GACpB7U,KAAKse,QAAQC,MAAMve,KAAK6U,WAAY7U,KAAK6U,aAI7CrQ,EAAM6Z,YAAYzmB,UAAY,CAC5BiL,YAAa2B,EAAM6Z,YAEnBtJ,cAAe,SAAU3R,EAAOJ,GAC9BhD,KAAK2B,QAAQyB,MAAQA,EACrBpD,KAAK2B,QAAQG,MAAMsB,MAASA,EAAQpD,KAAK6U,WAAc,KACvD7U,KAAK2B,QAAQqB,OAASA,EACtBhD,KAAK2B,QAAQG,MAAMkB,OAAUA,EAAShD,KAAK6U,WAAc,MAG3D/Q,SAAU,SAAUnC,EAAS6c,GAC3Bxe,KAAK2B,QAAQG,MAAM2H,SAAW,WAC9BzJ,KAAK2B,QAAQG,MAAM2c,OAASD,EAC5B7c,EAAQtG,YAAY2E,KAAK2B,UAG3B+c,WAAY,SAAU/c,GACpBA,EAAQxG,YAAY6E,KAAK2B,UAG3B2W,WAAY,WACV,OAAOtY,KAAKse,SAGd5H,KAAM,SAAUvU,KAEhB0V,MAAO,WACL7X,KAAKse,QAAQxG,UAAU,EAAG,EAAG9X,KAAK2B,QAAQyB,MAAOpD,KAAK2B,QAAQqB,UAIlEwB,EAAMma,UAAYtgB,EAAI4F,YAAYO,EAAM6Z,aAAa,WACnDre,KAAKmU,MAAMrc,KAAKkI,SAGlBwE,EAAMma,UAAU/mB,UAAU8e,KAAO,SAAUvU,GAEzC,IAAIyc,EAEJ5e,KAAKse,QAAQrH,YACbjX,KAAKse,QAAQ3I,UAAYa,EAAe,iBAAkBrU,GAC1DnC,KAAKse,QAAQxF,YAActC,EAAe,iBAAkBrU,GAE5D,IAAIqS,EAAKqB,KAAKgG,MAAM1Z,EAAME,MACxBqS,EAAKmB,KAAKgG,MAAM1Z,EAAMI,KACtB+C,EAAKuQ,KAAKgG,MAAM1Z,EAAM+T,YAAc/T,EAAMlD,KAAO,IACjD8D,EAAK8S,KAAKgG,MAAM1Z,EAAMgU,aAAehU,EAAMlD,KAAO,IAEpDe,KAAKse,QAAQO,WAAWrK,EAAKrS,EAAMoV,GAAI7C,EAAKvS,EAAMoV,GAAIjS,EAAIvC,GAE1D,IAAK,IAAIvL,EAAI,EAAGA,EAAI2K,EAAMlD,KAAO,EAAGzH,IAClConB,EAAM/I,KAAKgG,MAAM1Z,EAAM0U,KAAKrf,IAAM2K,EAAMoV,GACxCvX,KAAKse,QAAQ3E,OAAOiF,EAAKlK,GACzB1U,KAAKse,QAAQ5B,OAAOkC,EAAKlK,EAAK3R,GAE9B6b,EAAM/I,KAAKgG,MAAM1Z,EAAM4U,KAAKvf,IAAM2K,EAAMoV,GACxCvX,KAAKse,QAAQ3E,OAAOnF,EAAIoK,GACxB5e,KAAKse,QAAQ5B,OAAOlI,EAAKlP,EAAIsZ,GAQ/B,GALA5e,KAAKse,QAAQzE,SAGb7Z,KAAKse,QAAQ7G,UAAYjB,EAAe,YAAarU,GAEjDA,EAAM2c,WAAW3c,EAAMlD,MACzB,IAAK,IAAIvB,KAAOyE,EAAM2c,WAAW3c,EAAMlD,MACrCe,KAAKse,QAAQrH,YACbjX,KAAKse,QAAQ5G,IAAIvV,EAAM0U,KAAK1U,EAAM2c,WAAW3c,EAAMlD,MAAMvB,GAAK4B,GAAK6C,EAAMoV,GAAIpV,EAAM4U,KAAK5U,EAAM2c,WAAW3c,EAAMlD,MAAMvB,GAAK6B,GAAK4C,EAAMoV,GAAIf,EAAe,WAAYrU,GAAQ,EAAG,EAAI0T,KAAK8B,IAAI,GAC5L3X,KAAKse,QAAQ1G,QASnBpT,EAAMua,oBAAsB1gB,EAAI4F,YAAYO,EAAM6Z,aAAa,WAC7Dre,KAAKyE,KAAK,MAGZD,EAAMua,oBAAoBnnB,UAAU6M,KAAO,SAAU7G,GACnD,IAAIghB,EAAKI,EAEThf,KAAKif,OAASrhB,EAEdoC,KAAKkf,SAAW,GAChBlf,KAAKmf,SAAW,GAGhBnf,KAAK6U,WAAa3W,EAAO4W,kBAAoB,EAE7C,IAAK,IAAItd,EAAI,EAAGA,EAAIoG,EAAGpG,IACrBonB,EAAM7kB,SAASQ,cAAc,UAC7BykB,EAAaJ,EAAItG,WAAW,MAExBtY,KAAK6U,WAAa,GACpBmK,EAAWT,MAAMve,KAAK6U,WAAY7U,KAAK6U,YAGzC7U,KAAKkf,SAASlnB,KAAK4mB,GACnB5e,KAAKmf,SAASnnB,KAAKgnB,IAIvBxa,EAAMua,oBAAoBnnB,UAAUkM,SAAW,SAAUnC,EAAS6c,GAChE,IAAK,IAAIhnB,EAAI,EAAGA,EAAIwI,KAAKif,OAAQznB,IAC/BwI,KAAKkf,SAAS1nB,GAAGsK,MAAM2H,SAAW,WAClCzJ,KAAKkf,SAAS1nB,GAAGsK,MAAM2c,OAASD,EAChC7c,EAAQtG,YAAY2E,KAAKkf,SAAS1nB,KAItCgN,EAAMua,oBAAoBnnB,UAAU8mB,WAAa,SAAU/c,GACzD,IAAK,IAAInK,EAAI,EAAGA,EAAIwI,KAAKif,OAAQznB,IAC/BmK,EAAQxG,YAAY6E,KAAKkf,SAAS1nB,KAItCgN,EAAMua,oBAAoBnnB,UAAU0gB,WAAa,SAAU3B,GACzD,OAAIA,EAAKrX,EAAI,EACHqX,EAAKpX,EAAI,EAAKS,KAAKmf,SAAS,GAAKnf,KAAKmf,SAAS,GAE/CxI,EAAKpX,EAAI,EAAKS,KAAKmf,SAAS,GAAKnf,KAAKmf,SAAS,IAK3D3a,EAAMua,oBAAoBnnB,UAAUigB,MAAQ,SAAUlW,EAAS6c,GAC7D,IAAK,IAAIhnB,EAAI,EAAGA,EAAIwI,KAAKif,OAAQznB,IAC/BwI,KAAKmf,SAAS3nB,GAAGsgB,UAAU,EAAG,EAAG9X,KAAKkf,SAAS1nB,GAAG4L,MAAOpD,KAAKkf,SAAS1nB,GAAGwL,SAI9EwB,EAAMua,oBAAoBnnB,UAAUmd,cAAgB,SAAU3R,EAAOJ,GACnE,IAAK,IAAIxL,EAAI,EAAGA,EAAIwI,KAAKif,OAAQznB,IAC/BwI,KAAKkf,SAAS1nB,GAAG4L,MAAQA,EACzBpD,KAAKkf,SAAS1nB,GAAGsK,MAAMsB,MAASA,EAAQpD,KAAK6U,WAAc,KAC3D7U,KAAKkf,SAAS1nB,GAAGwL,OAASA,EAC1BhD,KAAKkf,SAAS1nB,GAAGsK,MAAMkB,OAAUA,EAAShD,KAAK6U,WAAc,MAIjErQ,EAAM4a,YAAc/gB,EAAI4F,YAAYO,EAAMua,qBAAqB,SAAU5c,EAAOiT,EAAYD,GAC1FnV,KAAKyE,KAAK,GACVzE,KAAKoV,WAAaA,IAAe9Y,EAAY,EAAI8Y,EACjDpV,KAAKmC,MAAQA,KAGfqC,EAAM4a,YAAYxnB,UAAU0gB,WAAa,SAAU3B,GACjD,QAASA,EAAKrX,EAAI,GAAOqX,EAAKpX,EAAI,KAAQoX,EAAKrX,EAAI,GAAQqX,EAAKpX,EAAI,GAAyBS,KAAKmf,SAAS,GAAjCnf,KAAKmf,SAAS,IAG1F3a,EAAM4a,YAAYxnB,UAAUmd,cAAgB,SAAU3R,EAAOJ,GAC3DhD,KAAKmU,MAAMvc,UAAUmd,cAAcjd,KAAKkI,KAAMoD,EAAOJ,GAErD,IAAK,IAAIxL,EAAI,EAAGA,EAAIwI,KAAKif,OAAQznB,IAC/BwI,KAAKmf,SAAS3nB,GAAG6nB,aAAa,EAAG,EAAG,EAAG,EAAGxJ,KAAKgG,MAAM7b,KAAKoV,WAAapV,KAAKmC,MAAMuT,YAAc,GAAIG,KAAKgG,MAAM7b,KAAKoV,WAAapV,KAAKmC,MAAMuT,YAAc,KAI9J,IAAI4J,EAAsB,SAAU3I,EAAMxU,GACxC,IAAIyU,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACvBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YACb1V,KAAK8X,UAAUlB,EAAK,EAAII,EAAK7U,EAAMoV,GAAIT,EAAK,EAAIE,EAAK7U,EAAMoV,GAAI,EAAIP,EAAI,EAAIA,IAKzEuI,EAAiB,WACnB,OAAQ,EAAIvf,KAAKoD,OAAU,GAAKpD,KAAK2U,GAAK,EAAI3U,KAAKwU,IAAM,GAAKxU,KAAKkW,WAAalW,KAAKwU,IAGnFgL,EAAgB,WAClB,OAAQ,EAAIxf,KAAKgD,QAAW,GAAKhD,KAAK4U,GAAK,EAAI5U,KAAK0U,IAAM,GAAK1U,KAAKmW,YAAcnW,KAAK0U,IAGrF+K,EAAiB,WACnB,OAAQ,EAAIzf,KAAKoD,OAAU,GAAKpD,KAAK2U,GAAK,EAAI3U,KAAKwU,IAAM,IAGvDkL,EAAkB,WACpB,OAAQ,EAAI1f,KAAKgD,QAAW,GAAKhD,KAAK4U,GAAK,EAAI5U,KAAK0U,IAAM,IAGxDiL,EAAa,SAAUrgB,EAAGC,GAE5B,IADA,IAAI8Y,EACKD,EAAI,EAAGA,EAAIpY,KAAKgY,QAAQ1Y,GAAGC,GAAG7H,OAAQ0gB,IAAK,CAClD,IAAI/D,EAAMrU,KAAKgY,QAAQ1Y,GAAGC,GAAG6Y,GAK7B,IAAK,IAAID,KAH6BE,EADjChE,EAAI7Z,KACmB,iBAAZ6Z,EAAI7Z,KAA4BgK,EAAMsI,aAAauH,EAAI7Z,MACxD6Z,EAAI7Z,KAFMwF,KAAK6M,aAIZwL,EACZA,EAAQF,GAAON,MAAOQ,EAAQF,GAAON,MAAM/f,KAAKkI,KAAKmY,GAAOG,WAAWjE,GAAMA,EAAKrU,MACjFsf,EAAoBxnB,KAAKkI,KAAKmY,GAAOG,WAAWjE,GAAMA,EAAKrU,QAKlE4f,EAAY,SAAUtgB,EAAGC,GAE3B,IADA,IAAI8Y,EACKD,EAAI,EAAGA,EAAIpY,KAAKgY,QAAQ1Y,GAAGC,GAAG7H,OAAQ0gB,IAAK,CAClD,IAAI/D,EAAMrU,KAAKgY,QAAQ1Y,GAAGC,GAAG6Y,GAK7B,IAAK,IAAID,KAH6BE,EADjChE,EAAI7Z,KACmB,iBAAZ6Z,EAAI7Z,KAA4BgK,EAAMsI,aAAauH,EAAI7Z,MACxD6Z,EAAI7Z,KAFMwF,KAAK6M,aAIZwL,EAChBA,EAAQF,GAAOzB,KAAK5e,KAAKkI,KAAKmY,GAAOG,WAAWjE,GAAMA,EAAKrU,QAK7D6f,EAAc,SAAUvmB,GAE1B,IAAIgG,EAAGC,EAYP,OAVAD,EAAIhG,EAAEwmB,QAAU9f,KAAK6U,WACrBvV,GAAKU,KAAKqC,KACV/C,GAAKU,KAAKkW,WACV5W,EAAIuW,KAAKgG,MAAMvc,GAEfC,EAAIjG,EAAEymB,QAAU/f,KAAK6U,WACrBtV,GAAKS,KAAKuC,IACVhD,GAAKS,KAAKmW,YACV5W,EAAIsW,KAAKgG,MAAMtc,GAER,CACLD,EAAGA,GAAKU,KAAKf,MAAQ,EAAIK,EACzBC,EAAGA,GAAKS,KAAKf,MAAQ,EAAIM,IAIzBygB,EAAY,WACdhgB,KAAK2B,QAAQG,MAAMsB,MAASpD,KAAKoD,MAAQpD,KAAK6U,WAAc,KAC5D7U,KAAK2B,QAAQG,MAAMkB,OAAUhD,KAAKgD,OAAShD,KAAK6U,WAAc,KAE9D7U,KAAK0V,YAAcc,EAAe,YAAaxW,MAE/CA,KAAKuX,GAAKf,EAAe,aAAcxW,MAEvC,IAAK,IAAIxI,EAAI,EAAGA,EAAIwI,KAAKif,OAAOvnB,OAAQF,IACtCwI,KAAKif,OAAOznB,GAAGud,cAAc/U,KAAKoD,MAAOpD,KAAKgD,SAMlDwB,EAAM5M,UAAY,CAChBiL,YAAa2B,EAMbC,KAAM,WAEJzE,KAAKgY,QAAU,GACf,IAAK,IAAIxgB,EAAI,EAAGA,EAAIwI,KAAKf,KAAMzH,IAAK,CAClCwI,KAAKgY,QAAQxgB,GAAK,GAClB,IAAK,IAAIkB,EAAI,EAAGA,EAAIsH,KAAKf,KAAMvG,IAAKsH,KAAKgY,QAAQxgB,GAAGkB,GAAK,GAI3DsH,KAAKuY,SAAW,GAGhBvY,KAAKif,OAAS,GAGdjf,KAAK6Q,UAAY,GAEjB7Q,KAAK2B,QAAU5H,SAASQ,cAAc,OACtCyF,KAAK2B,QAAQC,UAAY,YACzB5B,KAAK2B,QAAQG,MAAM2H,SAAW,WAC1BzJ,KAAKigB,aACmB,KAAtBjgB,KAAKigB,WAAW,GAAWjgB,KAAK2B,QAAQG,MAAMoe,gBAAkBlgB,KAAKigB,WAEvEjgB,KAAK2B,QAAQG,MAAMqe,gBAAkB,QAAUngB,KAAKigB,WAAa,MAKrEjgB,KAAKoc,KAAO,IAAI5X,EAAMma,UACtB3e,KAAKsa,OAAS,IAAI9V,EAAM4a,YAAYpf,KAAMwW,EAAe,aAAcxW,OACvEA,KAAKoa,MAAQ,IAAI5V,EAAMua,oBAEvB/e,KAAKogB,SAASpgB,KAAKoc,KAAM,KACzBpc,KAAKogB,SAASpgB,KAAKsa,OAAQ,KAC3Bta,KAAKogB,SAASpgB,KAAKoa,MAAO,MAS5B1U,SAAU,SAAUtC,GAClBpD,KAAKoD,MAAQA,EACbpD,KAAKoD,OAASpD,KAAK6U,WACnB7U,KAAKmW,YAAcnW,KAAKkW,WAAauJ,EAAe3nB,KAAKkI,MACzDA,KAAKqC,KAAOkd,EAAeznB,KAAKkI,MAEhCA,KAAKgD,QAAUhD,KAAK4U,GAAK5U,KAAK0U,GAAK,KAAO1U,KAAKmW,YAC/CnW,KAAKuC,IAAMid,EAAc1nB,KAAKkI,MAE9BggB,EAAUloB,KAAKkI,MACfA,KAAKgb,UASPvV,UAAW,SAAUzC,GACnBhD,KAAKgD,OAASA,EACdhD,KAAKgD,QAAUhD,KAAK6U,WACpB7U,KAAKkW,WAAalW,KAAKmW,YAAcuJ,EAAgB5nB,KAAKkI,MAC1DA,KAAKuC,IAAMid,EAAc1nB,KAAKkI,MAE9BA,KAAKoD,OAASpD,KAAK2U,GAAK3U,KAAKwU,GAAK,KAAOxU,KAAKkW,WAC9ClW,KAAKqC,KAAOkd,EAAeznB,KAAKkI,MAEhCggB,EAAUloB,KAAKkI,MACfA,KAAKgb,UAUPjG,cAAe,SAAU3R,EAAOJ,GAC9BhD,KAAKoD,MAAQA,GAASrD,SAASC,KAAK2B,QAAQG,MAAMsB,MAAO,IACzDpD,KAAKoD,OAASpD,KAAK6U,WACnB7U,KAAKgD,OAASA,GAAUjD,SAASC,KAAK2B,QAAQG,MAAMkB,OAAQ,IAC5DhD,KAAKgD,QAAUhD,KAAK6U,WAEpB7U,KAAKkW,WAAauJ,EAAe3nB,KAAKkI,MACtCA,KAAKmW,YAAcuJ,EAAgB5nB,KAAKkI,MACxCA,KAAKqC,KAAOkd,EAAeznB,KAAKkI,MAChCA,KAAKuC,IAAMid,EAAc1nB,KAAKkI,MAE9BggB,EAAUloB,KAAKkI,MACfA,KAAKgb,UAOPqF,WAAY,WACV,OAAOrgB,KAAKyU,SAOd7B,WAAY,SAAU0N,EAAgBhe,EAAOE,EAAQH,GACtB,UAAzB,EAAOie,GACTtgB,KAAKyU,QAAU6L,EAEftgB,KAAKyU,QAAU,CACblS,IAAK+d,EACLhe,MAAOA,EACPE,OAAQA,EACRH,KAAMA,GAIVrC,KAAKwU,GAAKxU,KAAKyU,QAAQpS,KACvBrC,KAAK0U,GAAK1U,KAAKyU,QAAQlS,IACvBvC,KAAK2U,GAAK3U,KAAKf,KAAO,EAAIe,KAAKyU,QAAQnS,MACvCtC,KAAK4U,GAAK5U,KAAKf,KAAO,EAAIe,KAAKyU,QAAQjS,OAEvCxC,KAAK+U,iBAOPtF,QAAS,SAAUxQ,GACbA,EAAOA,GAAQ,GAEnB,GAAIA,GAAQe,KAAKf,KAAM,CACrBe,KAAKf,KAAOA,EAEZe,KAAKgY,QAAU,GACf,IAAK,IAAIxgB,EAAI,EAAGA,EAAIwI,KAAKf,KAAMzH,IAAK,CAClCwI,KAAKgY,QAAQxgB,GAAK,GAClB,IAAK,IAAIkB,EAAI,EAAGA,EAAIsH,KAAKf,KAAMvG,IAAKsH,KAAKgY,QAAQxgB,GAAGkB,GAAK,GAG3DsH,KAAK2U,GAAK3U,KAAKf,KAAO,EAAIe,KAAKyU,QAAQnS,MACvCtC,KAAK4U,GAAK5U,KAAKf,KAAO,EAAIe,KAAKyU,QAAQjS,OACvCxC,KAAK+U,kBAQTiG,OAAQ,WACN,IAEE,IAAK,IAAIxjB,EAAI,EAAGA,EAAIwI,KAAKif,OAAOvnB,OAAQF,IACtCwI,KAAKif,OAAOznB,GAAGqgB,MAAM7X,MACrBA,KAAKif,OAAOznB,GAAGkf,KAAK1W,MAItB,IAASxI,EAAI,EAAGA,EAAIwI,KAAKf,KAAMzH,IAC7B,IAAK,IAAIkB,EAAI,EAAGA,EAAIsH,KAAKf,KAAMvG,IAC7BknB,EAAU9nB,KAAKkI,KAAMxI,EAAGkB,GAK5B,IAASlB,EAAI,EAAGA,EAAIwI,KAAKuY,SAAS7gB,OAAQF,IAAK,CAC7C,IAAI6c,EAAMrU,KAAKuY,SAAS/gB,GACpB6gB,EAAUhE,EAAIgE,QAElB,IAAK,IAAIF,KAASE,EAChBA,EAAQF,GAAOzB,KAAK5e,KAAKkI,KAAKmY,GAAOG,WAAWjE,EAAIsC,MAAOtC,EAAIsC,KAAM3W,OAGzE,MAAOjF,GAEPiD,QAAQ+T,IAAI,sCAAwChX,EAAIqB,WAU5Dya,KAAM,SAAUvX,GACd,OAAOU,KAAKqC,KAAO/C,EAAIU,KAAKkW,YAS9Ba,KAAM,SAAUxX,GACd,OAAOS,KAAKuC,IAAMhD,EAAIS,KAAKmW,aAU7BiK,SAAU,SAAUjI,EAAOqG,GACzBrG,EAAMrU,SAAS9D,KAAK2B,QAAS6c,GAC7BrG,EAAMpD,cAAc/U,KAAKoD,MAAOpD,KAAKgD,QACrChD,KAAKif,OAAOjnB,KAAKmgB,IASnBoI,YAAa,SAAUpI,GACrB,IAAI3gB,EAAIwI,KAAKif,OAAOpN,QAAQsG,GACxB3gB,GAAK,IACPwI,KAAKif,OAAOrmB,OAAOpB,EAAG,GACtB2gB,EAAMuG,WAAW1e,KAAK2B,WAI1BwF,OAAQ,SAAUqZ,GAChB,IAAIhpB,EACJ,GAAIgpB,EAAQxN,QAA4B,OAAlBwN,EAAQxN,OAAiBhT,KAAK0P,wBAC/C,GAAI8Q,EAAQxN,OACf,IAAKxb,EAAI,EAAGA,EAAIgpB,EAAQxN,OAAOtb,OAAQF,IAAKwI,KAAKgJ,aAAawX,EAAQxN,OAAOxb,IAG/E,GAAIgpB,EAAQrR,IACV,IAAK3X,EAAI,EAAGA,EAAIgpB,EAAQrR,IAAIzX,OAAQF,IAAKwI,KAAKoJ,UAAUoX,EAAQrR,IAAI3X,KAIxE4R,UAAW,SAAUiL,GAEnB,GAAIA,EAAIxR,aAAeC,MAKvB,IAEE6c,EAAW7nB,KAAKkI,KAAMqU,EAAI/U,EAAG+U,EAAI9U,GAKjC,IADA,IAAI0f,EAASjf,KAAKgY,QAAQ3D,EAAI/U,GAAG+U,EAAI9U,GAC5B6Y,EAAI,EAAGA,EAAI6G,EAAOvnB,OAAQ0gB,IACjC,GAAI6G,EAAO7G,GAAG5d,MAAQ6Z,EAAI7Z,KAGxB,OAFAykB,EAAO7G,GAAK/D,OACZuL,EAAU9nB,KAAKkI,KAAMqU,EAAI/U,EAAG+U,EAAI9U,GAK/B8U,EAAI7Z,KACJykB,EAAOjnB,KAAKqc,GADF4K,EAAOwB,QAAQpM,GAI9BuL,EAAU9nB,KAAKkI,KAAMqU,EAAI/U,EAAG+U,EAAI9U,GAChC,MAAOxE,GACPiD,QAAQ+T,IAAI,oCAzBZ,IAAK,IAAIva,EAAI,EAAGA,EAAI6c,EAAI3c,OAAQF,IAAKwI,KAAKoJ,UAAUiL,EAAI7c,KA+B5DwR,aAAc,SAAUqL,GAEtB,GAAIA,EAAIxR,aAAeC,MAKvB,IAEE,IADA,IAAItL,EACKkB,EAAI,EAAGA,EAAIsH,KAAKgY,QAAQ3D,EAAI/U,GAAG+U,EAAI9U,GAAG7H,OAAQgB,IACrD,GAAIsH,KAAKgY,QAAQ3D,EAAI/U,GAAG+U,EAAI9U,GAAG7G,GAAG8B,MAAQ6Z,EAAI7Z,KAAM,CAClDhD,EAAIkB,EACJ,MAGJ,GAAIlB,IAAM8E,EAAW,OAGrBqjB,EAAW7nB,KAAKkI,KAAMqU,EAAI/U,EAAG+U,EAAI9U,GAEjCS,KAAKgY,QAAQ3D,EAAI/U,GAAG+U,EAAI9U,GAAG3G,OAAOpB,EAAG,GAErCooB,EAAU9nB,KAAKkI,KAAMqU,EAAI/U,EAAG+U,EAAI9U,GAChC,MAAOxE,GAEPiD,QAAQ+T,IAAI,sCAAwChX,EAAIqB,cAtBxD,IAAK,IAAIwB,EAAI,EAAGA,EAAIyW,EAAI3c,OAAQkG,IAAKoC,KAAKgJ,aAAaqL,EAAIzW,KA0B/D8iB,gBAAiB,SAAUphB,EAAGC,GACvBS,KAAKgY,QAAQ1Y,GAAGC,GAAG7H,SAExBioB,EAAW7nB,KAAKkI,KAAMV,EAAGC,GACzBS,KAAKgY,QAAQ1Y,GAAGC,GAAK,KAGvBmQ,iBAAkB,WAChB1P,KAAKgY,QAAU,GACf,IAAK,IAAIxgB,EAAI,EAAGA,EAAIwI,KAAKf,KAAMzH,IAAK,CAClCwI,KAAKgY,QAAQxgB,GAAK,GAClB,IAAK,IAAIkB,EAAI,EAAGA,EAAIsH,KAAKf,KAAMvG,IAAKsH,KAAKgY,QAAQxgB,GAAGkB,GAAK,GAE3DsH,KAAKgb,UAGPnI,gBAAiB,SAAUwF,EAAS1B,GAClC3W,KAAKuY,SAASvgB,KAAK,CAAEqgB,QAASA,EAAS1B,KAAMA,IAC7C3W,KAAKgb,UAGPlI,mBAAoB,SAAUuF,EAAS1B,GACrC,IAAK,IAAInf,EAAI,EAAGA,EAAIwI,KAAKuY,SAAS7gB,OAAQF,IAAK,CAC7C,IAAI6c,EAAMrU,KAAKuY,SAAS/gB,GACxB,GAAI6c,EAAIgE,SAAWA,GAAWhE,EAAIsC,MAAQA,EAGxC,OAFA3W,KAAKuY,SAAS3f,OAAOpB,EAAG,GACxBwI,KAAKgb,UACE,EAGX,OAAO,GAGTtW,iBAAkB,SAAUlK,EAAM+T,GAChC,IAAIoD,EAAQ3R,KACV2gB,EAAa,CACXnmB,KAAMA,EACN+T,SAAUA,EACVqS,YAAa,SAAUtnB,GACrB,IAAIunB,EAAMhB,EAAY/nB,KAAK6Z,EAAOrY,GAClCiV,EAASsS,EAAIvhB,EAAGuhB,EAAIthB,EAAGjG,KAI7B0G,KAAK2B,QAAQ+C,iBAAiBlK,EAAMmmB,GAAY,GAChD3gB,KAAK6Q,UAAU7Y,KAAK2oB,IAGtB5V,oBAAqB,SAAUvQ,EAAM+T,GACnC,IAAK,IAAI/W,EAAI,EAAGA,EAAIwI,KAAK6Q,UAAUnZ,OAAQF,IAAK,CAC9C,IAAIoa,EAAW5R,KAAK6Q,UAAUrZ,GAC9B,GAAIoa,EAASpX,MAAQA,GAAQoX,EAASrD,UAAYA,EAGhD,OAFAvO,KAAK2B,QAAQoJ,oBAAoB6G,EAASpX,KAAMoX,GAAU,GAC1D5R,KAAK6Q,UAAUjY,OAAOpB,EAAG,IAClB,EAGX,OAAO,GAGTspB,SAAU,WACR,MAAO,CACLC,QAAS1iB,EAAI6O,MAAMlN,KAAKgY,SACxBzU,OAAQlF,EAAI6O,MAAMlN,KAAKuY,YAI3ByI,aAAc,SAAUvY,GACtBzI,KAAKgY,QAAUvP,EAAMsY,SAAW/gB,KAAKgY,QACrChY,KAAKuY,SAAW9P,EAAMlF,QAAUvD,KAAKuY,SAErCvY,KAAKgb,WAITxW,EAAMJ,QAAU,CACdnF,KAAM,GACNmE,MAAO,EACPJ,OAAQ,EACRqT,KAAM,UACNV,UAAW,EACXF,eAAe,EACfqJ,WAAY,CACVmC,EAAG,CAAC,CAAE3hB,EAAG,EAAGC,EAAG,IACf2hB,EAAG,CAAC,CAAE5hB,EAAG,EAAGC,EAAG,IACf4hB,EAAG,CAAC,CAAE7hB,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,IAC/D6hB,EAAG,CAAC,CAAE9hB,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,IAC/E8hB,GAAI,CAAC,CAAE/hB,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,IAChE+hB,GAAI,CAAC,CAAEhiB,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,IAChFgiB,GAAI,CAAC,CAAEjiB,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,IAChEiiB,GAAI,CAAC,CAAEliB,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,IAChFkiB,GAAI,CAAC,CAAEniB,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,GAAIC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,IAAM,CAAED,EAAG,GAAIC,EAAG,KACnEmiB,GAAI,CAAC,CAAEpiB,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,GAAIC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,IAAM,CAAED,EAAG,GAAIC,EAAG,KACnFoiB,GAAI,CAAC,CAAEriB,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,GAAIC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,IAAM,CAAED,EAAG,GAAIC,EAAG,KACnEqiB,GAAI,CAAC,CAAEtiB,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,GAAIC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,GAC/E,CAAED,EAAG,GAAIC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,IAAM,CAAED,EAAG,EAAGC,EAAG,IAAM,CAAED,EAAG,GAAIC,EAAG,KAEjEsiB,GAAI,CAAC,CAAEviB,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,GAAIC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,IAAM,CAAED,EAAG,GAAIC,EAAG,KACnEuiB,GAAI,CAAC,CAAExiB,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,GAAIC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,GAC/E,CAAED,EAAG,GAAIC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,IAAM,CAAED,EAAG,EAAGC,EAAG,IAAM,CAAED,EAAG,GAAIC,EAAG,KAEjEwiB,GAAI,CAAC,CAAEziB,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,GAAIC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,IAAM,CAAED,EAAG,GAAIC,EAAG,KACnEyiB,GAAI,CAAC,CAAE1iB,EAAG,EAAGC,EAAG,GAAK,CAAED,EAAG,GAAIC,EAAG,GAAK,CAAED,EAAG,GAAIC,EAAG,GAAK,CAAED,EAAG,EAAGC,EAAG,IAAM,CAAED,EAAG,GAAIC,EAAG,IAClF,CAAED,EAAG,GAAIC,EAAG,IAAM,CAAED,EAAG,EAAGC,EAAG,IAAM,CAAED,EAAG,GAAIC,EAAG,IAAM,CAAED,EAAG,GAAIC,EAAG,MAGrEsN,aAAcrI,EAAMsI,aAAa4O,MAEjC1F,SAAU,EACVZ,WAAY,EACZa,UAAW,EACXxB,QAAS,CACPlS,IAAK,EACLD,MAAO,EACPE,OAAQ,EACRH,KAAM,GAGR4d,WAAY5hB,EAAIkV,IAAI,eA4BpB5G,MAAO,IAITtO,EAAImG,MAAQA,EACdxG,QAAQ+T,MAYN,IAAIkQ,EAAW,SAAUhjB,GACvBe,KAAKf,KAAOA,GAAQ,GACpBe,KAAKkiB,OAAS,GACd,IAAK,IAAI1qB,EAAI,EAAGA,EAAIwI,KAAKf,KAAOe,KAAKf,KAAMzH,IACzCwI,KAAKkiB,OAAO1qB,GAAK,GAIrByqB,EAASrqB,UAAY,CACnBiL,YAAaxE,EAAI4jB,SAUjBjlB,IAAK,SAAUsC,EAAGC,GAChB,OAAID,EAAI,GAAKC,EAAI,GAAKD,GAAKU,KAAKf,MAAQM,GAAKS,KAAKf,KAAa3C,EACxD0D,KAAKkiB,OAAO5iB,EAAIU,KAAKf,KAAOM,IAWrC+N,IAAK,SAAUhO,EAAGC,EAAG7C,GAEnB,OADAsD,KAAKkiB,OAAO5iB,EAAIU,KAAKf,KAAOM,GAAK7C,EAC1BsD,MAOT6X,MAAO,WACL,IAAK,IAAIrgB,EAAI,EAAGA,EAAIwI,KAAKf,KAAOe,KAAKf,KAAMzH,IAAKwI,KAAKkiB,OAAO1qB,GAAK,EACjE,OAAOwI,MASTkN,MAAO,WACL,IAAIA,EAAQ,IAAI+U,EAASjiB,KAAKf,MAE9B,OADAiO,EAAMgV,OAASliB,KAAKkiB,OAAO9jB,MAAM,GAC1B8O,GAUTiV,QAAS,SAAU1Y,GAIjB,IAHA,IAAI0F,EAAM,GACR6D,EAAS,GAEFxb,EAAI,EAAGA,EAAIwI,KAAKf,KAAOe,KAAKf,KAAMzH,IACrCwI,KAAKkiB,OAAO1qB,KAAOiS,EAASyY,OAAO1qB,GACrCwb,EAAOhb,KAAK,CACVsH,EAAGuW,KAAKuM,MAAM5qB,EAAIwI,KAAKf,MACvBM,EAAG/H,EAAIwI,KAAKf,OAELe,KAAKkiB,OAAO1qB,IAAMiS,EAASyY,OAAO1qB,IAC3C2X,EAAInX,KAAK,CACPsH,EAAGuW,KAAKuM,MAAM5qB,EAAIwI,KAAKf,MACvBM,EAAG/H,EAAIwI,KAAKf,KACZvC,EAAG+M,EAASyY,OAAO1qB,KAKzB,MAAO,CACL2X,IAAKA,EACL6D,OAAQA,KAKd3U,EAAI4jB,SAAWA,EAoBf,IAAII,EAAO,SAAUpjB,EAAMqjB,EAAaC,EAAcC,GACpDxiB,KAAKf,KAAOA,GAAQ,GAEpBe,KAAKyiB,UAAYH,IAAgBhmB,EAAY,KAAOgmB,EACpDtiB,KAAK0iB,cAAgBH,IAAgB,EACrCviB,KAAK2iB,cAAgBH,IAAgB,EAErCxiB,KAAKW,MAAQ,GACbX,KAAKW,MAAM,GAAK,IAAIshB,EAASjiB,KAAKf,MAClCe,KAAKW,MAAM,GAAGyJ,SAAW,CAAEzL,MAAO,EAAGikB,MAAO,GAC5C5iB,KAAKP,KAAOpB,EAAIe,EAEhBzH,OAAOmF,eAAekD,KAAM,WAAY,CACtChD,IAAK,WAAc,OAAOgD,KAAKW,MAAMX,KAAKW,MAAMjJ,OAAS,IACzD4V,IAAK,SAAUuV,GAAO7iB,KAAKW,MAAMX,KAAKW,MAAMjJ,OAAS,GAAKmrB,MAK1DC,EAAa,SAAbA,EAAuBrZ,EAAUsZ,EAAUzjB,EAAGC,EAAG7C,GAC/C4C,GAAK,GAAKA,EAAImK,EAASxK,MAAQM,GAAK,GAAKA,EAAIkK,EAASxK,MAAQwK,EAASzM,IAAIsC,EAAGC,IAAM7C,IACtF+M,EAAS6D,IAAIhO,EAAGC,EAAG,GACnBwjB,EAAS/qB,KAAK,CAAEsH,EAAGA,EAAGC,EAAGA,IAEzBujB,EAAWrZ,EAAUsZ,EAAUzjB,EAAGC,EAAI,EAAG7C,GACzComB,EAAWrZ,EAAUsZ,EAAUzjB,EAAGC,EAAI,EAAG7C,GACzComB,EAAWrZ,EAAUsZ,EAAUzjB,EAAI,EAAGC,EAAG7C,GACzComB,EAAWrZ,EAAUsZ,EAAUzjB,EAAI,EAAGC,EAAG7C,KAKzCsmB,EAAkB,SAAlBA,EAA4BvZ,EAAUwZ,EAAS3jB,EAAGC,EAAG7C,GAEvD,OAAI4C,EAAI,GAAKA,GAAKmK,EAASxK,MAAQM,EAAI,GAAKA,GAAKkK,EAASxK,MAEhC,GAAtBwK,EAASzM,IAAIsC,EAAGC,KAEK,GAArB0jB,EAAQjmB,IAAIsC,EAAGC,IAAckK,EAASzM,IAAIsC,EAAGC,KAAO7C,IAGxDumB,EAAQ3V,IAAIhO,EAAGC,GAAG,GAGXyjB,EAAgBvZ,EAAUwZ,EAAS3jB,EAAGC,EAAI,EAAG7C,IAClDsmB,EAAgBvZ,EAAUwZ,EAAS3jB,EAAGC,EAAI,EAAG7C,IAC7CsmB,EAAgBvZ,EAAUwZ,EAAS3jB,EAAI,EAAGC,EAAG7C,IAC7CsmB,EAAgBvZ,EAAUwZ,EAAS3jB,EAAI,EAAGC,EAAG7C,MAI7CwmB,EAAkB,SAAUzZ,EAAUnK,EAAGC,EAAG7C,GAC9C,IAAIqmB,EAAW,GAEf,GAAIzjB,GAAK,GAAKA,EAAImK,EAASxK,MAAQM,GAAK,GAAKA,EAAIkK,EAASxK,MAAQwK,EAASzM,IAAIsC,EAAGC,IAAM7C,EAAG,CAEzF,IAAIumB,EAAU,IAAIhB,EAASxY,EAASxK,MAEhC+jB,EAAgBvZ,EAAUwZ,EAAS3jB,EAAGC,EAAG7C,IAE3ComB,EAAWrZ,EAAUsZ,EAAUzjB,EAAGC,EAAG7C,GAGzC,OAAOqmB,GAILI,EAAe,SAAU1Z,EAAUnK,EAAGC,GACxC,IAAI6jB,EAAMC,EAEV,GAAsB,MAAlBrjB,KAAKyiB,WAAqBziB,KAAKW,MAAMjJ,OAAS,GAAK,EAAG2rB,EAAOrjB,KAAKW,MAAMjJ,OAAS,MAChF,IAAsB,OAAlBsI,KAAKyiB,UACT,OAAO,EADsBY,EAAO,EAGzC,IAAK,IAAI7rB,EAAIwI,KAAKW,MAAMjJ,OAAS,EAAGF,GAAK6rB,EAAM7rB,IAC7C,GAAIwI,KAAKW,MAAMnJ,GAAGwF,IAAIsC,EAAGC,IAAMkK,EAASzM,IAAIsC,EAAGC,GAAI,CACjD6jB,GAAO,EACP,IAAK,IAAI1qB,EAAI,EAAGA,EAAIsH,KAAKf,KAAOe,KAAKf,KAAMvG,IACzC,GAAIsH,KAAKW,MAAMnJ,GAAG0qB,OAAOxpB,IAAM+Q,EAASyY,OAAOxpB,GAAI,CACjD0qB,GAAO,EACP,MAGJ,GAAIA,EAAM,OAAO,EAIrB,OAAO,GAGTf,EAAKzqB,UAAY,CAEfiL,YAAawf,EAQblR,YAAa,WACX,OAAOnR,KAAKW,MAAMX,KAAKW,MAAMjJ,OAAS,IAmBxC4S,KAAM,SAAUhL,EAAGC,EAAG7C,EAAG4mB,GAEvB,IAAKtjB,KAAKujB,UAAUjkB,EAAGC,GAAI,OAAO,EAClC,IAAKS,KAAK0iB,eAA4C,GAA3B1iB,KAAKyJ,SAASzM,IAAIsC,EAAGC,GAAS,OAAO,EAG3D7C,IAAGA,EAAIsD,KAAKP,MAEjB,IAAI+jB,EAAUxjB,KAAKyJ,SAASyD,QAC5BsW,EAAQlW,IAAIhO,EAAGC,EAAG7C,GAGlB,IAAI+mB,EAAY/mB,EACZqmB,EAAWG,EAAgBM,EAASlkB,EAAI,EAAGC,GAAI7C,GAAG6S,OAAO2T,EAAgBM,EAASlkB,EAAI,EAAGC,GAAI7C,GAAIwmB,EAAgBM,EAASlkB,EAAGC,EAAI,GAAI7C,GAAIwmB,EAAgBM,EAASlkB,EAAGC,EAAI,GAAI7C,IAGjL,IAAKqmB,EAASrrB,OAAQ,CACpB,IAAIurB,EAAU,IAAIhB,EAASjiB,KAAKf,MAChC,GAAI+jB,EAAgBQ,EAASP,EAAS3jB,EAAGC,EAAG7C,GAAI,CAC9C,IAAIsD,KAAK2iB,cAGF,OAAO,EAFZc,GAAa/mB,EACbomB,EAAWU,EAAST,EAAUzjB,EAAGC,EAAG7C,IAM1C,OAAIsD,KAAKyiB,YAAcU,EAAarrB,KAAKkI,KAAMwjB,EAASlkB,EAAGC,GAClD,GAGL+jB,IAGJE,EAAQjG,MAAQ7gB,EAChB8mB,EAAQpZ,SAAW,CACjBzL,MAAOqB,KAAKyJ,SAASW,SAASzL,MAC9BikB,MAAO5iB,KAAKyJ,SAASW,SAASwY,OAE5Ba,GAAaplB,EAAIe,EAAGokB,EAAQpZ,SAASzL,OAASokB,EAASrrB,OACtD8rB,EAAQpZ,SAASwY,OAASG,EAASrrB,OAGxCsI,KAAK0jB,aAAaF,GAGlBxjB,KAAKP,MAAQ/C,EAENqmB,IAST5jB,KAAM,SAAUzC,GACdsD,KAAK0jB,eACDhnB,GACFsD,KAAKyJ,SAAS8T,MAAQ7gB,EACtBsD,KAAKP,MAAQ/C,IAEbsD,KAAKyJ,SAAS8T,MAAQvd,KAAKP,KAC3BO,KAAKP,MAAQO,KAAKP,OAatB0J,QAAS,SAAU7J,EAAGC,EAAG7C,GACvB,MAA0C,iBAA5BsD,KAAKsK,KAAKhL,EAAGC,EAAG7C,GAAG,IAWnC6mB,UAAW,SAAUjkB,EAAGC,GACtB,OAAOD,GAAK,GAAKC,GAAK,GAAKD,EAAIU,KAAKf,MAAQM,EAAIS,KAAKf,MAYvDmO,SAAU,SAAU9N,EAAGC,EAAG7C,GACxB,SAAIsD,KAAKujB,UAAUjkB,EAAGC,IAAiC,GAA3BS,KAAKyJ,SAASzM,IAAIsC,EAAGC,MAC/CS,KAAKyJ,SAAS6D,IAAIhO,EAAGC,EAAG7C,GAAK,IACtB,IAaXqW,YAAa,SAAUzT,EAAGC,GACxB,SAAIS,KAAKujB,UAAUjkB,EAAGC,IAAiC,GAA3BS,KAAKyJ,SAASzM,IAAIsC,EAAGC,MAC/CS,KAAKyJ,SAAS6D,IAAIhO,EAAGC,EAAG,IACjB,IAcXokB,SAAU,SAAUrkB,EAAGC,EAAG7C,GACxB,QAAIsD,KAAKujB,UAAUjkB,EAAGC,KACpBS,KAAKyJ,SAAS6D,IAAIhO,EAAGC,EAAG7C,GAAK,IACtB,IAaXknB,SAAU,SAAUtkB,EAAGC,GACrB,OAAIS,KAAKujB,UAAUjkB,EAAGC,GACbS,KAAKyJ,SAASzM,IAAIsC,EAAGC,GAEvB,GAUTmkB,aAAc,SAAUb,GACtB,IAAKA,EAAK,CACJA,EAAM7iB,KAAKyJ,SAASyD,QACxB2V,EAAIzY,SAAW,CACbzL,MAAOqB,KAAKyJ,SAASW,SAASzL,MAC9BikB,MAAO5iB,KAAKyJ,SAASW,SAASwY,OAEhCC,EAAItF,MAAQvd,KAAKyJ,SAAS8T,MAI5B,OAFAvd,KAAKW,MAAM3I,KAAK6qB,GACZA,EAAItF,QAAOvd,KAAKP,MAAQojB,EAAItF,OACzBvd,MAOT6jB,YAAa,WACX,IAAI7O,EAAM,KAQV,OAPIhV,KAAKW,MAAMjJ,OAAS,IACtBsd,EAAMhV,KAAKW,MAAMG,MAEQ,GAArBd,KAAKW,MAAMjJ,OAAasI,KAAKP,KAAOpB,EAAIe,EACnCY,KAAKyJ,SAAS8T,MAAOvd,KAAKP,MAAQO,KAAKyJ,SAAS8T,MACpDvd,KAAKP,MAAQO,KAAKP,MAElBuV,GAOT8O,cAAe,WAKb,OAJA9jB,KAAKW,MAAQ,GACbX,KAAKW,MAAM,GAAK,IAAIshB,EAASjiB,KAAKf,MAClCe,KAAKW,MAAM,GAAGyJ,SAAW,CAAEzL,MAAO,EAAGikB,MAAO,GAC5C5iB,KAAKP,KAAOpB,EAAIe,EACTY,MAUT+jB,gBAAiB,SAAUxG,GACzB,OAAOA,GAASlf,EAAIe,EAAIY,KAAKyJ,SAASW,SAASzL,MAAQqB,KAAKyJ,SAASW,SAASwY,OAUhFoB,iBAAkB,WAOhB,IANA,IAAItnB,EAAGxD,EACL0pB,EAAQ,EACRjkB,EAAQ,EACRokB,EAAW,GACXS,EAAUxjB,KAAKyJ,SAASyD,QAEjB5N,EAAI,EAAGA,EAAIU,KAAKf,KAAMK,IAC7B,IAAK,IAAIC,EAAI,EAAGA,EAAIS,KAAKf,KAAMM,IAC7B7C,EAAIsD,KAAKyJ,SAASzM,IAAIsC,EAAGC,GACrB7C,IACFxD,EAAI6pB,EAASrrB,OACbqrB,EAAWA,EAASxT,OAAO2T,EAAgBM,EAASlkB,EAAI,EAAGC,GAAI7C,GAC7DwmB,EAAgBM,EAASlkB,EAAI,EAAGC,GAAI7C,GACpCwmB,EAAgBM,EAASlkB,EAAGC,EAAI,GAAI7C,GACpCwmB,EAAgBM,EAASlkB,EAAGC,EAAI,GAAI7C,IAElCA,GAAK2B,EAAIe,EAAGT,GAASokB,EAAW7pB,EAC/B0pB,GAASG,EAAW7pB,GAQ/B,OAJA8G,KAAKyJ,SAASW,SAASzL,OAASA,EAChCqB,KAAKyJ,SAASW,SAASwY,OAASA,EAChC5iB,KAAKyJ,SAASyY,OAASsB,EAAQtB,OAExBa,IAKX1kB,EAAIgkB,KAAOA,EAGXnkB,EAAOG,IAAMA,EAvwEf,CAwwEGH,S,2CC7xEH,SAAWG,GAEVA,EAAImG,MAAMsI,aAAa,OAAS,CAC/BsN,MAAO,CACN1D,KAAM,SAAUC,EAAMxU,GACrB,IAAIyU,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACxBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAKnB,KAAKgG,MAAM1Z,EAAMuT,aACtBuO,EAAQtN,EAAKsN,MACdjN,GAAUiN,EACVjkB,KAAK2V,UAAYgB,EAAKhB,WAAaa,EAAe,mBAAoBrU,IAAU,EAChFnC,KAAKiX,YACLjX,KAAKyX,UAAYd,EAAKja,GAAKqb,iBAAiB5V,EAAOwU,EAAKrX,EAAGqX,EAAKpX,GAChES,KAAKwc,KAAK3G,KAAKgG,MAAMjF,EAAKI,EAAK,GAAK7U,EAAMoV,GAAI1B,KAAKgG,MAAM/E,EAAKE,EAAK,GAAK7U,EAAMoV,GAAIP,EAAIA,GACtFhX,KAAK4X,UAIR,IAAIpB,EAAiB,SAAU9Y,EAAKyE,GACnC,MAAkC,mBAApBA,EAAMwK,MAAMjP,GAAqByE,EAAMwK,MAAMjP,GAAKyE,GAASA,EAAMwK,MAAMjP,IAElFwmB,EAAY,SAAU5b,EAAQiG,GACjCvO,KAAKmkB,iBAAmB7b,EAAOW,WAAWC,KAAKO,SAC/CzJ,KAAKsI,OAASA,EACdtI,KAAKyJ,SAAWzJ,KAAKmkB,iBAAiBjX,QACtClN,KAAKmC,MAAQmG,EAAOnG,MACpBnC,KAAKuO,SAAWA,GAEL2V,EAAUzb,MAAQ,CAC7B2b,QAAS,EACT1b,YAAa,EACbC,aAAc,EACd0b,gBAAiB,EACjBC,iBAAkB,EAClBC,cAAe,EACfC,eAAgB,EAChBC,QAAS,GAEVP,EAAUtsB,UAAUwU,MAAQ,SAAU7T,GACrCyH,KAAKsI,OAAOjC,WAAU,GAStBrG,KAAKzH,OAASA,EACdyH,KAAK0kB,YAAc1kB,KAAKmC,MAAM2e,WAC9B9gB,KAAK2kB,eAIL,IAAIC,EAAK5kB,KAAKsI,OAAOW,WAAWrK,KAAKG,KAAK,OAAS,KACnD6lB,EAAKA,EAAGC,oBAAoBC,OAC5BF,EAAW,MAANA,EAAa,KAAOA,EACzB5kB,KAAKuO,UAAYvO,KAAKuO,SAASqW,IAEhCV,EAAUtsB,UAAUmtB,IAAM,WAEzB/kB,KAAKmC,MAAM6e,aAAa,CACvBD,QAAS1iB,EAAI6O,MAAMlN,KAAK0kB,YAAY3D,WAErC/gB,KAAKsI,OAAOjC,WAAU,IAEvB6d,EAAUtsB,UAAUotB,YAAc,SAAUC,EAAIC,GAC/C,IAAIC,EAAY,GACZ5sB,EAAS,GACT2sB,EAAKA,EAUT,OATAA,EAAW,GAANA,EAAU,EAAIA,EACnB3sB,GAAU2sB,EAAKD,GAAM,EAEpBE,EADG5sB,EAAS,EACA,IACQ,GAAVA,EACE,GAEA,IAEN4sB,EAAY,IAAMtP,KAAKuP,IAAI7sB,GAAU,KAE7C2rB,EAAUtsB,UAAU+sB,aAAe,WAClC,IAAIU,EAAQ,CACX1mB,MAAO,GACPikB,MAAO,IAER5iB,KAAKslB,OAAS,IAAIjnB,EAAI4jB,SAASjiB,KAAKmC,MAAMlD,MAC1Ce,KAAKslB,OAAOpD,OAASliB,KAAKzH,OAC1B,IAAK,IAAIf,EAAI,EAAGA,EAAIwI,KAAKyJ,SAASxK,KAAMzH,IACvC,IAAK,IAAIkB,EAAI,EAAGA,EAAIsH,KAAKyJ,SAASxK,KAAMvG,IAAK,CAC5C,IAAII,EAAIkH,KAAKslB,OAAOtoB,IAAIxF,EAAGkB,GACvB2E,EAAI2C,KAAKmkB,iBAAiBnnB,IAAIxF,EAAGkB,GACjCI,EAAI,IAAOuE,GAAKgB,EAAIe,GACvBimB,EAAM1mB,MAAM3G,KAAK,CAChBsH,EAAG9H,EACH+H,EAAG7G,EACH8B,KAAM,MACNkC,EAAG,QACHunB,MAAOpO,KAAK0P,KAAKzsB,KAGfA,GAAK,IAAOuE,GAAKgB,EAAIgB,GACxBgmB,EAAMzC,MAAM5qB,KAAK,CAChBsH,EAAG9H,EACH+H,EAAG7G,EACH8B,KAAM,MACNkC,EAAG,QACHunB,MAAOpO,KAAK0P,KAAK1P,KAAKuP,IAAItsB,MAK9BkH,KAAKmC,MAAMiH,UAAUic,EAAM1mB,OAC3BqB,KAAKmC,MAAMiH,UAAUic,EAAMzC,QAG5BvkB,EAAI6lB,UAAYA,EApHjB,CAqHG7lB,M,gFCnHGmnB,EAAS,CACb,CACEhc,KAAM,IACNnN,KAAM,QAER,CACEmN,KAAM,UACNnN,KAAM,SAENwH,UAAW,kBAAM,mIAEnB,CACE2F,KAAM,WACNnN,KAAM,UACNwH,UAAW,kBAAM,mIAEnB,CACE2F,KAAM,UACNnN,KAAM,SACNwH,UAAW,kBAAM,6GAEnB,CACE2F,KAAM,OACNnN,KAAM,MACNwH,UAAW,kBAAM,uFAEnB,CACE2F,KAAM,cACNnN,KAAM,aACNwH,UAAW,kBAAM,oIAMfoK,EAASwX,eAAa,CAC1BC,QAASC,eAAqBC,KAC9BJ,WAGFvX,EAAO4X,YAAW,SAACC,EAAIC,EAAMpb,GAC3BpO,YAAW,WACT,GAAe,YAAXupB,EAAGtc,MACL,GAAItL,OAAO8nB,OAAO5iB,OAAS,KAAOlF,OAAO8nB,OAAO5iB,MAAQlF,OAAO8nB,OAAOhjB,OAEpE,YADA2H,EAAK,CAAEnB,KAAM,UAAWyc,MAAOH,EAAGG,aAG/B,GAAe,WAAXH,EAAGtc,MACZ,GAAItL,OAAO8nB,OAAO5iB,MAAQ,KAAOlF,OAAO8nB,OAAO5iB,MAAQlF,OAAO8nB,OAAOhjB,OAEnE,YADA2H,EAAK,CAAEnB,KAAM,WAAYyc,MAAOH,EAAGG,YAGjB,WAAXH,EAAGtc,MAES,QAAXsc,EAAGtc,MAEM,eAAXsc,EAAGtc,OAGPtL,OAAO8nB,OAAO5iB,OAAS,KAAOlF,OAAO8nB,OAAO5iB,MAAQlF,OAAO8nB,OAAOhjB,OACpE2H,EAAK,CAAEnB,KAAM,UAAWyc,MAAOH,EAAGG,QAElCtb,EAAK,CAAEnB,KAAM,WAAYyc,MAAOH,EAAGG,SAGvCtb,MACC,QAGUsD,U,kCCvEf,oE,gECAA,SAAU5P,GAET,IAAIuK,EAAwB,SAAStJ,EAAGC,GACvC,KAAIS,KAAKsI,OAAOlB,QAAWpH,KAAK6I,QAAUvJ,GAAKU,KAAK8I,QAAUvJ,GAA9D,CASA,GAPAS,KAAK6I,OAASvJ,EACdU,KAAK8I,OAASvJ,EAEVS,KAAK+I,YACR/I,KAAKmC,MAAM6G,aAAahJ,KAAK+I,aAGpB,GAANzJ,IAAiB,GAANC,GAAWS,KAAKsI,OAAOW,WAAWC,KAAKC,QAAQ7J,EAAGC,GAUhE,OATAS,KAAK+I,WAAa,CACjBvO,KAAM,OACN8E,EAAGA,EACHC,EAAGA,EACH7C,EAAGsD,KAAKsI,OAAOW,WAAWC,KAAKzJ,MAEhCO,KAAKmC,MAAMiH,UAAUpJ,KAAK+I,iBAE1B/I,KAAKkmB,QAAUlmB,KAAKkmB,OAAO5mB,EAAGC,EAAG,gBAGjCS,KAAKkmB,QAAUlmB,KAAKkmB,OAAO5mB,EAAGC,EAAG,oBAC1BS,KAAK+I,aAKVM,EAAuB,WACtBrJ,KAAK+I,aACR/I,KAAKmC,MAAM6G,aAAahJ,KAAK+I,mBACtB/I,KAAK+I,kBACL/I,KAAK6I,cACL7I,KAAK8I,SA+BdzK,EAAI6F,OAAOiiB,SAAW,GAMtB9nB,EAAI6F,OAAOiiB,SAAW,SAAS7d,EAAQnG,EAAO+jB,GAC7ClmB,KAAKsI,OAASA,EACdtI,KAAKmC,MAAQA,EACbnC,KAAKkmB,OAASA,EACdlmB,KAAKyK,UAAW,EAChBzK,KAAKomB,SAAW,SAChBpmB,KAAKqmB,UAAY,EACjBrmB,KAAKsmB,YAAc,MAEpBjoB,EAAI6F,OAAOiiB,SAASvuB,UAAU2uB,YAAc,SAAS/rB,GAEpD,GAAIA,GAAQwF,KAAKomB,SAAjB,CACA,GAAIpmB,KAAKsmB,YAAa,CACrB,IAAIA,EAActmB,KAAKsmB,YACvBtmB,KAAKmC,MAAM6G,aAAa,CACvB1J,EAAGgnB,EAAYhnB,EACfC,EAAG+mB,EAAY/mB,EACf7C,EAAG4pB,EAAY5pB,EACflC,KAAM,SAEPwF,KAAKsmB,YAAc,KAER,SAAR9rB,IACHwF,KAAKomB,SAAW5rB,KAGlB6D,EAAI6F,OAAOiiB,SAASvuB,UAAU4uB,UAAY,SAASH,GAClDrmB,KAAKqmB,UAAYA,GAElBhoB,EAAI6F,OAAOiiB,SAASvuB,UAAU6uB,qBAAuB,SAAS9e,GACzDA,GACH3H,KAAKsI,OAAOW,WAAWC,KAAKwZ,eAAgB,EAC5C1iB,KAAKsI,OAAOW,WAAWC,KAAKwZ,eAAgB,EAC5C1iB,KAAKsI,OAAOW,WAAWC,KAAKuZ,UAAY,SAExCziB,KAAKsI,OAAOW,WAAWC,KAAKwZ,eAAgB,EAC5C1iB,KAAKsI,OAAOW,WAAWC,KAAKwZ,eAAgB,EAC5C1iB,KAAKsI,OAAOW,WAAWC,KAAKuZ,UAAY,OAG1CpkB,EAAI6F,OAAOiiB,SAASvuB,UAAU0V,IAAM,SAASA,IACvCtN,KAAKyK,UAAY6C,GAWrBtN,KAAK0mB,UAAY1mB,KAAK0mB,WAAa1mB,KAAKsK,KAAK3M,KAAKqC,MAClDA,KAAKuK,SAAWvK,KAAKuK,UAAY3B,EAAsBjL,KAAKqC,MAC5DA,KAAKwK,QAAUxK,KAAKwK,SAAWnB,EAAqB1L,KAAKqC,MAEzDA,KAAKmC,MAAMuC,iBAAiB,QAAS1E,KAAK0mB,WAC1C1mB,KAAKmC,MAAMuC,iBAAiB,YAAa1E,KAAKuK,UAC9CvK,KAAKmC,MAAMuC,iBAAiB,WAAY1E,KAAKwK,SAE7CxK,KAAKyK,UAAW,GACNzK,KAAKyK,WAAa6C,IAW5BtN,KAAKmC,MAAM4I,oBAAoB,QAAS/K,KAAK0mB,WAC7C1mB,KAAKmC,MAAM4I,oBAAoB,YAAa/K,KAAKuK,UACjDvK,KAAKmC,MAAM4I,oBAAoB,WAAY/K,KAAKwK,SAEhDxK,KAAKyK,UAAW,IAIlBpM,EAAI6F,OAAOiiB,SAASvuB,UAAU0S,KAAO,SAAShL,EAAGC,EAAG7C,GACnD,IAAIiqB,EAAU3mB,KAAKsI,OAAOW,WAAWkI,cACpCtW,EAAS0E,EAAID,EAAIqnB,EAAQ1nB,KAgBvB,GAA8B,GAA1B0nB,EAAQzE,OAAOrnB,KACfmF,KAAKsI,OAAOlB,QAAWpH,KAAKsI,OAAOW,WAAWC,KAAKC,QAAQ7J,EAAGC,IAAwB,GAAjBS,KAAKyK,SAA9E,CACgBzK,KAAKsI,OAAOW,WAAWpK,KAAKoU,eAA5C,IACF2T,EAAU5mB,KAAKsI,OAAOW,WAAWpK,KACjCgoB,EAAW7mB,KAAKsI,OAAOW,WAAWC,KAAKzJ,KAGxC,OAFKmI,MAAMlL,KAAImqB,EAAWnqB,GAC1BmqB,EAA6B,GAAlB7mB,KAAKqmB,UAAiBQ,EAAW7mB,KAAKqmB,UACzCrmB,KAAKomB,UACZ,IAAK,SACJ,GAAIQ,EAAQhc,SAASlT,OAAS,GAAIsI,KAAKsI,OAAOW,WAAWO,KAAK/M,GAAIuD,KAAKsI,OAAOW,WAAWrK,KAAKmC,UAE7F,YADAf,KAAKkmB,QAAUlmB,KAAKkmB,OAAO5mB,EAAGC,EAAG,WAGlCqnB,EAAQvrB,YAAY,IAAIgD,EAAI2C,MAAM,CACjC9B,KAAM,CACLI,EAAGA,EACHC,EAAGA,EACH7C,EAAGmqB,GAEJnc,SAAS,KAEV1K,KAAKsI,OAAOW,WAAWrK,KAAKmC,YAC5Bf,KAAKsI,OAAOqC,KAAKic,EAAQ3T,gBACzBjT,KAAKkmB,QAAUlmB,KAAKkmB,OAAO5mB,EAAGC,EAAG,UACjC,MACD,IAAK,MAEAqnB,EAAQhc,SAASlT,OAAS,GAEzBkvB,EAAQhc,SAASlT,QAAUkvB,EAAQ3T,gBACtC2T,EAAQhc,SAAS5S,KAAK,IAAIqG,EAAI2C,MAAM,CACnCO,OAAQqlB,EACRlc,SAAS,KAGXkc,EAAQhc,SAASgc,EAAQ3T,gBAAgBrI,SAAW,GACpDgc,EAAQhc,SAASgc,EAAQ3T,gBAAgB/T,KAAO,CAC/CI,EAAGA,EACHC,EAAGA,EACH7C,EAAGmqB,IAGJD,EAAQvrB,YAAY,IAAIgD,EAAI2C,MAAM,CACjC9B,KAAM,CACLI,EAAGA,EACHC,EAAGA,EACH7C,EAAGmqB,GAEJnc,SAAS,KAGX1K,KAAKsI,OAAOqC,KAAKic,EAAQ3T,gBACzBjT,KAAKkmB,QAAUlmB,KAAKkmB,OAAO5mB,EAAGC,EAAG,OACjC,MACD,IAAK,QACJqnB,EAAQhc,SAAW,GACnBgc,EAAQ3T,eAAiB,EACzB,IAAIzJ,EAAOxJ,KAAKsI,OAAOW,WAAWO,KAAK/M,EACvCmqB,EAAQvrB,YAAY,IAAIgD,EAAI2C,MAAM,CACjC9B,KAAM,CACLI,EAAGA,EACHC,EAAGA,EACH7C,EAAGmqB,GAEJnc,SAAS,KAEV1K,KAAKsI,OAAO1J,KAAKmC,UAAYyI,EAAO,EACpCxJ,KAAKsI,OAAOqC,KAAKic,EAAQ3T,gBACzBjT,KAAKkmB,QAAUlmB,KAAKkmB,OAAO5mB,EAAGC,EAAG,SACjC,MACD,IAAK,SACJ,GAA+B,GAA3BqnB,EAAQhc,SAASlT,OACpBsI,KAAKomB,SAAW,SAChBpmB,KAAKsI,OAAOqC,KAAKic,EAAQ3T,gBACzBjT,KAAKkmB,QAAUlmB,KAAKkmB,OAAO5mB,EAAGC,EAAG,eAEjC,GAAID,GAAKsnB,EAAQhc,SAASgc,EAAQ3T,gBAAgB/T,KAAKI,GAAKC,GAAKqnB,EAAQhc,SAASgc,EAAQ3T,gBAAgB/T,KAAKK,EAC9GS,KAAKomB,SAAW,SAChBpmB,KAAKsI,OAAOqC,KAAKic,EAAQ3T,gBACzBjT,KAAKkmB,QAAUlmB,KAAKkmB,OAAO5mB,EAAGC,EAAG,cAC3B,CACN,IAAIV,EAAO,IAAIR,EAAI2C,MAAM,CACxBO,OAAQqlB,EACRhc,SAAU,CAACgc,EAAQhc,SAASgc,EAAQ3T,iBACpC/T,KAAM,CACLI,EAAGA,EACHC,EAAGA,EACH7C,EAAGmqB,GAEJnc,SAAS,EACTuI,eAAgB2T,EAAQ3T,iBAEzB2T,EAAQhc,SAASgc,EAAQ3T,gBAAgB1R,OAAS1C,EAClD+nB,EAAQhc,SAASgc,EAAQ3T,gBAAkBpU,EAC3CmB,KAAKsI,OAAOqC,KAAKic,EAAQ3T,gBACzBjT,KAAKomB,SAAW,SAChBpmB,KAAKkmB,QAAUlmB,KAAKkmB,OAAO5mB,EAAGC,EAAG,UAGnC,MACD,IAAK,UACJS,KAAKmC,MAAMiH,UAAU,CAAC,CACrB9J,EAAGA,EACHC,EAAGA,EACH7C,EAAGmqB,EACHrsB,KAAM,UAEPwF,KAAKsmB,YAAc,CAClBhnB,EAAGA,EACHC,EAAGA,EACH7C,EAAGmqB,GAEJ7mB,KAAKkmB,QAAUlmB,KAAKkmB,OAAO5mB,EAAGC,EAAG,WACjC,SAIHlB,EAAI6F,OAAOiiB,SAASvuB,UAAUkvB,YAAc,SAAS5nB,GACpD,IAAI2nB,EAAW7mB,KAAKsI,OAAOW,WAAWC,KAAKzJ,KACtCmI,MAAM1I,EAAKxC,KAAImqB,EAAW3nB,EAAKxC,GACpC,IAAIqqB,EAAW/mB,KAAKsI,OAAO1J,KAAKooB,cAC5B5M,EAAQ,CACX9a,EAAGJ,EAAKI,EACRC,EAAGL,EAAKK,EACR7C,EAAGmqB,IAEW,GAAX3nB,EAAKI,IAAsB,GAAXJ,EAAKK,IACxB6a,EAAQ,CACPjb,MAAM,EACNzC,EAAGmqB,IAGLE,EAAS1rB,YAAY,IAAIgD,EAAI2C,MAAM,CAClC9B,KAAMkb,EACN1P,SAAS,KAEV1K,KAAKsI,OAAOW,WAAWrK,KAAKmC,aAG7B1C,EAAI6F,OAAOiiB,SAASvuB,UAAUuH,KAAO,SAASG,EAAGC,EAAG7C,GACnD4C,EAAIA,IAAM,EACPC,EAAIA,IAAM,EACTS,KAAKsI,OAAOlB,SAChBpH,KAAKsI,OAAOW,WAAWpK,KAAKxD,YAAY,IAAIgD,EAAI2C,MAAM,CACrD9B,KAAM,CACLC,MAAM,EACNzC,EAAGA,GAAKsD,KAAKsI,OAAOW,WAAWC,KAAKzJ,MAErCiL,SAAS,KAEV1K,KAAKsI,OAAOW,WAAWrK,KAAKmC,YAC5Bf,KAAKsI,OAAOqC,KAAK3K,KAAKsI,OAAOW,WAAWpK,KAAK+L,SAASlT,OAAS,GAC/DsI,KAAKkmB,QAAUlmB,KAAKkmB,OAAO5mB,EAAGC,EAAG,UAG9BlB,EAAIuF,aAAevF,EAAIuF,YAAYC,UAAUojB,SAChD5oB,EAAIuF,YAAYC,UAAUojB,QAAQC,KAAKlvB,KAAK,CAC3C6K,YAAaxE,EAAIuF,YAAYujB,QAAQC,SACrCzQ,KAAM,CACLta,KAAM,WACNgrB,WAAW,EACXC,MAAO,SAAShf,GAGf,OAFAtI,KAAKunB,UAAYvnB,KAAKunB,WAAa,IAAIlpB,EAAI6F,OAAOiiB,SAAS7d,EAAQA,EAAOnG,OAC1EnC,KAAKunB,UAAUja,KAAKtN,KAAKunB,UAAU9c,UAC5BzK,KAAKunB,UAAU9c,UAEvBhG,KAAM,SAAS6D,GACd,IAAIqJ,EAAQ3R,KACZsI,EAAO5D,iBAAiB,UAAU,SAASpL,GAC1CqY,EAAM6V,UAAY7V,EAAM8V,SACnB9V,EAAM8V,UAAU9V,EAAM+V,aAE5Bpf,EAAO5D,iBAAiB,YAAY,SAASpL,GACvCqY,EAAM6V,WAAW7V,EAAMgW,gBACrBhW,EAAM6V,iBAOlBnpB,EAAIsI,KAAKC,GAAG,YAAc,aA/V3B,CAgWGvI,M,yCC5VH,SAAWA,GACV,aAIAA,EAAImG,MAAMsI,aAAa,OAASzO,EAAImG,MAAMsI,aAAa,MAAQ,CAC9DsN,MAAO,CACN1D,KAAM,SAAUC,EAAMxU,GACrB,IAAIyU,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACxBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YAIZ1V,KAAKyX,UAAY,UACjBzX,KAAKiX,YACLjX,KAAK2Z,OAAO/C,EAAK,GAAKE,EAAK,GAAMjB,KAAKgG,MAAM7E,EAAK,IACjDhX,KAAK0c,OAAO7G,KAAKgG,MAAMjF,EAAKI,EAAK,GAAK,GAAKnB,KAAKgG,MAAM/E,EAAKE,EAAK,GAAK,IACrEhX,KAAK0c,OAAO7G,KAAKgG,MAAMjF,EAAKI,EAAK,GAAK,GAAKnB,KAAKgG,MAAM/E,EAAKE,EAAK,GAAK,IACrEhX,KAAK2c,YACL3c,KAAK4X,UAKRvZ,EAAImG,MAAMsI,aAAa,OAAS,CAC/BsN,MAAO,CACN1D,KAAM,SAAUC,EAAMxU,GACrB,IAAIyU,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACxBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YACR2E,EAAUra,KAAKsX,qBAAqBV,EAAKI,EAAK,GAAIF,EAAI,EAAGF,EAAKI,EAAK,GAAIF,EAAIE,GAC/EqD,EAAQ7C,aAAa,EAAG,mBACxB6C,EAAQ7C,aAAa,EAAG,qBACxBxX,KAAKiX,YACLjX,KAAKyX,UAAY4C,EACjBra,KAAK0X,IAAId,EAAKzU,EAAMoV,GAAIT,EAAK3U,EAAMoV,GAAI1B,KAAKuB,IAAI,EAAGJ,EAAK,IAAM,EAAG,EAAInB,KAAK8B,IAAI,GAC9E3X,KAAK4X,UAKRvZ,EAAImG,MAAMsI,aAAa,OAAS,CAC/BsN,MAAO,CACN1D,KAAM,SAAUC,EAAMxU,GACrB,IAAIyU,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACxBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YACR2E,EAAUra,KAAKsX,qBAAqBV,EAAKI,EAAK,GAAIF,EAAI,EAAGF,EAAKI,EAAK,GAAIF,EAAIE,GAC/EqD,EAAQ7C,aAAa,EAAG,mBACxB6C,EAAQ7C,aAAa,EAAG,qBACxBxX,KAAKiX,YACLjX,KAAKyX,UAAY4C,EACjBra,KAAK0X,IAAId,EAAKzU,EAAMoV,GAAIT,EAAK3U,EAAMoV,GAAI1B,KAAKuB,IAAI,EAAGJ,EAAK,IAAM,EAAG,EAAInB,KAAK8B,IAAI,GAC9E3X,KAAK4X,UAKR,IAAIpB,EAAiB,SAAU9Y,EAAKyE,GACnC,MAAkC,mBAApBA,EAAMwK,MAAMjP,GAAqByE,EAAMwK,MAAMjP,GAAKyE,GAASA,EAAMwK,MAAMjP,IAElFqa,EAAmB,SAAU5V,EAAO7C,EAAGC,GAC1C,OAAI4C,EAAM6V,QAAQ1Y,GAAGC,GAAG,GAAG7C,GAAK2B,EAAIe,EAAUoX,EAAe,mBAAoBrU,GACxEA,EAAM6V,QAAQ1Y,GAAGC,GAAG,GAAG7C,GAAK2B,EAAIgB,EAAUmX,EAAe,mBAAoBrU,GAC/EqU,EAAe,kBAAmBrU,IAEtCylB,EAAS,KACbvpB,EAAImG,MAAMsI,aAAa,MAAQ,CAC9BsN,MAAO,CACN1D,KAAM,SAAUC,EAAMxU,GACrB,IAAIyU,EAAKzU,EAAM0U,KAAKF,EAAKrX,GACxBwX,EAAK3U,EAAM4U,KAAKJ,EAAKpX,GACrByX,EAAK7U,EAAMuT,YACXW,EAAOM,EAAKN,MAAQG,EAAe,OAAQrU,IAAU,GACtDnC,KAAKyX,UAAYd,EAAKja,GAAKqb,EAAiB5V,EAAOwU,EAAKrX,EAAGqX,EAAKpX,GACxC,GAApBoX,EAAK9W,KAAKnI,OAAasI,KAAKqW,KAAOR,KAAKgG,MAAW,IAAL7E,GAAY,MAAQX,EACzC,GAApBM,EAAK9W,KAAKnI,OAAasI,KAAKqW,KAAOR,KAAKgG,MAAW,IAAL7E,GAAY,MAAQX,EACtErW,KAAKqW,KAAOR,KAAKgG,MAAM7E,GAAM,MAAQX,EAC1CrW,KAAKiX,YACLjX,KAAK8b,aAAe,SACpB9b,KAAK+b,UAAY,SACjB/b,KAAKgc,SAASrF,EAAK9W,KAAM+W,EAAIE,EAAI,EAAIE,GACjCL,EAAKkR,QACRD,EAASjR,EAAK9W,KACdG,KAAKyX,UAAY,UACjBzX,KAAKiX,YACLjX,KAAK2Z,OAAO/C,EAAK,GAAKE,EAAK,GAAMjB,KAAKgG,MAAM7E,EAAK,MACjDhX,KAAK0c,OAAO7G,KAAKgG,MAAMjF,EAAKI,EAAK,KAAO,GAAKnB,KAAKgG,MAAM/E,EAAKE,EAAK,GAAK,IACvEhX,KAAK0c,OAAO7G,KAAKgG,MAAMjF,EAAKI,EAAK,KAAO,GAAKnB,KAAKgG,MAAM/E,EAAKE,EAAK,GAAK,IACvEhX,KAAK2c,YACL3c,KAAK4X,WAKT,IAAIlK,EAAS,GACToa,EAAY,CACf7b,YAAa,MACbC,UAAW,EACXC,cAAe,MACfC,MAAO,EACP2b,YAAa,GAGdra,EAAS,SAAUpF,EAAQnG,EAAOQ,GAIjC,IAAK,IAAIjF,KAHTsC,KAAKsI,OAASA,EACdtI,KAAKmC,MAAQA,EACbnC,KAAK2C,OAASA,GAAU,GACRmlB,OACUxrB,IAArB0D,KAAK2C,OAAOjF,SAAyCpB,IAAnBwrB,EAAUpqB,KAAoBsC,KAAK2C,OAAOjF,GAAOoqB,EAAUpqB,IAClGsC,KAAKyE,QAGNiJ,EAAO9V,UAAY,CAClB6M,KAAM,WACLzE,KAAKgoB,KAAO,IAAI3pB,EAAI4jB,SAASjiB,KAAKsI,OAAO1J,KAAKK,MAC9Ce,KAAKioB,cAENC,kBAAmB,WAClB,IAAIrpB,EAAOmB,KAAKsI,OAAOW,WAAWpK,KAC9BA,EAAKK,MACRc,KAAKmC,MAAM6G,aAAa,CACvB1J,EAAGT,EAAKK,KAAKI,EACbC,EAAGV,EAAKK,KAAKK,EACb/E,KAAM,QAITytB,WAAY,WACX,IAAIzb,EAAOxM,KACXA,KAAKsI,OAAO5D,iBAAiB,UAAU,SAAUpL,GAChDkT,EAAK2b,WAAW7uB,OAGlB8uB,YAAa,WACZ,IAAK,IAAI9oB,EAAI,EAAGA,EAAIU,KAAKsI,OAAO1J,KAAKK,KAAMK,IAC1C,IAAK,IAAIC,EAAI,EAAGA,EAAIS,KAAKsI,OAAO1J,KAAKK,KAAMM,IAAK,CAC/C,IAAI8oB,EAAMroB,KAAKgoB,KAAKhrB,IAAIsC,EAAGC,GACvB8oB,EAAM,GACTroB,KAAKmC,MAAM6G,aAAa,CACvB1J,EAAGA,EACHC,EAAGA,EACH/E,KAAMwF,KAAK2C,OAAOsJ,gBAMvBqc,YAAa,SAAU3lB,GAEtB,IAAK,IAAIjF,KADTsC,KAAKooB,cACWzlB,EAAQ3C,KAAK2C,OAAOjF,GAAOiF,EAAOjF,GAClD,IAAI6qB,EAAUvoB,KAAKsI,OAAOW,WAAWO,KAAK/M,EAC1CuD,KAAKsI,OAAO2J,QACZjS,KAAKsI,OAAOwC,KAAKyd,IAElBC,gBAAiB,SAAU/e,GAG1B,IAFA,IAAI0F,EAAM,GACT6D,EAAS,GACD1T,EAAI,EAAGA,EAAIU,KAAKsI,OAAO1J,KAAKK,KAAMK,IAC1C,IAAK,IAAIC,EAAI,EAAGA,EAAIS,KAAKsI,OAAO1J,KAAKK,KAAMM,IAAK,CAC/C,IAAIkpB,EAASzoB,KAAKgoB,KAAKhrB,IAAIsC,EAAGC,GAC7BmpB,EAASjf,EAASzM,IAAIsC,EAAGC,GACtBkpB,EAAS,GAAKC,EAAS,EACtBD,GAAUC,IACbvZ,EAAInX,KAAK,CACRsH,EAAGA,EACHC,EAAGA,EACHM,KAAM6oB,IAEP1V,EAAOhb,KAAK,CACXsH,EAAGA,EACHC,EAAGA,EACHM,KAAM4oB,KAGEA,EAAS,GAAe,GAAVC,EACxB1V,EAAOhb,KAAK,CACXsH,EAAGA,EACHC,EAAGA,EACHM,KAAM4oB,IAEa,GAAVA,GAAeC,EAAS,GAClCvZ,EAAInX,KAAK,CACRsH,EAAGA,EACHC,EAAGA,EACHM,KAAM6oB,IAGJd,GAAUA,GAAUc,IACvB1V,EAAOhb,KAAK,CACXsH,EAAGA,EACHC,EAAGA,EACHM,KAAM6oB,IAEPvZ,EAAInX,KAAK,CACRsH,EAAGA,EACHC,EAAGA,EACHM,KAAM6oB,KAGJA,GAAU1oB,KAAKsI,OAAOW,WAAWO,KAAK/M,GACzC0S,EAAInX,KAAK,CACRsH,EAAGA,EACHC,EAAGA,EACHM,KAAM6oB,IAMV,OADA1oB,KAAKgoB,KAAOve,EAASyD,QACd,CACNiC,IAAKA,EACL6D,OAAQA,IAGV7B,YAAa,SAAU1H,EAAU5K,GAChC,IAAImpB,EAAO,IAAI3pB,EAAI4jB,SAASjiB,KAAKsI,OAAO1J,KAAKK,MAC5C0pB,EAAY,GACkB,GAA3B3oB,KAAK2C,OAAOolB,aACfY,EAAY3oB,KAAK2C,OAAOolB,YACzB,IAAIM,EAAMroB,KAAKsI,OAAOW,WAAWO,KAAK/M,EAAIksB,EAAY3oB,KAAK2C,OAAOyJ,MACjEwc,EAAuC,GAAzB5oB,KAAK2C,OAAOuJ,UAAiBmc,EAAMroB,KAAK2C,OAAOuJ,UAC9D,MAAOrN,EAAKK,KAAM,CACjB,IAAII,EAAIT,EAAKK,KAAKI,EACdC,EAAIV,EAAKK,KAAKK,EAOlB,GAN0B,GAAtBkK,EAASzM,IAAIsC,EAAGC,IAAayoB,EAAKhrB,IAAIsC,EAAGC,IAC5CyoB,EAAK1a,IAAIhO,EAAGC,EAAG8oB,GAEhBA,IACAO,IACA/pB,EAAOA,EAAK0C,OACRqnB,GAAe,EAClB,MAED,GAAIP,GAAO,EACV,MAGF,OAAOL,GAERG,WAAY,SAAU7uB,GACrB,IAAIuF,EAAOmB,KAAKsI,OAAOW,WAAWpK,KAC9BmpB,EAAOhoB,KAAKmR,YAAY7X,EAAEmQ,SAASyD,QAASrO,GAC5CtG,EAASyH,KAAKwoB,gBAAgBR,GAC9B7a,EAAO,GACX5U,EAAOya,OAAO3F,QAAQ,SAAUwb,EAAGrxB,GAClCwI,KAAKmC,MAAM6G,aAAa,CACvB1J,EAAGupB,EAAEvpB,EACLC,EAAGspB,EAAEtpB,EACL/E,KAAMwF,KAAK2C,OAAOsJ,eAElBtO,KAAKqC,OACPzH,EAAO4W,IAAI9B,QAAQ,SAAUwb,EAAGrxB,GAC/B,GAAIqxB,EAAEhpB,KAAO,EAAG,CACf,IAAI3I,EAAO,CACVoI,EAAGupB,EAAEvpB,EACLC,EAAGspB,EAAEtpB,EACLM,KAAMgpB,EAAEhpB,KACRrF,KAAMwF,KAAK2C,OAAOsJ,aAEf0c,EAAY,GACe,GAA3B3oB,KAAK2C,OAAOolB,aACfY,EAAY3oB,KAAK2C,OAAOolB,YACrBc,EAAEhpB,MAAQG,KAAKsI,OAAOW,WAAWO,KAAK/M,EAAIksB,GAAsC,IAA3B3oB,KAAK2C,OAAOwJ,gBACpEjV,EAAK2wB,OAAQ,GAEd1a,EAAKnV,KAAKd,KAEVyG,KAAKqC,OACP,IAAK,IAAIxI,EAAI,EAAGA,EAAI2V,EAAKzV,OAAQF,IAChCwI,KAAKmC,MAAMiH,UAAU+D,EAAK3V,MAI7B6G,EAAI6F,OAAOwJ,OAASA,EAnRrB,CAoRGrP,M,sLCvRMyD,MAAA,oE,EACD,eAAwF,OAAlFhH,IAAA,IAA4BgH,MAAA,qD,iFADtC,eAEM,MAFN,EAEM,CADF,Q,yGCkBR,SAAWzD,EAAK/B,GACd,aAEA,IAAIwsB,EAAkB,SAAlBA,EAA4BjqB,GAC9B,IAAIjB,EAAI,IAAIoD,EAAM+nB,KAAKxoB,MAAMwoB,KAAKC,UAAUnqB,EAAKoqB,mBACjD,IAAK,IAAIvL,KAAM7e,EAAK+L,SAClBhN,EAAEvC,YAAYytB,EAAgBjqB,EAAK+L,SAAS8S,KAE9C,OAAO9f,GAGLsrB,EAAgB,SAAhBA,EAA0BC,EAAMtqB,GAClC,IAAIuqB,EACJ,GAAIvqB,EAAKsqB,KAAU7sB,EAAW,OAAOuC,EAAKsqB,GAC1C,IAAK,IAAIzL,KAAM7e,EAAK+L,SAElB,GADAwe,EAAMF,EAAcC,EAAMtqB,EAAK+L,SAAS8S,IACpC0L,EAAK,OAAOA,EAElB,OAAO,GAGLC,EAAiB,SAAjBA,EAA2BC,EAAUzqB,GAEvC,GADAyqB,EAAStxB,KAAK+wB,KAAKxoB,MAAMwoB,KAAKC,UAAUnqB,EAAKoqB,mBACzCpqB,EAAK+L,SAASlT,OAAS,EAAG,CAE5B,IADA,IAAI6xB,EAAK,GACA/xB,EAAI,EAAGA,EAAIqH,EAAK+L,SAASlT,OAAQF,IAAK,CAC7C,IAAI6F,EAAI,GACRgsB,EAAehsB,EAAGwB,EAAK+L,SAASpT,IAChC+xB,EAAGvxB,KAAKqF,GAEVisB,EAAStxB,KAAKuxB,QACL1qB,EAAK+L,SAASlT,QACvB2xB,EAAeC,EAAUzqB,EAAK+L,SAAS,KAIvC4e,EAAkB,SAAlBA,EAA4BF,EAAUzqB,GAIxC,IAHA,IACI4qB,EADAC,EAAQ7qB,EAGHrH,EAAI,EAAGA,EAAI8xB,EAAS5xB,OAAQF,IACnC,GAAI8xB,EAAS9xB,GAAGqL,aAAeC,MAC7B,IAAK,IAAIpK,EAAI,EAAGA,EAAI4wB,EAAS9xB,GAAGE,OAAQgB,IACtC+wB,EAAQ,IAAIzoB,EAAMsoB,EAAS9xB,GAAGkB,GAAG,IACjCgxB,EAAMruB,YAAYouB,GAClBD,EAAgBF,EAAS9xB,GAAGkB,GAAI+wB,QAGlCA,EAAQ,IAAIzoB,EAAMsoB,EAAS9xB,IAC3BkyB,EAAMC,YAAYF,GAClBC,EAAQD,GAKVG,EAAa,SAAU/pB,GACzB,MAAmB,iBAARA,EAAyBA,EAAKyB,QAAQ,MAAO,QAAQA,QAAQ,KAAM,OAClEzB,GAGVgqB,EAAS,IAAIprB,WAAW,GAExBqrB,EAAkB,SAAUxqB,EAAGC,GACjC,OAAOsK,OAAOC,aAAa+f,EAASvqB,GAAKuK,OAAOC,aAAa+f,EAAStqB,IAGpEwqB,EAAuB,SAAUZ,EAAMa,EAAQC,GACjD,GAAKD,EAAOtyB,OAAZ,CACA,IAAK,IAAIF,KAAKwyB,EACZC,EAAOnjB,IAAM,IAAMkjB,EAAOxyB,GAAK,IAAMyyB,EAAOnjB,IAE9CmjB,EAAOnjB,IAAMqiB,EAAOc,EAAOnjB,MAGzBojB,EAAkB,SAAUf,EAAMa,EAAQC,GAC5C,GAAKD,EAAOtyB,OAGZ,IAAK,IAAIF,KADTyyB,EAAOnjB,KAAOqiB,EACAa,EACZC,EAAOnjB,KAAO,IAAMkjB,EAAOxyB,GAAK,KAIhC2yB,EAAiB,SAAjBA,EAA2BtrB,EAAMorB,GAEnC,GAAIprB,EAAKK,KAAM,CACb,IAAIA,EAAO,GACNL,EAAKK,KAAKC,OAAMD,EAAO4qB,EAAgBjrB,EAAKK,KAAKI,EAAGT,EAAKK,KAAKK,IAE/DV,EAAKK,KAAKxC,GAAK2B,EAAIe,EAAG6qB,EAAOnjB,KAAO,KAAO5H,EAAO,IACjD+qB,EAAOnjB,KAAO,KAAO5H,EAAO,IAInC,GAAIL,EAAKurB,MAAO,CACd,IAAIpgB,EAAK,GACLC,EAAK,GACLogB,EAAK,GAET,IAAK,IAAI7yB,KAAKqH,EAAKurB,MACbvrB,EAAKurB,MAAM5yB,GAAGkF,GAAK2B,EAAIe,EAAG4K,EAAGhS,KAAK8xB,EAAgBjrB,EAAKurB,MAAM5yB,GAAG8H,EAAGT,EAAKurB,MAAM5yB,GAAG+H,IAC5EV,EAAKurB,MAAM5yB,GAAGkF,GAAK2B,EAAIgB,EAAG4K,EAAGjS,KAAK8xB,EAAgBjrB,EAAKurB,MAAM5yB,GAAG8H,EAAGT,EAAKurB,MAAM5yB,GAAG+H,IACrF8qB,EAAGryB,KAAK8xB,EAAgBjrB,EAAKurB,MAAM5yB,GAAG8H,EAAGT,EAAKurB,MAAM5yB,GAAG+H,IAG9D2qB,EAAgB,KAAMlgB,EAAIigB,GAC1BC,EAAgB,KAAMjgB,EAAIggB,GAC1BC,EAAgB,KAAMG,EAAIJ,GAI5B,GAAIprB,EAAKyQ,OAAQ,CACf,IAAIA,EAAS,GAEb,IAAK,IAAI9X,KAAKqH,EAAKyQ,OACjBA,EAAOzQ,EAAKyQ,OAAO9X,GAAGgD,MAAQ8U,EAAOzQ,EAAKyQ,OAAO9X,GAAGgD,OAAS,GAClC,MAAvBqE,EAAKyQ,OAAO9X,GAAGgD,KAAc8U,EAAO,MAAMtX,KAAK8xB,EAAgBjrB,EAAKyQ,OAAO9X,GAAG8H,EAAGT,EAAKyQ,OAAO9X,GAAG+H,GAAK,IAAMqqB,EAAW/qB,EAAKyQ,OAAO9X,GAAGqI,OACpIyP,EAAOzQ,EAAKyQ,OAAO9X,GAAGgD,MAAMxC,KAAK8xB,EAAgBjrB,EAAKyQ,OAAO9X,GAAG8H,EAAGT,EAAKyQ,OAAO9X,GAAG+H,IAGzF,IAAK,IAAI7B,KAAO4R,EACd4a,EAAgBxsB,EAAK4R,EAAO5R,GAAMusB,GAKtC,IAAIxpB,EAAQ5B,EAAKoqB,gBAEjB,IAAK,IAAIvrB,KAAO+C,EACW,UAArB,EAAOA,EAAM/C,MACEusB,EAAOnjB,KAAf,QAAPpJ,EAA6B,OAAS+C,EAAM/C,IAAQW,EAAIe,EAAI,IAAM,KAAO,IAC7D,WAAP1B,EAAgC,KAAOksB,EAAWnpB,EAAM/C,IAAQ,IACtDA,EAAM,IAAMksB,EAAWnpB,EAAM/C,IAAQ,KAG1D,GAA4B,GAAxBmB,EAAK+L,SAASlT,OAChBuyB,EAAOnjB,KAAO,IACdqjB,EAAetrB,EAAK+L,SAAS,GAAIqf,QAC5B,GAAIprB,EAAK+L,SAASlT,OAAS,EAChC,IAAK,IAAIgG,KAAOmB,EAAK+L,SACnB0f,EAAqBzrB,EAAK+L,SAASlN,GAAMusB,IAK3CK,EAAuB,SAAUzrB,EAAMorB,GACzCA,EAAOnjB,KAAO,KACdqjB,EAAetrB,EAAMorB,GACrBA,EAAOnjB,KAAO,KAOZlG,EAAO,WACTZ,KAAKf,KAAO,GACZe,KAAKjB,KAAO,GACZiB,KAAKiB,KAAO,IAAID,EAChBhB,KAAKe,UAAY,EACjBf,KAAKkB,cAAgB,GAGvBN,EAAKhJ,UAAY,CACfiL,YAAajC,EACbsM,MAAO,WACL,IAAIA,EAAQ,IAAItM,EAMhB,OALAsM,EAAMjO,KAAOe,KAAKf,KAClBiO,EAAMnO,KAAOgqB,KAAKxoB,MAAMwoB,KAAKC,UAAUhpB,KAAKjB,OAC5CmO,EAAMjM,KAAO6nB,EAAgB9oB,KAAKiB,MAClCiM,EAAMnM,UAAYf,KAAKe,UACvBmM,EAAMhM,cAAgBlB,KAAKkB,cACpBgM,GAETqd,YAAa,WACX,QAASrB,EAAc,UAAWlpB,KAAKiB,QAQ3CL,EAAK2Q,QAAU,SAAUzK,GACvB,OAAOzI,EAAIC,IAAIiC,MAAMuG,IAOvBlG,EAAK4Q,QAAU,SAAUuI,GACvB,IAAIyQ,EAAoB,iBAAPzQ,EAAkBgP,KAAKxoB,MAAMwZ,GAAOA,EACjDnb,EAAO,IAAIgC,EASf,OARAhC,EAAKG,KAAOgqB,KAAKxoB,MAAMwoB,KAAKC,UAAUwB,EAAIzrB,OAC1CH,EAAKK,KAAOurB,EAAIvrB,KAChBL,EAAKmC,UAAYypB,EAAIzpB,UACrBnC,EAAKsC,cAAgBspB,EAAItpB,cAEzBtC,EAAKqC,KAAO,IAAID,EAAMwpB,EAAIthB,KAAK,IAC/BsgB,EAAgBgB,EAAIthB,KAAMtK,EAAKqC,MAExBrC,GAITgC,EAAKhJ,UAAU6yB,QAAU,WACvB,IAAIR,EAAS,CACXnjB,IAAK,MAEH4jB,EAAa,GAEjB,IAAK,IAAIhtB,KADLsC,KAAKf,OAAMyrB,EAAWC,GAAK3qB,KAAKf,MACpByrB,EACVA,EAAWhtB,KAAMusB,EAAOnjB,KAAOpJ,EAAM,IAAMgtB,EAAWhtB,GAAO,KAInE,OAFAktB,EAAe5qB,KAAKiB,KAAMgpB,GAC1BA,EAAOnjB,KAAO,IACPmjB,EAAOnjB,KAEhBlG,EAAKhJ,UAAUovB,YAAc,WAC3B,IAAIJ,EAAU5mB,KAAKiB,KACnB,MAAO2lB,EAAQhc,SAASlT,OAAS,EAAG,CAClC,IAAImzB,EAAWjE,EAAQ3T,gBAAkB,EACzC2T,EAAUA,EAAQhc,SAASigB,GAE7B,OAAOjE,GAGThmB,EAAKhJ,UAAUkzB,eAAiB,SAAUxiB,EAAQpJ,GAChD,IAAI6nB,EAAWze,EAAO1J,KAAKooB,cAC3B,OAAI9nB,EAAKI,GAAKynB,EAAS7nB,KAAKI,GAAKJ,EAAKK,GAAKwnB,EAAS7nB,KAAKK,IACvDwnB,EAASxlB,OAAOqJ,SAAW,GAC3BtC,EAAO1J,KAAKmC,aACL,IAKXH,EAAKhJ,UAAUmzB,SAAW,WACxB,IAAId,EAAS,CACXnjB,IAAK,MAEH4jB,EAAa,GAGjB,IAAK,IAAIhtB,KAAOsC,KAAKjB,KACR,SAAPrB,GACEsC,KAAKjB,KAAKJ,MAAMtC,OAAMquB,EAAWM,GAAKpB,EAAW5pB,KAAKjB,KAAKJ,MAAMtC,OACjE2D,KAAKjB,KAAKJ,MAAMssB,OAAMP,EAAWQ,GAAKtB,EAAW5pB,KAAKjB,KAAKJ,MAAMssB,OACjEjrB,KAAKjB,KAAKJ,MAAMwsB,OAAMT,EAAWU,GAAKxB,EAAW5pB,KAAKjB,KAAKJ,MAAMwsB,QACrD,SAAPztB,GACLsC,KAAKjB,KAAK6jB,MAAMvmB,OAAMquB,EAAWW,GAAKzB,EAAW5pB,KAAKjB,KAAK6jB,MAAMvmB,OACjE2D,KAAKjB,KAAK6jB,MAAMqI,OAAMP,EAAWY,GAAK1B,EAAW5pB,KAAKjB,KAAK6jB,MAAMqI,OACjEjrB,KAAKjB,KAAK6jB,MAAMuI,OAAMT,EAAWa,GAAK3B,EAAW5pB,KAAKjB,KAAK6jB,MAAMuI,QAChET,EAAWhtB,GAAOksB,EAAW5pB,KAAKjB,KAAKrB,IAYhD,IAAK,IAAIA,KARLsC,KAAKf,OAAMyrB,EAAWC,GAAK3qB,KAAKf,MAE/ByrB,EAAWc,KAAId,EAAWc,GAAK,QAC/Bd,EAAWe,KAAIf,EAAWe,GAAK,KAC/Bf,EAAWgB,KAAIhB,EAAWgB,GAAK,KAC/BhB,EAAWiB,KAAIjB,EAAWiB,GAAK,SAGpBjB,EACVA,EAAWhtB,KAAMusB,EAAOnjB,KAAOpJ,EAAM,IAAMgtB,EAAWhtB,GAAO,KAEnE,IAAImB,EAAOmB,KAAKiB,KAChB,MAAOpC,EAAK+L,SAASlT,OAAS,EAAG,CAE/B,GADAmH,EAAOA,EAAK+L,SAAS,GACjB/L,EAAKK,KAAM,CACb,IAAIA,EAAO,GAENA,EADAL,EAAKK,KAAKC,KACH,KADgB2qB,EAAgBjrB,EAAKK,KAAKI,EAAGT,EAAKK,KAAKK,GAE/DV,EAAKK,KAAKxC,GAAK2B,EAAIe,EAAG6qB,EAAOnjB,KAAO,MAAQ5H,EAAO,IAClD+qB,EAAOnjB,KAAO,MAAQ5H,EAAO,IAEpC,GAAIL,EAAKurB,MAAO,CACd,IAAIpgB,EAAK,GACLC,EAAK,GACLogB,EAAK,GACT,IAAK,IAAI7yB,KAAKqH,EAAKurB,MACbvrB,EAAKurB,MAAM5yB,GAAGkF,GAAK2B,EAAIe,EAAG4K,EAAGhS,KAAK8xB,EAAgBjrB,EAAKurB,MAAM5yB,GAAG8H,EAAGT,EAAKurB,MAAM5yB,GAAG+H,IAC5EV,EAAKurB,MAAM5yB,GAAGkF,GAAK2B,EAAIgB,EAAG4K,EAAGjS,KAAK8xB,EAAgBjrB,EAAKurB,MAAM5yB,GAAG8H,EAAGT,EAAKurB,MAAM5yB,GAAG+H,IACrF8qB,EAAGryB,KAAK8xB,EAAgBjrB,EAAKurB,MAAM5yB,GAAG8H,EAAGT,EAAKurB,MAAM5yB,GAAG+H,IAE9DwqB,EAAqB,KAAM/f,EAAIigB,GAC/BF,EAAqB,KAAM9f,EAAIggB,GAC/BF,EAAqB,KAAMM,EAAIJ,IAKnC,OADAA,EAAOnjB,KAAO,IACPmjB,EAAOnjB,KAIhBlG,EAAKhJ,UAAUg0B,SAAW,SAAU/sB,EAAMgtB,EAAIC,GAC5C,IAAI7B,EAAS,CACXnjB,IAAK,KAEP,MAAOjI,EAAM,CACX,GAAIA,EAAKK,KAAM,CACb,IAAIA,EAAO,GAENA,EADAL,EAAKK,KAAKC,KACH,KADgB2qB,EAAgBjrB,EAAKK,KAAKI,EAAGT,EAAKK,KAAKK,GAE/DV,EAAKK,KAAKxC,GAAK2B,EAAIe,EAAG6qB,EAAOnjB,IAAM,MAAQ5H,EAAO,IAAM+qB,EAAOnjB,IAC9DmjB,EAAOnjB,IAAM,MAAQ5H,EAAO,IAAM+qB,EAAOnjB,IAYhD,GAAIjI,EAAKurB,MAAO,CACd,IAAIpgB,EAAK,GACLC,EAAK,GACLogB,EAAK,GACT,IAAK,IAAI7yB,KAAKqH,EAAKurB,MACbvrB,EAAKurB,MAAM5yB,GAAGkF,GAAK2B,EAAIe,EAAG4K,EAAGhS,KAAK8xB,EAAgBjrB,EAAKurB,MAAM5yB,GAAG8H,EAAGT,EAAKurB,MAAM5yB,GAAG+H,IAC5EV,EAAKurB,MAAM5yB,GAAGkF,GAAK2B,EAAIgB,EAAG4K,EAAGjS,KAAK8xB,EAAgBjrB,EAAKurB,MAAM5yB,GAAG8H,EAAGT,EAAKurB,MAAM5yB,GAAG+H,IACrF8qB,EAAGryB,KAAK8xB,EAAgBjrB,EAAKurB,MAAM5yB,GAAG8H,EAAGT,EAAKurB,MAAM5yB,GAAG+H,IAE9DwqB,EAAqB,KAAM/f,EAAIigB,GAC/BF,EAAqB,KAAM9f,EAAIggB,GAC/BF,EAAqB,KAAMM,EAAIJ,GAGjCprB,EAAOA,EAAK0C,OAGd,IAAImpB,EAAa,GAQjB,IAAK,IAAIhtB,KAPTmuB,EAAKjkB,MAAMikB,GAAM,IAAMA,EACvBC,EAAKlkB,MAAMkkB,GAAM,EAAIA,EACrBD,EAAKC,EAAK,EAAI,EAAID,EAClBnB,EAAWoB,GAAKA,EAChBpB,EAAWmB,GAAKA,EACZ7rB,KAAKf,OAAMyrB,EAAWC,GAAK3qB,KAAKf,MAChCe,KAAKjB,KAAK6lB,KAAG8F,EAAW9F,GAAK5kB,KAAKjB,KAAK6lB,IAC3B8F,GACVA,EAAWhtB,IAA2B,GAAnBgtB,EAAWhtB,MAAWusB,EAAOnjB,IAAMpJ,EAAM,IAAMgtB,EAAWhtB,GAAO,IAAMusB,EAAOnjB,KAGvG,OADAmjB,EAAOnjB,IAAM,KAAOmjB,EAAOnjB,IACpBmjB,EAAOnjB,KAIhBlG,EAAKhJ,UAAUm0B,WAAa,SAAUltB,GACpC,IAAIorB,EAAS,CACXnjB,IAAK,KAEP,MAAOjI,EAAM,CACX,GAAIA,EAAKK,KAAM,CACb,IAAIA,EAAO,GAENA,EADAL,EAAKK,KAAKC,KACH,KADgB2qB,EAAgBjrB,EAAKK,KAAKI,EAAGT,EAAKK,KAAKK,GAE/DV,EAAKK,KAAKxC,GAAK2B,EAAIe,EAAG6qB,EAAOnjB,IAAM,MAAQ5H,EAAO,IAAM+qB,EAAOnjB,IAC9DmjB,EAAOnjB,IAAM,MAAQ5H,EAAO,IAAM+qB,EAAOnjB,IAEhDjI,EAAOA,EAAK0C,OAGd,OADA0oB,EAAOnjB,IAAM,KAAOmjB,EAAOnjB,IACpBmjB,EAAOnjB,KAIhBlG,EAAKhJ,UAAUo0B,aAAe,SAAU1jB,GAItC,IAHA,IAAIrJ,EAAOe,KAAKf,MAAQ,GACpB/F,EAAIoP,EAAOW,WAAWC,KAAKiI,cAC3BzH,EAAK,GACAlS,EAAI,EAAGA,EAAIyH,EAAMzH,IACxB,IAAK,IAAIkB,EAAI,EAAGA,EAAIuG,EAAMvG,IAAK,CAC7B,IAAII,EAAII,EAAE8D,IAAItE,EAAGlB,GACboS,EAAKC,OAAOC,aAAapR,EAAI,IAC7BqR,EAAKF,OAAOC,aAAatS,EAAI,IACxB,GAALsB,IAAgB,GAANA,GACZ4Q,EAAG1R,KAAK4R,EAAK,GAAKG,GAIxB,OAAOL,EAAG/J,KAAK,MAGjB,IAAIirB,EAAiB,SAAU/rB,EAAMorB,GACnC,GAAIprB,EAAKK,KAAM,CACb,IAAIA,EAAO,GACNL,EAAKK,KAAKC,OAAMD,EAAO4qB,EAAgBjrB,EAAKK,KAAKI,EAAGT,EAAKK,KAAKK,IAC/DV,EAAKK,KAAKxC,GAAK2B,EAAIe,EAAG6qB,EAAOnjB,KAAO,KAAO5H,EAAO,IACjD+qB,EAAOnjB,KAAO,KAAO5H,EAAO,IAEnC,GAAIL,EAAKurB,MAAO,CACd,IAAIpgB,EAAK,GACLC,EAAK,GACLogB,EAAK,GACT,IAAK,IAAI7yB,KAAKqH,EAAKurB,MACbvrB,EAAKurB,MAAM5yB,GAAGkF,GAAK2B,EAAIe,EAAG4K,EAAGhS,KAAK8xB,EAAgBjrB,EAAKurB,MAAM5yB,GAAG8H,EAAGT,EAAKurB,MAAM5yB,GAAG+H,IAC5EV,EAAKurB,MAAM5yB,GAAGkF,GAAK2B,EAAIgB,EAAG4K,EAAGjS,KAAK8xB,EAAgBjrB,EAAKurB,MAAM5yB,GAAG8H,EAAGT,EAAKurB,MAAM5yB,GAAG+H,IACrF8qB,EAAGryB,KAAK8xB,EAAgBjrB,EAAKurB,MAAM5yB,GAAG8H,EAAGT,EAAKurB,MAAM5yB,GAAG+H,IAE9D2qB,EAAgB,KAAMlgB,EAAIigB,GAC1BC,EAAgB,KAAMjgB,EAAIggB,GAC1BC,EAAgB,KAAMG,EAAIJ,GAE5B,GAAIprB,EAAKyQ,OAAQ,CACf,IAAIA,EAAS,GACb,IAAK,IAAI9X,KAAKqH,EAAKyQ,OACjBA,EAAOzQ,EAAKyQ,OAAO9X,GAAGgD,MAAQ8U,EAAOzQ,EAAKyQ,OAAO9X,GAAGgD,OAAS,GAClC,MAAvBqE,EAAKyQ,OAAO9X,GAAGgD,KAAc8U,EAAO,MAAMtX,KAAK8xB,EAAgBjrB,EAAKyQ,OAAO9X,GAAG8H,EAAGT,EAAKyQ,OAAO9X,GAAG+H,GAAK,IAAMqqB,EAAW/qB,EAAKyQ,OAAO9X,GAAGqI,OACpIyP,EAAOzQ,EAAKyQ,OAAO9X,GAAGgD,MAAMxC,KAAK8xB,EAAgBjrB,EAAKyQ,OAAO9X,GAAG8H,EAAGT,EAAKyQ,OAAO9X,GAAG+H,IAEzF,IAAK,IAAI7B,KAAO4R,EACd4a,EAAgBxsB,EAAK4R,EAAO5R,GAAMusB,GAGtC,IAAIxpB,EAAQ5B,EAAKoqB,gBACjB,IAAK,IAAIvrB,KAAO+C,EACW,UAArB,EAAOA,EAAM/C,MACN,QAAPA,EAAeusB,EAAOnjB,KAAO,OAASrG,EAAM/C,IAAQW,EAAIe,EAAI,IAAM,KAAO,IAC7D,WAAP1B,IAAkBusB,EAAOnjB,KAAO,KAAO8iB,EAAWnpB,EAAM/C,IAAQ,MAE3E,GAA4B,GAAxBmB,EAAK+L,SAASlT,OAChBuyB,EAAOnjB,KAAO,IACdqjB,EAAetrB,EAAK+L,SAAS,GAAIqf,QAC5B,GAAIprB,EAAK+L,SAASlT,OAAS,EAChC,IAAK,IAAIgG,KAAOmB,EAAK+L,SACnB0f,EAAqBzrB,EAAK+L,SAASlN,GAAMusB,IAO/CrpB,EAAKhJ,UAAU0R,MAAQ,WACrB,IAAI2gB,EAAS,CACXnjB,IAAK,MAEH4jB,EAAa,GAGjB,IAAK,IAAIhtB,KAAOsC,KAAKjB,KACR,SAAPrB,GACEsC,KAAKjB,KAAKJ,MAAMtC,OAAMquB,EAAWM,GAAKpB,EAAW5pB,KAAKjB,KAAKJ,MAAMtC,OACjE2D,KAAKjB,KAAKJ,MAAMssB,OAAMP,EAAWQ,GAAKtB,EAAW5pB,KAAKjB,KAAKJ,MAAMssB,OACjEjrB,KAAKjB,KAAKJ,MAAMwsB,OAAMT,EAAWU,GAAKxB,EAAW5pB,KAAKjB,KAAKJ,MAAMwsB,QACrD,SAAPztB,GACLsC,KAAKjB,KAAK6jB,MAAMvmB,OAAMquB,EAAWW,GAAKzB,EAAW5pB,KAAKjB,KAAK6jB,MAAMvmB,OACjE2D,KAAKjB,KAAK6jB,MAAMqI,OAAMP,EAAWY,GAAK1B,EAAW5pB,KAAKjB,KAAK6jB,MAAMqI,OACjEjrB,KAAKjB,KAAK6jB,MAAMuI,OAAMT,EAAWa,GAAK3B,EAAW5pB,KAAKjB,KAAK6jB,MAAMuI,QAChET,EAAWhtB,GAAOksB,EAAW5pB,KAAKjB,KAAKrB,IAahD,IAAK,IAAIA,KATLsC,KAAKf,OAAMyrB,EAAWC,GAAK3qB,KAAKf,MAG/ByrB,EAAWc,KAAId,EAAWc,GAAK,QAC/Bd,EAAWe,KAAIf,EAAWe,GAAK,KAC/Bf,EAAWgB,KAAIhB,EAAWgB,GAAK,KAC/BhB,EAAWiB,KAAIjB,EAAWiB,GAAK,SAGpBjB,EACVA,EAAWhtB,KAAMusB,EAAOnjB,KAAOpJ,EAAM,IAAMgtB,EAAWhtB,GAAO,KAMnE,OAHAysB,EAAenqB,KAAKiB,KAAMgpB,GAC1BA,EAAOnjB,KAAO,IAEPmjB,EAAOnjB,KAOhBlG,EAAKhJ,UAAUq0B,MAAQ,SAAUjD,GAC/B,IAAIwB,EAAM,GAOV,OANAA,EAAIvrB,KAAOe,KAAKf,KAChBurB,EAAIzrB,KAAOgqB,KAAKxoB,MAAMwoB,KAAKC,UAAUhpB,KAAKjB,OAC1CyrB,EAAIzpB,UAAYf,KAAKe,UACrBypB,EAAItpB,cAAgBlB,KAAKkB,cACzBspB,EAAIthB,KAAO,GACXmgB,EAAemB,EAAIthB,KAAMlJ,KAAKiB,MAC1B+nB,EAAkBD,KAAKC,UAAUwB,GACzBA,GAGd,IAAI0B,EAAmB,SAAU9uB,GAC/B,IAAIoB,EASJ,OARIpB,EAAMf,MACRmC,EAAMH,EAAIgU,WAAWjV,EAAMf,MACvBe,EAAM6tB,OAAMzsB,GAAO,KAAOH,EAAIgU,WAAWjV,EAAM6tB,MAAQ,KACvD7tB,EAAM+tB,OAAM3sB,GAAO,KAAOH,EAAIgU,WAAWjV,EAAM+tB,SAE/C/tB,EAAM+tB,OAAM3sB,EAAMH,EAAIgU,WAAWjV,EAAM+tB,OACvC/tB,EAAM6tB,OAAMzsB,GAAO,KAAOH,EAAIgU,WAAWjV,EAAM6tB,MAAQ,MAEtDzsB,GAOToC,EAAKwR,eAAiB,CACpBzT,MAAOutB,EACPtJ,MAAOsJ,EACPC,GAAI,SAAUC,GACZ,GAAY,GAARA,EAAW,OAAO/tB,EAAIhB,EAAE,QAE5B,IAAI+rB,EAAK/rB,EAAIwY,KAAKuM,MAAMgK,EAAO,IAS/B,OAPS,GAAL/uB,EAAQ+rB,EAAM,KAAO/qB,EAAIhB,EAAE,UACtBA,EAAI,IAAG+rB,EAAM/rB,EAAI,IAAMgB,EAAIhB,EAAE,YAEtCA,EAAI+uB,EAAO,GACF,GAAL/uB,EAAQ+rB,GAAO,MAAQ/qB,EAAIhB,EAAE,UACxBA,EAAI,IAAG+rB,GAAO,IAAM/rB,EAAI,IAAMgB,EAAIhB,EAAE,YAEtC+rB,GAETiD,GAAI,SAAUjD,GACZ,MAAO,wEAA0E/qB,EAAIgU,WAAW+W,GAAO,cAAgB/qB,EAAIhB,EAAE,gBAAkB,KAAOgB,EAAIhB,EAAE,QAAU,SAQ1KuD,EAAKuR,SAAW,CAAC,QAAS,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAK,KAAK,MAE7I9T,EAAIuC,KAAOA,EAEX,IAAI0rB,EAAS,SAAUC,EAAKlY,EAAK3W,GAC/B,IAAK,IAAIlG,EAAI,EAAGA,EAAI+0B,EAAI70B,OAAQF,IAC9B,GAAI+0B,EAAI/0B,GAAG8H,GAAK+U,EAAI/U,GAAKitB,EAAI/0B,GAAG+H,GAAK8U,EAAI9U,EAEvC,YADAgtB,EAAI/0B,GAAGkG,GAAO2W,EAAI3W,IAItB6uB,EAAIv0B,KAAKqc,IAGPmY,EAAY,SAAUD,EAAKlY,GAC7B,GAAKkY,EACL,IAAK,IAAI/0B,EAAI,EAAGA,EAAI+0B,EAAI70B,OAAQF,IAC9B,GAAI+0B,EAAI/0B,GAAG8H,GAAK+U,EAAI/U,GAAKitB,EAAI/0B,GAAG+H,GAAK8U,EAAI9U,EAEvC,YADAgtB,EAAI3zB,OAAOpB,EAAG,IAahBwJ,EAAQ,SAAUhC,EAAYuC,GAIhC,GAHAvB,KAAKuB,OAASA,GAAU,KACxBvB,KAAK4K,SAAW,GAEZ5L,EAAc,IAAK,IAAItB,KAAOsB,EAAYgB,KAAKtC,GAAOsB,EAAWtB,IAGvEsD,EAAMpJ,UAAY,CAChBiL,YAAa7B,EAMbyrB,SAAU,SAAU/O,GAClB,IAAIlmB,EAAIkmB,GAAM,EACd,OAAI1d,KAAK4K,SAASpT,GAAWwI,KAAK4K,SAASpT,GAC/B,MASdgI,SAAU,SAAU4qB,GAGlB,OAFApqB,KAAKoqB,MAAQpqB,KAAKoqB,OAAS,GAC3BkC,EAAOtsB,KAAKoqB,MAAOA,EAAO,KACnBpqB,MAST0sB,YAAa,SAAUtC,GAErB,OADAoC,EAAUxsB,KAAKoqB,MAAOA,GACfpqB,MASTJ,UAAW,SAAU0P,GAGnB,OAFAtP,KAAKsP,OAAStP,KAAKsP,QAAU,GAC7Bgd,EAAOtsB,KAAKsP,OAAQA,EAAQ,QACrBtP,MAST2sB,aAAc,SAAUrd,GAEtB,OADAkd,EAAUxsB,KAAKsP,OAAQA,GAChBtP,MAQTgT,OAAQ,WACN,IAAI9Z,EAAI8G,KAAKuB,OACb,IAAKrI,EAAG,MAAM,IAAI0zB,UAAU,+BAC5B,IAAK,IAAIp1B,KAAK0B,EAAE0R,SACd,GAAI1R,EAAE0R,SAASpT,IAAMwI,KAAM,CACzB9G,EAAE0R,SAAShS,OAAOpB,EAAG,GACrB,MAKJ,OAFA0B,EAAE0R,SAAW1R,EAAE0R,SAAS2E,OAAOvP,KAAK4K,UACpC5K,KAAKuB,OAAS,KACPrI,GAOTywB,YAAa,SAAU9qB,GACrB,IAAK,IAAIqV,KAASlU,KAAK4K,SACrB5K,KAAK4K,SAASsJ,GAAO3S,OAAS1C,EAKhC,OAHAA,EAAK+L,SAAW/L,EAAK+L,SAAS2E,OAAOvP,KAAK4K,UAC1C/L,EAAK0C,OAASvB,KACdA,KAAK4K,SAAW,CAAC/L,GACVA,GAOTxD,YAAa,SAAUwD,GAGrB,OAFAA,EAAK0C,OAASvB,KACdA,KAAK4K,SAAS5S,KAAK6G,GACZA,GAOToqB,cAAe,WACb,IAAIxoB,EAAQ,GACZ,IAAK,IAAI/C,KAAOsC,KACVA,KAAKnI,eAAe6F,IAAe,YAAPA,GAA4B,UAAPA,GAA6B,KAAVA,EAAI,KAAW+C,EAAM/C,GAAOsC,KAAKtC,IAE3G,OAAO+C,IAIXpC,EAAI2C,MAAQA,EAEZ,IAAI6rB,EAAW,SAAUC,EAAOC,GAK9B,IAJA,IAAI9tB,EAAO6tB,EAAM7tB,KACfkQ,EAAM,GACN6D,EAAS,GAEFxb,EAAI,EAAGA,EAAIyH,EAAOA,EAAMzH,IAC3Bs1B,EAAM5K,OAAO1qB,KAAOu1B,EAAM7K,OAAO1qB,GAC1Cwb,EAAOhb,KAAK,CACLsH,EAAGuW,KAAKuM,MAAM5qB,EAAIyH,GAClBM,EAAG/H,EAAIyH,IAEJ6tB,EAAM5K,OAAO1qB,IAAMu1B,EAAM7K,OAAO1qB,IAC1C2X,EAAInX,KAAK,CACFsH,EAAGuW,KAAKuM,MAAM5qB,EAAIyH,GAClBM,EAAG/H,EAAIyH,EACPvC,EAAGqwB,EAAM7K,OAAO1qB,KAKpB,MAAO,CACL2X,IAAKA,EACL6D,OAAQA,IAWR1B,EAAa,SAAU1S,EAAM8I,EAAcC,GAC7C3H,KAAKpB,KAAOA,EACZoB,KAAKnB,KAAOmB,KAAKpB,KAAKqC,KACtBjB,KAAKgtB,cAAgBrlB,IAAqB,EAC1C3H,KAAKkJ,KAAO,IAAI7K,EAAIgkB,KAAKriB,KAAKpB,KAAKK,KAAMe,KAAKgtB,cAAgB,OAAS,KAAMhtB,KAAKgtB,cAAehtB,KAAKgtB,eACtGhtB,KAAKwJ,KAAO,CACV/M,EAAG,GAGDuD,KAAKpB,KAAKG,KAAK,OAASiB,KAAKpB,KAAKG,KAAK,MAAQ,IAAGiB,KAAKkJ,KAAKzJ,KAAOpB,EAAIgB,GAC3EW,KAAKiP,OAASge,EAAUjtB,KAAKkJ,KAAMlJ,KAAKnB,MAAM,GAE5BmB,KAAK0H,eAAnBA,GAIFwlB,EAAe,SAAUjlB,EAAGsK,GAC9B,IACE4a,EADEvvB,EAAI,GAER,IAAK,IAAIpG,KAAKyQ,EAAG,CAEf,IAAK,IAAIvP,KADTy0B,GAAI,EACU5a,EACZ,GAAItK,EAAEzQ,GAAG8H,GAAKiT,EAAE7Z,GAAG4G,GAAK2I,EAAEzQ,GAAG+H,GAAKgT,EAAE7Z,GAAG6G,EAAG,CACxC4tB,GAAI,EACJ,MAGAA,GAAGvvB,EAAE5F,KAAKiQ,EAAEzQ,IAElB,OAAOoG,GAGLwvB,EAAiB,SAAUC,EAASC,GACtCD,EAAQle,IAAM+d,EAAaG,EAAQle,IAAKme,EAAOta,QAAQzD,OAAO+d,EAAOne,KACrEke,EAAQra,OAASka,EAAaG,EAAQra,OAAQsa,EAAOne,KAAKI,OAAO+d,EAAOta,SAItEia,EAAY,SAAU/jB,EAAMrK,EAAMoT,GAIpC,GAHIpT,EAAK0C,SAAQ1C,EAAK0C,OAAO0R,eAAiBpU,EAAK0C,OAAOqJ,SAASiH,QAAQhT,IAGvEA,EAAKK,MAAQ5C,EAAW,CAC1B,GAAIuC,EAAKK,KAAKC,KAEZ,OADA+J,EAAK/J,KAAKN,EAAKK,KAAKxC,GACb,CACLyS,IAAK,GACL6D,OAAQ,IAGV,IAAIoW,EAAMlgB,EAAKoB,KAAKzL,EAAKK,KAAKI,EAAGT,EAAKK,KAAKK,EAAGV,EAAKK,KAAKxC,GACxD,GAAkB,iBAAP0sB,EAAiB,MAAM,IAAImE,EAAiBnE,EAAKvqB,GAE5D,IAAK,IAAIrH,KAAK4xB,EACZ,GAAIA,EAAI5xB,GAAG8H,GAAKT,EAAKK,KAAKI,GAAK8pB,EAAI5xB,GAAG+H,GAAKV,EAAKK,KAAKK,EACnD,MAAO,CACL4P,IAAK,GACL6D,OAAQoW,GAId,MAAO,CACLja,IAAK,CAACtQ,EAAKK,MACX8T,OAAQoW,GAMPnX,GAAO/I,EAAKwa,eAEjB,IAAIvU,EAAM,GACR6D,EAAS,GAEX,GAAInU,EAAKurB,OAAS9tB,EAChB,IAAK,IAAI9E,KAAKqH,EAAKurB,MACbvrB,EAAKurB,MAAM5yB,GAAGkF,GAChBwM,EAAKya,SAAS9kB,EAAKurB,MAAM5yB,GAAG8H,EAAGT,EAAKurB,MAAM5yB,GAAG+H,EAAGV,EAAKurB,MAAM5yB,GAAGkF,GAC9DyS,EAAInX,KAAK6G,EAAKurB,MAAM5yB,MAEpB0R,EAAK6J,YAAYlU,EAAKurB,MAAM5yB,GAAG8H,EAAGT,EAAKurB,MAAM5yB,GAAG+H,GAChDyT,EAAOhb,KAAK6G,EAAKurB,MAAM5yB,KAO7B,OAFIqH,EAAKY,OAAMyJ,EAAKzJ,KAAOZ,EAAKY,MAEzB,CACL0P,IAAKA,EACL6D,OAAQA,IAKVwa,EAAY,SAAUh2B,GACpBA,IAAM8E,GAAa0D,KAAK0H,eAAclQ,EAAIwI,KAAKnB,KAAKoU,gBACxDzb,EAAIA,GAAK,EACT,IAAIqH,EAAOmB,KAAKnB,KAAK+L,SAASpT,GAE9B,IAAKqH,EAAM,OAAO,EAElB,IAAI6e,EAAKuP,EAAUjtB,KAAKkJ,KAAMrK,GAM9B,OAJAmB,KAAKwJ,KAAK/M,IACNuD,KAAKnB,KAAK+L,SAASlT,OAAS,IAAGsI,KAAKwJ,KAAKxJ,KAAKwJ,KAAK/M,GAAKjF,GAE5DwI,KAAKnB,KAAOA,EACL6e,GAGL+P,EAAgB,WAClB,QAAKztB,KAAKnB,KAAK0C,SAEfvB,KAAKnB,KAAOmB,KAAKnB,KAAK0C,OAEtBvB,KAAKkJ,KAAK2a,cACN7jB,KAAKnB,KAAKY,OAAMO,KAAKkJ,KAAKzJ,KAAOO,KAAKnB,KAAKY,MAE3CO,KAAKwJ,KAAKxJ,KAAKwJ,KAAK/M,KAAOH,UAAkB0D,KAAKwJ,KAAKxJ,KAAKwJ,KAAK/M,GACrEuD,KAAKwJ,KAAK/M,KAEH,IAGLixB,EAAa,WAGf1tB,KAAKkJ,KAAK4a,gBACV9jB,KAAKnB,KAAOmB,KAAKpB,KAAKqC,KAEtBjB,KAAKwJ,KAAO,CACV/M,EAAG,GAGDuD,KAAKpB,KAAKG,KAAK,OAASiB,KAAKpB,KAAKG,KAAK,MAAQ,IAAGiB,KAAKkJ,KAAKzJ,KAAOpB,EAAIgB,GAC3EW,KAAKiP,OAASge,EAAUjtB,KAAKkJ,KAAMlJ,KAAKnB,MAAM,IAGhDyS,EAAW1Z,UAAY,CACrBiL,YAAayO,EAMb3G,KAAM,SAAUnT,GAEd,OADAwI,KAAKiP,OAASue,EAAU11B,KAAKkI,KAAMxI,GAC5BwI,MAOTmK,KAAM,WACJ,IAAIuT,EACJ1d,KAAKiP,OAAS,CACZE,IAAK,GACL6D,OAAQ,IAEV,MAAO0K,EAAK8P,EAAU11B,KAAKkI,MAAOotB,EAAeptB,KAAKiP,OAAQyO,GAC9D,OAAO1d,MAOTsQ,SAAU,WACR,IAAIqd,EAAU3tB,KAAKkJ,KAAKiI,cAGxB,OAFAsc,EAAc31B,KAAKkI,MACnBA,KAAKiP,OAAS4d,EAASc,EAAS3tB,KAAKkJ,KAAKiI,eACnCnR,MAOTiS,MAAO,WACL,IAAI0b,EAAU3tB,KAAKkJ,KAAKiI,cAGxB,OAFAuc,EAAW51B,KAAKkI,MAChBA,KAAKiP,OAAS4d,EAASc,EAAS3tB,KAAKkJ,KAAKiI,eACnCnR,MAOT8K,KAAM,SAAUtB,GACd,GAAIA,IAASlN,EAAW,OAAO0D,KAE/B,IAAI2tB,EAAU3tB,KAAKkJ,KAAKiI,cAExBuc,EAAW51B,KAAKkI,MAIhB,IAAK,IAAIxI,EAAI,EAAGA,EAAIgS,EAAK/M,EAAGjF,IAC1B,IAAKg2B,EAAU11B,KAAKkI,KAAMwJ,EAAKhS,EAAI,IACjC,MAKJ,OADAwI,KAAKiP,OAAS4d,EAASc,EAAS3tB,KAAKkJ,KAAKiI,eACnCnR,MAOT4tB,aAAc,WACZ,IAAID,EAAU3tB,KAAKkJ,KAAKiI,cACxB,MAAOsc,EAAc31B,KAAKkI,OAAsC,GAA7BA,KAAKnB,KAAK+L,SAASlT,QAItD,OADAsI,KAAKiP,OAAS4d,EAASc,EAAS3tB,KAAKkJ,KAAKiI,eACnCnR,MAOTmR,YAAa,WACX,OAAOnR,KAAKkJ,KAAKiI,eAGnBhS,KAAM,WACJ,IAAIzC,EAAI,IACc,MAAlBsD,KAAKkJ,KAAKzJ,OACZ/C,EAAI,KAGN2B,EAAIC,IAAIU,WAAWtC,GAAGsD,KAAKpB,KAAMoB,KAAKnB,KAAKxD,YAAY,IAAI2F,GAAU,CAAC,MAAOtE,GAC7EuwB,EAAUjtB,KAAKkJ,KAAMlJ,KAAKnB,KAAK+L,SAAS,IACxC5K,KAAKkJ,KAAKzJ,MAAQO,KAAKkJ,KAAKzJ,KAC5BO,KAAK2K,OACL3K,KAAKpB,KAAKmC,UAAYf,KAAKpB,KAAKmC,aAOlC4G,kBAAmB,SAAU4K,GACvBA,GACFvS,KAAKkJ,KAAKwZ,eAAgB,EAC1B1iB,KAAKkJ,KAAKyZ,eAAgB,EAC1B3iB,KAAKyiB,UAAY,SAEjBziB,KAAKkJ,KAAKwZ,eAAgB,EAC1B1iB,KAAKkJ,KAAKyZ,eAAgB,EAC1B3iB,KAAKyiB,UAAY,QAKvBpkB,EAAIiT,WAAaA,EAGjB,IAAIic,EAAmB,SAAUtyB,EAAM4D,GAIrC,GAHAmB,KAAK3D,KAAO,mBACZ2D,KAAK5D,QAAU,kCAEXyC,EAAKK,MAAQL,EAAKK,KAAKxC,IAAMJ,GAAauC,EAAKK,KAAKI,IAAMhD,GAAauC,EAAKK,KAAKK,IAAMjD,EAAW,CACpG,IAAIuxB,EAAShvB,EAAKK,KAAKI,EACnBT,EAAKK,KAAKI,EAAI,GAAGuuB,IACrBA,EAAShkB,OAAOC,aAAa+jB,EAAS,IACtC7tB,KAAK5D,SAAW,mBAAqByC,EAAKK,KAAKxC,GAAK2B,EAAIyvB,MAAQ,QAAU,SAAW,YAAcjkB,OAAOC,aAAajL,EAAKK,KAAKI,EAAI,KAAY,GAAKT,EAAKK,KAAKK,QAC3JS,KAAK5D,SAAW,oDAEvB,GAAInB,EACF,OAAQA,GACN,KAAK,EACH+E,KAAK5D,SAAW,4CAChB,MACF,KAAK,EACH4D,KAAK5D,SAAW,kCAChB,MACF,KAAK,EACH4D,KAAK5D,SAAW,gCAChB,MACF,KAAK,EACH4D,KAAK5D,SAAW,uCAChB,WAEC4D,KAAK5D,SAAW,KAEzBmxB,EAAiB31B,UAAY,IAAIoD,MACjCuyB,EAAiB31B,UAAUiL,YAAc0qB,EAEzClvB,EAAIkvB,iBAAmBA,EAEvBlvB,EAAIsI,KAAKC,GAAG,QAAU,OACtBvI,EAAIsI,KAAKC,GAAG,gBAAkB,wBA//BhC,CAggCGvI","file":"static/report/js/app.25e6f1db.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"static/report/js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-61c06e03\":\"969c0b9f\",\"chunk-5098bf75\":\"fb62a1b8\",\"chunk-9b804618\":\"3b09ec2f\",\"chunk-231fd906\":\"5492262e\",\"chunk-3e13f578\":\"e764d55e\",\"chunk-2c3e099c\":\"496c6c79\",\"chunk-7b325c1e\":\"df8e861a\",\"chunk-7f75b5bc\":\"41b5309c\",\"chunk-2d216214\":\"4700c1d8\",\"chunk-461b141f\":\"238fd8fa\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-231fd906\":1,\"chunk-2c3e099c\":1,\"chunk-7b325c1e\":1,\"chunk-7f75b5bc\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"static/report/css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-61c06e03\":\"31d6cfe0\",\"chunk-5098bf75\":\"31d6cfe0\",\"chunk-9b804618\":\"31d6cfe0\",\"chunk-231fd906\":\"570bec8f\",\"chunk-3e13f578\":\"31d6cfe0\",\"chunk-2c3e099c\":\"5e9e7306\",\"chunk-7b325c1e\":\"d6e9f354\",\"chunk-7f75b5bc\":\"c521bcf8\",\"chunk-2d216214\":\"31d6cfe0\",\"chunk-461b141f\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","\n(function(WGo, undefined){\n\nWGo.SGF = {};\n\nvar to_num = function(str, i) {\n\treturn str.charCodeAt(i)-97;\n}\n\nvar sgf_player_info = function(type, black, kifu, node, value, ident) {\n\tvar c = ident == black ? \"black\" : \"white\";\n\tkifu.info[c] = kifu.info[c] || {};\n\tkifu.info[c][type] = value[0];\n}\n\n// handling properties specifically\nvar properties = WGo.SGF.properties = {}\n\n// Move properties\nproperties[\"B\"] = properties[\"W\"] = function(kifu, node, value, ident) {\n\tif(!value[0] || (kifu.size <= 19 && value[0] == \"tt\")) node.move = {\n\t\tpass: true,\n\t\tc: ident == \"B\" ? WGo.B : WGo.W\n\t};\n\telse node.move = {\n\t\tx: to_num(value[0], 0), \n\t\ty: to_num(value[0], 1), \n\t\tc: ident == \"B\" ? WGo.B : WGo.W\n\t};\n}\n\t\n// Setup properties\nproperties[\"AB\"] = properties[\"AW\"] = function(kifu, node, value, ident) {\n\tfor(var i in value) {\n\t\tnode.addSetup({\n\t\t\tx: to_num(value[i], 0), \n\t\t\ty: to_num(value[i], 1), \n\t\t\tc: ident == \"AB\" ? WGo.B : WGo.W\n\t\t});\n\t}\n}\nproperties[\"AE\"] = function(kifu, node, value) {\n\tfor(var i in value) {\n\t\tnode.addSetup({\n\t\t\tx: to_num(value[i], 0), \n\t\t\ty: to_num(value[i], 1), \n\t\t});\n\t}\n}\nproperties[\"PL\"] = function(kifu, node, value) {\n\tnode.turn = (value[0] == \"b\" || value[0] == \"B\") ? WGo.B : WGo.W;\n}\n\t\n// Node annotation properties\nproperties[\"C\"] = function(kifu, node, value) {\n\tnode.comment = value.join();\n}\n\t\n// Markup properties\nproperties[\"LB\"] = function(kifu, node, value) {\n\tfor(var i in value) {\n\t\tnode.addMarkup({\n\t\t\tx: to_num(value[i],0), \n\t\t\ty: to_num(value[i],1), \n\t\t\ttype: \"LB\", \n\t\t\ttext: value[i].substr(3)\n\t\t});\n\t}\n}\nproperties[\"CR\"] = properties[\"SQ\"] = properties[\"TR\"] = properties[\"SL\"] = properties[\"MA\"] = function(kifu, node, value, ident) {\n\tfor(var i in value) {\n\t\tnode.addMarkup({\n\t\t\tx: to_num(value[i],0), \n\t\t\ty: to_num(value[i],1), \n\t\t\ttype: ident\n\t\t});\n\t}\n}\n\n// Root properties\nproperties[\"SZ\"] = function(kifu, node, value) {\n\tkifu.size = parseInt(value[0]);\n}\n\t\n// Game info properties\nproperties[\"BR\"] = properties[\"WR\"] = sgf_player_info.bind(this, \"rank\", \"BR\");\nproperties[\"PB\"] = properties[\"PW\"] = sgf_player_info.bind(this, \"name\", \"PB\");\nproperties[\"BT\"] = properties[\"WT\"] = sgf_player_info.bind(this, \"team\", \"BT\");\nproperties[\"TM\"] = function(kifu, node, value, ident) {\n\tkifu.info[ident] = value[0];\n\tnode.BL = value[0];\n\tnode.WL = value[0];\n}\n\nvar reg_seq = /\\(|\\)|(;(\\s*[A-Z]+(\\s*((\\[\\])|(\\[(.|\\s)*?([^\\\\]\\]))))+)*)/g;\nvar reg_node = /[A-Z]+(\\s*((\\[\\])|(\\[(.|\\s)*?([^\\\\]\\]))))+/g;\nvar reg_ident = /[A-Z]+/;\nvar reg_props = /(\\[\\])|(\\[(.|\\s)*?([^\\\\]\\]))/g;\n\n// parse SGF string, return WGo.Kifu object\nWGo.SGF.parse = function(str) { \n\n\tvar stack = [],\n\t\tsequence, props, vals, ident,\n\t\tkifu = new WGo.Kifu(),\n\t\tnode = null;\n\t\t\n\t// make sequence of elements and process it\n\tsequence = str.match(reg_seq);\n\t\n\tfor(var i in sequence) {\n\t\t// push stack, if new variant\n\t\tif(sequence[i] == \"(\") stack.push(node);\n\t\t\n\t\t// pop stack at the end of variant\n\t\telse if(sequence[i] == \")\") node = stack.pop();\n\t\t\n\t\t// reading node (string starting with ';')\n\t\telse {\n\t\t\t// create node or use root\n\t\t\tif(node) kifu.nodeCount++;\n\t\t\tnode = node ? node.appendChild(new WGo.KNode()) : kifu.root;\n\t\t\t\n\t\t\t// make array of properties\n\t\t\tprops = sequence[i].match(reg_node) || [];\n\t\t\tkifu.propertyCount += props.length;\n\t\t\t\n\t\t\t// insert all properties to node\n\t\t\tfor(var j in props) {\n\t\t\t\t// get property's identificator\n\t\t\t\tident = reg_ident.exec(props[j])[0];\n\t\t\t\t\n\t\t\t\t// separate property's values\n\t\t\t\tvals = props[j].match(reg_props);\n\t\t\t\t\n\t\t\t\t// remove additional braces [ and ]\n\t\t\t\tfor(var k in vals) vals[k] = vals[k].substring(1, vals[k].length-1).replace(/\\\\(?!\\\\)/g, \"\");\n\t\t\t\t\n\t\t\t\t// call property handler if any\n\t\t\t\tif(WGo.SGF.properties[ident]) WGo.SGF.properties[ident](kifu, node, vals, ident);\n\t\t\t\telse {\n\t\t\t\t\t// if there is only one property, strip array\n\t\t\t\t\tif(vals.length <= 1) vals = vals[0];\n\t\t\t\t\t\n\t\t\t\t\t// default node property saving\n\t\t\t\t\tif(node.parent) node[ident] = vals;\n\t\t\t\t\t\n\t\t\t\t\t// default root property saving\n\t\t\t\t\telse {\n\t\t\t\t\t\tkifu.info[ident] = vals;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t\n\treturn kifu;\t\t\n}\n})(WGo);","\n(function(WGo){\n\n\"use strict\";\n\n// player counter - for creating unique ids\nvar pl_count = 0;\n\n// generate DOM of region\nvar playerBlock = function(name, parent, visible) {\n\tvar e = {};\n\te.element = document.createElement(\"div\");\n\te.element.className = \"wgo-player-\"+name;\n\te.wrapper = document.createElement(\"div\");\n\te.wrapper.className = \"wgo-player-\"+name+\"-wrapper\";\n\te.element.appendChild(e.wrapper);\n\tparent.appendChild(e.element);\n\tif(!visible) e.element.style.display = \"none\";\n\treturn e;\n}\n\n// generate all DOM of player\nvar BPgenerateDom = function() {\n\t// wrapper object for common DOM\n\tthis.dom = {};\n\n\t// center element\n\tthis.dom.center = document.createElement(\"div\");\n\tthis.dom.center.className = \"wgo-player-center\";\n\n\t// board wrapper element\n\tthis.dom.board = document.createElement(\"div\");\n\tthis.dom.board.className = \"wgo-player-board\";\n\n\t// object wrapper for regions (left, right, top, bottom)\n\tthis.regions = {};\n\n\t/*\n\tpseudo DOM structure:\n\t
\"+err.message+\"
If this message isn't correct, please report it by clicking here, otherwise contact maintainer of this site.
\");\n\t\tbreak;\n\t\tcase \"FileError\":\n\t\t\tthis.showMessage(\"\"+err.message+\"
Please contact maintainer of this site. Note: it is possible to read files only from this host.
\");\n\t\tbreak;\n\t\tdefault:\n\t\t\tthis.showMessage(\"\"+err.message+\"
\"+err.stacktrace+\"
Please contact maintainer of this site. You can also report it here.
\");\n\t}\n}\n\nBasicPlayer.component = {};\n\n/**\n * Preset layouts\n * They have defined regions as arrays, which can contain components. For each of these layouts each component specifies where it is placed.\n * You can create your own layout in same manners, but you must specify components manually.\n */\n\nBasicPlayer.layouts = {\n\t\"one_column\": {\n\t\ttop: [],\n\t\tbottom: [],\n\t},\n\t\"no_comment\": {\n\t\ttop: [],\n\t\tbottom: [],\n\t},\n\t\"right_top\": {\n\t\ttop: [],\n\t\tright: [],\n\t},\n\t\"right\": {\n\t\tright: [],\n\t},\n\t\"minimal\": {\n\t\tbottom: []\n\t},\n};\n\n/**\n * WGo player can have more layouts. It allows responsive design of the player.\n * Possible layouts are defined as array of object with this structure:\n *\n * layout = {\n * Object layout, // layout as specified above\n * Object conditions, // conditions that has to be valid to apply this layout\n * String className // custom classnames\n * }\n *\n * possible conditions:\n * - minWidth - minimal width of player in px\n * - maxWidth - maximal width of player in px\n * - minHeight - minimal height of player in px\n * - maxHeight - maximal height of player in px\n * - custom - function which is called in template context, must return true or false\n *\n * Player's template evaluates layouts step by step and first layout that matches the conditions is applied.\n *\n * Look below at the default dynamic layout. Layouts are tested after every window resize.\n */\n\nBasicPlayer.dynamicLayout = [\n\t{\n\t\tconditions: {\n\t\t\tminWidth: 650,\n\t\t},\n\t\tlayout: BasicPlayer.layouts[\"right_top\"],\n\t\tclassName: \"wgo-twocols wgo-large\",\n\t},\n\t{\n\t\tconditions: {\n\t\t\tminWidth: 550,\n\t\t\tminHeight: 600,\n\t\t},\n\t\tlayout: BasicPlayer.layouts[\"one_column\"],\n\t\tclassName: \"wgo-medium\"\n\t},\n\t{\n\t\tconditions: {\n\t\t\tminWidth: 350,\n\t\t},\n\t\tlayout: BasicPlayer.layouts[\"no_comment\"],\n\t\tclassName: \"wgo-small\"\n\t},\n\t{\t// if conditions object is omitted, layout is applied\n\t\tlayout: BasicPlayer.layouts[\"no_comment\"],\n\t\tclassName: \"wgo-xsmall\",\n\t},\n];\n\n// default settings, they are merged with user settings in constructor.\nBasicPlayer.default = {\n\tlayout: BasicPlayer.dynamicLayout,\n}\n\nWGo.i18n.en[\"BP:closemsg\"] = \"click anywhere to close this window\";\n\n//--- HandlingWGo.js Player is extension of WGo.js, HTML5 library for purposes of game of go. It allows to replay go game records and it has many features like score counting. It is also designed to be easily extendable.
\"\n\t\t\t\t+ \"WGo.js is open source licensed under MIT license. You can use and modify any code from this project.
\"\n\t\t\t\t+ \"You can find more information at wgo.waltheri.net/player
\"\n\t\t\t\t+ \"Copyright © 2013 Jan Prokop
\",\n\t\"black\": \"Black\",\n\t\"white\": \"White\",\n\t\"DT\": \"Date\",\n\t\"KM\": \"Komi\",\n\t\"HA\": \"Handicap\",\n\t\"AN\": \"Annotations\",\n\t\"CP\": \"Copyright\",\n\t\"GC\": \"Game comments\",\n\t\"GN\": \"Game name\",\n\t\"ON\": \"Fuseki\",\n\t\"OT\": \"Overtime\",\n\t\"TM\": \"Basic time\",\n\t\"RE\": \"Result\",\n\t\"RO\": \"Round\",\n\t\"RU\": \"Rules\",\n\t\"US\": \"Recorder\",\n\t\"PC\": \"Place\",\n\t\"EV\": \"Event\",\n\t\"SO\": \"Source\",\n\t\"none\": \"none\",\n\t\"bpass\": \"Black passed.\",\n\t\"wpass\": \"White passed.\",\n};\n\nfor(var key in player_terms) WGo.i18n.en[key] = player_terms[key];\n\n})(WGo);\n","/*!\n * Copyright (c) 2013 Jan Prokop\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this\n * software and associated documentation files (the \"Software\"), to deal in the Software\n * without restriction, including without limitation the rights to use, copy, modify, merge,\n * publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons\n * to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or\n * substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING\n * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n/* WGo.js 2.3.1 */\n\n(function (window, undefined) {\n 'use strict'\n\n var scripts = document.getElementsByTagName('script')\n var path = scripts[scripts.length - 1].src.split('?')[0] // remove any ?query\n var mydir = path.split('/').slice(0, -1).join('/') + '/'\n\n /**\n * Main namespace - it initializes WGo in first run and then execute main function.\n * You must call WGo.init() if you want to use library, without calling WGo.\n */\n\n var WGo = {\n // basic information\n version: '2.3.1.2',\n\n // constants for colors (rather use WGo.B or WGo.W)\n B: 1,\n W: -1,\n\n // if true errors will be shown in dialog window, otherwise they will be ignored\n ERROR_REPORT: true,\n DIR: mydir,\n\n // Language of player, you can change this global variable any time. Object WGo.i18n.WGo.Position is simple object storing position of go game. It is implemented as matrix size x size with values WGo.BLACK, WGo.WHITE or 0. It can be used by any extension.
\n *\n * @param {number} size of the board\n */\n\n var Position = function (size) {\n this.size = size || 19\n this.schema = []\n for (var i = 0; i < this.size * this.size; i++) {\n this.schema[i] = 0\n }\n }\n\n Position.prototype = {\n constructor: WGo.Position,\n\n /**\n * Returns value of given coordinates.\n *\n * @param {number} x coordinate\n * @param {number} y coordinate\n * @return {(WGo.BLACK|WGo.WHITE|0)} color\n */\n\n get: function (x, y) {\n if (x < 0 || y < 0 || x >= this.size || y >= this.size) return undefined\n return this.schema[x * this.size + y]\n },\n\n /**\n * Sets value of given coordinates.\n *\n * @param {number} x coordinate\n * @param {number} y coordinate\n * @param {(WGo.B|WGo.W|0)} c color\n */\n\n set: function (x, y, c) {\n this.schema[x * this.size + y] = c\n return this\n },\n\n /**\n * Clears the whole position (every value is set to 0).\n */\n\n clear: function () {\n for (var i = 0; i < this.size * this.size; i++) this.schema[i] = 0\n return this\n },\n\n /**\n * Clones the whole position.\n *\n * @return {WGo.Position} copy of position\n */\n\n clone: function () {\n var clone = new Position(this.size)\n clone.schema = this.schema.slice(0)\n return clone\n },\n\n /**\n * Compares this position with another position and return change object\n *\n * @param {WGo.Position} position to compare to.\n * @return {object} change object with structure: {add:[], remove:[]}\n */\n\n compare: function (position) {\n var add = [],\n remove = []\n\n for (var i = 0; i < this.size * this.size; i++) {\n if (this.schema[i] && !position.schema[i]) {\n remove.push({\n x: Math.floor(i / this.size),\n y: i % this.size\n })\n } else if (this.schema[i] != position.schema[i]) {\n add.push({\n x: Math.floor(i / this.size),\n y: i % this.size,\n c: position.schema[i]\n })\n }\n }\n\n return {\n add: add,\n remove: remove\n }\n }\n }\n\n WGo.Position = Position\n\n /**\n * Creates instance of game class.\n *\n * @class\n * This class implements game logic. It basically analyses given moves and returns capture stones.\n * WGo.Game also stores every position from beginning, so it has ability to check repeating positions\n * and it can effectively restore old positions.\n *\n * @param {number} size of the board\n * @param {\"KO\"|\"ALL\"|\"NONE\"} checkRepeat (optional, default is \"KO\") - how to handle repeated position:\n * KO - ko is properly handled - position cannot be same like previous position\n * ALL - position cannot be same like any previous position - e.g. it forbids triple ko\n * NONE - position can be repeated\n *\n * @param {boolean} allowRewrite (optional, default is false) - allow to play moves, which were already played:\n * @param {boolean} allowSuicide (optional, default is false) - allow to play suicides, stones are immediately captured\n */\n\n var Game = function (size, checkRepeat, allowRewrite, allowSuicide) {\n this.size = size || 19\n\n this.repeating = checkRepeat === undefined ? 'KO' : checkRepeat // possible values: KO, ALL or nothing\n this.allow_rewrite = allowRewrite || false\n this.allow_suicide = allowSuicide || false\n\n this.stack = []\n this.stack[0] = new Position(this.size)\n this.stack[0].capCount = { black: 0, white: 0 }\n this.turn = WGo.B\n\n Object.defineProperty(this, 'position', {\n get: function () { return this.stack[this.stack.length - 1] },\n set: function (pos) { this.stack[this.stack.length - 1] = pos }\n })\n }\n\n // function for stone capturing\n var do_capture = function (position, captured, x, y, c) {\n if (x >= 0 && x < position.size && y >= 0 && y < position.size && position.get(x, y) == c) {\n position.set(x, y, 0)\n captured.push({ x: x, y: y })\n\n do_capture(position, captured, x, y - 1, c)\n do_capture(position, captured, x, y + 1, c)\n do_capture(position, captured, x - 1, y, c)\n do_capture(position, captured, x + 1, y, c)\n }\n }\n\n // looking at liberties\n var check_liberties = function (position, testing, x, y, c) {\n // out of the board there aren't liberties\n if (x < 0 || x >= position.size || y < 0 || y >= position.size) return true\n // however empty field means liberty\n if (position.get(x, y) == 0) return false\n // already tested field or stone of enemy isn't giving us a liberty.\n if (testing.get(x, y) == true || position.get(x, y) == -c) return true\n\n // set this field as tested\n testing.set(x, y, true)\n\n // in this case we are checking our stone, if we get 4 trues, it has no liberty\n return check_liberties(position, testing, x, y - 1, c) &&\n check_liberties(position, testing, x, y + 1, c) &&\n check_liberties(position, testing, x - 1, y, c) &&\n check_liberties(position, testing, x + 1, y, c)\n }\n\n // analysing function - modifies original position, if there are some capturing, and returns array of captured stones\n var check_capturing = function (position, x, y, c) {\n var captured = []\n // is there a stone possible to capture?\n if (x >= 0 && x < position.size && y >= 0 && y < position.size && position.get(x, y) == c) {\n // create testing map\n var testing = new Position(position.size)\n // if it has zero liberties capture it\n if (check_liberties(position, testing, x, y, c)) {\n // capture stones from game\n do_capture(position, captured, x, y, c)\n }\n }\n return captured\n }\n\n // analysing history\n var checkHistory = function (position, x, y) {\n var flag, stop\n\n if (this.repeating == 'KO' && this.stack.length - 2 >= 0) stop = this.stack.length - 2\n else if (this.repeating == 'ALL') stop = 0\n else return true\n\n for (var i = this.stack.length - 2; i >= stop; i--) {\n if (this.stack[i].get(x, y) == position.get(x, y)) {\n flag = true\n for (var j = 0; j < this.size * this.size; j++) {\n if (this.stack[i].schema[j] != position.schema[j]) {\n flag = false\n break\n }\n }\n if (flag) return false\n }\n }\n\n return true\n }\n\n Game.prototype = {\n\n constructor: Game,\n\n /**\n * Gets actual position.\n *\n * @return {WGo.Position} actual position\n */\n\n getPosition: function () {\n return this.stack[this.stack.length - 1]\n },\n\n /**\n * Play move.\n *\n * @param {number} x coordinate\n * @param {number} y coordinate\n * @param {(WGo.B|WGo.W)} c color\n * @param {boolean} noplay - if true, move isn't played. Used by WGo.Game.isValid.\n * @return {number} code of error, if move isn't valid. If it is valid, function returns array of captured stones.\n *\n * Error codes:\n * 1 - given coordinates are not on board\n * 2 - on given coordinates already is a stone\n * 3 - suicide (currently they are forbbiden)\n * 4 - repeated position\n */\n\n play: function (x, y, c, noplay) {\n // check coordinates validity\n if (!this.isOnBoard(x, y)) return 1\n if (!this.allow_rewrite && this.position.get(x, y) != 0) return 2\n\n // clone position\n if (!c) c = this.turn\n\n var new_pos = this.position.clone()\n new_pos.set(x, y, c)\n\n // check capturing\n var cap_color = c\n var captured = check_capturing(new_pos, x - 1, y, -c).concat(check_capturing(new_pos, x + 1, y, -c), check_capturing(new_pos, x, y - 1, -c), check_capturing(new_pos, x, y + 1, -c))\n\n // check suicide\n if (!captured.length) {\n var testing = new Position(this.size)\n if (check_liberties(new_pos, testing, x, y, c)) {\n if (this.allow_suicide) {\n cap_color = -c\n do_capture(new_pos, captured, x, y, c)\n } else return 3\n }\n }\n\n // check history\n if (this.repeating && !checkHistory.call(this, new_pos, x, y)) {\n return 4\n }\n\n if (noplay) return false\n\n // update position info\n new_pos.color = c\n new_pos.capCount = {\n black: this.position.capCount.black,\n white: this.position.capCount.white\n }\n if (cap_color == WGo.B) new_pos.capCount.black += captured.length\n else new_pos.capCount.white += captured.length\n\n // save position\n this.pushPosition(new_pos)\n\n // reverse turn\n this.turn = -c\n\n return captured\n },\n\n /**\n * Play pass.\n *\n * @param {(WGo.B|WGo.W)} c color\n */\n\n pass: function (c) {\n this.pushPosition()\n if (c) {\n this.position.color = c\n this.turn = -c\n } else {\n this.position.color = this.turn\n this.turn = -this.turn\n }\n },\n\n /**\n * Finds out validity of the move.\n *\n * @param {number} x coordinate\n * @param {number} y coordinate\n * @param {(WGo.B|WGo.W)} c color\n * @return {boolean} true if move can be played.\n */\n\n isValid: function (x, y, c) {\n return typeof this.play(x, y, c, true) != 'number'\n },\n\n /**\n * Controls position of the move.\n *\n * @param {number} x coordinate\n * @param {number} y coordinate\n * @return {boolean} true if move is on board.\n */\n\n isOnBoard: function (x, y) {\n return x >= 0 && y >= 0 && x < this.size && y < this.size\n },\n\n /**\n * Inserts move into current position. Use for setting position, for example in handicap game. Field must be empty.\n *\n * @param {number} x coordinate\n * @param {number} y coordinate\n * @param {(WGo.B|WGo.W)} c color\n * @return {boolean} true if operation is successfull.\n */\n\n addStone: function (x, y, c) {\n if (this.isOnBoard(x, y) && this.position.get(x, y) == 0) {\n this.position.set(x, y, c || 0)\n return true\n }\n return false\n },\n\n /**\n * Removes move from current position.\n *\n * @param {number} x coordinate\n * @param {number} y coordinate\n * @return {boolean} true if operation is successfull.\n */\n\n removeStone: function (x, y) {\n if (this.isOnBoard(x, y) && this.position.get(x, y) != 0) {\n this.position.set(x, y, 0)\n return true\n }\n return false\n },\n\n /**\n * Set or insert move of current position.\n *\n * @param {number} x coordinate\n * @param {number} y coordinate\n * @param {(WGo.B|WGo.W)} c color\n * @return {boolean} true if operation is successfull.\n */\n\n setStone: function (x, y, c) {\n if (this.isOnBoard(x, y)) {\n this.position.set(x, y, c || 0)\n return true\n }\n return false\n },\n\n /**\n * Get stone on given position.\n *\n * @param {number} x coordinate\n * @param {number} y coordinate\n * @return {(WGo.B|WGo.W|0)} color\n */\n\n getStone: function (x, y) {\n if (this.isOnBoard(x, y)) {\n return this.position.get(x, y)\n }\n return 0\n },\n\n /**\n * Add position to stack. If position isn't specified current position is cloned and stacked.\n * Pointer of actual position is moved to the new position.\n *\n * @param {WGo.Position} tmp position (optional)\n */\n\n pushPosition: function (pos) {\n if (!pos) {\n var pos = this.position.clone()\n pos.capCount = {\n black: this.position.capCount.black,\n white: this.position.capCount.white\n }\n pos.color = this.position.color\n }\n this.stack.push(pos)\n if (pos.color) this.turn = -pos.color\n return this\n },\n\n /**\n * Remove current position from stack. Pointer of actual position is moved to the previous position.\n */\n\n popPosition: function () {\n var old = null\n if (this.stack.length > 0) {\n old = this.stack.pop()\n\n if (this.stack.length == 0) this.turn = WGo.B\n else if (this.position.color) this.turn = -this.position.color\n else this.turn = -this.turn\n }\n return old\n },\n\n /**\n * Removes all positions.\n */\n\n firstPosition: function () {\n this.stack = []\n this.stack[0] = new Position(this.size)\n this.stack[0].capCount = { black: 0, white: 0 }\n this.turn = WGo.B\n return this\n },\n\n /**\n * Gets count of captured stones.\n *\n * @param {(WGo.BLACK|WGo.WHITE)} color\n * @return {number} count\n */\n\n getCaptureCount: function (color) {\n return color == WGo.B ? this.position.capCount.black : this.position.capCount.white\n },\n\n /**\n * Validate postion. Position is tested from 0:0 to size:size, if there are some moves, that should be captured, they will be removed.\n * You can use this, after insertion of more stones.\n *\n * @return array removed stones\n */\n\n validatePosition: function () {\n var c, p,\n white = 0,\n black = 0,\n captured = [],\n new_pos = this.position.clone()\n\n for (var x = 0; x < this.size; x++) {\n for (var y = 0; y < this.size; y++) {\n c = this.position.get(x, y)\n if (c) {\n p = captured.length\n captured = captured.concat(check_capturing(new_pos, x - 1, y, -c),\n check_capturing(new_pos, x + 1, y, -c),\n check_capturing(new_pos, x, y - 1, -c),\n check_capturing(new_pos, x, y + 1, -c))\n\n if (c == WGo.B) black += captured - p\n else white += captured - p\n }\n }\n }\n this.position.capCount.black += black\n this.position.capCount.white += white\n this.position.schema = new_pos.schema\n\n return captured\n }\n }\n\n // save Game\n WGo.Game = Game\n\n // register WGo\n window.WGo = WGo\n})(window)\n","(function (WGo) {\n\n\tWGo.Board.drawHandlers['SQF'] = {\n\t\tstone: {\n\t\t\tdraw: function (args, board) {\n\t\t\t\tvar xr = board.getX(args.x),\n\t\t\t\t\tyr = board.getY(args.y),\n\t\t\t\t\tsr = Math.round(board.stoneRadius),\n\t\t\t\t\tratio = args.ratio;\n\t\t\t\tsr = sr * ratio;\n\t\t\t\tthis.lineWidth = args.lineWidth || theme_variable(\"markupLinesWidth\", board) || 1;\n\t\t\t\tthis.beginPath();\n\t\t\t\tthis.fillStyle = args.c || get_markup_color(board, args.x, args.y);\n\t\t\t\tthis.rect(Math.round(xr - sr / 2) - board.ls, Math.round(yr - sr / 2) - board.ls, sr, sr);\n\t\t\t\tthis.fill();\n\t\t\t}\n\t\t}\n\t}\n\tvar theme_variable = function (key, board) {\n\t\treturn typeof board.theme[key] == \"function\" ? board.theme[key](board) : board.theme[key];\n\t}\n\tvar ScoreMode = function (player, callback) {\n\t\tthis.originalPosition = player.kifuReader.game.position;\n\t\tthis.player = player;\n\t\tthis.position = this.originalPosition.clone();\n\t\tthis.board = player.board;\n\t\tthis.callback = callback;\n\t}\n\tvar state = ScoreMode.state = {\n\t\tUNKNOWN: 0,\n\t\tBLACK_STONE: 1, // must be equal to WGo.B\n\t\tWHITE_STONE: -1, // must be equal to WGo.W\n\t\tBLACK_CANDIDATE: 2,\n\t\tWHITE_CANDIDATE: -2,\n\t\tBLACK_NEUTRAL: 3,\n\t\tWHITE_NEUTRAL: -3,\n\t\tNEUTRAL: 4,\n\t}\n\tScoreMode.prototype.start = function (result) {\n\t\tthis.player.setFrozen(true);\n\t\t// if(waiting) {\n\t\t// \tif(window.plus) {\n\t\t// \t\tthis.waiting = plus.nativeUI.showWaiting();\n\t\t// \t} else {\n\t\t// \t\tthis.waiting = waiting;\n\t\t// \t\tthis.waiting.show();\n\t\t// \t}\n\t\t// }\n\t\tthis.result = result;\n\t\tthis.saved_state = this.board.getState();\n\t\tthis.displayScore();\n\t\t// setTimeout(function() {\n\t\t// \tthis.waiting && this.waiting.close();\n\t\t// }.bind(this), 200)\n\t\tvar RU = this.player.kifuReader.kifu.info[\"RU\"] || 'cn';\n\t\tRU = RU.toLocaleLowerCase().trim();\n\t\tRU = RU != 'jp' ? 'cn' : RU;\n\t\tthis.callback && this.callback(RU);\n\t}\n\tScoreMode.prototype.end = function () {\n\t\t// this.waiting && this.waiting.close();\n\t\tthis.board.restoreState({\n\t\t\tobjects: WGo.clone(this.saved_state.objects)\n\t\t});\n\t\tthis.player.setFrozen(false);\n\t}\n\tScoreMode.prototype.calculateKm = function (km, ha) {\n\t\tvar colorText = ''\n\t\tvar result = ''\n\t\tvar ha = ha\n\t\tha = ha == 1 ? 0 : ha\n\t\tresult = (ha + km) / 2\n\t\tif (result > 0) {\n\t\t\tcolorText = '黑'\n\t\t} else if (result == 0) {\n\t\t\tcolorText = ''\n\t\t} else {\n\t\t\tcolorText = '白'\n\t\t}\n\t\treturn colorText + '贴' + Math.abs(result) + '子'\n\t}\n\tScoreMode.prototype.displayScore = function () {\n\t\tvar score = {\n\t\t\tblack: [],\n\t\t\twhite: [],\n\t\t}\n\t\tthis.newpos = new WGo.Position(this.board.size)\n\t\tthis.newpos.schema = this.result;\n\t\tfor (var i = 0; i < this.position.size; i++) {\n\t\t\tfor (var j = 0; j < this.position.size; j++) {\n\t\t\t\tvar s = this.newpos.get(i, j)\n\t\t\t\tvar t = this.originalPosition.get(i, j);\n\t\t\t\tif (s > 0.1 && t != WGo.B) {\n\t\t\t\t\tscore.black.push({\n\t\t\t\t\t\tx: i,\n\t\t\t\t\t\ty: j,\n\t\t\t\t\t\ttype: \"SQF\",\n\t\t\t\t\t\tc: \"black\",\n\t\t\t\t\t\tratio: Math.sqrt(s),\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (s < -0.1 && t != WGo.W) {\n\t\t\t\t\tscore.white.push({\n\t\t\t\t\t\tx: i,\n\t\t\t\t\t\ty: j,\n\t\t\t\t\t\ttype: \"SQF\",\n\t\t\t\t\t\tc: \"white\",\n\t\t\t\t\t\tratio: Math.sqrt(Math.abs(s)),\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis.board.addObject(score.black);\n\t\tthis.board.addObject(score.white);\n\t}\n\n\tWGo.ScoreMode = ScoreMode;\n})(WGo)\n","import { createRouter, createWebHashHistory, createWebHistory } from 'vue-router'\n\nconst routes = [\n {\n path: '/',\n name: 'home',\n },\n {\n path: '/mobile',\n name: 'mobile',\n\n component: () => import('../views/Mobile.vue')\n },\n {\n path: '/desktop',\n name: 'desktop',\n component: () => import('../views/Desktop.vue')\n },\n {\n path: '/report',\n name: 'report',\n component: () => import('../views/Report.vue')\n },\n {\n path: '/pdf',\n name: 'pdf',\n component: () => import('../views/pdf.vue')\n },\n {\n path: '/ifk_mobile',\n name: 'ifk_mobile',\n component: () => import('../views/IfkMobile.vue')\n }\n]\n\n\n\nconst router = createRouter({\n history: createWebHashHistory(process.env.BASE_URL),\n routes\n})\n\nrouter.beforeEach((to, from, next) => {\n setTimeout(() => {\n if (to.path == \"/desktop\") {\n if (window.screen.width <= 640 || window.screen.width < window.screen.height) {\n next({ path: '/mobile', query: to.query })\n return\n }\n } else if (to.path == \"/mobile\") {\n if (window.screen.width > 640 && window.screen.width > window.screen.height) {\n next({ path: '/desktop', query: to.query })\n return\n }\n } else if (to.path == \"/report\") {\n // next({ path: '/report', query: to.query })\n } else if (to.path == \"/pdf\") {\n // next({ path: '/report', query: to.query })\n } else if(to.path == \"/ifk_mobile\"){\n // next({ path: '/ifk_mobile', query: to.query })\n } else {\n if (window.screen.width <= 640 || window.screen.width < window.screen.height) {\n next({ path: '/mobile', query: to.query })\n } else {\n next({ path: '/desktop', query: to.query })\n }\n }\n next()\n }, 200);\n})\n\nexport default router\n","export { default } from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./report_logo.vue?vue&type=script&lang=js\"; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./report_logo.vue?vue&type=script&lang=js\"","(function(WGo) {\n\t// board mousemove callback for edit move - adds highlighting\n\tvar edit_board_mouse_move = function(x, y) {\n\t\tif (this.player.frozen || (this._lastX == x && this._lastY == y)) return\n\n\t\tthis._lastX = x\n\t\tthis._lastY = y\n\n\t\tif (this._last_mark) {\n\t\t\tthis.board.removeObject(this._last_mark)\n\t\t}\n\n\t\tif (x != -1 && y != -1 && this.player.kifuReader.game.isValid(x, y)) {\n\t\t\tthis._last_mark = {\n\t\t\t\ttype: 'GLSQ',\n\t\t\t\tx: x,\n\t\t\t\ty: y,\n\t\t\t\tc: this.player.kifuReader.game.turn\n\t\t\t}\n\t\t\tthis.board.addObject(this._last_mark)\n\n\t\t\tthis.playcb && this.playcb(x, y, 'board_mouse')\n\t\t\treturn\n\t\t} else {\n\t\t\tthis.playcb && this.playcb(x, y, 'cancelTry')\n\t\t\tdelete this._last_mark\n\t\t}\n\t}\n\n\t// board mouseout callback for edit move\n\tvar edit_board_mouse_out = function() {\n\t\tif (this._last_mark) {\n\t\t\tthis.board.removeObject(this._last_mark)\n\t\t\tdelete this._last_mark\n\t\t\tdelete this._lastX\n\t\t\tdelete this._lastY\n\t\t}\n\t}\n\n\t// get differences of two positions as a change object (TODO create a better solution, without need of this function)\n\tvar pos_diff = function(old_p, new_p) {\n\t\tvar size = old_p.size,\n\t\t\tadd = [],\n\t\t\tremove = []\n\n\t\tfor (var i = 0; i < size * size; i++) {\n\t\t\tif (old_p.schema[i] && !new_p.schema[i]) {\n remove.push({\n\t\t\t\tx: Math.floor(i / size),\n\t\t\t\ty: i % size\n\t\t\t})\n} else if (old_p.schema[i] != new_p.schema[i]) {\n add.push({\n\t\t\t\tx: Math.floor(i / size),\n\t\t\t\ty: i % size,\n\t\t\t\tc: new_p.schema[i]\n\t\t\t})\n}\n\t\t}\n\n\t\treturn {\n\t\t\tadd: add,\n\t\t\tremove: remove\n\t\t}\n\t}\n\n\tWGo.Player.Editable = {}\n\n\t/**\n\t * Toggle edit mode.\n\t */\n\n\tWGo.Player.Editable = function(player, board, playcb) {\n\t\tthis.player = player\n\t\tthis.board = board\n\t\tthis.playcb = playcb\n\t\tthis.editMode = false\n\t\tthis.playType = 'normal'\n\t\tthis.colorType = 0\n\t\tthis.preplayMove = null\n\t}\n\tWGo.Player.Editable.prototype.setPlayType = function(type) {\n\t\t// this.playType = type;\n\t\tif (type == this.playType) return\n\t\tif (this.preplayMove) {\n\t\t\tvar preplayMove = this.preplayMove\n\t\t\tthis.board.removeObject({\n\t\t\t\tx: preplayMove.x,\n\t\t\t\ty: preplayMove.y,\n\t\t\t\tc: preplayMove.c,\n\t\t\t\ttype: 'GLSQ'\n\t\t\t})\n\t\t\tthis.preplayMove = null\n\t\t}\n\t\tif (type != 'clear') {\n\t\t\tthis.playType = type\n\t\t}\n\t}\n\tWGo.Player.Editable.prototype.setIsDrop = function(colorType) {\n\t\tthis.colorType = colorType\n\t}\n\tWGo.Player.Editable.prototype.setAllowIllegalMoves = function(allowIllegalMoves) {\n\t\tif (allowIllegalMoves) {\n\t\t\tthis.player.kifuReader.game.allow_rewrite = true\n\t\t\tthis.player.kifuReader.game.allow_rewrite = true\n\t\t\tthis.player.kifuReader.game.repeating = 'NONE'\n\t\t} else {\n\t\t\tthis.player.kifuReader.game.allow_rewrite = false\n\t\t\tthis.player.kifuReader.game.allow_rewrite = false\n\t\t\tthis.player.kifuReader.game.repeating = 'KO'\n\t\t}\n\t}\n\tWGo.Player.Editable.prototype.set = function(set) {\n\t\tif (!this.editMode && set) {\n\t\t\t// save original kifu reader\n\t\t\t//\t\tthis.originalReader = this.player.kifuReader;\n\t\t\t/// /\n\t\t\t/// /\t\t// create new reader with cloned kifu\n\t\t\t//\t\tthis.player.kifuReader = new WGo.KifuReader(this.player.kifu.clone(), this.originalReader.rememberPath, this.originalReader.allow_illegal, this.originalReader.allow_illegal);\n\t\t\t/// /\n\t\t\t/// /\t\t// go to current position\n\t\t\t//\t\tthis.player.kifuReader.goTo(this.originalReader.path);\n\n\t\t\t// register edit listeners\n\t\t\tthis._ev_click = this._ev_click || this.play.bind(this)\n\t\t\tthis._ev_move = this._ev_move || edit_board_mouse_move.bind(this)\n\t\t\tthis._ev_out = this._ev_out || edit_board_mouse_out.bind(this)\n\n\t\t\tthis.board.addEventListener('click', this._ev_click)\n\t\t\tthis.board.addEventListener('mousemove', this._ev_move)\n\t\t\tthis.board.addEventListener('mouseout', this._ev_out)\n\n\t\t\tthis.editMode = true\n\t\t} else if (this.editMode && !set) {\n\t\t\t// go to the last original position\n\t\t\t//\t\tthis.player.kifuReader.goTo(this.player.kifuReader.path);\n\t\t\t//\n\t\t\t//\t\t// change object isn't actual - update it, not elegant solution, but simple\n\t\t\t//\t\tthis.originalReader.change = pos_diff(this.player.kifuReader.getPosition(), this.originalReader.getPosition());\n\t\t\t/// /\t\t// update kifu reader\n\t\t\t//\t\tthis.player.kifuReader = this.originalReader;\n\t\t\t//\t\tthis.player.update(true);\n\t\t\t//\t\tthis.player.kifuReader.goTo(this.player.kifuReader.path);\n\t\t\t// remove edit listeners\n\t\t\tthis.board.removeEventListener('click', this._ev_click)\n\t\t\tthis.board.removeEventListener('mousemove', this._ev_move)\n\t\t\tthis.board.removeEventListener('mouseout', this._ev_out)\n\n\t\t\tthis.editMode = false\n\t\t}\n\t}\n\n\tWGo.Player.Editable.prototype.play = function(x, y, c) {\n\t\tvar postion = this.player.kifuReader.getPosition(),\n\t\t\ttarget = y + x * postion.size\n\t\t// if(postion.schema[target] != 0) return;\n\t\t// if(this.player.frozen || !this.player.kifuReader.game.isValid(x, y) || (this.editMode == false)) return;\n // if (this.player.frozen || !this.player.kifuReader.game.isValid(x, y) || (this.editMode == false && this.playcb)) return;\n\t // if (this.playType == 'preplay' && this.preplayMove) {\n\t // var preplayMove = this.preplayMove\n\t // this.board.removeObject({\n\t // x: preplayMove.x,\n\t // y: preplayMove.y,\n\t // c: preplayMove.c,\n\t // type: 'GLSQ'\n\t // })\n\t // this.preplayMove = null\n\t // this.playcb && this.playcb(x, y, 'cancel')\n\t // return\n\t // }\n\t if (postion.schema[target] != 0) return\n\t if (this.player.frozen || !this.player.kifuReader.game.isValid(x, y) || (this.editMode == false)) return\n \tvar selectIdx = this.player.kifuReader.node._last_selected,\n\t\t\tcurNode = this.player.kifuReader.node,\n\t\t\tcurColor = this.player.kifuReader.game.turn\n\t\tif (!isNaN(c)) curColor = c\n\t\tcurColor = this.colorType == 0 ? curColor : this.colorType\n\t\tswitch (this.playType) {\n\t\t\tcase 'normal':\n\t\t\t\tif (curNode.children.length > 0||\tthis.player.kifuReader.path.m ==this.player.kifuReader.kifu.nodeCount) {\n\t\t\t\t\tthis.playcb && this.playcb(x, y, 'select')\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tcurNode.appendChild(new WGo.KNode({\n\t\t\t\t\tmove: {\n\t\t\t\t\t\tx: x,\n\t\t\t\t\t\ty: y,\n\t\t\t\t\t\tc: curColor,\n\t\t\t\t\t},\n\t\t\t\t\t_edited: true\n\t\t\t\t}))\n\t\t\t\tthis.player.kifuReader.kifu.nodeCount++\n\t\t\t\tthis.player.next(curNode._last_selected)\n\t\t\t\tthis.playcb && this.playcb(x, y, 'normal')\n\t\t\t\tbreak\n\t\t\tcase 'try':\n\t\t\t\t// 当前手下有子节点\n\t\t\t\tif (curNode.children.length > 0) {\n\t\t\t\t\t// 新增分支时,添加节点\n\t\t\t\t\tif (curNode.children.length == curNode._last_selected) {\n\t\t\t\t\t\tcurNode.children.push(new WGo.KNode({\n\t\t\t\t\t\t\tparent: curNode,\n\t\t\t\t\t\t\t_edited: true\n\t\t\t\t\t\t}))\n\t\t\t\t\t}\n\t\t\t\t\tcurNode.children[curNode._last_selected].children = []\n\t\t\t\t\tcurNode.children[curNode._last_selected].move = {\n\t\t\t\t\t\tx: x,\n\t\t\t\t\t\ty: y,\n\t\t\t\t\t\tc: curColor\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tcurNode.appendChild(new WGo.KNode({\n\t\t\t\t\t\tmove: {\n\t\t\t\t\t\t\tx: x,\n\t\t\t\t\t\t\ty: y,\n\t\t\t\t\t\t\tc: curColor\n\t\t\t\t\t\t},\n\t\t\t\t\t\t_edited: true\n\t\t\t\t\t}))\n\t\t\t\t}\n\t\t\t\tthis.player.next(curNode._last_selected)\n\t\t\t\tthis.playcb && this.playcb(x, y, 'try')\n\t\t\t\tbreak\n\t\t\tcase 'cover':\n\t\t\t\tcurNode.children = []\n\t\t\t\tcurNode._last_selected = 0\n\t\t\t\tvar path = this.player.kifuReader.path.m\n\t\t\t\tcurNode.appendChild(new WGo.KNode({\n\t\t\t\t\tmove: {\n\t\t\t\t\t\tx: x,\n\t\t\t\t\t\ty: y,\n\t\t\t\t\t\tc: curColor\n\t\t\t\t\t},\n\t\t\t\t\t_edited: true\n\t\t\t\t}))\n\t\t\t\tthis.player.kifu.nodeCount = path + 1\n\t\t\t\tthis.player.next(curNode._last_selected)\n\t\t\t\tthis.playcb && this.playcb(x, y, 'cover')\n\t\t\t\tbreak\n\t\t\tcase 'insert':\n\t\t\t\tif (curNode.children.length == 0) {\n\t\t\t\t\tthis.playType = 'normal'\n\t\t\t\t\tthis.player.next(curNode._last_selected)\n\t\t\t\t\tthis.playcb && this.playcb(x, y, 'normal')\n\t\t\t\t} else {\n\t\t\t\t\tif (x == curNode.children[curNode._last_selected].move.x && y == curNode.children[curNode._last_selected].move.y) {\n\t\t\t\t\t\tthis.playType = 'normal'\n\t\t\t\t\t\tthis.player.next(curNode._last_selected)\n\t\t\t\t\t\tthis.playcb && this.playcb(x, y, 'normal')\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar node = new WGo.KNode({\n\t\t\t\t\t\t\tparent: curNode,\n\t\t\t\t\t\t\tchildren: [curNode.children[curNode._last_selected]],\n\t\t\t\t\t\t\tmove: {\n\t\t\t\t\t\t\t\tx: x,\n\t\t\t\t\t\t\t\ty: y,\n\t\t\t\t\t\t\t\tc: curColor\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t_edited: true,\n\t\t\t\t\t\t\t_last_selected: curNode._last_selected\n\t\t\t\t\t\t})\n\t\t\t\t\t\tcurNode.children[curNode._last_selected].parent = node\n\t\t\t\t\t\tcurNode.children[curNode._last_selected] = node\n\t\t\t\t\t\tthis.player.next(curNode._last_selected)\n\t\t\t\t\t\tthis.playType = 'normal'\n\t\t\t\t\t\tthis.playcb && this.playcb(x, y, 'insert')\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\tcase 'preplay':\n\t\t\t\tthis.board.addObject([{\n\t\t\t\t\tx: x,\n\t\t\t\t\ty: y,\n\t\t\t\t\tc: curColor,\n\t\t\t\t\ttype: 'GLSQ'\n\t\t\t\t}])\n\t\t\t\tthis.preplayMove = {\n\t\t\t\t\tx: x,\n\t\t\t\t\ty: y,\n\t\t\t\t\tc: curColor\n\t\t\t\t}\n\t\t\t\tthis.playcb && this.playcb(x, y, 'preplay')\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\tWGo.Player.Editable.prototype.addLastNode = function(move) {\n\t\tvar curColor = this.player.kifuReader.game.turn\n\t\tif (!isNaN(move.c)) curColor = move.c\n\t\tvar lastNode = this.player.kifu.getLastNode()\n\t\tvar stone = {\n\t\t\tx: move.x,\n\t\t\ty: move.y,\n\t\t\tc: curColor\n\t\t}\n\t\tif (move.x == -1 || move.y == -1) {\n\t\t\tstone = {\n\t\t\t\tpass: true,\n\t\t\t\tc: curColor\n\t\t\t}\n\t\t}\n\t\tlastNode.appendChild(new WGo.KNode({\n\t\t\tmove: stone,\n\t\t\t_edited: true\n\t\t}))\n\t\tthis.player.kifuReader.kifu.nodeCount++\n\t}\n\n\tWGo.Player.Editable.prototype.pass = function(x, y, c) {\n\t\tx = x || -1\n \ty = y || -1\n\t\tif (this.player.frozen) return\n\t\tthis.player.kifuReader.node.appendChild(new WGo.KNode({\n\t\t\tmove: {\n\t\t\t\tpass: true,\n\t\t\t\tc: c || this.player.kifuReader.game.turn\n\t\t\t},\n\t\t\t_edited: true\n\t\t}))\n\t\tthis.player.kifuReader.kifu.nodeCount++\n\t\tthis.player.next(this.player.kifuReader.node.children.length - 1)\n\t\tthis.playcb && this.playcb(x, y, 'pass')\n\t}\n\n\tif (WGo.BasicPlayer && WGo.BasicPlayer.component.Control) {\n\t\tWGo.BasicPlayer.component.Control.menu.push({\n\t\t\tconstructor: WGo.BasicPlayer.control.MenuItem,\n\t\t\targs: {\n\t\t\t\tname: 'editmode',\n\t\t\t\ttogglable: true,\n\t\t\t\tclick: function(player) {\n\t\t\t\t\tthis._editable = this._editable || new WGo.Player.Editable(player, player.board)\n\t\t\t\t\tthis._editable.set(!this._editable.editMode)\n\t\t\t\t\treturn this._editable.editMode\n\t\t\t\t},\n\t\t\t\tinit: function(player) {\n\t\t\t\t\tvar _this = this\n\t\t\t\t\tplayer.addEventListener('frozen', function(e) {\n\t\t\t\t\t\t_this._disabled = _this.disabled\n\t\t\t\t\t\tif (!_this.disabled) _this.disable()\n\t\t\t\t\t})\n\t\t\t\t\tplayer.addEventListener('unfrozen', function(e) {\n\t\t\t\t\t\tif (!_this._disabled) _this.enable()\n\t\t\t\t\t\tdelete _this._disabled\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\n\tWGo.i18n.en['editmode'] = 'Edit mode'\n})(WGo)\n","/**\n * Created by larry on 2016/12/30.\n * display marks move in board\n */\n(function (WGo) {\n\t\"use strict\";\n\t/*\n\t * add solid triangle for show\n\t */\n\tWGo.Board.drawHandlers['TRS'] = WGo.Board.drawHandlers['TR'] = {\n\t\tstone: {\n\t\t\tdraw: function (args, board) {\n\t\t\t\tvar xr = board.getX(args.x),\n\t\t\t\t\tyr = board.getY(args.y),\n\t\t\t\t\tsr = board.stoneRadius;\n\n\t\t\t\t//this.strokeStyle =\"red\";// args.c || get_markup_color(board, args.x, args.y);\n\t\t\t\t//this.lineWidth = args.lineWidth || board.lineWidth || 1;\n\t\t\t\tthis.fillStyle = \"#FF0000\";\n\t\t\t\tthis.beginPath();\n\t\t\t\tthis.moveTo(xr - 0.5, yr - 0.5 - Math.round(sr / 2));\n\t\t\t\tthis.lineTo(Math.round(xr - sr / 2) - 0.5, Math.round(yr + sr / 3) + 0.5);\n\t\t\t\tthis.lineTo(Math.round(xr + sr / 2) + 0.5, Math.round(yr + sr / 3) + 0.5);\n\t\t\t\tthis.closePath();\n\t\t\t\tthis.fill();\n\t\t\t\t//this.stroke();\n\t\t\t}\n\t\t}\n\t}\n\tWGo.Board.drawHandlers['RMD'] = {\n\t\tstone: {\n\t\t\tdraw: function (args, board) {\n\t\t\t\tvar xr = board.getX(args.x),\n\t\t\t\t\tyr = board.getY(args.y),\n\t\t\t\t\tsr = board.stoneRadius;\n\t\t\t\tvar radgrad = this.createRadialGradient(xr - sr / 10, yr, 0, xr - sr / 10, yr, sr);\n\t\t\t\tradgrad.addColorStop(0, 'rgba(255,0,0,1)');\n\t\t\t\tradgrad.addColorStop(1, 'rgba(255,0,0,0.2)');\n\t\t\t\tthis.beginPath();\n\t\t\t\tthis.fillStyle = radgrad;\n\t\t\t\tthis.arc(xr - board.ls, yr - board.ls, Math.max(0, sr - 0.5), 0, 2 * Math.PI, true);\n\t\t\t\tthis.fill();\n\t\t\t}\n\t\t}\n\t}\n\n\tWGo.Board.drawHandlers['GMD'] = {\n\t\tstone: {\n\t\t\tdraw: function (args, board) {\n\t\t\t\tvar xr = board.getX(args.x),\n\t\t\t\t\tyr = board.getY(args.y),\n\t\t\t\t\tsr = board.stoneRadius;\n\t\t\t\tvar radgrad = this.createRadialGradient(xr - sr / 10, yr, 0, xr - sr / 10, yr, sr);\n\t\t\t\tradgrad.addColorStop(0, 'rgba(0,255,0,1)');\n\t\t\t\tradgrad.addColorStop(1, 'rgba(0,255,0,0.2)');\n\t\t\t\tthis.beginPath();\n\t\t\t\tthis.fillStyle = radgrad;\n\t\t\t\tthis.arc(xr - board.ls, yr - board.ls, Math.max(0, sr - 0.5), 0, 2 * Math.PI, true);\n\t\t\t\tthis.fill();\n\t\t\t}\n\t\t}\n\t}\n\n\tvar theme_variable = function (key, board) {\n\t\treturn typeof board.theme[key] == \"function\" ? board.theme[key](board) : board.theme[key];\n\t}\n\tvar get_markup_color = function (board, x, y) {\n\t\tif (board.obj_arr[x][y][0].c == WGo.B) return theme_variable(\"markupBlackColor\", board);\n\t\telse if (board.obj_arr[x][y][0].c == WGo.W) return theme_variable(\"markupWhiteColor\", board);\n\t\treturn theme_variable(\"markupNoneColor\", board);\n\t}\n\tvar _CrNum = null;\n\tWGo.Board.drawHandlers['LB'] = {\n\t\tstone: {\n\t\t\tdraw: function (args, board) {\n\t\t\t\tvar xr = board.getX(args.x),\n\t\t\t\t\tyr = board.getY(args.y),\n\t\t\t\t\tsr = board.stoneRadius,\n\t\t\t\t\tfont = args.font || theme_variable(\"font\", board) || \"\";\n\t\t\t\tthis.fillStyle = args.c || get_markup_color(board, args.x, args.y);\n\t\t\t\tif (args.text.length == 1) this.font = Math.round(sr * 1.5) + \"px \" + font;\n\t\t\t\telse if (args.text.length == 2) this.font = Math.round(sr * 1.2) + \"px \" + font;\n\t\t\t\telse this.font = Math.round(sr) + \"px \" + font;\n\t\t\t\tthis.beginPath();\n\t\t\t\tthis.textBaseline = \"middle\";\n\t\t\t\tthis.textAlign = \"center\";\n\t\t\t\tthis.fillText(args.text, xr, yr, 2 * sr);\n\t\t\t\tif (args.addCr) {\n\t\t\t\t\t_CrNum = args.text;\n\t\t\t\t\tthis.fillStyle = \"#FF0000\";\n\t\t\t\t\tthis.beginPath();\n\t\t\t\t\tthis.moveTo(xr - 0.5, yr + 0.5 + Math.round(sr / 1.2));\n\t\t\t\t\tthis.lineTo(Math.round(xr - sr / 1.5) - 0.5, Math.round(yr + sr / 2) + 0.5);\n\t\t\t\t\tthis.lineTo(Math.round(xr + sr / 1.5) + 0.5, Math.round(yr + sr / 2) + 0.5);\n\t\t\t\t\tthis.closePath();\n\t\t\t\t\tthis.fill();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t}\n\tvar Marker = {};\n\tvar defConfig = {\n\t\tmarkerStyle: 'TRS', //display style\n\t\tmarkerNum: 1, // Set to specify how many items should be displayed at once. from back to front\n\t\tlastMoveColor: 'red',\n\t\tstart: 0,\n\t\tbranchPath: -1,\n\t}\n\n\tMarker = function (player, board, config) {\n\t\tthis.player = player;\n\t\tthis.board = board;\n\t\tthis.config = config || {};\n\t\tfor (var key in defConfig)\n\t\t\tif (this.config[key] === undefined && defConfig[key] !== undefined) this.config[key] = defConfig[key];\n\t\tthis.init();\n\t}\n\n\tMarker.prototype = {\n\t\tinit: function () {\n\t\t\tthis.poss = new WGo.Position(this.player.kifu.size);\n\t\t\tthis._bindEvent();\n\t\t},\n\t\tclearDefaultSytle: function () {\n\t\t\tvar node = this.player.kifuReader.node;\n\t\t\tif (node.move) {\n\t\t\t\tthis.board.removeObject({\n\t\t\t\t\tx: node.move.x,\n\t\t\t\t\ty: node.move.y,\n\t\t\t\t\ttype: 'CR'\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\t\t_bindEvent: function () {\n\t\t\tvar self = this;\n\t\t\tthis.player.addEventListener('update', function (e) {\n\t\t\t\tself.showMarker(e);\n\t\t\t});\n\t\t},\n\t\tclearMarker: function () {\n\t\t\tfor (var x = 0; x < this.player.kifu.size; x++) {\n\t\t\t\tfor (var y = 0; y < this.player.kifu.size; y++) {\n\t\t\t\t\tvar num = this.poss.get(x, y);\n\t\t\t\t\tif (num > 0)\n\t\t\t\t\t\tthis.board.removeObject({\n\t\t\t\t\t\t\tx: x,\n\t\t\t\t\t\t\ty: y,\n\t\t\t\t\t\t\ttype: this.config.markerStyle\n\t\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t},\n\t\tswitchMaker: function (config) {\n\t\t\tthis.clearMarker();\n\t\t\tfor (var key in config) this.config[key] = config[key];\n\t\t\tvar curPath = this.player.kifuReader.path.m\n\t\t\tthis.player.first();\n\t\t\tthis.player.goTo(curPath);\n\t\t},\n\t\tcomparePosition: function (position) {\n\t\t\tvar add = [],\n\t\t\t\tremove = [];\n\t\t\tfor (var x = 0; x < this.player.kifu.size; x++) {\n\t\t\t\tfor (var y = 0; y < this.player.kifu.size; y++) {\n\t\t\t\t\tvar oldNum = this.poss.get(x, y),\n\t\t\t\t\t\tcurNum = position.get(x, y);\n\t\t\t\t\tif (oldNum > 0 && curNum > 0) {\n\t\t\t\t\t\tif (oldNum != curNum) {\n\t\t\t\t\t\t\tadd.push({\n\t\t\t\t\t\t\t\tx: x,\n\t\t\t\t\t\t\t\ty: y,\n\t\t\t\t\t\t\t\ttext: curNum\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\tremove.push({\n\t\t\t\t\t\t\t\tx: x,\n\t\t\t\t\t\t\t\ty: y,\n\t\t\t\t\t\t\t\ttext: oldNum\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (oldNum > 0 && curNum == 0) {\n\t\t\t\t\t\tremove.push({\n\t\t\t\t\t\t\tx: x,\n\t\t\t\t\t\t\ty: y,\n\t\t\t\t\t\t\ttext: oldNum\n\t\t\t\t\t\t})\n\t\t\t\t\t} else if (oldNum == 0 && curNum > 0) {\n\t\t\t\t\t\tadd.push({\n\t\t\t\t\t\t\tx: x,\n\t\t\t\t\t\t\ty: y,\n\t\t\t\t\t\t\ttext: curNum\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\tif (_CrNum && _CrNum == curNum) {\n\t\t\t\t\t\tremove.push({\n\t\t\t\t\t\t\tx: x,\n\t\t\t\t\t\t\ty: y,\n\t\t\t\t\t\t\ttext: curNum\n\t\t\t\t\t\t})\n\t\t\t\t\t\tadd.push({\n\t\t\t\t\t\t\tx: x,\n\t\t\t\t\t\t\ty: y,\n\t\t\t\t\t\t\ttext: curNum\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\tif (curNum == this.player.kifuReader.path.m) {\n\t\t\t\t\t\tadd.push({\n\t\t\t\t\t\t\tx: x,\n\t\t\t\t\t\t\ty: y,\n\t\t\t\t\t\t\ttext: curNum\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.poss = position.clone();\n\t\t\treturn {\n\t\t\t\tadd: add,\n\t\t\t\tremove: remove\n\t\t\t}\n\t\t},\n\t\tgetPosition: function (position, node) {\n\t\t\tvar poss = new WGo.Position(this.player.kifu.size),\n\t\t\t\tbranchNum = 0;\n\t\t\tif (this.config.branchPath != -1)\n\t\t\t\tbranchNum = this.config.branchPath;\n\t\t\tvar num = this.player.kifuReader.path.m - branchNum - this.config.start,\n\t\t\t\ttempMarknum = this.config.markerNum == 0 ? num : this.config.markerNum;\n\t\t\twhile (node.move) {\n\t\t\t\tvar x = node.move.x;\n\t\t\t\tvar y = node.move.y;\n\t\t\t\tif (position.get(x, y) != 0 && (!poss.get(x, y))) {\n\t\t\t\t\tposs.set(x, y, num);\n\t\t\t\t}\n\t\t\t\tnum--;\n\t\t\t\ttempMarknum--;\n\t\t\t\tnode = node.parent;\n\t\t\t\tif (tempMarknum <= 0) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (num <= 0) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn poss;\n\t\t},\n\t\tshowMarker: function (e) {\n\t\t\tvar node = this.player.kifuReader.node;\n\t\t\tvar poss = this.getPosition(e.position.clone(), node)\n\t\t\tvar result = this.comparePosition(poss);\n\t\t\tvar temp = [];\n\t\t\tresult.remove.forEach(function (v, i) {\n\t\t\t\tthis.board.removeObject({\n\t\t\t\t\tx: v.x,\n\t\t\t\t\ty: v.y,\n\t\t\t\t\ttype: this.config.markerStyle\n\t\t\t\t});\n\t\t\t}.bind(this))\n\t\t\tresult.add.forEach(function (v, i) {\n\t\t\t\tif (v.text > 0) {\n\t\t\t\t\tvar data = {\n\t\t\t\t\t\tx: v.x,\n\t\t\t\t\t\ty: v.y,\n\t\t\t\t\t\ttext: v.text,\n\t\t\t\t\t\ttype: this.config.markerStyle\n\t\t\t\t\t};\n\t\t\t\t\tvar branchNum = 0;\n\t\t\t\t\tif (this.config.branchPath != -1)\n\t\t\t\t\t\tbranchNum = this.config.branchPath;\n\t\t\t\t\tif (v.text == this.player.kifuReader.path.m - branchNum&&this.config.lastMoveColor!=\"\") {\n\t\t\t\t\t\tdata.addCr = true;\n\t\t\t\t\t}\n\t\t\t\t\ttemp.push(data)\n\t\t\t\t}\n\t\t\t}.bind(this))\n\t\t\tfor (var i = 0; i < temp.length; i++) {\n\t\t\t\tthis.board.addObject(temp[i])\n\t\t\t}\n\t\t},\n\t}\n\tWGo.Player.Marker = Marker\n})(WGo)","\n