{"version":3,"sources":["./src/app/lunr_worker.js","./src/$_lazy_route_resource lazy","./src/app/app.component.ngfactory.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/components/api-call.ngfactory.ts","./src/app/components/api-call.ts","./src/app/components/api-response.ngfactory.ts","./src/app/components/api-response.ts","./src/app/components/auth.ngfactory.ts","./src/app/components/auth.ts","./src/app/components/console.ngfactory.ts","./src/app/components/console.ts","./src/app/components/documentation.ngfactory.ts","./src/app/views/documentation/main.pug","./src/app/components/documentation.ts","./src/app/components/parameter.ngfactory.ts","./src/app/views/parameter-set.pug","./src/app/views/parameter.pug","./src/app/components/parameter.ts","./src/app/components/sample-code.ngfactory.ts","./src/app/components/sample-code.ts","./src/app/components/schema.ngfactory.ts","./src/app/views/schema.pug","./src/app/components/schema.ts","./src/app/components/search-results.ngfactory.ts","./src/app/components/search-results.ts","./src/app/components/side-menu.ngfactory.ts","./src/app/views/side-menu.pug","./src/app/components/side-menu.ts","./src/app/json-schema-form/json-schema-form.component.ngfactory.ts","./src/app/json-schema-form/json-schema-form.component.ts","./src/app/json-schema-form/schema-label.component.ngfactory.ts","./src/app/json-schema-form/schema-label.component.ts","./src/app/json-schema-form/util.ts","./src/app/services/github.ts","./src/app/services/menu.ts","./src/app/services/openapi.ts","./src/app/services/platform.service.ts","./src/app/services/routes.ts","./src/app/services/search.ts","./src/app/services/secret.ts","./src/app/services/tour.ts","./src/app/services/tracker.ts","./src/app/services/utils.ts","./src/app/views/oauth_callback.html","./src/environments/environment.ts","./src/lib/initialize-navigation.js","./src/lib/markdown-sections.js","./src/lib/markdown-to-recipe.js","./src/lib/recipe-to-markdown.js","./src/main.ts","./tmp/plugins/code-template.js"],"names":["removeMarkdown","md","replace","require","MAX_SUMMARY_LENGTH","getOperationTitle","op","method","path","operationId","toUpperCase","METHOD_ORDER","getPathNavItem","ops","tag","pathItem","children","autoselect","operations","hasOperationIds","tags","indexOf","push","title","fullTitle","operation","length","sort","c1","c2","m1","m2","initializeNavigation","module","exports","nav","config","openapi","map","t","name","isMiscellaneous","paths","info","description","externalDocs","readme","contents","url","unshift","definitions","Object","keys","def","definition","forEach","initializeNavigationItem","navItem","miscItem","findMiscItem","navigationContainsOperation","filter","i","c","items","opTitle","container","childContains","miscChild","findOperation","setSummaryAndTitle","item","summary","type","defaultTitle","hide","deprecated","workflow","workflows","icon","gfm","substring","populateChildren","p","d","concat","REGEXEN","section_start","code_bookend","getSections","lines","split","curSection","rank","sections","text","sectionStack","inCode","line","match","trim","parentSection","pop","start_comment","end_comment","start_code","end_code","step_title","section_title","special_section","markdownSections","sectionsToMarkdown","s","extractRecipe","recipe","extractJSONComment","Error","recipeSection","steps","extractStep","finish","finishText","start_regex","RegExp","data","JSON","parse","step","section","codeDetails","extractCode","subsection","language","code","apiCall","parameters","startsWith","titleMatch","toLowerCase","codeSnippet","demoHTML","m","recipeTemplate","metadata","sortOrder","keywords","hidden","relatedRecipes","stringify","stepTemplate","join","apiCallTemplate","ignoreParameters","codeSnippetTemplate","demoTemplate","newObj","LANG_HIGHLIGHT_NAMES","snippets","lang","html","ejs","window","CodeTemplate","opts","swagger","template","prototype","render"],"mappings":";;;;;AAAA;AACA;AACA,E;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,4E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBCVA,2BACM,oRAAe,QAAgB,2BAC/B;AADA,eAAe;;;;;;;;;;;;;;;;;;;;;;;;ACDmC;AACF;AACN;AACF;AACgB;AAG9D,IAAM,YAAY,GAAG,GAAG,CAAC;AAEzB;IASE,sBACU,MAAa,EACb,MAAoB,EACpB,KAAkB,EAClB,MAAqB,EACrB,eAAgC;QAL1C,iBAoBC;QAnBS,WAAM,GAAN,MAAM,CAAO;QACb,WAAM,GAAN,MAAM,CAAc;QACpB,UAAK,GAAL,KAAK,CAAa;QAClB,WAAM,GAAN,MAAM,CAAe;QACrB,oBAAe,GAAf,eAAe,CAAiB;QAP1C,kBAAa,GAAS,EAAE,CAAC;QASvB,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC;QAClB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,eAAK;YACxD,EAAE,CAAC,CAAC,KAAI,CAAC,eAAe,CAAC,SAAS,IAAI,KAAK,YAAY,8DAAa,IAAI,MAAM,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC;gBACzG,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC1E,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC;oBACtB,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxB,CAAC;gBACD,OAAO,GAAG,KAAK,CAAC;gBAChB,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;YACtB,CAAC;QACH,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,kCAAW,GAAX;QACE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,EAAE,EAAf,CAAe,CAAC,CAAC;IACnD,CAAC;IAED,sCAAe,GAAf;QACE,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;YAAC,MAAM,CAAC,cAAc,EAAE;QAClD,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;gBAClC,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC5B,EAAE,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACnD,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC9C,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;oBACjE,CAAC;oBACD,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC,CAAC;wBAC9E,MAAM,CAAC,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACH,mBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChED,mBAAO,CAAC,qCAA6B,CAAC,CAAC;AAIuB;AA6C9D,qEAAc,EAAE,CAAC;AAGjB,MAAM,CAAC,WAAW,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ;IAC9B,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;CAC3B;AACD,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;SAgBG,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,GAAG;AAdpE;IAAA;IA6DwB,CAAC;IAAD,gBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBCvHmW,0HAAwF,4VAAsH;+BAA3F,gBAA0B,kBAAC,gBAA4B,qBAAC,gBAAkC,wBAArH,WAAsH,GAAjE,WAA6B,WAAmC;;+BAA5J,sCAAsC,MAAvF,WAAwF,GAAD;;;;wBAA4I,iHAAiH,uXAA+H,OAAlF,uBAA6D;+BAAC,gBAAmB,YAArG,gBAAmB,YAAC,iEAA6D,MAA1G,WAA+H,GAAD,WAAlF,WAA8D;;+BAA7J,kCAAkD,cAAhH,WAAiH,GAAD;;;;2EAA/sB,yFAAiB,iHAAgC;;;;;;yBAA2B;SAArB;;yBAAoB;SAA1B;oSAA2B,oHAA4B,8GAA8B,iFAAI,oCAAU,kBAAW,oGAA4B;gCAA8J,aAAhC;;yBAA+B;SAA7J;mRAA8J,mBAAmC,8KAAwF,QAA2I,8KAAiH;+BAAtgB,gBAA6C,iCAAC,gBAA4C,sCAAC,gBAAmB,YAA7H,YAA8J,GAAlG,WAA6C,WAAoB,WAAoG,iBAAgB,aAAhD,YAAwF,GAAxC,YAA0M,kBAAsC,kCAA7D,YAAiH,GAApD;;AAA3mB,yZAA2B;;;;;;;;;;;;;;;;;;;;;;;;ACGrD;AAC4B;AACJ;AACI;AAInD;IAqDE,0BAAmB,OAAsB,EACtB,KAAkB,EACjB,OAAsB,EACtB,UAAqB;QAHtB,YAAO,GAAP,OAAO,CAAe;QACtB,UAAK,GAAL,KAAK,CAAa;QACjB,YAAO,GAAP,OAAO,CAAe;QACtB,eAAU,GAAV,UAAU,CAAW;QAVzC,YAAO,GAAO,EAAE,CAAC;QAKjB,WAAM,GAAY,MAAM,CAAC,MAAM,CAAC;IAMhC,CAAC;IAED,mCAAQ,GAAR;QACE,UAAU,CAAC,cAAM,aAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAxB,CAAwB,CAAC,CAAC,CAAE,2DAA2D;IAC1G,CAAC;IAED,sCAAW,GAAX;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,wCAAa,GAAb;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;IAC7E,CAAC;IAED,kCAAO,GAAP;QAAA,iBAyDC;QAxDC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAClE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE;YAC7B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;SAC5B,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACnB,IAAI,EAAK,IAAI,CAAC,OAAO,CAAC,IAAI;YAC1B,MAAM,EAAG,IAAI,CAAC,OAAO,CAAC,MAAM;YAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;aACD,IAAI,CAAC,UAAC,IAAI,EAAE,UAAU,EAAE,GAAG;YAC1B,KAAI,CAAC,QAAQ,GAAG;gBACd,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,GAAG,CAAC,MAAM;gBACtB,OAAO,EAAE,GAAG,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;aACnD,CAAC;YACF,IAAI,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1F,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;gBAAC,IAAI,GAAG,SAAS,CAAC;YACzC,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,EAAE;gBACrC,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,MAAM,EAAE,KAAI,CAAC,OAAO,CAAC,MAAM;aAC5B,CAAC,CAAC;QACL,CAAC,CAAC;aACD,IAAI,CAAC,aAAG;YACP,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChB,wBAAwB;gBACxB,KAAI,CAAC,QAAQ,GAAG;oBACd,IAAI,EAAE,gGAAgG;oBACtG,UAAU,EAAE,CAAC;oBACb,OAAO,EAAE,GAAG,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;iBACnD;YACH,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAI,CAAC,QAAQ,GAAG;oBACd,IAAI,EAAE,GAAG,CAAC,YAAY;oBACtB,UAAU,EAAE,GAAG,CAAC,MAAM;oBACtB,OAAO,EAAE,GAAG,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;iBACnD;YACH,CAAC;YACD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBACrC,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,MAAM,EAAE,KAAI,CAAC,OAAO,CAAC,MAAM;aAC5B,CAAC,CAAC;QACL,CAAC,CAAC;aACD,MAAM,CAAC,WAAC;YACP,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,UAAU,CAAC;gBACT,KAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YAClG,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC,CAAC;IACJ,CAAC;IACH,uBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBC5I8M,wGAAmG,+EAAG,kFAAM,oCAAwB,gCAAO;4BAAmD,aAAhD;;mBAA+C;KAAlD;WAAmD,oCAA6B;;;sBAAc,8GAA4H;2BAAvH,mGAA4D,IAAuB,gBAAmC,0BAA3H,WAA4H,GAA3D,WAA0D;;;;sBAAnjB,6GAA+C,iHAAiC,SAAS,qHAAkD,uCAAS,QAAM,uFAAqD,yLAAmG,QAAsI,gLAA4H,QAAM,sFAAuC,kFAAK;4BAAwC,aAArC;;mBAAoC;KAAvC;WAAwC,kKAAsG,SAAI,0EAAM,oCAAO,eAAW,wEAAI,sHAA+D,SAAO,sFAA4B,oGAAwC;2BAA9qB,0CAAiE,gCAAlG,WAAmG,GAAD,WAAyM,gBAAqB,kBAAvF,WAA4H,GAArC;;2BAAvf,iBAAsB,eAA9C,WAA+C,GAAD,WAA2E,iBAAiB,UAAjD,WAAkD,GAAD,WAAC,wCAAS,WAAW,8CAA+C,eAApD,WAAqD,GAAD,WAAiX,iCAAiC,UAAtC,WAAuC,GAAD,WAAoE,iBAAuC,gBAAC,gBAAuC,gBAArG,YAAsG,GAAzC,WAAwC,WAAuC,iBAAuB,gBAAC,iBAAgC,uBAA9D,YAA+D,GAAlC,WAAiC,YAAY,kBAAuB,gBAA3B,YAA4B,GAAD,YAAO,iBAAiC,wBAAvC,YAAwC,GAAD;;;;;;;;;;;;;;;;;;;ACC92B;AACI;AAInD,IAAM,iCAAiC,GAAG,GAAG,GAAG,IAAI,CAAC;AAErD;IAiBE,8BAAoB,KAAkB,EAAS,OAAsB;QAAjD,UAAK,GAAL,KAAK,CAAa;QAAS,YAAO,GAAP,OAAO,CAAe;IAAG,CAAC;IAEzE,0CAAW,GAAX;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,gDAAiB,GAAjB;QACE,IAAI,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAA7C,CAA6C,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzG,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,YAAY,QAAQ,CAAC,CAAC,CAAC;YACtC,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpG,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACtC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,cAAc,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;YACvC,CAAC;YACD,EAAE,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzD,IAAI,CAAC;oBACH,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACvE,CAAC;gBAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACX,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzG,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,EAAE,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,aAAa,GAAG,KAAK,CAAC;QACxB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,aAAa,GAAG,MAAM,CAAC;QACzB,CAAC;QACD,EAAE,CAAC,CAAC,aAAa,IAAI,cAAc,CAAC,MAAM,GAAG,iCAAiC,CAAC,CAAC,CAAC;YAC/E,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;QAC3G,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5E,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,uCAAQ,GAAR;QACE,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5E,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,aAAa,GAAG,EAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC,UAAU,EAAC,CAAC;YACjF,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;gBAAC,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,SAAS,CAAC;YACzF,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;gBAAC,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,SAAS,CAAC;QAChG,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClB,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,aAAa,CAAC,OAAO;oBACpB,0GAA0G,CAAC;YACnH,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,CAAC,aAAa,CAAC,OAAO;oBACpB,6DAA6D;wBAC7D,wEAAwE;wBACxE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IAED,8CAAe,GAAf;QAAA,iBAUC;QATC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAM;YACzB,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC/C,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC;YACf,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACvB,EAAE,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAAC,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC;YAC1D,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAAC,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC7D,+BAA+B;QACjC,CAAC,CAAC;IACJ,CAAC;IACH,2BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBCtGoY,uGAA8C;uEAAS;;;;wBAA0F,2NAAqG,OAAxD,qBAAuD,OAAC;gCAAsE,aAAnE;;yBAA2C;SAA9C;aAAsE;+BAA9H,yDAAuD,4BAApG,WAAqG,GAAD;;AAAgD,wBAAsB,yBAArE,WAAsE,GAAD;;;;wBAAe,wEAAkD,wGAAwB,oGAA6C,SAAQ;;;;;;;;;;;;yBAA6G;SAArE;;yBAAsD;SAA9F;;;8VAA6G;+BAAd,gBAAa,SAApE,oCAAsD,6BAA9F,WAA6G,GAAD,WAAd;;+BAA5I,gBAAqC,4BAA5C,WAA6C,GAAD,WAAS,iZAA6G;;;;wBAAY,yEAAiD,wGAAwB,mFAAO,oCAAQ,gBAAQ;;;;;;;;;;;;yBAA+F;SAAvD;;yBAAsC;SAA9E;;;8VAA+F,QAAM,gGAAwB,oFAAO,oCAAQ,gBAAQ;;;;;;;;;;;;yBAAmG;SAAvD;;yBAAsC;SAAlF;;;gWAAmG;+BAAxK,gBAAe,WAAtD,gBAAsC,6BAA9E,WAA+F,GAAD,WAAhB,WAAyJ,iBAAe,WAAtD,iBAAsC,6BAAlF,YAAmG,GAAD,YAAhB;;AAAtO,yZAA+F,WAAqD,oaAAmG;;;;wBAA8D,wGAAsG,+EAAG,oCAAiF,yFAAI,sEAAG,oCAAwE;;;wBAA4N,gGAAoD,+GAA+B;;;;;;yBAAqF;SAA9D;;yBAAmC;SAA1D;;;sWAAqF,iFAAM,uCAAc,QAAe,yFAAiB,wCAAgB;+BAA9F,6EAAyB,IAA7D,gCAAmC,0BAA1D,WAAqF,GAAD,WAA1B;;AAA1D,yZAAqF,WAAM,uDAAc,WAAgC,2DAAgB;;;;wBAAU,+FAA8C,yGAAyB;gCAA0D,aAA7B;;yBAA4B;SAAzD;aAA0D,oCAAU,kBAAM;gCAA2D,aAA9B;;yBAA6B;SAA1D;aAA2D,oCAAS;;;wBAAl+B,yEAAkD,kLAAsG,QAA6K,gGAAwB,mFAAO,oCAAe,uBAAQ,+FAAwB,oCAAyC,iDAAM;;;;;;;;;;;;yBAA+E;SAAnD;;yBAAoC;SAAhE;;;gWAA+E,QAAM,wMAAoD,QAAkM,0KAA8C;+BAAxuB,gDAAoE,qCAArG,WAAsG,GAAD,WAA4W,gBAAa,SAAlD,gBAAoC,2BAAhE,YAA+E,GAAD,WAAd,WAA6C,iBAA2B,WAAnD,YAAoD,GAAD,YAA2N,iBAAqB,kBAA7C,YAA8C,GAAD;;AAAxX,gaAA+E;;;;wBAAygB,8FAAqC,+HAA2D,uCAAmB,QAAM,sHAA2D,uCAAmB,QAAM,qHAAyD,uCAAkB;+BAAlN,iBAAyB,kBAA1D,WAA2D,GAAD,WAAC,gDAAmB,WAAuC,iBAAyB,kBAA1D,WAA2D,GAAD,WAAC,gDAAmB,WAAsC,iBAAwB,iBAAxD,WAAyD,GAAD,WAAC,+CAAkB;;;;wBAA0D,yEAAuB,oCAAS;;;wBAAO,wGAAiD;;;wBAA9uF,mJAA0F,2GAA0B;;;;;;yBAAgD;SAApB;;yBAAmB;SAA/C;oSAAgD,yGAA0B,8KAA4E,uGAAuB,SAAa,iGAAyB,iFAAI,oCAAiB,yBAAiB,iGAAwB,mLAA8C,QAAe,6HAAoF,iNAAqG,QAAoF,0KAAkD,QAAsM,0KAAiD,QAAkT,0KAAkD,QAA88B,kGAA0B,oLAAqC,QAA+P,4HAA8C,oLAAuB,QAAgB,2KAAiD;+BAAz0E,gBAAa,UAA7C,YAA8C,GAAD,WAAwG,gBAAwC,wBAA5C,YAAqG,GAAzD,WAAkJ,iDAA4C,SAAjD,YAAkD,GAAD,YAA4M,iDAA2C,QAAhD,YAAiD,GAAD,YAAwT,iDAA4C,SAAjD,YAAkD,GAAD,YAAggC,iBAAa,UAApC,YAAqC,GAAD,YAAoT,kBAAgB,YAAtB,YAAuB,GAAD,YAAkD,iBAAe,YAAhD,YAAiD,GAAD;;+BAAznF,iZAAgD,WAAqU,iDAA4C,EAAnF,YAAoF,GAAD;;;;wBAArhB,yKAA0F;+BAA3B,gBAA0B,uBAAzF,WAA0F,GAAD;;;;;;;;;;;;;;;;;;;;ACCtC;AACF;AAIjD,IAAM,yBAAyB,GAAG,UAAS,EAAE,EAAE,EAAE;IAC/C,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,CAAC;QAAC,MAAM,CAAC,CAAC,CAAC;IAClC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC;QAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC;QAAC,MAAM,CAAC,CAAC,CAAC;IACnC,MAAM,CAAC,CAAC,CAAC;AACX,CAAC;;AAED;IAkBE,uBAAoB,OAAsB,EACtB,OAAqB;QADzC,iBAaC;QAbmB,YAAO,GAAP,OAAO,CAAe;QACtB,YAAO,GAAP,OAAO,CAAc;QANzC,gBAAW,GAAO,EAAE,CAAC;QAGrB,kBAAa,GAAS,EAAE,CAAC;QAIvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,cAAI;YACtD,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAC,MAAM,CAAC;YAClB,EAAE,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBAC5C,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,aAAa,CAAC,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBACvF,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAC,EAAE,EAAE,EAAE,IAAK,gCAAyB,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAA7C,CAA6C,CAAC,CAAC;gBACzF,EAAE,CAAC,CAAC,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;oBAAC,KAAI,CAAC,qBAAqB,CAAC,KAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACrG,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;gBAC9B,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,6CAAqB,GAArB,UAAsB,GAAG;QACvB,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC;QAC9B,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,mCAAW,GAAX;QACE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,EAAE,EAAf,CAAe,CAAC,CAAC;IACnD,CAAC;IAED,kCAAU,GAAV;QACE,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,8BAAM,GAAN;QAAA,iBAYC;QAXC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,MAAM,CAAC;QACT,CAAC;QAED,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,YAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAtB,CAAsB,CAAC,CAAC;QAClF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC;aACrD,IAAI,CAAC,cAAM,YAAI,CAAC,UAAU,EAAE,EAAjB,CAAiB,CAAC;aAC7B,KAAK,CAAC,WAAC,IAAI,YAAI,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,EAAtB,CAAsB,CAAC,CAAC;IACxC,CAAC;IAED,qCAAa,GAAb,UAAc,GAAG;QACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,EAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,EAAzB,CAAyB,CAAC;IAC7D,CAAC;IAED,oCAAY,GAAZ,UAAa,GAAS;QAAtB,iBAIC;QAJY,iCAAS;QACpB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,cAAI;YACtB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACnC,CAAC,CAAC;IACJ,CAAC;IACH,oBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBCtFyY,yEAAsB,+GAA+B,SAAI,yEAAM;+EAAmB;;;;wBAAc;gCAAuF,aAApF;;yBAA+C;SAAlD;aAAuF,iJAAkI;+BAA3G,iBAAoD,sCAAC,gBAAqD,sCAAjI,WAAkI,GAAvD,WAAsD;;;;wBAAc,+FAAgD,iHAAiC;;;wBAAgH,+FAAiD,yGAAyB;gCAA4H,aAA7E;;yBAAoC;SAAnF;aAA4H,kFAAM,uCAA+G,QAAO,oHAAqE,SAAI,+HAAiF,SAAa;;;;;gKAA0F,mCAAU;+BAAzE,uDAA8D,iBAAzF,WAA0F,GAAD;;+BAApa,gBAAuC,+BAA3H,WAA4H,GAAD,WAAO,kJAA+G,WAAsC,gBAAqC,+BAApE,WAAqE,GAAD,WAA+C,iBAAsC,+BAAhF,WAAiF,GAAD,WAAc,mGAA0F;;;;wBAAkH,sEAAkC;;;;;gKAAwD,sCAAkB;+BAAvE,6CAAoD,2BAAvD,WAAwD,GAAD;;AAAvD,2GAAwD,oEAAkB;;;;wBAApM,wEAAyC,gFAAI,+DAAsC,SAAK,0MAAkC;+BAA/B,gBAA8B,YAAjC,WAAkC,GAAD;;+BAA5E,0CAAsC;;;;wBAAoJ,qGAAkE,+EAAG,4HAA4C,SAAI,yEAAM;sGAAwC;;;;wBAAiB,wGAAsE,+EAAG,4HAA4C,SAAI,yEAAM;4GAA8C;;;;wBAAtX,wEAAqB,qLAAkE,QAAkH,6KAAsE,QAAwH,wTAAgD;+BAApY,sCAAmC,UAAjE,WAAkE,GAAD,WAAoJ,gBAAoC,iCAArE,WAAsE,GAAD,WAAqJ,gBAAmB,YAA/C,WAAgD,GAAD;;;;wBAA50C,wEAA8B,kGAAmE,SAAM,4KAAiD,QAA4iB,4KAAyC,QAAyK,4KAAqB;+BAA5yB,gBAAwB,qBAAhD,WAAiD,GAAD,WAAkjB,gCAAmC,YAAxC,WAAyC,GAAD,WAA+K,gBAAe,YAApB,WAAqB,GAAD;;+BAAv4B,2BAA6D,6CAAlE,WAAmE,GAAD;;;;wEAA14B,uNAAM,QAAO;gCAAwH,aAA9D;;yBAAmC;SAA7F;aAAwH;gCAAuF,aAA1D;;;yBAAyD;SAAtF;aAAuF,uGAAuB,SAAQ,yEAAM,oCAAI,YAAa,oHAA4C,mYAA8B,qGAAwB,mFAAM,wCAAS,QAAO,6KAAsB,QAA0E,6KAAuF,QAA+I,0KAAgD,QAA0C,0KAA8B;+BAA/f,gBAAkB,UAA7B,YAA8B,GAAD,WAAqD,gBAAe,YAArB,YAAsB,GAAD,WAA8H,gBAAmC,gCAAtF,YAAuF,GAAD,WAAwK,gBAAuB,oBAA/C,YAAgD,GAAD,WAAgD,iBAAwB,oBAA7B,YAA8B,GAAD;;+BAA5tB,gBAAyB,mBAAvH,WAAwH,GAAD,WAAsP,yCAAS;;;;;;;;;;;;;;;;;;;;;;ACChV;AACJ;AACE;AACJ;AACA;AAI7C;IAqCE,0BAAmB,OAAsB,EACtB,KAAkB,EACjB,MAAoB,EACpB,IAAgB,EACjB,IAAgB;QAJnC,iBAkBC;QAlBkB,YAAO,GAAP,OAAO,CAAe;QACtB,UAAK,GAAL,KAAK,CAAa;QACjB,WAAM,GAAN,MAAM,CAAc;QACpB,SAAI,GAAJ,IAAI,CAAY;QACjB,SAAI,GAAJ,IAAI,CAAY;QAfnC,UAAK,GAAU,SAAS,CAAC;QAOzB,WAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAEvB,kBAAa,GAAS,EAAE,CAAC;QAOvB,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YACvD,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACX,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;oBAAC,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACxD,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;oBAAC,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,cAAI;YACtD,KAAI,CAAC,UAAU,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,eAAK;YAC9D,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;gBAAC,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACrD,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,sCAAW,GAAX;QACE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,EAAE,EAAf,CAAe,CAAC,CAAC;IACnD,CAAC;IAED,qCAAU,GAAV,UAAW,IAAI;QACb,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,KAAK,IAAI,EAAhB,CAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACnG,CAAC;IAED,qCAAU,GAAV,UAAW,MAAM;QACf,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,CAAC;IACH,uBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBC/E6J,yEAAiD,+GAA+B,SAAI,yEAAM;8GAA8C;;;;wBAAc,yEAA0B,+GAA+B,SAAI,yEAAM;8EAAkB;;;;wBAAmB,uGAA8C;uEAAS;;;;wBAAW,yPAAoC;;;wBAA+D,sGAAgO,gHAAgC,SAAI,yEAAM,oCAAc;+BAAxJ,4KAA+F,IAA/N,WAAgO,GAAD;;;;wBAAoE,+FAA2G,iHAAiC;;;wBAA6K,+FAAgD,iHAAiC;;;wBAAuC,oGAA4D,wSAAqH;+BAAjC,gDAAgC,0BAA5G,iFAA+D,2BAAC,gBAAW,EAAnF,WAAqH,GAAD,WAA7C,WAAY;;;;wBAAiD,mGAA0D,2UAA+E;+BAAtD,uEAAqD,0BAA9E,WAA+E,GAAD;;;;wBAAtW,wEAA8B,6LAA4D,QAAoI,oLAA0D;+BAA7N,gDAA8B,0BAA3D,WAA4D,GAAD,WAAiK,gDAA6B,yBAAzD,WAA0D,GAAD;;;;wBAArc,iGAAoF,4LAAgD,QAA0C,mLAA8B;+BAAhG,gBAAuB,oBAA/C,WAAgD,GAAD,WAAgD,iBAAwB,oBAA7B,WAA8B,GAAD;;;;wBAAqhB;;;;;oKAAsH,uCAAoB;+BAA/G,yGAA0F,iBAArH,WAAsH,GAAD;;AAArH,2GAAsH,+EAAoB;;;;wBAAvL,uEAA6C,6LAAsH;AAAnH,wBAAuB,+BAA1B,WAAsH,GAA5F;;;;wBAAzL,kGAA6F,gFAAI,oCAAQ,gBAAK,uEAAI,2NAA6C;+BAAzC,gBAAwC,uBAA5C,WAA6C,GAAD;;;;wBAAoR,qFAAuE;;;;;oKAAuD,iFAAM,uCAAe;+BAAzE,6CAAmD,2BAAtD,WAAuD,GAAD;;AAA9E,wBAAuB,4BAAtE,WAAuE,GAAD,WAAC,mGAAuD,WAAM,yDAAe;;;;wBAAxQ,kGAA+F,gFAAI,oCAAS,iBAAK,uEAAI,2NAAuE;+BAAnE,gDAA0C,wBAA9C,WAAuE,GAAzB;;;;wBAA4I,+FAA2G,gFAAI,gFAAI,kFAAM,uCAA4C,QAAO,oIAAkE,wHAAwC,SAAa;gCAAoF,aAA7B;;yBAA4B;SAAnF;aAAoF;+BAA9P,yEAA4C,WAAkD,gBAAsB,kBAAjE,WAAkE,GAAD,WAAuF,gBAAqB,kBAAtD,WAAoF,GAA9B;;;;oEAA/kF,0NAAM,QAAO,6IAA+D,uYAAoC,oGAAwB,kFAAM,uCAAS,QAAO,oLAAiD,QAAqG,oLAA0B,QAA8E,iLAA8C,QAAe,uEAAK,6LAAoC,QAAiB,8GAA8C,6LAAgO,QAAmE,oLAA2G,QAA0C,0IAA0E,SAAM,oLAAoF,QAA6e,qLAA6F,QAAgO,qLAA+F,QAAgN,kLAA2G;+BAA1wE,gBAAwB,gBAAnC,WAAoC,GAAD,WAAqD,mCAA0C,gBAAhD,YAAiD,GAAD,WAA4G,gBAAmB,gBAAzB,YAA0B,GAAD,WAA+G,gBAAa,UAA7C,YAA8C,GAAD,WAAqC,gBAAmB,gBAAnC,YAAoC,GAAD,WAAmE,sJAA4G,6BAA/G,YAAgO,GAAjH,WAA4M,+IAAkF,UAA1G,YAA2G,GAAD,WAAqJ,iHAAyD,0BAAnF,YAAoF,GAAD,YAAygB,8GAAiE,+BAA5F,YAA6F,GAAD,YAA4P,+GAAmE,gCAA9F,YAA+F,GAAD,YAAyO,2DAAkF,6BAA1G,YAA2G,GAAD;;+BAAltE,wCAAS,WAAmZ,gBAAsB,gBAA7C,YAA8C,GAAD,WAAke,kDAAgC,yBAAzE,YAA0E,GAAD;;;;;;;;;;;;;;wBCAlkC,qGAAkE,+EAAG,4HAA4C,SAAI,yEAAM;sGAAwC;;;;wBAAiB,wGAAsE,+EAAG,4HAA4C,SAAI,yEAAM;4GAA8C;;;;wBAAoJ;gCAA4I,aAAvB;;yBAAsB;SAA3I;aAA4I,oCAAU;+BAAlD,gBAAgB,UAApH,WAA4I,GAAxB;;;;wBAAsC;;;;;oKAA8J,mCAAU;+BAAnE,uDAAwD,WAA7J,WAA8J,GAAD;;AAA7J,2GAA8J;;;;wBAAgD,gGAAiD,0GAAyB;gCAA4H,aAA7E;;yBAAoC;SAAnF;aAA4H,kFAAM,uCAA+G,QAAO,oHAAqE,SAAI,+HAAiF,SAAa,8FAAuB;gCAAmD,aAAxB;;yBAAuB;SAAlD;aAAmD,oCAAI,YAAI;;;;;qKAAoF,mCAAM;+BAA/D,uDAAwD,WAAnF,YAAoF,GAAD;;+BAAhf,gBAAuC,+BAA3H,WAA4H,GAAD,WAAO,kJAA+G,WAAsC,gBAAqC,+BAApE,WAAqE,GAAD,WAA+C,iBAAsC,+BAAhF,WAAiF,GAAD,WAAgG,sGAAoF;;;;wBAA4B,6TAA8D;+BAAtC,gBAAmB,YAA3C,WAA8D,GAAnB;;;;wBAA8B,uEAAkB;;;wBAAxyB,2FAAkC,qMAAiD,QAA0nB,4LAA8D,QAAW,4LAAkB;+BAA9uB,gBAAwB,qBAAhD,WAAiD,GAAD,WAAqoB,gBAAa,UAAvB,WAA8D,GAAvC,WAAsD,gBAAa,UAAjB,WAAkB,GAAD;;;;wBAA8e,gHAAwG;gCAA+D,aAApC;;yBAAmC;SAA9D;aAA+D,uCAA+C;+BAA3J,uCAA4C,qBAAvG,WAAwG,GAAD,WAAgE,kGAA+C;;;;wBAAc,6FAAiI,mFAAO,oCAAa,qBAAQ,yEAAM;uGAA+C;;;;wBAA8U,gHAAwG;gCAAuC,aAApC;;yBAAmC;SAAtC;aAAuC,8JAA+P,kFAAM,uCAAmF;+BAA5a,uCAA4C,qBAAvG,WAAwG,GAAD,WAA8C,gFAAgF,IAAC,gFAAgF,IAAC,uGAAsF,EAA9P,WAA+P,GAAzK,WAAiF,WAAuF,WAAO,iJAAmF;;;;wBAA+I,8GAA6E,8SAA0G;+BAAlG,gBAAwC,kCAAC,gBAA4C,oCAAC,gBAAW,EAAzG,WAA0G,GAA1D,WAA6C,WAAY;;;;iHAAhoH,4LAAkE,QAAkH,4LAAsE,QAAwH,yIAA6H,SAAM,4LAA4I,QAAc,6LAA8J,QAAc,6LAAkC,QAA4wB,yEAAI,iIAAiE,wCAAkB,QAAO,0EAAM,oCAAM,YAAO,0EAAM,+CAAuD,QAAO,0EAAM,wCAAkE,QAAO,0EAAM,wCAAgB,QAAY,0FAAiB,kHAAgC,gHAA8B,iFAAI,oCAAkB,0BAAK,6HAAuF,oOAAwG,QAA4H,8LAAiI,QAA8F,uUAA4K,OAA7J,4BAAsF,KAAmG,wGAAgC,+GAA8B,iFAAI,oCAAQ,gBAAK,kHAA0C,qOAAwG,QAA2Z,4GAA6G,SAAM,8LAA6E;+BAAz/G,sCAAmC,UAAjE,WAAkE,GAAD,WAAoJ,gBAAoC,iCAArE,WAAsE,GAAD,WAAqS,gBAA0D,uDAAnG,WAA4I,GAAzC,WAAgG,iBAA2D,uDAApG,YAA8J,GAA1D,WAA4F,gBAAa,UAAjC,YAAkC,GAAD,WAAwvC,iBAAkC,cAAtC,YAAwG,GAAlE,YAAoN,4GAA0G,YAAhI,YAAiI,GAAD,YAA8G,0HAAsF,sBAAC,iBAA4C,sCAAC,iBAAwB,gBAA3K,YAA4K,GAAvE,YAA6C,YAAyB,YAA0J,iBAAkC,cAAtC,YAAwG,GAAlE,YAAunB,iBAAqC,kCAA5E,YAA6E,GAAD;;+BAAroG,iBAAyC,kCAAC,2BAAmD,mCAA5H,WAA6H,GAArD,WAAoD,WAA4pC,gBAAmC,mBAAhE,YAAiE,GAAD,WAAC,kDAAkB,WAAgC,iHAAuD,YAAa,uGAAkE,YAAa,iDAAgB,YAA6J,kBAA+C,wCAAtF,YAAuF,GAAD,YAA6wC,kBAA8C,uCAAC,4BAAwD,wCAA5G,YAA6G,GAA1D,YAAyD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACC51G;AACvD;AAEG;AACJ;AACE;AACA;AACJ;AACgB;AAI7D,IAAM,SAAS,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAClE,IAAM,cAAc,GAAG,UAAC,EAAE,EAAE,EAAE;IAC5B,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACvD,CAAC;;AAED;IA0BE,gCAAoB,SAAsB,EACvB,eAAgC,EAChC,MAAoB,EACnB,IAAgB,EAChB,MAAoB,EACpB,KAAmB,EACnB,IAAe,EAChB,OAAsB,EACtB,KAAkB,EACK,SAAgB;QATtC,cAAS,GAAT,SAAS,CAAa;QACvB,oBAAe,GAAf,eAAe,CAAiB;QAChC,WAAM,GAAN,MAAM,CAAc;QACnB,SAAI,GAAJ,IAAI,CAAY;QAChB,WAAM,GAAN,MAAM,CAAc;QACpB,UAAK,GAAL,KAAK,CAAc;QACnB,SAAI,GAAJ,IAAI,CAAW;QAChB,YAAO,GAAP,OAAO,CAAe;QACtB,UAAK,GAAL,KAAK,CAAa;QACK,cAAS,GAAT,SAAS,CAAO;QApB1D,UAAK,GAAU,eAAe,CAAC;QAO/B,kBAAa,GAAS,EAAE,CAAC;IAaoC,CAAC;IAE9D,gDAAe,GAAf;QAAA,iBAkBC;QAjBC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,aAAG;YACvD,KAAI,CAAC,WAAW,GAAG,CAAC,CAAC,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACvC,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,WAAW,IAAI,KAAI,CAAC,UAAU,CAAC;gBAAC,KAAI,CAAC,aAAa,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAI;YACrD,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpC,KAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChB,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,eAAK;YAC9D,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;gBAAC,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACrD,CAAC,CAAC,CAAC,CAAC;QACJ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,4CAAW,GAAX;QACE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,EAAE,EAAf,CAAe,CAAC,CAAC;IACnD,CAAC;IAED,kDAAiB,GAAjB;QACE,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACrD,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzE,CAAC;IAED,8CAAa,GAAb,UAAc,IAAI;QAAlB,iBA0CC;QAzCC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAM,QAAQ,GAAG,+EAAY,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QACtD,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAW,CAAC,CAAC;YACtD,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,EAAC,YAAY,EAAE,MAAM,EAAC,CAAC;qBACrE,SAAS,EAAE;qBACX,IAAI,CAAC,UAAC,EAAO;oBACZ,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACrB,CAAC,CAAC;qBACD,IAAI,CAAC;oBACJ,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtD,CAAC,CAAC;qBACD,KAAK,CAAC,WAAC;oBACN,KAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC;oBAC9D,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC3B,CAAC,CAAC;YACN,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAe,CAAC,CAAC;QACjD,CAAC;QAED,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;YACnC,UAAU,CAAC;gBACT,sDAAsD;gBACtD,IAAI,aAAa,GAAG,KAAI,CAAC,UAAU,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;gBACjF,EAAE,CAAC,CAAC,aAAa,IAAI,KAAI,CAAC,UAAU,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC;oBAC5D,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxE,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC5B,CAAC;YACH,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,kDAAiB,GAAjB,UAAkB,IAAI,EAAE,cAAmB;QAA3C,iBA+BC;QA/BuB,sDAAmB;QACzC,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;YACnB,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACtD,IAAI,UAAU,GAAG,IAAI,MAAM,CAAC,SAAS,GAAG,KAAK,GAAG,eAAe,CAAC,CAAC;YACjE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACpC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACnD,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QACzB,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,GAAG,EAAE,CAAC;YAC/C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;YACpC,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAClC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YAChE,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACzE,CAAC;YACD,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;gBACnC,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;oBACvB,IAAI,QAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACzC,EAAE,CAAC,CAAC,QAAM,CAAC,MAAM,CAAC,CAAC,CAAC;wBAClB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,QAAM,CAAC,CAAC;wBACrC,UAAU,CAAC,cAAM,YAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,QAAM,EAAE,IAAI,EAAE,IAAI,CAAC,EAAhD,CAAgD,EAAE,IAAI,CAAC;oBAC1E,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,iDAAgB,GAAhB,UAAiB,GAAG,EAAE,KAAK;QACzB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACtC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC3C,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAC;QACzD,MAAM,CAAC,GAAG,CAAC;IACb,CAAC;IACH,6BAAC;AAAD,CAAC;;AAED;IAwCE,yCAAmB,KAAkB,EAClB,OAAsB,EACrB,MAAoB;QAFrB,UAAK,GAAL,KAAK,CAAa;QAClB,YAAO,GAAP,OAAO,CAAe;QACrB,WAAM,GAAN,MAAM,CAAc;QAJxC,WAAM,GAAY,MAAM,CAAC,MAAM,CAAC;IAIW,CAAC;IAE5C,qDAAW,GAAX;QAAA,iBAkBC;QAjBC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC;QAClE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG;YAC9C,MAAM,CAAC,GAAG,KAAK,KAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAExC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,cAAI;YACrE,MAAM,CAAC;gBACL,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC;aAChD;QACH,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE,EAAE,EAAE;YACb,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;gBAAC,MAAM,CAAC,CAAC,CAAC;YAChC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;gBAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,CAAC,CAAC;QACX,CAAC,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IACH,sCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBCzOD,sEAAgC,+EAAG,oCAAiC;;;wBAA+W;gCAA2Q,aAAzC;;yBAAwC;SAA1Q;gRAA2Q,kBAA1K;+FAAuG,yBAAC,gBAAwB,mBAA9I,gBAAa,SAAhG,WAA2Q,GAAnE,WAAyB,WAAjI;;;;wBAAuL;gCAAmP,aAAzC;;yBAAwC;SAAlP;yTAAmP;+BAAzH,gBAAmB,qBAA0B,gBAAkC,6BAA7F,gBAAa,SAAqB,gBAAwB,KAAtK,WAAmP,GAAtG,WAA4D,WAAhF,WAA6C;;;;wBAApyB,yEAAuB,mFAAO,oCAAiB,yBAAQ;gCAAsC,aAAnC;;yBAAkC;SAArC;aAAsC,kKAAqG,SAAQ,6GAA+C,oCAAkD,0DAAM,oHAAsD,0LAA2Q,QAAY,gNAAmP,OAA/M,4BAAuE;+BAA9V,gBAA8C,2CAAlF,WAA2Q,GAAzL,WAAyO,oHAAuE,QAA3G,YAAmP,GAAxI;;+BAArnB,iBAAsC,eAAC,gBAAsC,eAApG,WAAqG,GAAxC,WAAuC,WAAiC,iBAAsB,eAA9C,WAA+C,GAAD,WAAwF,iBAAsB,eAArD,WAAsD,GAAD;;;;wBAAmiB;gCAAsL,aAAvE;;yBAAwC;SAAvJ;qRAAsL;+BAAzG,gBAAe,qBAA4D,gBAA6B,iBAAxF,gBAAiB,YAA/C,gBAAa,SAA9B,gBAAgB,KAA9D,WAAsL,GAA1F,WAAyF,WAAvE,WAAlC,WAAd;;;;wBAA0I;gCAAwP,aAAzC;;yBAAwC;SAAvP;gRAAwP;+BAA/E,gBAAmB,qBAAC,gBAAiB,YAAnD,gBAAa,SAAxK,WAAwP,GAA5D,WAAkB,WAAtC;;;;gEAAr0C,iLAAgC,QAA4C,iLAAuB,QAAk3B,+MAAsL,QAAkB,+MAAwP,OAAjN,2DAAmH;+BAApzC,iBAA4B,wBAA/B,WAAgC,GAAD,WAAkD,gBAAiB,cAAtB,WAAuB,GAAD,WAAo4B,gBAA4B,WAA7C,WAAsL,GAAzI,WAAkM,kMAAmH,aAA1J,WAAwP,GAA9F;;;;;;;;;;;;;;wBCA3vB,uEAAmD;gCAAyC,aAAtC;;yBAAqC;SAAxC;aAAyC;2DAAe;;;;wBAA/X,mHAAmH,+JAAyE,uCAAiB,oHAAqC,SAAQ,iGAA0B,qNAAmD;+BAA/C,gBAA8C,uBAAlD,WAAmD,GAAD;;+BAA1I,8CAAiB;;;;wBAA4M,8GAAgG;+BAA5C,2BAA2C,2BAA/F,WAAgG,GAAD;;;;wBAAhlB,mGAAyD,+FAA+B,uLAAmH,QAAsS,8KAAgG,QAAI,sFAAmD;gCAAkO,aAA3E;;;yBAA0E;SAAjO;kSAAkO;+BAAtuB,0EAAsE,EAAlH,WAAmH,GAAD,WAA6T,gBAA6B,0BAAnD,WAAgG,GAA7C,WAA6K,sCAAkC,OAAzF,gBAA2B,qBAAC,gBAA0B,mBAAyD,gBAAqB,aAA1C,6BAAoB,EAAhI,WAAkO,GAAvH,WAA9D,WAA2B,WAA8E,WAAtB;;+BAA1sB,gBAAyB,mBAA9B,WAA+B,GAAD,WAAmgB,oCAA6C,mBAAlD,WAAmD,GAAD;;;;wBAAwhB,kIAA4H;+BAAtE,iBAAyB,kBAAC,2BAA2C,2BAA3H,WAA4H,GAA7C,WAA4C;;;;wBAA2kB,yEAAmC,kFAAM,uCAAyE,QAAO,yEAAM,yCAA4B;+BAAlH,kHAAyE,WAAa,4DAA4B;;;;wBAAc,yEAAoC;2FAA2B;;;;wBAAiL,uEAA2D;gCAAwD,aAArD;;;yBAAoD;SAAvD;aAAwD,mGAAmG;+BAA7F,4HAA4F,qBAAlG,WAAmG,GAAD;;;;wBAAh+B,oHAA4F;gCAA4H,aAA9C;;yBAAuB;SAArG;aAA4H,qHAAqC,SAAI,oFAAkD,oCAAM,cAAI,uFAAqD,uLAAmC,QAAsI,+KAAoC,QAAkD,kGAA0B,+FAA+B,gGAAY,0HAAyC,SAAI,0EAAM,oCAAkB,0BAAgB,8MAA2D;+BAA9c,gBAA4B,yBAAlC,WAAmC,GAAD,WAA6I,iBAA6B,yBAAnC,WAAoC,GAAD,WAAiN,gBAAsD,mBAA1D,YAA2D,GAAD;;+BAAnoB,gBAAqB,aAA3H,WAA4H,GAAD,WAA6C,kDAA8C,UAAjD,WAAkD,GAAD,WAAiB,kDAA8C,UAApD,WAAqD,GAAD,WAA8R,iBAA0B,mBAA9B,YAA+B,GAAD;;;;wBAAnxC,gGAAqD,iGAA4B,mGAAsD,SAAO;gCAA8E,aAA3E;;yBAAwC;SAA3C;aAA8E,0HAA0C,SAAgB,8KAA4H,QAAM,6NAA0E,OAArE,4BAAoE,OAAC;;;;;;;;;;;;yBAAwI;SAAvF;;yBAAmC;SAAC;;yBAA4B;SAAjH;;;6VAAwI,uLAA4F;+BAAxZ,gBAA6B,0BAArD,WAA4H,GAAvE,WAAkF,oDAAoE,2BAAzE,WAA0E,GAAD,WAAmH,iBAAqB,aAAtF,2BAAmC,oBAApF,YAAwI,GAAD,YAAnD,YAAgG,uCAA+C,0BAA3F,YAA4F,GAAD;;+BAAzoB,gBAAoB,cAA3B,WAA4B,GAAD,WAAO,uCAA+C,mBAArD,WAAsD,GAAD,WAAoD,iBAAiC,0BAA7E,WAA8E,GAAD,WAAuQ,4ZAAwI;;;;wBAAgyC,kIAA4H;+BAAtE,iBAAyB,kBAAC,2BAA2C,2BAA3H,WAA4H,GAA7C,WAA4C;;;;wBAA6kB,yEAAmC,kFAAM,uCAAyE,QAAO,yEAAM,yCAA4B;+BAAlH,kHAAyE,WAAa,4DAA4B;;;;wBAAc,yEAAoC;2FAA2B;;;;wBAAiL,uEAA2D;gCAAwD,aAArD;;;yBAAoD;SAAvD;aAAwD,mGAAmG;+BAA7F,4HAA4F,qBAAlG,WAAmG,GAAD;;;;wBAAh+B,oHAA4F;gCAA4H,aAA9C;;yBAAuB;SAArG;aAA4H,qHAAqC,SAAI,oFAAkD,oCAAM,cAAI,uFAAqD,wLAAmC,QAAsI,+KAAoC,QAAkD,kGAA0B,+FAA+B,gGAAY,0HAAyC,SAAI,0EAAM,oCAAkB,0BAAgB,8MAA2D;+BAA9c,gBAA4B,yBAAlC,WAAmC,GAAD,WAA6I,iBAA6B,yBAAnC,WAAoC,GAAD,WAAiN,gBAAsD,mBAA1D,YAA2D,GAAD;;+BAAnoB,gBAAqB,aAA3H,WAA4H,GAAD,WAA6C,kDAA8C,UAAjD,WAAkD,GAAD,WAAiB,kDAA8C,UAApD,WAAqD,GAAD,WAA8R,iBAA0B,mBAA9B,YAA+B,GAAD;;;;wBAAvxC,gGAAuD,iGAA4B,mGAAsD,SAAO;gCAA8E,aAA3E;;yBAAwC;SAA3C;aAA8E,0HAA0C,SAAgB,+KAA4H,QAAM,6NAA0E,OAArE,4BAAoE,OAAC;;;;;;;;;;;;;;;;;;;;;yBAA0I;SAAvF;;yBAAmC;SAAC;;yBAA4B;SAAnH;;;qWAA0I,wLAA4F;+BAA1Z,gBAA6B,0BAArD,WAA4H,GAAvE,WAAkF,oDAAoE,2BAAzE,WAA0E,GAAD,WAAqH,iBAAqB,aAAtF,2BAAmC,oBAAtF,YAA0I,GAAD,YAAnD,YAAgG,uCAA+C,0BAA3F,YAA4F,GAAD;;+BAA3oB,gBAAoB,cAA3B,WAA4B,GAAD,WAAO,uCAA+C,mBAArD,WAAsD,GAAD,WAAoD,iBAAiC,0BAA7E,WAA8E,GAAD,WAAuQ,4ZAA0I;;;;wBAAkyC,kIAA4H;+BAAtE,iBAAyB,kBAAC,2BAA2C,2BAA3H,WAA4H,GAA7C,WAA4C;;;;wBAA+kB,yEAAmC,kFAAM,uCAAyE,QAAO,yEAAM,yCAA4B;+BAAlH,kHAAyE,WAAa,4DAA4B;;;;wBAAc,yEAAoC;2FAA2B;;;;wBAAiL,uEAA2D;gCAAwD,aAArD;;;yBAAoD;SAAvD;aAAwD,mGAAmG;+BAA7F,4HAA4F,qBAAlG,WAAmG,GAAD;;;;wBAAh+B,oHAA4F;gCAA4H,aAA9C;;yBAAuB;SAArG;aAA4H,qHAAqC,SAAI,oFAAkD,oCAAM,cAAI,uFAAqD,wLAAmC,QAAsI,+KAAoC,QAAkD,kGAA0B,+FAA+B,gGAAY,0HAAyC,SAAI,0EAAM,oCAAkB,0BAAgB,8MAA2D;+BAA9c,gBAA4B,yBAAlC,WAAmC,GAAD,WAA6I,iBAA6B,yBAAnC,WAAoC,GAAD,WAAiN,gBAAsD,mBAA1D,YAA2D,GAAD;;+BAAnoB,gBAAqB,aAA3H,WAA4H,GAAD,WAA6C,kDAA8C,UAAjD,WAAkD,GAAD,WAAiB,kDAA8C,UAApD,WAAqD,GAAD,WAA8R,iBAA0B,mBAA9B,YAA+B,GAAD;;;;wBAA3xC,gGAAyD,iGAA4B,mGAAsD,SAAO;gCAA8E,aAA3E;;yBAAwC;SAA3C;aAA8E,0HAA0C,SAAgB,+KAA4H,QAAM,6NAA0E,OAArE,4BAAoE,OAAC;;;;;;;;;;;;yBAA4I;SAAvF;;yBAAmC;SAAC;;yBAA4B;SAArH;;;6VAA4I,wLAA4F;+BAA5Z,gBAA6B,0BAArD,WAA4H,GAAvE,WAAkF,oDAAoE,2BAAzE,WAA0E,GAAD,WAAuH,iBAAqB,aAAtF,2BAAmC,oBAAxF,YAA4I,GAAD,YAAnD,YAAgG,uCAA+C,0BAA3F,YAA4F,GAAD;;+BAA7oB,gBAAoB,cAA3B,WAA4B,GAAD,WAAO,uCAA+C,mBAArD,WAAsD,GAAD,WAAoD,iBAAiC,0BAA7E,WAA8E,GAAD,WAAuQ,4ZAA4I;;;;wBAAiyC,kIAA4H;+BAAtE,iBAAyB,kBAAC,2BAA2C,2BAA3H,WAA4H,GAA7C,WAA4C;;;;wBAA8J,sEAA+C,oCAAM;;;wBAAvmB,gGAAwD,iGAA4B,mGAAsD,SAAO;gCAA8E,aAA3E;;yBAAwC;SAA3C;aAA8E,0HAA0C,SAAgB,+KAA4H,QAAM,6GAAqC,+JAAyE,qHAAqC,SAAI,gLAA+C,QAAU,0EAAM,wCAA2B,QAAW,mGAA0B,iFAAI;gCAAsD,aAAnD;;;yBAAkD;SAArD;aAAsD,oCAAI,YAAS,wEAAI;gCAAuD,aAApD;;;yBAAmD;SAAtD;aAAuD,oCAAK,aAAS,wEAAI;gCAA2D,aAAxD;;;yBAAuD;SAA1D;aAA2D,gFAAG,oCAAW;+BAA7lB,gBAA6B,0BAArD,WAA4H,GAAvE,WAAuO,kDAA2C,UAA9C,YAA+C,GAAD;;+BAAjiB,gBAAoB,cAA3B,WAA4B,GAAD,WAAO,uCAA+C,mBAArD,WAAsD,GAAD,WAAoD,iBAAiC,0BAA7E,WAA8E,GAAD,WAAmZ,6DAA2B;;;;wBAA0jB,kIAA4H;+BAAtE,iBAAyB,kBAAC,2BAA2C,2BAA3H,WAA4H,GAA7C,WAA4C;;;;wBAArZ,gGAAyD,iGAA4B,mGAAsD,SAAO;gCAA8E,aAA3E;;yBAAwC;SAA3C;aAA8E,0HAA0C,SAAgB,+KAA4H,QAAM,gHAAwC;;;;;;;;;;;;;;;;;;yBAAkJ;SAAzF;;yBAAmC;SAAC;;;yBAAoD;SAAjJ;;;+eAAkJ,6HAAgC,0GAAyB;+BAA7V,gBAA6B,0BAArD,WAA4H,GAAvE,WAA8K,2BAAmC,oBAA5F,YAAkJ,GAAzF,uCAAmC,oBAA5F,YAAkJ,GAAtD;;+BAAhe,gBAAoB,cAA3B,WAA4B,GAAD,WAAO,uCAA+C,mBAArD,WAAsD,GAAD,WAAoD,iBAAiC,0BAA7E,WAA8E,GAAD,WAAqO,yZAAkJ;;;;wBAA0W,kIAA4H;+BAAtE,iBAAyB,kBAAC,2BAA2C,2BAA3H,WAA4H,GAA7C,WAA4C;;;;wBAArZ,gGAAyD,iGAA4B,mGAAsD,SAAO;gCAA8E,aAA3E;;yBAAwC;SAA3C;aAA8E,0HAA0C,SAAgB,+KAA4H,QAAM;;;;;;;;;;;;yBAAgG;SAAjE;;yBAAmC;SAAC;;yBAA4B;SAA/F;;;8TAAgG;+BAA1M,gBAA6B,0BAArD,WAA4H,GAAvE,WAA4G,2BAAmC,oBAAlE,YAAgG,GAA9B;;+BAA9Z,gBAAoB,cAA3B,WAA4B,GAAD,WAAO,uCAA+C,mBAArD,WAAsD,GAAD,WAAoD,iBAAiC,0BAA7E,WAA8E,GAAD,WAA6L,yZAAgG;;;;wBAAuS,kIAA4H;+BAAtE,iBAAyB,kBAAC,2BAA2C,2BAA3H,WAA4H,GAA7C,WAA4C;;;;wBAAjZ,gGAAqD,iGAA4B,mGAAsD,SAAO;gCAA8E,aAA3E;;yBAAwC;SAA3C;aAA8E,0HAA0C,SAAgB,+KAA4H,QAAM,gGAAyB,mHAAmC,kFAAM,wCAAY,QAAa,iIAA4E,mHAAkC,oCAAW,mBAAkB;gCAA0J,aAA9B;;yBAA6B;SAAzJ;aAA0J;+BAA1e,gBAA6B,0BAArD,WAA4H,GAAvE;;+BAA/Q,gBAAoB,cAA3B,WAA4B,GAAD,WAAO,uCAA+C,mBAArD,WAAsD,GAAD,WAAoD,iBAAiC,0BAA7E,WAA8E,GAAD,WAA+P,4CAAY,WAAuD,0EAAiC,IAA3E,YAA4E,GAAD,WAAqG,gBAAe,KAAa,0EAAgC,IAAC,iEAAyB,IAA3H,YAA0J,GAAtG,WAA6C,WAA0B;;;;wBAAiiB,kIAA4H;+BAAtE,iBAAyB,kBAAC,2BAA2C,2BAA3H,WAA4H,GAA7C,WAA4C;;;;wBAAkU,yEAAmC,kFAAM,uCAAyE,QAAO,yEAAM,yCAA4B;+BAAlH,kHAAyE,WAAa,4DAA4B;;;;wBAAc,yEAAoC;2FAA2B;;;;wBAAiL,uEAA2D;gCAAwD,aAArD;;;yBAAoD;SAAvD;aAAwD,mGAAmG;+BAA7F,4HAA4F,qBAAlG,WAAmG,GAAD;;;;wBAAviD,gGAAyD,iGAA4B,mGAAsD,SAAO;gCAA8E,aAA3E;;yBAAwC;SAA3C;aAA8E,0HAA0C,SAAQ;gCAA0K,aAAxD;;;yBAAuD;SAAzK;aAA0K,wGAAwB,SAAI,yEAAM,oCAAW,iBAAmB,gLAA4H,QAAM,8GAAqC;gCAA4H,aAA9C;;yBAAuB;SAArG;aAA4H,sHAAqC,SAAI,qFAAkD,oCAAM,cAAI,wFAAqD,yLAAmC,QAAsI,gLAAoC,QAAkD,kGAA0B,+FAA+B,gGAAY,0HAAyC,SAAI,0EAAM,oCAAkB,0BAAgB,8MAA2D;+BAAz3B,gBAA6B,0BAArD,YAA4H,GAAvE,WAA8Y,gBAA4B,yBAAlC,YAAmC,GAAD,WAA6I,iBAA6B,yBAAnC,YAAoC,GAAD,WAAiN,iBAAsD,mBAA1D,YAA2D,GAAD;;+BAA50C,gBAAoB,cAA3B,WAA4B,GAAD,WAAO,uCAA+C,mBAArD,WAAsD,GAAD,WAAoD,iBAAiC,0BAA7E,WAA8E,GAAD,WAAsF,iEAA8E,uBAAjH,WAA0K,GAAzD,WAAsY,gBAAqB,aAA3H,YAA4H,GAAD,WAA6C,kDAA8C,UAAjD,YAAkD,GAAD,WAAiB,kDAA8C,UAApD,YAAqD,GAAD,WAA8R,kBAA0B,mBAA9B,YAA+B,GAAD;;;;wBAAk1B,kIAA4H;+BAAtE,iBAAyB,kBAAC,2BAA2C,2BAA3H,WAA4H,GAA7C,WAA4C;;;;wBAAO,iGAAiF,uHAAuC;;;;;;;;;;;;;;;;;;yBAA4H;SAAxG;;yBAAmC;SAAC;;yBAA4B;SAApF;;;6WAA4H,kGAA+E;+BAArG,gBAAqB,iBAAtC,gBAAgB,qBAArG,WAA4H,GAAD,WAAtB,WAAC,gBAAqB,iBAAvG,2BAAmC,oBAAvD,WAA4H,GAAD,WAApE;;+BAAvD,iZAA4H,WAAM,yFAAwE,qBAA9E,WAA+E,GAAD;;;;wBAA77B,gGAAsD,iGAA4B,mGAAsD,SAAO;gCAA8E,aAA3E;;yBAAwC;SAA3C;aAA8E,0HAA0C,SAAQ;gCAA0K,aAAxD;;;yBAAuD;SAAzK;aAA0K,wGAAwB,SAAI,yEAAM,oCAAW,iBAAmB,gLAA4H,QAAM,8MAAiF;+BAA3L,gBAA6B,0BAArD,YAA4H,GAAvE,WAAuG,gBAAsD,mBAAhF,YAAiF,GAAD;;+BAA9oB,gBAAoB,cAA3B,WAA4B,GAAD,WAAO,uCAA+C,mBAArD,WAAsD,GAAD,WAAoD,iBAAiC,0BAA7E,WAA8E,GAAD,WAAsF,iEAA8E,uBAAjH,WAA0K,GAAzD;;;;wBAA8zB,8GAAgG;+BAA5C,2BAA2C,2BAA/F,WAAgG,GAAD;;;;wBAApU,gGAAyD,mFAAO,kFAAM,uCAAuC,QAAO;;;;;;yBAAyG;SAAjE;;yBAAmC;SAAC;;yBAA4B;SAAxG;;;oUAAyG,QAAQ,gLAAgG;+BAAzK,0BAAmC,oBAA3E,WAAyG,GAA9B,WAA4D,gBAA6B,0BAAnD,YAAgG,GAA7C;;+BAAlN,wEAAuC,WAAO,iZAAyG;;;;wBAA8Y,kIAA4H;+BAAtE,iBAAyB,kBAAC,2BAA2C,2BAA3H,WAA4H,GAA7C,WAA4C;;;;wBAAO,oGAA6F,0HAA0C;gCAAsK,aAA/I;;yBAA8I;SAArK;aAAsK,kFAAM;2DAAY;;;;wBAA7tB,+FAA2D,iGAA4B,mGAAsD,SAAO;gCAA8E,aAA3E;;yBAAwC;SAA3C;aAA8E,0HAA0C,SAAgB,+KAA4H,QAAM,6MAA6F;+BAAvM,gBAA6B,0BAArD,WAA4H,GAAvE,WAA0G,sCAA+D,yBAA5F,WAA6F,GAAD;;+BAAxb,gBAAoB,cAA3B,WAA4B,GAAD,WAAO,uCAA+C,mBAArD,WAAsD,GAAD,WAAoD,iBAAiC,0BAA7E,WAA8E,GAAD;;;;wBAAqzB,kIAA4H;+BAAtE,iBAAyB,kBAAC,2BAA2C,2BAA3H,WAA4H,GAA7C,WAA4C;;;;wBAAO,gGAAkG,8GAA8B;gCAA8F,aAA/C;;yBAA8C;SAA7F;aAA8F,wGAAwB,SAAe;;;;;;;;;;;;yBAA8E;SAAzC;;yBAAwC;SAA7E;;;4TAA8E;+BAAzC,8CAAwC,kBAA7E,WAA8E,GAAD;;AAA7E,yZAA8E;;;;wBAAnvB,gGAA6D,iGAA4B,mGAAsD,SAAO;gCAA8E,aAA3E;;yBAAwC;SAA3C;aAA8E,0HAA0C,SAAgB,+KAA4H,QAAM,gPAAkG,QAAuP,gGAAyB,+GAA8B;gCAAwF,aAAzC;;yBAAwC;SAAvF;aAAwF,0GAAyB,SAAO,0EAAM,oCAAU,gBAAkB,+HAA8C;+BAAlsB,gBAA6B,0BAArD,WAA4H,GAAvE,WAAsG,8DAAwE,QAAjG,WAAkG,GAAzE,WAAwE;;+BAA7b,gBAAoB,cAA3B,WAA4B,GAAD,WAAO,uCAA+C,mBAArD,WAAsD,GAAD,WAAoD,iBAAiC,0BAA7E,WAA8E,GAAD;;;;wBAA8jC,kIAA4H;+BAAtE,iBAAyB,kBAAC,2BAA2C,2BAA3H,WAA4H,GAA7C,WAA4C;;;;wBAAO,+FAAuF;gCAAgN,aAAhE;;yBAAyC;SAAzL;uTAAgN,kBAArM,iEAAkG,OAA+G;gCAA+G,aAAhE;;;yBAA+D;SAA9G;aAA+G,+GAA+B,SAAI,yEAAM,mDAAmB;+BAA5X,kFAAkG,qBAAoB,gBAAc,qBAAjC,gBAAkB,UAA0D,gBAAqB,OAA/M,WAAgN,GAAnG,WAAkC,WAAf,WAA+E;;AAAqK,uDAAmB;;;;wBAA73B,gGAA4D,iGAA4B,mGAAsD,SAAO;gCAA8E,aAA3E;;yBAAwC;SAA3C;aAA8E,0HAA0C,SAAgB,+KAA4H,QAAM,gPAAuF,QAAwZ,uEAAI;gCAA4F,aAA1D;;;yBAAyD;SAA3F;aAA4F,0GAAyB,SAAO,0EAAM,oCAAU;+BAAzuB,gBAA6B,0BAArD,WAA4H,GAAvE,WAAqG,gDAA8D,QAAtF,WAAuF,GAA/D,WAA8D;;+BAAlb,gBAAoB,cAA3B,WAA4B,GAAD,WAAO,uCAA+C,mBAArD,WAAsD,GAAD,WAAoD,iBAAiC,0BAA7E,WAA8E,GAAD;;;;wBAAvob,+FAA2D,4HAAgF,4IAA+D,SAAM,8KAAyD,QAAg1B,8KAAqD,QAA6jD,+KAAuD,QAA+jD,gLAAyD,QAAikD,gLAAwD,QAAo3B,gLAAyD,QAA6mB,gLAAyD,QAAod,gLAAqD,QAAyuB,gLAAyD,QAAghD,gLAAsD,QAAm6B,gLAAyD,QAAsR,gLAA2D,QAA6rB,gLAA6D,QAAu8B,gLAA4D;+BAArva,kCAA4B,OAAxD,WAAyD,GAAD,WAAy2B,kCAA4B,OAApD,WAAqD,GAAD,WAAslD,kCAA8B,SAAtD,WAAuD,GAAD,WAAwlD,kCAAgC,WAAxD,YAAyD,GAAD,WAA0lD,kCAA+B,UAAvD,YAAwD,GAAD,WAA64B,kCAAgC,WAAxD,YAAyD,GAAD,WAAsoB,kCAAgC,WAAxD,YAAyD,GAAD,WAA6e,mCAA4B,OAApD,YAAqD,GAAD,YAAkwB,mCAAgC,WAAxD,YAAyD,GAAD,YAAyiD,mCAA6B,QAArD,YAAsD,GAAD,YAA47B,mCAAgC,WAAxD,YAAyD,GAAD,YAA+S,mCAAkC,aAA1D,YAA2D,GAAD,YAAstB,mCAAoC,eAA5D,YAA6D,GAAD,YAAg+B,mCAAmC,cAA3D,YAA4D,GAAD;;+BAAx4a,yCAAkD,uBAA/E,WAAgF,GAAD,WAA0B,iBAAiB,UAAC,gBAAmB,UAA9D,WAA+D,GAArB,WAAoB;;;;wBAAwxd,iHAAmG;+BAA5C,2BAA2C,2BAAlG,WAAmG,GAAD;;;;wBAAO,6GAA+D,6RAAyE;+BAAjE,gBAA2B,qBAAC,8BAAoC,cAAxE,WAAyE,GAAtC,WAAqC;;;;wBAAgB,wEAAwC;2GAA2C;;;;wBAAmK,sEAAgC,kFAAM;+GAAoC;;;;wBAA7J,uEAA8D,kFAAM,uCAAQ,QAAO,+KAAgC;+BAA7B,gBAA4B,yBAA/B,WAAgC,GAAD;;AAA9C,2DAAQ;;;;wBAAtJ,wEAA4B,oCAAmB,yHAAuB,gFAAI,sNAA8D;+BAA1D,gBAAyD,mBAA7D,WAA8D,GAAD;;;;wBAAj+B,+FAAwD,qIAAsF,6HAA6C,uCAA2F,SAAO,kHAA2C,uCAAmF,QAAO,oFAAkC,oCAAoB,wBAAU,sGAA+B,yLAAmG,QAAM,gLAA+D,QAAwF,gLAAwC,QAAiD,gLAA4B;+BAA5V,gBAA6B,0BAAtD,YAAmG,GAA7C,WAAyF,gBAAwB,qBAA9D,YAA+D,GAAD,WAA8F,gBAAkC,+BAAvC,YAAwC,GAAD,WAAuD,gBAAsB,mBAA3B,YAA4B,GAAD;;+BAAhyB,kDAAwD,GAArF,WAAsF,GAAD,WAA8C,mIAA2F,WAAkD,4HAAmF,WAAU,iBAA8B,uBAAjC,WAAkC,GAAD;;;;wBAAn6d,8KAA2D,QAAq6c,+KAAwD;+BAAjgd,0CAAmC,UAA1D,WAA2D,GAAD,WAA67c,6BAAgC,gBAAvD,WAAwD,GAAD;;;;;;;;;;;;;;;;wBCAjhc;gCAAiO,aAAzC;;yBAAwC;SAAhO;gRAAiO;+BAA7E,gBAAmB,qBAAC,gBAAe,UAArE,gBAAa,SAA/H,WAAiO,GAA1D,WAAgB,WAAxD;;+BAAC,iBAAmB,YAAnJ,WAAiO,GAA9E;;;;wBAA0F;gCAA4M,aAAzC;;yBAAwC;SAA3M;4PAA4M;+BAA1G,gBAAkB,qBAAiB,gBAA6B,iBAA7C,gBAAe,UAApE,gBAAa,SAA7E,WAA4M,GAAxF,WAA8C,WAA9B,WAAvD;;+BAAC,iBAAmB,YAAjG,WAA4M,GAA3G;;;;wBAAp1B,yEAAwB,4HAAkE,uCAAc,QAAO,wFAA2C,uCAAc,QAAQ;gCAA4D,aAA7B;;yBAA4B;SAA3D;aAA4D,iKAA8F,SAAI,yEAAM,uCAA+B,QAAW,kIAA0G,SAAM,gGAAwB,2NAAiO,OAA5L,4BAA4E,KAA4H,kNAA4M;+BAApZ,mHAA4E,kBAAjH,YAAiO,GAAhH,WAA6I,2CAA8C,aAA/D,YAA4M,GAA7I;;+BAA5vB,6BAAmC,gBAAjE,WAAkE,GAAD,WAAC,6CAAc,WAAc,6BAAmC,gBAA1C,WAA2C,GAAD,WAAC,6CAAc,WAA0F,iBAAmC,YAAC,gBAAmC,YAA7F,WAA8F,GAArC,WAAoC,WAAW,4DAA+B,WAAmC,iCAAyC,sBAAC,2BAAuC,uBAAzG,WAA0G,GAAzC,WAAwC;;;;gEAAve,mLAAwB;+BAAnB,gBAAkB,eAAvB,WAAwB,GAAD;;;;;;;;;;;;;;;;;;;;;;;;;;ACA4F;AAChE;AACF;AACF;AAK/C;IAAA;IAWA,CAAC;IAPC,uCAAS,GAAT,UAAU,KAAY,EAAE,IAAW;QACjC,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAI;YACtB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAE,YAAY;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IACH,0BAAC;AAAD,CAAC;;AAED;IAkBE,+BAAoB,OAAsB,EAAU,KAAkB;QAAlD,YAAO,GAAP,OAAO,CAAe;QAAU,UAAK,GAAL,KAAK,CAAa;QAJ5D,gBAAW,GAAG,IAAI,2DAAY,EAAE,CAAC;IAK3C,CAAC;IAED,2CAAW,GAAX;QACE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,EAAR,CAAQ,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC;IAC/G,CAAC;IACH,4BAAC;AAAD,CAAC;;AAED;IA8BE,4BAAoB,OAAsB,EAAU,OAAqB,EAAU,KAAkB;QAAjF,YAAO,GAAP,OAAO,CAAe;QAAU,YAAO,GAAP,OAAO,CAAc;QAAU,UAAK,GAAL,KAAK,CAAa;QAhB3F,gBAAW,GAAG,IAAI,2DAAY,EAAE,CAAC;QAE3C,gBAAW,GAAS,EAAE,CAAC;QACvB,SAAI,GAAG,IAAI,CAAC;QAIZ,WAAM,GAAO,MAAM,CAAC,MAAM,CAAC;QAO3B,kBAAa,GAAS,EAAE,CAAC;IAGzB,CAAC;IAED,wCAAW,GAAX;QACE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC;QACvC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,wCAAW,GAAX;QACE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,EAAE,EAAf,CAAe,CAAC,CAAC;IACnD,CAAC;IAED,qCAAQ,GAAR;QAAA,iBAkCC;QAjCC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC;YAAC,MAAM,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;YAClD,IAAI,GAAG,GAAG,SAAS,CAAC;YACpB,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;gBACpF,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClD,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC;gBACvD,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;YACtC,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC;gBAChD,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC/B,CAAC;YACD,EAAE,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;gBACjD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;gBACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,CAAC;YACD,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACxE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACvC,CAAC;QACH,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,oBAAU;gBAChE,EAAE,CAAC,CAAC,UAAU,CAAC,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;oBAClD,KAAI,CAAC,KAAK,CAAC,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAClE,KAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,CAAC;YACH,CAAC,CAAC,CAAC,CAAC;QACN,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvG,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QAC1C,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,yCAAY,GAAZ,UAAa,GAAG;QACd,MAAM,CAAC,GAAG,CAAC;IACb,CAAC;IAED,qCAAQ,GAAR;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,2CAAc,GAAd,UAAe,CAAC;QACd,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,6CAAgB,GAAhB;QACE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC;QAC/C,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,0CAAa,GAAb,UAAc,GAAG;QACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,EAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,EAAzB,CAAyB,CAAC,CAAC;IAC9D,CAAC;IAED,6CAAgB,GAAhB;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;QAC9D,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC/B,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC;QAChB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC;YAC5B,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;gBAAC,MAAM,CAAC,aAAa,CAAC;YACjE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrD,MAAM,CAAC,YAAY,CAAC;YACtB,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,MAAM,CAAC,cAAc,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;YAC7D,MAAM,CAAC,UAAU,CAAC;QACpB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,SAAS,CAAC;QACnB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;YACnD,MAAM,CAAC,QAAQ,CAAC;QAClB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;YAC3B,MAAM,CAAC,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,2CAAc,GAAd,UAAe,IAAI;QACjB,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACnD,CAAC;IACH,CAAC;IAED,uCAAU,GAAV,UAAW,GAAG;QACZ,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3C,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,CAAC;IAED,4CAAe,GAAf,UAAgB,GAAG,EAAE,EAAE;QAAvB,iBA2BC;QA1BC,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAC,CAAC;YAC/B,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/C,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,IAAI;SACZ,CAAC;aACD,IAAI,CAAC,UAAC,IAAI,EAAE,UAAU,EAAE,GAAG;YAC1B,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;gBAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAClD,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;gBAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAC7C,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;YAC1B,EAAE,EAAE,CAAC;QACP,CAAC,CAAC;aACD,IAAI,CAAC,UAAC,GAAG;YACR,KAAI,CAAC,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC;YAC9B,EAAE,EAAE,CAAC;QACP,CAAC,CAAC;IACJ,CAAC;IAED,wCAAW,GAAX;QAAA,iBAiBC;QAhBC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;QACzC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAAC,MAAM,CAAC;QACrB,IAAI,OAAO,GAAG,UAAC,IAAI;YACjB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAC,MAAM,CAAC;YAClB,IAAI,GAAG,GAAG,KAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACrD,KAAI,CAAC,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,UAAC,MAAM;gBACnC,MAAM,CAAC,KAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,UAAC,MAAM;gBACzC,MAAM,CAAC,KAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,uDAA0B,GAA1B,UAA2B,KAAK;QAC9B,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,KAAK,OAAO,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,yDAAyD,CAAC;QACnE,CAAC;QACD,IAAI,GAAG,GAAG,6BAA6B,CAAC;QAExC,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,KAAK,KAAK,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,GAAG,GAAG,SAAS,CAAC;QACzB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,KAAK,KAAK,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,GAAG,GAAG,SAAS,CAAC;QACzB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,KAAK,KAAK,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC;QACvB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,KAAK,OAAO,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC;QACxB,CAAC;IACH,CAAC;IAED,8CAAiB,GAAjB,UAAkB,GAAG;QAArB,iBAmBC;QAlBC,IAAI,UAAU,GAAG,UAAC,GAAG,EAAE,GAAG;YACxB,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACvB,GAAG,CAAC,OAAO,CAAC,UAAC,CAAC,EAAE,GAAG;oBACjB,UAAU,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;gBACvC,CAAC,CAAC;YACJ,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACnC,GAAG,CAAC,CAAC,IAAI,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;oBACvB,UAAU,CAAC,GAAG,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACxB,CAAC;QACH,CAAC;QACD,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3B,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAAC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrE,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAC,IAAI,WAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,EAA3B,CAA2B,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IACH,yBAAC;AAAD,CAAC;;AAED,IAAM,eAAe,GAAG,UAAC,MAAM,EAAE,KAAK;IACpC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,EAAtB,CAAsB,CAAC,CAAC,MAAM,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC;IACnE,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACpB,IAAI,kBAAkB,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,sBAAe,CAAC,MAAM,EAAE,CAAC,CAAC,EAA1B,CAA0B,CAAC,CAAC,MAAM,CAAC;QACxF,EAAE,CAAC,CAAC,kBAAkB,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC;IACtC,CAAC;IACD,MAAM,CAAC,KAAK,CAAC;AACf,CAAC;;AAED;IAAA;QAcY,gBAAW,GAAG,IAAI,2DAAY,EAAE,CAAC;QAG3C,WAAM,GAAO,MAAM,CAAC,MAAM,CAAC;IAK7B,CAAC;IAHC,6CAAW,GAAX;QACE,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IACH,8BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBCvTuU,uEAAuC;gCAAsC,aAAnC;;yBAAkC;SAArC;aAAsC;iEAAkB;;;;wBAA4a;;;;;;;;;;;;yBAA4I;SAA/C;;yBAA8C;SAA3I;;;4TAA4I;+BAA/C,iCAA8C,wBAA3I,WAA4I,GAAD;;AAA3I,yZAA4I;;;;wBAA/9B,uGAA+B,kGAAiB,sGAAsB,gFAAI,oCAAW,mBAAW,6FAAsB,iHAAiC,wJAAkE,kFAAM,uCAAyB,QAAO,+GAAuC,SAAQ,kGAA0B,uNAAuC,QAAwF,uEAAG,kIAAiE;;;;;;yBAAyF;SAAlE;;yBAA2B;SAAC;;yBAAqC;SAAxF;;;sUAAyF,kFAAM,oCAAU,kBAAyB,qGAA6B,gGAAwB,oGAAmC,SAAa,uIAA4E,oCAAiB,yBAAI,gLAA4I;+BAAnpB,gBAAkC,cAAtC,YAAuC,GAAD,WAAoL,iBAA2B,kBAAlD,YAAyF,GAAvC,YAA2U,qCAAuC,YAA5F,YAA4I,GAAhD;;+BAAhtB,wDAAyB,WAAqP,iBAA6B,sBAAhE,YAAiE,GAAD,WAAC,yZAAyF,WAA2E,iBAAkB,YAAvB,YAAwB,GAAD,YAAO,iBAA4B,mBAAlC,YAAmC,GAAD,YAAkD,iBAAuC,eAA3E,YAA4E,GAAD;;;;;;;;;;;;;;;;;;;;;;ACC1wB;AACJ;AACI;AAInD,IAAM,eAAe,GAAG;IACtB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,MAAM;CACf;AAED,IAAM,eAAe,GAAG;IACtB,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,YAAY;IAC1B,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,MAAM;CACf;AAED,IAAM,YAAY,GAAG,mBAAO,CAAC,gCAAuC,CAAC,CAAC;SAEhB,cAAI;IACxD,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;QAAC,IAAI,GAAG,EAAC,EAAE,EAAE,IAAI,EAAC,CAAC;IAChD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;IAC/D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;IACvE,MAAM,CAAC,IAAI,CAAC;AACd,CAAC;AALD,IAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,IAKnD;AAEF,IAAM,UAAU,GAAG,UAAC,IAAI,EAAE,SAAS;IACjC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC;IAC5B,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,MAAM,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAS,CAAC,EAAE,GAAG,IAAG,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzF,CAAC;;AAED;IAkBE,6BAAoB,OAAsB,EACtB,KAAkB,EAClB,OAAsB;QAFtB,YAAO,GAAP,OAAO,CAAe;QACtB,UAAK,GAAL,KAAK,CAAa;QAClB,YAAO,GAAP,OAAO,CAAe;QAL1C,cAAS,GAAS,SAAS,CAAC;QAC5B,oBAAe,GAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IAIU,CAAC;IAE9C,yCAAW,GAAX;QAAA,iBAgBC;QAfC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,YAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAvB,CAAuB,CAAC,CAAC;QAClE,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,KAAK,MAAM,EAAf,CAAe,CAAC,CAAC;QAC1D,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;YACxB,IAAI,MAAI,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACnD,EAAE,CAAC,CAAC,MAAI,CAAC;gBAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,KAAK,MAAI,EAAb,CAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC;QACxG,CAAC;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,6CAAe,GAAf;QACE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACvC,CAAC;IAED,4CAAc,GAAd,UAAe,IAAI;QACjB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,EAAC,CAAC,CAAC;QACxE,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,+CAAiB,GAAjB;QACE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;YAAC,MAAM,CAAC;QAC3F,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrF,IAAI,aAAa,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC;YACrC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YACpE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBAC9F,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QACD,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;YAAC,MAAM,CAAC;QACtB,IAAI,IAAI,GAAG,IAAI,YAAY,CAAC;YAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC5B,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,aAAa;YAC5B,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE;SAClC,CAAC,CAAC;QACH,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAC5C,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpD,CAAC;QAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACX,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACrE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAC3G,CAAC;IACH,0BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBCjID,+FAAwB,uGAAuB;gCAA8F,aAA7B;;yBAA4B;SAA7F;aAA8F,oCAAM,cAAI;gCAAgG,aAA9B;;yBAA6B;SAA/F;aAAgG,oCAAO,eAAgB,wEAAK,qHAAwE,SAAO,ySAA6F;+BAAhC,gBAAe,UAAjC,gBAAiB,WAAiB,gBAAe,UAA5F,WAA6F,GAAjB,WAAhB,WAAgC;;+BAApX,gCAAqC,SAAhE,WAA8F,GAA9B,WAAmE,gCAAsC,UAAjE,WAAgG,GAA/B,WAAiE,gBAAgC,uBAAC,gCAAgC,UAAvE,WAAwE,GAAlC,WAAiC,WAAmB,gCAA+B,SAA1C,WAA6F,GAAnD;;;;;;;;;;;;;;wBCA5Q,kGAA4C,oCAAC;;;wBAA3H,yEAAmB,0HAA0C,uCAAU,QAAO,8KAA4C,QAAQ,yEAAM,oCAAC;+BAAhC,gBAAgB,aAA3C,WAA4C,GAAD;;+BAA5D,uCAAU;;;;wBAA4L,yEAA2B,4GAA4B,uCAAyB,QAAO,yEAAM,oCAAC,SAAO;;;;;gKAAqF,OAA3D,0CAA0D,KAAC,8BAA0B;+BAArF,8DAA0D,oBAApF,WAAqF,GAAD;;+BAAlI,4DAAyB,WAAqB,mGAAqF,wEAA0B;;;;wBAAjQ,yEAA+B,kFAAM,oCAAC,SAAO,8KAA2B,QAAoM,yEAAM,oCAAC;+BAAhO,gBAAoB,iBAA1B,WAA2B,GAAD;;;;wBAAiO,yEAAoB,kFAAM,oCAAC,SAAO;;;;;gKAAiF,OAA1C,0CAAyC,KAAC,8BAAW;+BAArD,iDAAyC,YAAhF,WAAiF,GAAD;;+BAAhF,mGAAiF,mDAAW;;;;wBAAyU,yEAA4B,oCAAE;;;wBAAO,kGAA0D;iHAAqC;;;;wBAAO,yEAAqC,oCAAE;;;wBAAgD,yEAAqC,oCAAC;;;wBAAnU,0EAA2D,uLAA4B,QAAS,+KAA0D,QAA4C,+KAAqC,QAAS,kGAA2B,uCAAO,QAAO,gLAAqC;+BAAjQ,qCAAqB,EAA3B,WAA4B,GAAD,WAAqC,2BAA8B,gBAAzD,WAA0D,GAAD,WAAmD,2BAA8B,gBAApC,WAAqC,GAAD,WAAyD,2BAA8B,gBAApC,YAAqC,GAAD;;AAAlD,2DAAO;;;;wBAAxU,yFAAsC,kFAAM,oCAAM,0NAA2D;+BAArD,gBAAoD,gBAA1D,WAA2D,GAAD;;;;wBAA6X,0SAA0K;+BAA5F,gBAAa,qBAAhD,sCAAkC,sBAAe,4BAAmB,EAAC,+FAAyD,EAAzK,WAA0K,GAA/E,WAAd,WAAkC,WAA0D;;;;wBAAwJ,uRAA8G;+BAA5D,gBAAoB,qBAAoB,4BAAmB,EAAtC,gBAAkB,MAAzF,WAA8G,GAAxC,WAAuC,WAApB;;;;wBAApO,kGAAgD,gFAAI,6GAA6B,uCAAS,QAAO,yEAAM,oCAAwB,gCAAY,6MAA8G;+BAAnG,gBAAsC,iBAAjD,WAA8G,GAA7D;;+BAA3G,wCAAS;;;;wBAA4T,uRAA8G;+BAA5D,gBAAoB,qBAAoB,4BAAmB,EAAtC,gBAAkB,MAAzF,WAA8G,GAAxC,WAAuC,WAApB;;;;wBAApO,kGAAgD,gFAAI,6GAA6B,uCAAS,QAAO,yEAAM,oCAAwB,gCAAY,6MAA8G;+BAAnG,gBAAsC,iBAAjD,WAA8G,GAA7D;;+BAA3G,wCAAS;;;;wBAA4T,uRAA8G;+BAA5D,gBAAoB,qBAAoB,4BAAmB,EAAtC,gBAAkB,MAAzF,WAA8G,GAAxC,WAAuC,WAApB;;;;wBAApO,kGAAgD,gFAAI,6GAA6B,uCAAS,QAAO,yEAAM,oCAAwB,gCAAY,6MAA8G;+BAAnG,gBAAsC,iBAAjD,WAA8G,GAA7D;;+BAA3G,wCAAS;;;;wBAAiL,kGAA8C,gFAAI,6GAA6B,uCAAS,QAAO,yEAAM,oCAAgB,wBAAY,uRAAwE;+BAA7D,gBAAqB,eAAoB,4BAAmB,EAAtC,gBAAkB,MAAnD,WAAwE,GAAxC,WAAuC,WAApB;;+BAArG,wCAAS;;;;wBAAmI,4PAA4E;+BAA5C,gBAAuB,iBAAC,4BAAmB,EAA3E,WAA4E,GAArB,WAAoB;;;;wBAAnxD,oGAA6C,uLAAsC,QAA0W,mIAAmF,SAAM,6MAA0K,QAAY,+KAAgD,QAA2N,+KAAgD,QAA2N,gLAAgD,QAA2N,gLAA8C,QAA6K,gLAA4E;+BAArtD,gBAAmB,gBAArC,WAAsC,GAAD,WAA+c,gBAA+B,eAA1C,WAA0K,GAAhI,WAAuK,gBAAoB,iBAA/C,WAAgD,GAAD,WAAuP,gBAAoB,iBAA/C,WAAgD,GAAD,WAAuP,gBAAoB,iBAA/C,YAAgD,GAAD,WAAuP,gBAAkB,eAA7C,YAA8C,GAAD,WAAyL,gBAAoB,iBAA/B,YAA4E,GAA7C;;+BAAjxC,iBAAuB,gBAAC,2BAAiC,iBAAlF,WAAmF,GAAnC,WAAkC;;;;wBAA52C,+GAAkD,uLAAmB,QAAoI,+GAAwC,kFAAM,uCAAU,QAAO,8KAA+B,QAAyQ,8KAAoB,QAAqH;gCAA2D,aAAxD;;yBAA8B;SAAjC;aAA2D,4JAA0F,SAAe,+KAA6C;+BAAl1B,gBAAY,SAAlB,WAAmB,GAAD,WAA0M,6BAAwB,QAA9B,WAA+B,GAAD,WAAgR,gBAAa,UAAnB,WAAoB,GAAD,WAAsT,gBAAgB,aAA5C,YAA6C,GAAD;;+BAAh3B,gBAAwB,kBAAjD,WAAkD,GAAD,WAAsM,uCAAU,WAA0d,gBAAwB,kBAA1D,YAA2D,GAAD,WAAwB,gBAAgC,aAAC,iBAAiC,aAAzF,YAA0F,GAAnC,WAAkC;;;;;;;;;;;;;;;;;;;;;;;ACC1xB;AACY;AAI/D,IAAM,OAAO,GAAG,UAAC,MAAM;IACrB,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IACpC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QAAC,MAAM,CAAC,QAAQ,CAAC;IACvC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAAC,MAAM,CAAC,OAAO,CAAC;IACjC,MAAM,CAAC,KAAK,CAAC;AACf,CAAC;;AAED;IAkBE,yBACU,OAAsB,EACtB,eAA+B;QAD/B,YAAO,GAAP,OAAO,CAAe;QACtB,oBAAe,GAAf,eAAe,CAAgB;QAPhC,UAAK,GAAU,CAAC,CAAC;QAE1B,YAAO,GAAU,QAAQ,CAAC;IAMvB,CAAC;IAEJ,qCAAW,GAAX;QACE,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAClC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACb,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvD,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtC,sDAAsD;gBACtD,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5C,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;gBAC9C,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QACD,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAExD,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED,iCAAO,GAAP,UAAQ,MAAM;QACZ,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAChB,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAED,oCAAU,GAAV,UAAW,MAAM,EAAE,KAAO;QAA1B,iBAuCC;QAvCkB,iCAAO;QACxB,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;YAAC,MAAM,CAAC;QACtB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC;QACzB,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrE,IAAI,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChF,EAAE,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC;YACnB,MAAM,CAAC,EAAE,CAAC;QACZ,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC;YAC7B,IAAI,SAAO,GAAG,EAAE,CAAC;YACjB,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/D,0DAA0D;YAC1D,qDAAqD;YACrD,qDAAqD;YACrD,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,WAAC,IAAI,YAAI,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,EAAzB,CAAyB,CAAC,CAAC;YAC5D,UAAU,CAAC,OAAO,CAAC,aAAG;gBACpB,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;oBACpB,SAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC,CAAC;YACF,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;gBAClC,SAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC1E,CAAC;YACD,MAAM,CAAC,SAAO,CAAC;QACjB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC;YAC5B,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gBAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;YAC1C,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACvC,EAAE,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACtB,MAAM,CAAC,EAAE,CAAC;YACZ,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC;gBAC7B,MAAM,CAAC,GAAG,CAAC;YACb,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;gBAC9B,MAAM,CAAC,CAAC,CAAC;YACX,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACH,sBAAC;AAAD,CAAC;;AAED;IA6CE,4BAAoB,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;QAXjC,UAAK,GAAU,CAAC,CAAC;QAGjB,aAAQ,GAAW,KAAK,CAAC;QAIlC,eAAU,GAAS,EAAE,CAAC;QAEtB,WAAM,GAAY,MAAM,CAAC,MAAM,CAAC;IAGhC,CAAC;IAED,qCAAQ,GAAR;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAChC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,wCAAW,GAAX;QACE,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED,kCAAK,GAAL;QACE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACtD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;IAC/B,CAAC;IAED,4CAAe,GAAf;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,sCAAS,GAAT,UAAU,MAAM;QAAhB,iBAoBC;QAnBC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;QAC3B,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QACtD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QAC3C,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACtD,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAC,EAAE,EAAE,EAAE;oBAC1B,IAAI,EAAE,GAAG,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;oBAC9C,IAAI,EAAE,GAAG,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;oBAC9C,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;wBAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBACzB,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;wBAAC,MAAM,CAAC,CAAC,CAAC;oBACxB,MAAM,CAAC,CAAC,CAAC;gBACX,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,wCAAW,GAAX;QACE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;IAC9E,CAAC;IAED,qCAAQ,GAAR,UAAS,MAAM;QACb,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;QACtB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACR,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC9C,CAAC;QACD,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;QACtC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAAC,MAAM,CAAC,EAAE,CAAC;QACpB,IAAI,KAAK,GAAG,GAAG,CAAC;QAChB,IAAI,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACnC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;YACf,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,oCAAO,GAAP,UAAQ,MAAM;QACZ,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAChB,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IACH,yBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBCzO2H,sEAAyB,+EAAG,oCAAiB;;;sBAAgK,yFAAsC,mGAAmB;0EAAe;;;;sBAAhO,gGAA+C,gFAAI;;;;;8JAAwD,sCAAoC,QAAS,kLAAsC,QAA8C,gGAAyB,uCAAkB,QAAM,uEAAI;2BAA3O,6CAAoD,kCAAvD,WAAwD,GAAD,WAAgE,gBAAmB,iCAArC,WAAsC,GAAD;;AAA1I,uGAAwD,oHAAoC,WAAsH,kEAAkB;;;;sBAA7a,kGAAiG,2LAAyB,QAA4B,kLAA+C;AAAjG,iDAAqB,EAAxB,WAAyB,GAAD,WAAsD,6CAAqB,EAA9C,WAA+C,GAAD;;;;kFAA/N,uEAAI,oCAAc,sBAAK,uEAAI,yNAAiG,OAAtE;sIAAqE,uBAAhG,WAAiG,GAAD;;;;;;;;;;;;;;;;;;;ACC1E;AACA;AAEjD;IAkBE,gCAAmB,MAAoB,EAAU,MAAoB;QAAlD,WAAM,GAAN,MAAM,CAAc;QAAU,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAC3E,6BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBCvB0W,yEAAmD,kFAAM,oCAAQ,gBAAO,4GAAqC;;;wBAAW,yEAA6D,kFAAM,oCAAe,uBAAO,0GAAmC;;;wBAAsS,yEAA6D,oCAAU;;;wBAAO,yEAA6D,kFAAM;8FAAyC;;;;wBAA8Q,0FAAmG;gCAA0F,aAAvF;;yBAAsF;SAAzF;aAA0F,uCAAiB;+BAAjK,yCAAqD,2BAAlG,WAAmG,GAAD,WAA2F,yDAAiB;;;;wBAA9c,8FAA0F,wIAAkD,qHAAqC,SAAQ,iGAA0B,4GAA4B,oCAAY,oBAAK,2MAAmG;+BAA/F,gBAAwC,qBAA5C,WAAmG,GAAvD;;;;wBAAib,kGAAiD,kFAAM,oCAAM,YAAO,+FAAwB,SAAI,yEAAM,oCAAM;;;wBAAW;gCAA6E,aAA9B;;yBAA6B;SAA5E;aAA6E,kFAAM,oCAAM,YAAO,8FAAuB,SAAI,yEAAM,oCAAM;;;wBAAgD,qVAA4T;+BAApC,gBAAa,qBAAC,gBAAqB,aAA3T,WAA4T,GAAvB,WAAsB;;+BAArL,oDAAwE,iBAAC,gFAAwE,8BAAvR,WAA4T,GAA9G,WAAyE;;;;iFAA/2E,yFAAiB,iNAA0J;gCAAgM,aAAlI;;yBAA8B;SAA5F;aAAgM,sLAAmD,QAAqE,6KAA6D,QAA8E;gCAAsG,aAA3B;;yBAA0B;SAArG;aAAsG,sGAAsB,SAAQ,sIAA0H,0GAAyB,uLAA6D,QAAiB,8KAA6D,QAA6D,8KAA0F,QAAyY,kHAA0C;gCAA6B,aAA1B;;yBAAyB;SAA5B;aAA6B,wGAAuB,SAAmB,iHAAwC;;;;;;;;;;;;yBAAmE;SAA3B;;yBAA0B;SAAlE;;;8TAAmE,8GAA8B,uLAAiD,QAAsE,8KAA6E,QAAkF,gGAAwB,qNAA4T,OAA5S,mFAAqH,KAA0N,iKAA8G,sBAAY;+BAAhsE,gCAA4C,6BAAlD,WAAmD,GAAD,WAA4E,kCAAsD,6BAA5D,WAA6D,GAAD,WAA4W,qEAAsD,GAA5D,YAA6D,GAAD,YAAwB,qEAAsD,GAA5D,YAA6D,GAAD,YAAqF,uEAAkE,EAAzF,YAA0F,GAAD,YAA2kB,iBAA0B,iBAAlE,YAAmE,GAAD,YAA0D,kBAAqB,iBAAhD,YAAiD,GAAD,YAAiG,iBAAoB,iBAA9C,YAA6E,GAA/B,YAAyJ,yMAAqH,kBAArI,YAA4T,GAAvL;;+BAAvqE,iBAA4B,aAAC,iBAA4B,aAAC,gBAA2B,aAAC,gBAA8B,aAAzJ,WAA0J,GAAzF,WAA6B,WAA4B,WAA+B,WAA8F,gBAAuB,iBAAC,oEAA0E,OAA/L,WAAgM,GAA5E,WAA2E,WAA0T,iBAAoB,aAA1E,WAAsG,GAA5B,WAAiF,gBAAmB,aAAC,+CAA8E,6BAAzH,YAA0H,GAAhF,WAA+E,YAA81B,saAAmE,YAAksB,kBAA4B,aAAC,kBAA4B,aAAC,iBAA4B,aAA7G,YAA8G,GAA3D,YAA6B,YAA6B;;;;;;;;;;;;;;;;wBCA53E,oGAAiG,kFAAM,uCAAc;+BAAvC,gBAAkB,cAAhG,WAAiG,GAAD,WAAO,6CAAc;;;;wBAAW;;;;;4PAAkV,kGAAyF;+BAA1G,gBAAgB,GAApG,8DAA+D,eAAC,gBAAmB,GAAhU,WAAkV,GAAD,WAArC,WAAoB;;+BAAzP,gBAA4B,gBAAC,iBAA+B,gBAAC,8GAAmF,mBAAC,gBAAoB,eAA5O,qFAAkV,GAA/O,WAAgC,WAAoF,WAAqB,WAA5O,WAAkV,WAAM,sFAAkF,eAAxF,WAAyF,GAAD;;;;wBAAuM,6TAAoT;+BAArC,gBAAc,qBAAC,gBAAqB,aAAnT,WAAoT,GAAvB,WAAsB;;+BAAtK,0IAAiI,kBAA9Q,WAAoT,GAAtC;;;;wBAAnc,0HAAqL,wNAAoT,OAApS;4OAA4H,qBAA5I,WAAoT,GAAxK;;+BAAjO,oFAAoF,MAApL,WAAqL,GAAD;;;;iFAAx5B,wHAAiE,+IAAmG,SAAI,iLAAiG,QAA+B,iLAAkV,QAA0G,iLAAqL;+BAAhuB,mEAA4D,EAA7E,WAAiG,GAApB,WAAoE,oEAAqD,EAAtE,WAAkV,GAA5Q,WAAsZ,2DAA+D,iBAA/F,WAAqL,GAAtF;;+BAAvyB,gBAAoC,oBAAhE,WAAiE,GAAD,WAAkD,uCAAiD,gBAAlG,WAAmG,GAAD;;;;;;;;;;;;;;;;;;;;;;;;;;;ACSpH;AACI;AACJ;AACQ;AACN;AACA;AACc;AAI/D,IAAM,iBAAiB,GAAG,UAAC,IAAI,EAAE,IAAI;IACnC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAC,IAAI,wBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,EAA1B,CAA0B,CAAC,CAAC,MAAM,CAAC;IACtF,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC;IAC5B,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjE,MAAM,CAAC,KAAK,CAAC;AACf,CAAC;;AAED;IAWE,2BAAoB,KAAoB,EACpB,MAAoB,EACrB,eAAgC,EAChC,KAAkB,EAClB,OAAsB,EACtB,IAAgB,EAChB,MAAoB;QANnB,UAAK,GAAL,KAAK,CAAe;QACpB,WAAM,GAAN,MAAM,CAAc;QACrB,oBAAe,GAAf,eAAe,CAAiB;QAChC,UAAK,GAAL,KAAK,CAAa;QAClB,YAAO,GAAP,OAAO,CAAe;QACtB,SAAI,GAAJ,IAAI,CAAY;QAChB,WAAM,GAAN,MAAM,CAAc;QAVvC,eAAU,GAAO,IAAI,CAAC;QAEtB,kBAAa,GAAS,EAAE,CAAC;QASvB,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAChC,IAAM,gBAAgB,GAAG,GAAG,CAAC;QAC7B,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED,uCAAW,GAAX;QACE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,EAAE,EAAf,CAAe,CAAC,CAAC;IACnD,CAAC;IAED,oCAAQ,GAAR;QAAA,iBAgBC;QAfC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAM;YAC7D,KAAI,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC,CAAC;QACJ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;YAChC,IAAI,WAAS,GAAG,SAAS,CAAC;YAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,iBAAO;gBAC3D,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC;oBAAC,MAAM,CAAC,KAAI,CAAC,UAAU,GAAG,WAAS,GAAG,IAAI,CAAC;gBAClE,IAAI,KAAK,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC5C,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,IAAI,CAAC,eAAe,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,EAA/B,CAA+B,CAAC,CAAC;gBAClF,EAAE,CAAC,CAAC,KAAI,CAAC,UAAU,IAAI,KAAI,CAAC,UAAU,CAAC,SAAS,IAAI,WAAS,KAAK,SAAS,IAAI,KAAI,CAAC,MAAM,CAAC,KAAK,KAAK,WAAS,CAAC,CAAC,CAAC;oBAC/G,KAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;gBAC3C,CAAC;gBACD,WAAS,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC;QACN,CAAC;IACH,CAAC;IACH,wBAAC;AAAD,CAAC;;AAED;IAwBE,+BAAmB,KAAkB,EAClB,MAAoB,EACpB,MAAoB;QAFpB,UAAK,GAAL,KAAK,CAAa;QAClB,WAAM,GAAN,MAAM,CAAc;QACpB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE3C,+CAAe,GAAf;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IACH,4BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBCrFK;gCAK8D,aAAxD;;;yBAAuD;SAL7D;uXAK8D;+BALjC,gBAAuB,cAC9C,gBAAwB,mBAEL,gBAAkB,UAArC,gBAAkB,KAClB,gBAAsC,uBAFtC,gBAAqB,aAF3B,WAK8D,GALV,WACtB,WAEa,WAAnB,WACoB,WAFjB;;;;wBAH7B,wEAA4J,oCAC1J,mMAK8D,QAAY,2BAC5E;+BANa,gBAAiB,cAA5B,WAK8D,GALlC;;;;wBAS1B;gCAWuD,aAAhD;;yBAA+C;SAXtD;4YAWuD,8CACvD;+BAVO,gBAAc,qBAKd,mNAAoJ,uBAEpJ,gBAAmB,YACnB,0BAAqB,sBAPrB,gBAAe,KAEf,yCAA0C,yBAD1C,4BAAmB,EAEnB,+FAAyD,EAEzD,8EAAuD,EAR9D,WAWuD,GATlC,WAKsI,WAEjI,WACE,WAPN,WAE2B,WADvB,WAEsC,WAEF;;;;wBAaxD,qFAAmF,oCACjF;gCAAiD,aAA9C;;yBAA6C;SAAhD;aAAiD,uCAAc,QAAI,2BACrE;AAFiD,iDAAiC,QAAlF,WAAmF,GAAD,WAC/B,mDAAc;;;;wBATvE,gHAA8J,oCAC5J;;;;;;;;;;;;yBAAkJ;SAA5F;;yBAAoC;SAAC;;yBAAsD;SAAjJ;;;4TAAkJ,mCAClJ,yHAA6B,oCAC3B,2KAAuE,oCACrE,kGAAM,wCAAoC,QAAO,2BACjD,qIAAqC,SAAI,2BAC3C,sBAAS,2BACT,wHAA0B,oCACxB,0OAAmF,QAE9E,2BACP,sBAAK,2BACL;gCAAmD,aAAxB;;yBAAuB;SAAlD;aAAmD,oCAAG,WAAI,2BAC5D,oBAAM,2BACR;+BAbwD,gBAAoC,2BAA1F,WAAkJ,GAAxD,WAOlF,gBAA4C,sBAAhD,YAAmF,GAAnC;;+BAPpD,iZAAkJ,WAGxI,oEAAoC;;;;wBAlBlD,kGAAoE,oCAClE,mOAWuD,QACpC,2BACnB,qMAA8J,QAcxJ,2BACR;+BA3BS,gBAAkC,kBADzC,WAWuD,GAVd,WAYD,8HAAqH,cAA7J,WAA8J,GAAD;;;;wBAiB7J;gCAS0D,aAAnD;;yBAAkD;SATzD;sVAS0D,8CAC1D;+BARO,qDAAoC,IAEpC,gBAAuB,iBAEvB,gBAAmB,YAEnB,0BAAuB,kBALvB,gBAAe,KAEf,gBAAW,EAEX,gBAAmB,KAP1B,WAS0D,GAPf,WAEb,WAEJ,WAEI,WALR,WAEJ,WAEQ;;;;wBAR5B,mGAAmE,oCACjE,oOAS0D,QACvC,2BACnB,kHAAyB,oCACvB;gCAAoE,aAAlC;;yBAAiC;SAAnE;aAAoE,oCAAQ,gBAAI,2BAClF,kBAAM,2BACR;+BAbS,+CAAkE,GADzE,WAS0D,GARe;;;;wBAjC7E,wEAAiC,oCAC/B,mMAAoE,QA6B9D,2BACN,oMAAmE,QAe7D,2BACR;AA9C6B,8DAAwC,SAAnE,WAAoE,GAAD,WA8BxC,sDAAuC,QAAlE,WAAmE,GAAD;;;;wBAxCtE,wEAAmC,oCACjC,iMAA4J,QAOtJ,2BACN,iMAAiC,QA+C3B,2BACR;+BAxDO,iLAAsJ,UAA3J,WAA4J,GAAD,WAQtJ,8BAA2B,UAAhC,WAAiC,GAAD;;;;wBA1BpC,6GAAqD,oCACnD;gCAc2C,aAJvC;;yBAAyC;SACzC;;yBAAkC;SAClC;;yBAAkC;SAClC;;;yBAAgD;SAChD;;yBAAsC;SAd1C;weAc2C,4CAC3C,YAAe,2BACf,+LAAmC,QAyD7B,2BACR;+BAvEM,gBAAiB,WAEjB,gBAAmB,YAHnB,gBAAe,UAKf,gBAAqB,aADrB,uDAA2C,EAG3C,gBAAyB,eADzB,gBAAmB,KARvB,WAc2C,GAXtB,WAEE,WAHJ,WAKM,WADsB,WAGlB,WADN,WAQlB,4BAA6B,UAAlC,WAAmC,GAAD;;+BAZ9B,gBAAwB,kBAJ5B,WAc2C,GAVf;;;;sEAN9B,2BACA,6LAAqD,QA2E/C,2BACF;+BA5EkC,gBAAc,WAApD,WAAqD,GAAD;;;;;;;;;;;;;;;;;;;;ACD4B;AAE+C;AAE/H;IAAA;QAkGE,mBAAc,GAAO,EAAE,CAAC;QASd,gBAAW,GAAG,IAAI,2DAAY,EAAE,CAAC;QAE3C,kBAAa,GAAY,EAAE,CAAC;QAK5B,aAAQ,GAAG,CAAC,CAAC;QAEb,SAAI,GAAG,EAAC,KAAK,wDAAE,mBAAmB,sEAAE,iBAAiB,oEAAE,kBAAkB,qEAAE,YAAY,+DAAC,CAAC;QACzF,WAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IA4FzB,CAAC;IA1FC,6CAAW,GAAX;QACE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACtD,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;YACxE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IAED,iDAAe,GAAf;QAAA,iBAEC;QADC,UAAU,CAAC,cAAM,YAAI,CAAC,eAAe,EAAE,IAAI,KAAI,CAAC,YAAY,EAAE,EAA7C,CAA6C,CAAC,CAAC;IAClE,CAAC;IAED,8CAAY,GAAZ;QACE,IAAI,IAAI,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;QAC3D,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,QAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACxE,CAAC;IAED,2CAAS,GAAT,UAAU,MAAM;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,8CAAY,GAAZ,UAAa,MAAM;QACjB,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACnB,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QACvD,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,+CAAa,GAAb;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAC9B,MAAM,CAAC;QACT,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,0EAAmB,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACtG,IAAI,YAAY,GAAG,0EAAmB,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACnG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAC,IAAI,mBAAY,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAA9B,CAA8B,CAAC,CAAC;IAC5F,CAAC;IAED,iDAAe,GAAf;QACE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YAAC,MAAM,CAAC;QACjC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACzB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC;YACpG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAClB,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC;QACT,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,mDAAiB,GAAjB,UAAkB,SAAS,EAAE,GAAG;QAC9B,EAAE,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC;YACtB,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACpC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;QAC9B,CAAC;QACD,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,6CAAW,GAAX;QACE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;YAAC,MAAM,CAAC;QACzC,IAAI,GAAG,GAAG,6EAAsB,CAAC,IAAI,CAAC,sBAAsB,IAAI,QAAQ,CAAC,CAAC;QAC1E,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACnE,CAAC;IACH,8BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBCnNC;gCAA8C,aAAxB;;yBAAuB;SAA7C;aAA8C,oCAC5C,gIAA2C,SAAI,2BACjD;;;wBAEA,kGAA4C,oCAAC;;;wBAE7C,4FAA0C;sEAAQ;;;;wBAO9C,uEAAkC,oCAChC;gCAA6C,aAA1C;;;yBAAyC;SAA5C;aAA6C,uCAAK,QAAI,2BACxD;AAD+C,2DAAK;;;;wBAPxD,0GAAsD,oCACpD,oKAAyE,oCACvE,yFAAM,uCAAQ,QAAO,2BACrB,4HAAqC,SAAI,2BAC3C,cAAI,2BACJ,gHAA0B,oCACxB,+NAAkC,QAE7B,2BACP,cAAK,2BACP;+BAJQ,gBAA6B,gBAAjC,YAAkC,GAAD;;+BAJ3B,uCAAQ;;;;wBAed,uEAAqC,oCACnC;gCAAgF,aAA7E;;;;yBAA4E;SAA/E;aAAgF,uCAAW,QAAI,2BACjG;AADkF,iEAAW;;;;wBAPjG,0GAAyD,oCACvD,oKAAyE,oCACvE,yFAAM,uCAAkC,QAAO,2BAC/C,4HAAqC,SAAI,2BAC3C,cAAI,2BACJ,gHAA0B,oCACxB,+NAAqC,QAEhC,2BACP,cAAK,2BACP;+BAJQ,gBAAgC,mBAApC,YAAqC,GAAD;;+BAJ9B,+FAAkC;;;;wBAS5C,oQAAyD,gCACvD,oGAAuC,SAAM,wBAC/C;+BADO,2BAAiC,iBAAtC,WAAuC,GAAD;;;;wBAExC;;;;;;;;;;;;;;wLAA+E,mCAC7E,+HAA0C,SAAI,2BAChD;+BAFuB,gBAA8B,uBAAC,gBAAwB,QAA9E,WAA+E,GAA1B,WAAyB;;;;wBAG9E;gCAC2B,aAAzB;;yBAAwB;SAD1B;aAC2B,oCACzB,uKAA6F,SAAI,2BACnG;+BADyB,iBAAkC,WAAC,gBAAkC,WAA5F,WAA6F,GAApC,WAAmC;;;;wBAGhG,8FAAuC,oCAAc;;;0EA1CrD,2BACA,2GAAyB,oCACvB,4LAA8C,QAE1C,2BACJ,qFAAM,uCAAS,QAAO,2BACtB,6LAA4C,QAAQ,2BACpD,sFAAM,oCAAC,SAAO,2BACd,6LAA0C,QAAe,2BACzD,6LAAsD,QAUhD,2BACN,6LAAyD,QAUnD,2BACN,6LAAyD,QAEvC,2BAClB,6LAA+E,QAE3E,2BACJ,8LAC2B,QAEvB,2BACN,UAAQ,2BACR,4LAAuC,QAAkB,2BACrD;+BAzCC,gBAAkB,eAArB,WAA8C,GAAzB,WAIM,gBAAgB,aAA3C,YAA4C,GAAD,WAEtB,iBAAoB,gBAAzC,YAA0C,GAAD,WACP,gBAAmB,gBAArD,YAAsD,GAAD,WAWnB,gBAAsB,mBAAxD,YAAyD,GAAD,WAWnB,gBAAmB,gBAAxD,YAAyD,GAAD,WAGrD,gBAAmB,gBAAtB,YAA+E,GAAzD,WAGnB,qFAA8E,gBAAjF,YAC2B,GADsD,WAK5D,iBAAe,WAAtC,YAAuC,GAAD;;+BArC9B,wCAAS;;;;;;;;;;;;;;;;;;;;ACL+D;AAEtB;AAI1D;IA2EE;QAfS,eAAU,GAAW,KAAK,CAAC;QAE1B,eAAU,GAAG,IAAI,2DAAY,EAAE,CAAC;QAChC,kBAAa,GAAG,IAAI,2DAAY,EAAE,CAAC;QACnC,iBAAY,GAAG,IAAI,2DAAY,EAAE,CAAC;QAClC,iBAAY,GAAG,IAAI,2DAAY,EAAE,CAAC;QAClC,cAAS,GAAG,IAAI,2DAAY,EAAE,CAAC;QAOzC,WAAM,GAAC,MAAM,CAAC,MAAM,CAAC;IAEN,CAAC;IAEhB,0CAAW,GAAX;QACE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,0CAAW,GAAX;QACE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;YAAC,MAAM;QAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;YAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACzF,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YAAC,IAAI,CAAC,eAAe,EAAE,CAAC;IAC1C,CAAC;IAED,wCAAS,GAAT,UAAU,MAAM;QAAhB,iBAwBC;QAvBC,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;YAAC,MAAM,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,uEAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAClF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,IAAI,GAAG,uEAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;YACnC,CAAC;YACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,KAAK,MAAM,EAAZ,CAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3C,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,WAAC;gBACjC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,uEAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,2CAAY,GAAZ;QACE,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,8CAAe,GAAf;QACE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,uEAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,CAAC;IACH,2BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtIK,kBAAmB,GAAG;IAC1B,MAAM,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC/D,CAAC;AAEK,yBAA0B,GAAG;IACjC,EAAE,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC;QAAC,MAAM,CAAC,GAAG,CAAC;IACxC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;QACpB,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC;YACpC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,GAAG,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,MAAM,CAAC,GAAG,CAAC;AACb,CAAC;AAEK,oBAAqB,IAAI,EAAE,EAAE;IACjC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,OAAO,IAAI,CAAC,CAAC;IACjE,CAAC;IACD,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC,OAAO,CAAC,aAAG;QACd,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACjG,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;oBACvB,IAAI,CAAC;wBACH,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC3C,CAAC;oBAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACX,CAAC,CAAC,OAAO,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC;wBAClC,MAAM,CAAC,CAAC;oBACV,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACxB,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvB,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,CAAC;oBACH,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjC,CAAC;gBAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACX,CAAC,CAAC,OAAO,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC;oBAClC,MAAM,CAAC,CAAC;gBACV,CAAC;YACH,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAEK,mBAAoB,MAAM,EAAE,IAAI;IACpC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC1D,CAAC;AAEK,0BAA2B,GAAG,EAAE,IAAI;IACxC,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;IACb,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,IAAI,CAAC,OAAO,CAAC,WAAC,IAAI,UAAG,GAAG,GAAG,CAAC,CAAC,CAAC,EAAZ,CAAY,CAAC,CAAC;IAChC,MAAM,CAAC,GAAG,CAAC;AACb,CAAC;AAEK,yBAA0B,MAAM,EAAE,IAAI;IAC1C,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAAC,MAAM,CAAC,MAAM,CAAC;IAC3C,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC;AAEK,wBAAyB,GAAG;IAChC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC;AAEK,wBAAyB,GAAG;IAChC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACnC,CAAC;AAEK,eAAgB,GAAG;IACvB,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAEK,6BAA8B,QAAQ,EAAE,UAAU;IACtD,IAAI,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC;IAC3B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAC,IAAI,EAAE,GAAG;QAC/B,EAAE,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC;QACxC,EAAE,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;YAAC,MAAM,CAAC,KAAK,CAAC;QACvC,iBAAiB,GAAG,GAAG,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAEK,6BAA8B,MAAM,EAAE,OAAO,EAAE,KAAQ,EAAE,SAAc;IAAxB,kCAAQ;IAAE,4CAAc;IAC3E,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjE,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAS;QACpC,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;YAAC,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1E,IAAI,QAAQ,GAAG,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACvD,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,KAAK,SAAS,CAAC,aAAa,EAA7B,CAA6B,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAC,IAAI,YAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAvB,CAAuB,CAAC,CAAC;QAC9E,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;IACD,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACd,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IAChC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,GAAG;QACzB,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,EAAE,EAAE,EAAE;QACb,EAAE,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,aAAa,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3C,EAAE,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,aAAa,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC;QAC1C,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QACjD,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QACjD,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC;QACxB,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAEK,gCAAiC,IAAW;IAChD,EAAE,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC;IACjC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC;IACrC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC;IACtC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;QAAC,MAAM,CAAC,KAAK,CAAC;IAC1C,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,CAAC;QAAC,MAAM,CAAC,CAAC,CAAC;AAC7D,CAAC;AAEK,4BAA6B,GAAG;IACpC,EAAE,CAAC,CAAC,OAAO,GAAG,KAAK,SAAS,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC;IACxC,IAAI,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC;IACrD,MAAM,CAAC,EAAC,IAAI,QAAC,CAAC;AAChB,CAAC;AAEK,0BAA2B,MAAM,EAAE,OAAO;IAC9C,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IACpC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC;IAC/B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAC7C,IAAI,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACzD,EAAE,CAAC,CAAC,OAAO,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC;IAC9B,CAAC;AACH,CAAC;AAEK,2BAA4B,IAAI,EAAE,MAAM,EAAE,OAAO;IACrD,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAAC,MAAM,CAAC;IACpB,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjE,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACjB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAC7C,IAAI,GAAG,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC5D,EAAE,CAAC,CAAC,GAAG,CAAC;gBAAC,MAAM,CAAC,GAAG,CAAC;QACtB,CAAC;IACH,CAAC;AACH,CAAC;AAEK,kBAAmB,MAAM,EAAE,IAAI,EAAE,UAAe,EAAE,GAAM;IAAvB,8CAAe;IAAE,8BAAM;IAC5D,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAAC,MAAM,CAAC;IACpB,EAAE,CAAC,CAAC,GAAG,CAAC;QAAC,GAAG,IAAI,GAAG,CAAC;IACpB,UAAU,GAAG,UAAU,IAAI,MAAM,CAAC;IAClC,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC7C,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;QAAC,MAAM,CAAC,EAAC,MAAM,UAAE,GAAG,OAAC,CAAC;IAC/C,GAAG,CAAC,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3C,IAAI,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;QACvE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;YAC5B,MAAM,CAAC,EAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,GAAG,MAAM,EAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,GAAG,CAAC,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3C,IAAI,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;QACvE,IAAI,GAAG,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;QAC9D,EAAE,CAAC,CAAC,GAAG,CAAC;YAAC,MAAM,CAAC,GAAG,CAAC;IACtB,CAAC;AACH,CAAC;AAEM,IAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;AC7LxB;AAEoB;AAC5C;AACE;AACI;AAEI;AACF;AACY;AAI5C,IAAM,iBAAiB,GAAG,cAAc,CAAC;AAEhD,IAAM,QAAQ,GAAG,wBAAwB,CAAC;AAC1C,IAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;AACvD,IAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;AACxD,IAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,IAAI,WAAW;AAEzE;IAYE,uBAAoB,IAAe,EACf,IAAW,EACX,OAAsB,EACtB,eAAgC,EAChC,OAAqB;QAJrB,SAAI,GAAJ,IAAI,CAAW;QACf,SAAI,GAAJ,IAAI,CAAO;QACX,YAAO,GAAP,OAAO,CAAe;QACtB,oBAAe,GAAf,eAAe,CAAiB;QAChC,YAAO,GAAP,OAAO,CAAc;QAbzC,WAAM,GAAW,EAAE,CAAC;QAOpB,iBAAY,GAAS,EAAE,CAAC;QAOtB,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,0CAA0C,CAAC;QAC3D,IAAI,CAAC,QAAQ,IAAI,aAAa,GAAG,gBAAgB,CAAC;QAClD,IAAI,CAAC,QAAQ,IAAI,gBAAgB,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ,IAAI,wBAAwB,CAAC;QAC1C,IAAI,CAAC,QAAQ,IAAI,+BAA+B,CAAC;QACjD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,mCAAW,GAAX,UAAY,MAAS;QAAT,oCAAS;QACnB,IAAI,MAAM,GAAG,IAAI,gEAAU,EAAE,CAAC;QAC9B,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;YAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACtB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,2BAAG,GAAH,UAAI,GAAG,EAAE,MAAS;QAAT,oCAAS;QAChB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC;IAC7F,CAAC;IAED,iCAAS,GAAT,UAAU,MAAM,EAAE,GAAG,EAAE,IAAO,EAAE,KAAQ;QAAjB,gCAAO;QAAE,kCAAQ;QACtC,IAAI,OAAO,GAAG,IAAI,iEAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACtE,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,GAAG,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,WAAE,MAAM,UAAE,CAAC,CAAC,CAAC;IACzG,CAAC;IAED,4BAAI,GAAJ,UAAK,GAAG,EAAE,IAAO,EAAE,KAAQ;QAAjB,gCAAO;QAAE,kCAAQ;QACzB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IACD,2BAAG,GAAH,UAAI,GAAG,EAAE,IAAO,EAAE,KAAQ;QAAjB,gCAAO;QAAE,kCAAQ;QACxB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,oCAAY,GAAZ,UAAa,GAAG;QAAhB,iBAQC;QAPC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE;aACjB,IAAI,CAAC,aAAG;YACP,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,MAAM,CAAC,GAAG,CAAC;QACb,CAAC,CAAC;aACD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;IAC9B,CAAC;IAED,iCAAS,GAAT,UAAU,QAAa;QAAvB,iBAIC;QAJS,0CAAa;QACrB,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,UAAC,EAAE,IAAK,YAAI,CAAC,aAAa,CAAC,EAAE,CAAC,EAAtB,CAAsB,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,qCAAa,GAAb,UAAc,EAAE;QAAhB,iBAaC;QAZC,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;YAAC,MAAM,CAAC;QAC1C,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;YAAC,MAAM;QACpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YACjB,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,GAAG,QAAQ,GAAG,EAAE,CAAC,IAAI;YAC/D,OAAO,EAAE,EAAC,cAAc,EAAE,kBAAkB,EAAC;SAC9C,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;YACX,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAClE,KAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;YACV,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8BAAM,GAAN;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;YAAC,MAAM,CAAC;QAC1C,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,iCAAS,GAAT;QAAA,iBAeC;QAdC,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;YAAC,MAAM,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACnE,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,YAAY,CAAC;gBAAC,MAAM,CAAC;YAC/B,KAAI,CAAC,GAAG,CAAC,OAAO,CAAC;iBACd,IAAI,CAAC,cAAI;gBACR,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC;iBACD,IAAI,CAAC;gBACJ,EAAE,CAAC,CAAC,KAAI,CAAC,cAAc,CAAC;oBAAC,KAAI,CAAC,cAAc,EAAE,CAAC;gBAC/C,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAgB,GAAhB,UAAiB,QAAQ;QAAzB,iBAQC;QAPC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC;aAC3B,IAAI,CAAC,cAAI;YACR,MAAM,CAAC,KAAI,CAAC,GAAG,CAAC,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,kBAAkB,CAAC;QAC3E,CAAC,CAAC;aACD,IAAI,CAAC,kBAAQ;YACZ,KAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,uCAAe,GAAf;QAAA,iBAGC;QAFC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;aACvD,IAAI,CAAC,eAAK,IAAI,YAAI,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,CAAC,IAAI,EAAX,CAAW,CAAC,EAAlD,CAAkD,CAAC,CAAC;IACvE,CAAC;IAED,6CAAqB,GAArB,UAAsB,QAAQ,EAAE,YAAY;QAC1C,MAAM,CAAC,uCAAqC,QAAQ,gBAAW,kBAAkB,SAAI,YAAY,eAAY;IAC/G,CAAC;IAEO,mCAAW,GAAnB,UAAqB,KAAU;QAC7B,IAAI,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5C,KAAK,CAAC,MAAM,CAAC,CAAC,CAAI,KAAK,CAAC,MAAM,WAAM,KAAK,CAAC,UAAY,CAAC,CAAC,CAAC,cAAc,CAAC;QAC1E,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACH,oBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;ACxJiF;AAC3C;AACA;AACE;AACA;AACa;AAItD,IAAM,oBAAoB,GAAG,mBAAO,CAAC,oCAAiC,CAAC,CAAC;AAiBxE;IAYE,qBAAoB,MAAoB,EACpB,IAAS,EACT,KAAW,EACX,OAAsB,EACtB,OAAsB,EACtB,MAAoB;QALxC,iBAkCC;QAlCmB,WAAM,GAAN,MAAM,CAAc;QACpB,SAAI,GAAJ,IAAI,CAAK;QACT,UAAK,GAAL,KAAK,CAAM;QACX,YAAO,GAAP,OAAO,CAAe;QACtB,YAAO,GAAP,OAAO,CAAe;QACtB,WAAM,GAAN,MAAM,CAAc;QAfxC,UAAK,GAAc,EAAE,CAAC;QACtB,SAAI,GAAY,EAAE,CAAC;QAEnB,WAAM,GAAqB,IAAI,2DAAY,EAAE,CAAC;QAK9C,kBAAa,GAAS,EAAE,CAAC;QAQvB,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,eAAK;YAC9D,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBAAC,MAAM,CAAC,KAAI,CAAC,eAAe,EAAE,CAAC;YAC1C,IAAI,GAAG,GAAG,KAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAC7C,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACxB,EAAE,CAAC,CAAC,QAAQ,CAAC;gBAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YACrC,QAAQ,GAAG,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;gBAChF,IAAI,WAAW,GAAG,KAAK,CAAC;gBACxB,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;oBACnB,WAAW,GAAG,KAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC3C,aAAa,GAAG,IAAI,CAAC;gBACvB,CAAC;gBACD,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;oBAAC,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACjD,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAM;YAClD,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACX,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAC,CAAC,CAAC;YACvE,CAAC;QACH,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,cAAI;YACtD,IAAI,GAAG,GAAG,KAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAC7C,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACxB,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,iCAAW,GAAX;QACE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,EAAE,EAAf,CAAe,CAAC,CAAC;IACnD,CAAC;IAED,2CAAqB,GAArB;QACE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;YAAC,MAAM,CAAC;QACtD,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAAC,MAAM,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,KAAK,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACnC,IAAI,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,WAAC;YAC/B,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAChE,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACT,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,6BAAO,GAAP,UAAQ,IAAS;QAAT,kCAAS;QACf,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC7C,IAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QAChC,IAAI,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;QAC5C,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC5C,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACT,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YAC3B,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;YACnD,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC;YAC9D,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAC,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC;IACvE,CAAC;IAED,mCAAa,GAAb,UAAc,GAAG;QACf,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,EAAE,KAAK,SAAS,CAAC;QAC9C,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO;eACb,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/E,MAAM,CAAC;QACT,CAAC;QACD,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,EAAE,CAAC,CAAC,IAAI,CAAC,yBAAyB;eAC3B,IAAI,CAAC,yBAAyB,CAAC,UAAU,KAAK,GAAG;eACjD,IAAI,CAAC,yBAAyB,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YACtE,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;QACD,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,GAAG,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjF,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,yBAAyB,GAAG;YAC/B,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;SAC7B,CAAC;QACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,6BAAO,GAAP;QACE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC;IAED,6BAAO,GAAP,UAAQ,QAAQ;QAAhB,iBAOC;QANC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;YAAC,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAzB,CAAyB,CAAC,CAAC,OAAO,CAAC,cAAI;YAC1D,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAC,IAAI,YAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAA3B,CAA2B,CAAC,CAAC;YAC9D,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnC,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAe,GAAf;QACE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,mCAAa,GAAb,UAAc,IAAI;QAChB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACxC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,IAAI,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QAClE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC;YAC1B,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBACnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,qCAAe,GAAf,UAAgB,MAAM;QACpB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACtC,MAAM,CAAC;QACT,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YACzF,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5D,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;YACtE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC7C,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QACjD,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACZ,EAAE,CAAC,CAAC,YAAY,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;YACvC,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,eAAe,CAAC,CAAC,CAAC;gBAC3C,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,uCAAiB,GAAjB,UAAkB,MAAM;QACtB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,CAAC,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,mCAAa,GAAb,UAAc,IAAI;QAChB,IAAI,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,qCAAe,GAAf,UAAgB,IAAI,EAAE,KAAU;QAAV,oCAAU;QAC9B,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC/B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACtC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YAChE,EAAE,CAAC,CAAC,KAAK,CAAC;gBAAC,MAAM,CAAC,KAAK,CAAC;QAC1B,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAED,6BAAO,GAAP,UAAQ,IAAI;QACV,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,KAAK,IAAI,EAAf,CAAe,CAAC,CAAC;IACpD,CAAC;IAED,mCAAa,GAAb,UAAc,IAAI,EAAE,KAAK;QACvB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,CAAC,KAAK,KAAK,EAAjB,CAAiB,CAAC,CAAC;IACtD,CAAC;IAED,oCAAc,GAAd;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,iCAAW,GAAX;QAAA,iBAEC;QADC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAC,IAAI,YAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAApB,CAAoB,CAAC,CAAC;IAChD,CAAC;IAED,kCAAY,GAAZ,UAAa,IAAI;QAAjB,iBAGC;QAFC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAC,IAAI,YAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAApB,CAAoB,CAAC,CAAC;IACtE,CAAC;IAED,6CAAuB,GAAvB,UAAwB,IAAI,EAAE,KAAU;QAAV,oCAAU;QACtC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,KAAK,IAAI,EAAf,CAAe,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED,yCAAmB,GAAnB,UAAoB,IAAI,EAAE,KAAU;QAAV,oCAAU;QAClC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC/B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACtC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC;YACd,CAAC;YACD,IAAI,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YACvE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,MAAM,CAAC,YAAY,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,uCAAiB,GAAjB,UAAkB,IAAI,EAAE,KAAU;QAAlC,iBAOC;QAPuB,oCAAU;QAChC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC/B,KAAK,CAAC,OAAO,CAAC,cAAI;YAChB,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAAC,KAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/D,IAAI,eAAe,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,MAAM,EAAT,CAAS,CAAC,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;QAC5E,CAAC,CAAC;IACJ,CAAC;IAED,sCAAgB,GAAhB;QAAA,iBAUC;QATC,IAAI,CAAC,iBAAiB,CAAC,WAAC;YACtB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC;YACxB,EAAE,CAAC,CAAC,KAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC;YACnD,EAAE,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;gBACxB,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAAC,MAAM,CAAC,IAAI,CAAC;gBACtE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;oBAAC,MAAM,CAAC,IAAI,CAAC;YAClF,CAAC;YACD,MAAM,CAAC,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IACH,kBAAC;AAAD,CAAC;;AAED;IAIE,mCAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExC,6CAAS,GAAT,UAAU,OAAc,EAAE,IAAW;QAArC,iBAOC;QANC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAAC,MAAM,CAAC,EAAE,CAAC;QACxB,IAAI,KAAK,GAAG,OAAO;aACZ,GAAG,CAAC,WAAC,IAAI,YAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAC,MAAM,EAAE,IAAI,EAAC,EAA1C,CAA0C,CAAC;aACpD,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,EAAzB,CAAyB,CAAC,CAAC;QAC9C,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IACH,gCAAC;AAAD,CAAC;;AAED;IAIE,8BAAoB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE5C,wCAAS,GAAT,UAAU,OAAc,EAAE,IAAW;QAArC,iBAaC;QAZC,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC;YAAC,MAAM,CAAC,KAAK,CAAC;QAC7C,OAAO,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,GAAG,EAAL,CAAK,CAAC,CAAC;QAC1C,IAAI,YAAY,GAAG,cAAI;YACrB,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;gBAAC,MAAM,CAAC,KAAK,CAAC;YAClD,IAAI,aAAa,GAAG,CAAC,KAAI,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5E,IAAI,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/D,MAAM,CAAC,CAAC,aAAa,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,WAAC,IAAI,mBAAY,CAAC,CAAC,CAAC,EAAf,CAAe,CAAC,CAAC,MAAM,CAAC;QACtG,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,cAAI,IAAI,mBAAY,CAAC,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;QACvD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IACH,2BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;ACvUuC;AACU;AAEX;AACA;AACE;AACT;AAKhC,IAAM,iBAAiB,GAAG;IACxB,WAAW,EAAE,OAAO;CACrB;AAED,IAAM,QAAQ,GAAG;IACf,aAAa;IACb,cAAc;IACd,QAAQ;IACR,QAAQ;IACR,gBAAgB;IAChB,WAAW;IACX,OAAO;IACP,YAAY;IACZ,eAAe;IACf,iBAAiB;CAClB,CAAC;AACF,IAAM,sBAAsB,GAAG,UAAS,MAAM;IAC5C,EAAE,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC;QAAC,MAAM,CAAC;IAC/B,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC;IACb,CAAC;IAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC;IACb,CAAC;IAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC;IACb,CAAC;AACH,CAAC;;AAUD;IAeE,wBAAoB,IAAe,EACf,MAAoB,EACpB,OAAsB,EACvB,OAAqB;QAHxC,iBA+BC;QA/BmB,SAAI,GAAJ,IAAI,CAAW;QACf,WAAM,GAAN,MAAM,CAAc;QACpB,YAAO,GAAP,OAAO,CAAe;QACvB,YAAO,GAAP,OAAO,CAAc;QAfxC,gBAAW,GAAwB,IAAI,wDAAe,CAAC,IAAI,CAAC,CAAC;QAE7D,aAAQ,GAAS,EAAE,CAAC;QAMpB,qBAAgB,GAAO,EAAE,CAAC;QAE1B,kBAAa,GAAS,EAAE,CAAC;QAMvB,MAAM,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAI;YAC9C,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAC,MAAM,CAAC;YAClB,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE;gBAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;gBAC1B,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;aACvB,CAAC;QACJ,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,oBAAU;YAChE,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC;gBAAC,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC,CAAC;QACJ,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE7F,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,eAAK;YAC9D,EAAE,CAAC,CAAC,KAAK,CAAC;gBAAC,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5C,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,KAAI,CAAC,gBAAgB,CAAC;gBAAC,OAAO,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,YAAE;YAC9F,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;YACtC,EAAE,CAAC,CAAC,KAAI,CAAC,cAAc,IAAI,KAAI,CAAC,cAAc,CAAC,KAAK,KAAK,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC5E,IAAI,UAAU,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,KAAK,KAAI,CAAC,aAAa,EAA9B,CAA8B,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9E,EAAE,CAAC,CAAC,UAAU,CAAC;oBAAC,KAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACnD,CAAC;QACH,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,oCAAW,GAAX;QACE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,EAAE,EAAf,CAAe,CAAC,CAAC;IACnD,CAAC;IAED,qCAAY,GAAZ,UAAa,IAAI;QAAjB,iBAyBC;QAxBC,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC;YAAC,MAAM,CAAC;QACtC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM,CAAC;QACT,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC/B,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;gBACvB,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,KAAK,KAAI,CAAC,aAAa,EAA9B,CAA8B,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;YACpF,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,wCAAe,GAAf,UAAgB,OAAO;QAAvB,iBAmBC;QAlBC,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAC,UAAU,EAAE,OAAO,CAAC,KAAK,EAAC,CAAC,CAAC;QAC1D,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,OAAO,GAAG,UAAU,GAAG,IAAI,GAAG,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,eAAe,CAAC;QAC7F,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE;aAC/B,IAAI,CAAC,cAAI;YACR,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC;aACD,IAAI,CAAC,cAAM,YAAI,CAAC,UAAU,EAAE,EAAjB,CAAiB,CAAC;aAC7B,IAAI,CAAC,cAAI,IAAI,YAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,MAAM,CAAC,EAAlC,CAAkC,CAAC;aAChD,IAAI,CAAC,cAAM,YAAI,CAAC,OAAO,GAAG,KAAK,EAApB,CAAoB,CAAC,CAAC;IACtC,CAAC;IAED,mCAAU,GAAV,UAAW,KAAK;QACd,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,KAAK,KAAK,EAAjB,CAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,uCAAc,GAAd,UAAe,IAAI;QACjB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAO;YACjC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC;YAC9C,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC;YAC9E,MAAM,CAAC,KAAK,CAAC;QACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,8CAAqB,GAArB,UAAsB,EAAE,EAAE,KAAQ;QAAR,kCAAQ;QAChC,IAAI,UAAU,GAAG,EAAE,CAAC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QACpF,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,mCAAU,GAAV,UAAW,QAAe;QAAf,wCAAe;QACxB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC;QACD,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC;QACD,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,CAAC,OAAO,CAAC;IACjB,CAAC;IAED,uCAAc,GAAd,UAAe,IAAI;QAAnB,iBA+HC;QA9HC,IAAI,GAAG,GAAO,EAAE,CAAC;QACjB,IAAI,EAAE,GAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3D,MAAM,CAAC;QACT,CAAC;QACD,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACf,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAC;gBACpD,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;oBAAC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAED,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC9F,GAAG,CAAC,MAAM,GAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAChC,GAAG,CAAC,MAAM,GAAK,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACpC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7G,GAAG,CAAC,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAChC,IAAI,QAAQ,GAAG,EAAE,CAAC,QAAQ,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACnD,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,IAAM,QAAQ,GAAG,UAAC,SAAS,EAAE,MAAM;YACjC,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;gBAC9B,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC5B,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;YACrC,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC;gBACnC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC,IAAI,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC;YAClE,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACrC,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;gBAChC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;YACvC,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC;gBACvC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC;gBAC9B,IAAI;oBAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;gBACnB,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,GAAG,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAC9D,WAAW,GAAG,mCAAmC,CAAC;YACpD,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC;gBACpC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC5B,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;gBACnC,EAAE,CAAC,CAAC,SAAS,CAAC,gBAAgB,KAAK,OAAO,CAAC;oBAAC,cAAc,GAAG,IAAI,CAAC;YACpE,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC;gBACnC,WAAW,GAAG,SAAS,CAAC,WAAW,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACnD,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;oBACb,EAAE,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC;wBAC/D,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC9B,CAAC;oBACD,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACjD,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,GAAG,CAAC,IAAI,GAAG,WAAW,KAAK,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC9E,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnD,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAM;gBACxB,GAAG,CAAC,CAAC,IAAI,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC;oBAC3B,IAAI,GAAG,GAAG,KAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;oBACnD,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC;wBAC1B,EAAE,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4BACnC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC;gCACtB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;4BACxD,CAAC;4BAAC,IAAI,CAAC,CAAC;gCACN,QAAQ,CAAC,GAAG,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;4BAChD,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;wBAC/E,EAAE,CAAC,CAAC,iBAAiB,CAAC,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4BACxC,QAAQ,CAAC,EAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,CAAC,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBAClG,CAAC;wBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC;4BACnC,QAAQ,CAAC,EAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAC,EAAE,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBAC7E,CAAC;wBAAC,IAAI,CAAC,CAAC;4BACN,QAAQ,CAAC,EAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAC,EAAE,SAAS,GAAG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;wBAC1F,CAAC;wBACD,UAAU,GAAG,IAAI,CAAC;oBACpB,CAAC;oBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAClG,QAAQ,CAAC,EAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,GAAG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACxI,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,UAAC,SAAS;YAC9B,IAAI,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACrC,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC;gBAC/B,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACzD,IAAI,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,cAAc,CAAC;oBACxF,IAAI,EAAE,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC3B,GAAG,CAAC,CAAC,IAAI,KAAG,IAAI,OAAO,CAAC,CAAC,CAAC;wBACxB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAG,CAAC,CAAC,CAAC,CAAC;4BACjB,QAAQ,CAAC;gCACP,EAAE,EAAE,SAAS,CAAC,EAAE;gCAChB,IAAI,EAAE,KAAG;6BACV,EAAE,OAAO,CAAC,KAAG,CAAC,CAAC;wBAClB,CAAC;oBACH,CAAC;oBACD,MAAM,CAAC;gBACT,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;oBACtB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;wBAAC,MAAM,CAAC;oBAC3B,IAAI,GAAG,GAAG,sBAAsB,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;oBAC7D,EAAE,CAAC,CAAC,GAAG,CAAC;wBAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YACD,EAAE,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC1C,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC;oBAC5B,MAAM,GAAG,EAAE,CAAC;gBACd,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,MAAM,CAAC;gBACT,CAAC;YACH,CAAC;YACD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,CAAC,IAAI,KAAG,IAAI,UAAU,CAAC,CAAC,CAAC;YAC3B,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAC1B,GAAG,CAAC,IAAI,CAAC,KAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,KAAG,CAAC,IAAI,UAAU,CAAC,KAAG,CAAC,CAAC;QACnD,CAAC;QACD,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YAChB,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;YAChC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC;QAC5C,CAAC;QACD,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;YACnB,GAAG,CAAC,IAAI,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACvD,OAAO,GAAG,CAAC,KAAK,CAAC;QACnB,CAAC;QACD,MAAM,CAAC,GAAG,CAAC;IACb,CAAC;IAED,gCAAO,GAAP,UAAQ,IAAI;QACV,IAAI,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,OAAO,GAAO;YAChB,GAAG,EAAE,GAAG,CAAC,QAAQ,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI;YACjD,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE;YAChC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,IAAI,EAAE,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;SACzE;QACD,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACf,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC;QACpF,CAAC;QACD,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YACd,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,CAAC,EAAE,GAAG;gBACpC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;oBAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC;gBAClC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC,CAAC;QACJ,CAAC;QACD,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YACd,OAAO,CAAC,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC9B,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1E,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;QACpE,CAAC;QACD,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACxB,IAAI,QAAQ,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB,CAAC;YACzG,OAAO,CAAC,GAAG,GAAG,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;QACvC,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,yCAAgB,GAAhB,UAAiB,GAAG,EAAE,KAAQ,EAAE,IAAS;QAAnB,kCAAQ;QAAE,kCAAS;QACvC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,WAAC,IAAI,UAAG,GAAG,GAAG,CAAC,CAAC,CAAC,EAAZ,CAAY,CAAC,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAC1B,CAAC;IAED,oCAAW,GAAX,UAAY,GAAG,EAAE,KAAQ,EAAE,IAAS,EAAE,IAAO;QAA5B,kCAAQ;QAAE,kCAAS;QAAE,gCAAO;QAC3C,EAAE,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC;YAAC,MAAM,CAAC,GAAG,CAAC;QACxD,IAAI,GAAG,IAAI,IAAI,GAAG,CAAC;QACnB,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,GAAG,CAAC;QACb,CAAC;QACD,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAClE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;gBACpC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACvD,CAAC;YACD,MAAM,CAAC,GAAG,CAAC;QACb,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC;YACnC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;gBACpB,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QACD,MAAM,CAAC,GAAG,CAAC;IACb,CAAC;IAED,uCAAc,GAAd,UAAe,GAAG;QAChB,QAAQ,CAAC,OAAO,CAAC,UAAC,CAAC;YACjB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;gBACxD,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,mCAAU,GAAV;QAAA,iBAoGC;QAnGC,IAAM,YAAY,GAAG,UAAC,KAAK,EAAE,SAAS,EAAE,EAAE;YACxC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtF,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;gBAAC,SAAS,GAAG,KAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;YACzF,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC;gBACxB,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACrD,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;oBACjB,IAAI,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;oBACjC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;oBAChC,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;oBACrD,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;gBAC3C,CAAC;YACH,CAAC;YACD,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;gBAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5D,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;QAED,IAAM,YAAY,GAAG,UAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc;YAC1D,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC;YAClC,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,IAAI,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAClD,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,IAAI,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAClD,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,IAAI,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAClD,EAAE,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;YAC/D,IAAI,UAAU,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;YACxE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,GAAG,IAAK,mBAAY,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAApC,CAAoC,CAAC,CAAC;YACpF,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAI,cAAc,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAjC,CAAiC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrF,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;oBACpB,IAAI,WAAW,GAAG;wBAChB,EAAE,EAAE,QAAQ;wBACZ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,EAAE,CAAC,QAAQ;wBACjB,cAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAC9B,MAAM,EAAE,IAAI;qBACb;oBACD,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YACD,KAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC;QACnD,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YACxC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;QACxD,CAAC;QAED,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACpC,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnC,GAAG,CAAC,CAAC,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3C,EAAE,CAAC,CAAC,+CAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;wBAAC,QAAQ,CAAC;oBAC3D,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;oBACzC,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC;wBAAC,YAAY,GAAG,IAAI,CAAC;gBACvC,CAAC;YACH,CAAC;YACD,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,WAAC;oBACvE,IAAI,GAAG,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACZ,MAAM,CAAC,GAAG,CAAC;gBACb,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACnC,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC;YAC1C,GAAG,CAAC,CAAC,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3C,EAAE,CAAC,CAAC,+CAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;oBAAC,QAAQ,CAAC;gBAC3D,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;YAC1I,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB;YACrD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,GAAG,CAAC,CAAC,IAAI,MAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACnC,GAAG,CAAC,CAAC,IAAI,QAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAI,CAAC,CAAC,CAAC,CAAC;gBAC3C,EAAE,CAAC,CAAC,+CAAO,CAAC,OAAO,CAAC,QAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;oBAAC,QAAQ,CAAC;gBAC3D,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAI,CAAC,CAAC,QAAM,CAAC,CAAC;gBAChD,IAAI,EAAE,GAAG,SAAS,CAAC,WAAW,IAAI,QAAM,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,MAAI,CAAC;gBACpE,IAAI,OAAO,GAAW;oBACpB,EAAE;oBACF,IAAI;oBACJ,MAAM;oBACN,SAAS;oBACT,KAAK,EAAE,EAAE;iBACV;gBACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,mCAAU,GAAV,UAAW,kBAAkB,EAAE,MAAM;QACnC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;IACtH,CAAC;IAED,mCAAU,GAAV,UAAW,OAAO,EAAE,MAAM,EAAE,OAAU,EAAE,SAAc;QAAtD,iBAwCC;QAxC2B,sCAAU;QAAE,4CAAc;QACpD,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;YAAC,MAAM,CAAC;QACzB,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7D,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;YAAC,MAAM,CAAC;QAChC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAAC,MAAM;QAC1C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACd,IAAI,MAAI,GAAG,EAAE,CAAC;YACd,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,EAAD,CAAC,CAAC;iBACtC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAA1C,CAA0C,CAAC;iBACpD,MAAM,CAAC,WAAC,IAAI,cAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAzB,CAAyB,CAAC;iBACtC,OAAO,CAAC,WAAC,IAAI,aAAI,GAAG,MAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAArB,CAAqB,CAAC,CAAC;YACzC,GAAG,CAAC,CAAY,UAAI,EAAJ,eAAI,EAAJ,kBAAI,EAAJ,IAAI;gBAAf,IAAI,GAAG;gBACV,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC7C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACnB;QACH,CAAC;QACD,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,EAAD,CAAC,CAAC;aACxB,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAA1C,CAA0C,CAAC;aACpD,MAAM,CAAC,WAAC,IAAI,cAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAzB,CAAyB,CAAC;aACtC,OAAO,CAAC,WAAC,IAAI,WAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAArB,CAAqB,CAAC,CAAC;QACzC,GAAG,CAAC,CAAY,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI;YAAf,IAAI,GAAG;YACV,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACnB;QACD,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YACnC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAAC,QAAQ;YAC1C,IAAI,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACvC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBAAC,QAAQ,CAAC;YACzB,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;gBAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACtE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBAC5E,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,SAAS;gBAChB,YAAY,EAAE,SAAS;aAC1B,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,qCAAY,GAAZ,UAAa,MAAM,EAAE,GAAG,EAAE,OAAU;QAApC,iBAeC;QAfyB,sCAAU;QAClC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7D,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/E,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAAC,MAAM;QAC1C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,EAAD,CAAC,CAAC;aACpD,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAA1C,CAA0C,CAAC;aACpD,MAAM,CAAC,WAAC,IAAI,cAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAzB,CAAyB,CAAC;aACtC,OAAO,CAAC,WAAC,IAAI,WAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAArB,CAAqB,CAAC,CAAC;QACzC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,GAAG,CAAC,CAAY,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI;YAAf,IAAI,GAAG;YACV,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YAChD,EAAE,CAAC,CAAC,IAAI,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC;SACvB;IACH,CAAC;IACH,qBAAC;AAAD,CAAC;;;;;;;;;;;;;;;AC/hBoE;AAErE;IAEE,yBAC+B,UAAe;QAAf,eAAU,GAAV,UAAU,CAAK;IAC1C,CAAC;IAEL,sBAAW,sCAAS;aAApB;YACE,MAAM,CAAC,0EAAiB,CAAC,IAAI,CAAC,UAAU,CAAC;QAC3C,CAAC;;;OAAA;IAED,sBAAW,qCAAQ;aAAnB;YACE,MAAM,CAAC,yEAAgB,CAAC,IAAI,CAAC,UAAU,CAAC;QAC1C,CAAC;;;OAAA;IACH,sBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;AChBsD;AACZ;AAC8B;AAC/B;AACY;AAEb;AAIzC;IAKE,uBAAmB,MAAc,EACb,QAAiB,EACjB,KAAW,EACX,IAAS,EACT,OAAsB,EACtB,IAAW;QAL/B,iBAqCC;QArCkB,WAAM,GAAN,MAAM,CAAQ;QACb,aAAQ,GAAR,QAAQ,CAAS;QACjB,UAAK,GAAL,KAAK,CAAM;QACX,SAAI,GAAJ,IAAI,CAAK;QACT,YAAO,GAAP,OAAO,CAAe;QACtB,SAAI,GAAJ,IAAI,CAAO;QAP/B,kBAAa,GAAS,EAAE,CAAC;QAQvB,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,wDAAe,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAG;YACtD,IAAI,KAAK,GAAO,GAAG,CAAC;YACpB,EAAE,CAAC,CAAC,KAAK,YAAY,gEAAe,CAAC,CAAC,CAAC;gBACrC,IAAI,QAAQ,GAAG,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3C,EAAE,CAAC,CAAC,QAAQ,KAAK,KAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;oBAC3C,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,YAAY,8DAAa,CAAC,CAAC,CAAC;gBAC1C,IAAI,QAAQ,GAAG,KAAI,CAAC,eAAe,EAAE,CAAC;gBACtC,EAAE,CAAC,CAAC,QAAQ,KAAK,KAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;uBACtC,SAAS,KAAK,KAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9D,SAAS,GAAG,KAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACpD,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE;wBAC1B,GAAG,EAAE,KAAK,CAAC,GAAG;qBACf,CAAC,CAAC;oBACH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,UAAC,GAAG,EAAE,KAAK;wBAC3C,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAtB,CAAsB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACvE,MAAM,CAAC,KAAK,CAAC;oBACf,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACpD,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACzC,KAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAC,CAAC,CAAC;oBACnE,KAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAC,CAAC,CAAC;oBAC/E,KAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC;oBAC3F,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,mCAAW,GAAX;QACE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,EAAE,EAAf,CAAe,CAAC,CAAC;IACnD,CAAC;IAED,gCAAQ,GAAR,UAAS,IAAI,EAAE,UAAgB,EAAE,MAAa;QAA9C,iBAUC;QAVc,+CAAgB;QAAE,oCAAa;QAC5C,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC;QACD,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAc,GAAd,UAAe,MAAM;QACnB,IAAI,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,QAAQ,GAAO,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;YAAC,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACjD,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC;YAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;gBAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,EAAC,WAAW,eAAC,CAAC,CAAC;IAC3C,CAAC;IAED,sCAAc,GAAd;QACE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,qCAAa,GAAb;QACE,IAAI,QAAQ,GAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACnE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED,sCAAc,GAAd;QACE,IAAI,QAAQ,GAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QACxE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED,mCAAW,GAAX,UAAY,QAAQ;QAClB,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3D,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAI;YAC5C,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9D,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAED,uCAAe,GAAf;QACE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,CAAC;IAED,0CAAkB,GAAlB;QACE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnH,CAAC;IAED,uCAAe,GAAf;QACE,IAAI,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACrC,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,EAAE,CAAC,CAAC,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC;YACzC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,4CAAoB,GAApB;QACE,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC;QAC5C,EAAE,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC;YAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,CAAC;IACb,CAAC;IAED,4CAAoB,GAApB,UAAqB,GAAG;QACtB,IAAI,CAAC,eAAe,EAAE,CAAC,UAAU,GAAG,GAAG,CAAC;IAC1C,CAAC;IAED,oCAAY,GAAZ,UAAa,IAAO;QAAP,gCAAO;QAClB,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;YAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,+BAAO,GAAP,UAAQ,MAAM;QACZ,IAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACtC,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACrF,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,mCAAW,GAAX;QACE,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACzD,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,sCAAc,GAAd,UAAe,OAAO,EAAE,aAAa;QACnC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACvC,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QAClC,EAAE,CAAC,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC;YACnC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YAC7B,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC;QACjD,CAAC;QACD,iBAAiB,KAAK;YACpB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBAAC,MAAM,CAAC;YACnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;gBACtC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,EAAE,CAAC;oBAAC,MAAM,CAAC,IAAI,CAAC;gBAC/C,IAAI,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACnC,EAAE,CAAC,CAAC,KAAK,CAAC;oBAAC,MAAM,CAAC,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,IAAI,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAClC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1F,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,yCAAiB,GAAjB,UAAkB,IAAI;QACpB,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACxC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,gDAAwB,GAAxB,UAAyB,IAAI;QAC3B,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC;QACxC,IAAI,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACrC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;YAAC,IAAI,IAAI,GAAG,CAAC;QACtD,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IACH,oBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;AC/LsD;AAEf;AACT;AAEU;AACF;AACc;AAIrD,IAAM,YAAY,GAAG,IAAI,CAAC;AAE1B;IAUE,uBACU,MAAoB,EACpB,OAAsB,EACtB,IAAW,EACX,eAA+B;QAJzC,iBAiBC;QAhBS,WAAM,GAAN,MAAM,CAAc;QACpB,YAAO,GAAP,OAAO,CAAe;QACtB,SAAI,GAAJ,IAAI,CAAO;QACX,oBAAe,GAAf,eAAe,CAAgB;QANzC,kBAAa,GAAS,EAAE,CAAC;QAQvB,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;QAC3D,IAAI,CAAC,aAAa,GAAG,IAAI,wDAAe,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QACjD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,aAAG;YAChD,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAC,MAAM,CAAC;YACjB,IAAI,MAAM,GAAO,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,GAAG,KAAI,CAAC,KAAK,IAAI,IAAI,CAAC;YAClC,KAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,mCAAW,GAAX;QACE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,EAAE,EAAf,CAAe,CAAC,CAAC;IACnD,CAAC;IAED,2CAAmB,GAAnB;QAAA,iBAYC;QAXC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,SAAS,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC1B,KAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;gBAC1B,EAAE,CAAC,CAAC,KAAI,CAAC,KAAK,KAAK,SAAS,CAAC;oBAAC,MAAM,CAAC;gBACrC,SAAS,GAAG,KAAI,CAAC,KAAK,CAAC;gBACvB,KAAI,CAAC,IAAI,CAAC,GAAG,CAAC;oBACZ,KAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,YAAY,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAa,GAAb;QAAA,iBAaC;QAZC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC,CAAC,CAAC;QAClD,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,UAAC,GAAG,EAAE,OAAO;gBACjD,EAAE,CAAC,CAAC,GAAG,CAAC;oBAAC,MAAM,GAAG,CAAC;gBACnB,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC,CAAC;QACJ,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAC,MAAM,CAAC,UAAU,CAAC,cAAM,YAAI,CAAC,aAAa,EAAE,EAApB,CAAoB,EAAE,GAAG,CAAC,CAAC;YACpE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,gCAAQ,GAAR,UAAS,KAAK;QAAd,iBAgBC;QAfC,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC;QACT,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC;QACzD,IAAM,UAAU,GAAG,mBAAO,CAAC,gEAA+B,CAAC,CAAC;QAC5D,IAAI,MAAM,GAAG,IAAI,UAAU,CAAC;QAC5B,MAAM,CAAC,SAAS,GAAG,WAAC;YAClB,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,KAAK,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBACzC,KAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACrD,CAAC;YACD,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC;QACD,MAAM,CAAC,WAAW,CAAC,EAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,SAAC,CAAC,CAAC;IACzD,CAAC;IACH,oBAAC;AAAD,CAAC;;;;;;;;;;;;;;;AC5FoE;AAC5B;AAIzC,MAAM,CAAC,eAAe,GAAG,UAAS,EAAE;IAClC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,IAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY;IAC/C,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,GAAG,qBAAqB,CAAC;AAEzH;IAOE,uBAAoB,IAAW,EAAU,OAAsB;QAA3C,SAAI,GAAJ,IAAI,CAAO;QAAU,YAAO,GAAP,OAAO,CAAe;QAL/D,YAAO,GAAK,EAAE,CAAC;QAGf,kBAAa,GAAO,EAAE,CAAC;QACvB,aAAQ,GAAqB,IAAI,2DAAY,EAAE,CAAC;QAE9C,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,kCAAU,GAAV,UAAW,OAAO;QAAlB,iBAMC;QALC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,EAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC;gBAAC,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1D,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oCAAY,GAAZ;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IAED,kCAAU,GAAV,UAAW,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM;QAArD,iBAoBC;QAnBC,IAAI,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;QACnC,IAAI,GAAG,GAAG,kBAAkB,CAAC,gBAAgB,CAAC;QAC9C,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,QAAQ,GAAG,cAAc,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG;YACnB,IAAI,QAAE,QAAQ;SACf;QACD,GAAG,IAAI,iBAAiB,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACpE,GAAG,IAAI,gBAAgB,GAAG,QAAQ,CAAC;QACnC,GAAG,IAAI,aAAa,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACpD,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACtB,GAAG,IAAI,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,GAAG,IAAI,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,EAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAC,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC3B,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YACjC,KAAI,CAAC,aAAa,CAAC,OAAO,GAAG,EAAC,OAAO,WAAE,MAAM,UAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAa,GAAb,UAAc,EAAE;QAAhB,iBA6BC;QA5BC,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,MAAM;QACR,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC;QACT,CAAC;QACD,EAAE,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,EAAC,MAAM,EAAE,EAAE,CAAC,YAAY,EAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACvC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;YAC7C,QAAQ,IAAI,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC;YAC/B,QAAQ,IAAI,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACnE,QAAQ,IAAI,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC5E,QAAQ,IAAI,gBAAgB,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjB,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,QAAQ;gBACb,OAAO,EAAE,EAAC,cAAc,EAAE,kBAAkB,EAAC;aAC9C,CAAC,CAAC,IAAI,CAAC,cAAI;gBACV,KAAI,CAAC,UAAU,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAC,CAAC,CAAC;gBAC7C,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACvC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAG;gBACT,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,uCAAe,GAAf,UAAgB,SAAc;QAA9B,iBAOC;QAPe,4CAAc;QAC5B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC;QACnC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACd,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC;YACnE,iEAAiE;QACnE,CAAC;QACD,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,WAAC,IAAI,YAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAf,CAAe,CAAC,CAAC,MAAM,CAAC;IACzE,CAAC;IAED,2CAAmB,GAAnB;QACE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC9B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACH,oBAAC;AAAD,CAAC;;;;;;;;;;;;;AC1GwC;AAIzC,IAAM,KAAK,GAAO,EAAE,CAAC;AACrB,KAAK,CAAC,OAAO,GAAG;IACd,EAAE,EAAE,SAAS;IACb,KAAK,EAAE,CAAC;YACN,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,cAAc;YACtB,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,qKAIZ;SACE,EAAE;YACD,KAAK,EAAE,qBAAqB;YAC5B,MAAM,EAAE,YAAY;YACpB,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE,+DAEZ;SACE,EAAE;YACD,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,mBAAmB;YAC3B,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,kFAGZ;SACE,EAAE;YACD,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,aAAa;YACrB,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,2IAGZ;SACE,EAAE;YACD,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,iBAAiB;YACzB,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,6DAEZ;SACE,CAAC;CACH;AAED;IAIE,qBAAoB,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;QAF1C,UAAK,GAAO,KAAK,CAAC;IAE2B,CAAC;IAE9C,+BAAS,GAAT,UAAU,IAAI;QACZ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAC,IAAI,QAAC,CAAC,CAAC;QACnC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK;aACH,MAAM,CAAC,WAAC,IAAI,cAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,EAA5B,CAA4B,CAAC;aACzC,OAAO,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAlD,CAAkD,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IACH,kBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;AChE8B;AACE;AACI;AACgB;AAIrD;IAIE,wBACU,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;QAExC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC7F,CAAC;IAED,8BAAK,GAAL,UAAM,IAAI,EAAE,OAAc;QAAd,sCAAc;QACxB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;YAAC,MAAM,CAAC;QAC5D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IACH,qBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;ACrB6C;AACmB;AAE1B;AAIhC,IAAM,OAAO,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACpF,IAAM,qBAAqB,GAAG,sDAAsD,CAAC;AAErF,IAAM,UAAU,GAAG,UAAC,IAAI,EAAE,SAAS;IACjC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAAC,MAAM,CAAC,IAAI,CAAC;IAC5B,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,MAAM,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAS,CAAC,EAAE,GAAG,IAAG,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzF,CAAC;;AAED;IAOE,sBAAoB,SAAsB,EACtB,OAAqB;QADrB,cAAS,GAAT,SAAS,CAAa;QACtB,YAAO,GAAP,OAAO,CAAc;QANzC,YAAO,GAAO,MAAM,CAAC,OAAO,CAAC;QAC7B,WAAM,GAAO,MAAM,CAAC,MAAM,CAAC;QAC3B,qBAAgB,GAAY,mBAAO,CAAC,iCAAiC,CAAC,CAAC;QACvE,qBAAgB,GAAY,mBAAO,CAAC,iCAAiC,CAAC,CAAC;QAIrE,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,MAAM,CAAC,aAAa,GAAG,8DAAa,CAAC;IACvC,CAAC;IAED,2CAAoB,GAApB,UAAqB,KAAK;QACxB,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC3C,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,KAAK,CAAC;QACrB,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,QAAQ,GAAG,yBAAsB,MAAM,CAAC,WAAW,EAAE,WAAK,MAAM,CAAC,WAAW,EAAE,8CAAuC,IAAI,YAAS,CAAC;QACvI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED,uCAAgB,GAAhB,UAAiB,KAAY;QAAZ,kCAAY;QAC3B,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;YACpB,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,EAAE;SACZ,EAAE,KAAK,CAAC,CAAC;QACV,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACrC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;gBAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IACD,6BAAM,GAAN,UAAO,QAAQ,EAAE,KAAY;QAAZ,kCAAY;QAC3B,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACX,MAAM,CAAC,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,wCAAiB,GAAjB,UAAkB,GAAG,EAAE,SAAe,EAAE,eAAqB;QAAtC,6CAAe;QAAE,yDAAqB;QAC3D,IAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC9C,IAAI,aAAa,GAAG,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC;QACnD,IAAI,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,mCAAmC;QACnG,IAAI,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;QACrD,IAAI,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;QACxC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,IAAI,cAAc,GAAG,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;YAClD,EAAE,CAAC,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;gBAC3C,SAAS,IAAI,cAAc,GAAG,MAAM,CAAC,CAAE,qDAAqD;YAC9F,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,SAAS,IAAI,MAAM,CAAC;YACtB,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;gBAC/B,SAAS,EAAE,SAAS;aACvB,EAAE,IAAI,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,iCAAU,GAAV,UAAW,GAAG,EAAE,IAAI;QAClB,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC;YAAC,MAAM,CAAC,GAAG,CAAC;QAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEH,mBAAC;AAAD,CAAC;;;;;;;;;;ACvFD,mEAAmE,6BAA6B,oCAAoC,GAAG,OAAO,sCAAsC,GAAG,eAAe,gBAAgB,4DAA4D,4BAA4B,4DAA4D,KAAK,uCAAuC,mBAAmB,c;;;;;;;;ACAza;AAAA,mFAAmF;AACnF,8FAA8F;AAC9F,yEAAyE;AACzE,gFAAgF;AAEzE,IAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,GAAG;CACd,CAAC;;;;;;;;;ACRF;;AAEA,IAAMA,iBAAiB,SAAjBA,cAAiB,CAASC,EAAT,EAAa;AAClCA,OAAKA,GAAGC,OAAH,CAAW,UAAX,EAAuB,EAAvB,CAAL;AACA,SAAO,mBAAAC,CAAQ,yCAAR,EAA2BF,EAA3B,CAAP;AACD,CAHD;;AAKA,IAAMG,qBAAqB,GAA3B;;AAEA,IAAMC,oBAAoB,SAApBA,iBAAoB,CAACC,EAAD,EAAKC,MAAL,EAAaC,IAAb,EAAsB;AAC9C,SAAOF,GAAGG,WAAH,IAAmBF,OAAOG,WAAP,KAAuB,GAAvB,GAA6BF,IAAvD;AACD,CAFD;;AAIA,IAAMG,eAAe,CAAC,MAAD,EAAS,SAAT,EAAoB,QAApB,EAA8B,OAA9B,EAAuC,KAAvC,EAA8C,MAA9C,EAAsD,KAAtD,CAArB;;AAEA,IAAMC,iBAAiB,SAAjBA,cAAiB,CAACJ,IAAD,EAAOK,GAAP,EAAYC,GAAZ,EAAoB;AACzC,MAAIC,WAAW,EAACC,UAAU,EAAX,EAAeC,YAAY,KAA3B,EAAkCC,YAAYV,IAA9C,EAAoDW,iBAAiB,IAArE,EAAf;AACA,OAAK,IAAIZ,MAAT,IAAmBM,GAAnB,EAAwB;AACtB,QAAIN,WAAW,YAAf,EAA6B;AAC7B,QAAID,KAAKO,IAAIN,MAAJ,CAAT;AACA,QAAIO,QAAQ,CAACR,GAAGc,IAAJ,IAAYd,GAAGc,IAAH,CAAQC,OAAR,CAAgBP,GAAhB,MAAyB,CAAC,CAA9C,CAAJ,EAAsD;AACtDC,aAASC,QAAT,CAAkBM,IAAlB,CAAuB;AACrBC,aAAOjB,GAAGG,WAAH,IAAkBF,OAAOG,WAAP,EADJ;AAErBc,iBAAWlB,GAAGG,WAAH,IAAmBF,OAAOG,WAAP,KAAuB,GAAvB,GAA6BF,IAFtC;AAGrBiB,iBAAWpB,kBAAkBC,EAAlB,EAAsBC,MAAtB,EAA8BC,IAA9B;AAHU,KAAvB;AAKA,QAAI,CAACF,GAAGG,WAAR,EAAqBM,SAASI,eAAT,GAA2B,KAA3B;AACtB;AACD,MAAI,CAACJ,SAASC,QAAT,CAAkBU,MAAvB,EAA+B,OAAO,IAAP;AAC/BX,WAASC,QAAT,CAAkBW,IAAlB,CAAuB,UAACC,EAAD,EAAKC,EAAL,EAAY;AACjC,QAAIC,KAAKnB,aAAaU,OAAb,CAAqBO,GAAGL,KAAxB,CAAT;AACA,QAAIQ,KAAKpB,aAAaU,OAAb,CAAqBQ,GAAGN,KAAxB,CAAT;AACA,QAAIO,OAAOC,EAAX,EAAe,OAAO,CAAP;AACf,QAAID,KAAKC,EAAT,EAAa,OAAO,CAAP;AACb,QAAID,KAAKC,EAAT,EAAa,OAAO,CAAC,CAAR;AACd,GAND;AAOA,SAAOhB,QAAP;AACD,CAtBD;;AAwBA,IAAMiB,uBAAuBC,OAAOC,OAAP,GAAiB,UAACC,GAAD,EAAMC,MAAN,EAAcC,OAAd,EAA0B;AACtE,MAAI,CAACF,GAAL,EAAU;AACR,QAAI,CAACE,OAAL,EAAc,OAAO,IAAP;AACd,QAAIA,QAAQjB,IAAZ,EAAkB;AAChBe,YAAME,QAAQjB,IAAR,CAAakB,GAAb,CAAiB,aAAK;AAC1B,eAAO;AACLxB,eAAKyB,EAAEC;AADF,SAAP;AAGD,OAJK,CAAN;AAKAL,UAAIb,IAAJ,CAAS,EAACC,OAAO,eAAR,EAAyBkB,iBAAiB,IAA1C,EAAT;AACD,KAPD,MAOO;AACLN,YAAM,EAAN;AACA,WAAK,IAAI3B,IAAT,IAAiB6B,QAAQK,KAAzB,EAAgC;AAC9B,YAAI3B,WAAWH,eAAeJ,IAAf,EAAqB6B,QAAQK,KAAR,CAAclC,IAAd,CAArB,CAAf;AACA,YAAIO,QAAJ,EAAcoB,IAAIb,IAAJ,CAASP,QAAT;AACf;AACF;AACD,QAAIsB,QAAQM,IAAR,CAAaC,WAAb,IAA4BP,QAAQQ,YAAxC,EAAsD;AACpD,UAAIC,SAAS,EAACvB,OAAO,iBAAR,EAA2BwB,UAAUV,QAAQM,IAAR,CAAaC,WAAb,IAA4B,EAAjE,EAAb;AACA,UAAIP,QAAQQ,YAAZ,EAA0B;AACxBC,eAAOC,QAAP,IAAmB,yBAChBV,QAAQQ,YAAR,CAAqBD,WAArB,IAAoC,EADpB,IAEjB,OAFiB,GAEPP,QAAQQ,YAAR,CAAqBG,GAFd,GAEoB,IAFpB,GAE2BX,QAAQQ,YAAR,CAAqBG,GAFhD,GAEsD,GAFzE;AAGD;AACDb,UAAIc,OAAJ,CAAYH,MAAZ;AACD;AACD,QAAIT,QAAQa,WAAZ,EAAyB;AACvBf,UAAIb,IAAJ,CAAS;AACPC,eAAO,aADA;AAEPP,kBAAUmC,OAAOC,IAAP,CAAYf,QAAQa,WAApB,EAAiCZ,GAAjC,CAAqC,gBAAQ;AACrD,cAAIe,MAAMhB,QAAQa,WAAR,CAAoBV,IAApB,CAAV;AACA,iBAAO;AACLjB,mBAAO8B,IAAI9B,KAAJ,IAAaiB,IADf;AAELc,wBAAYd;AAFP,WAAP;AAID,SANS;AAFH,OAAT;AAUD;AACF;AACDL,MAAIoB,OAAJ,CAAY;AAAA,WAAWC,yBAAyBC,OAAzB,EAAkCrB,MAAlC,EAA0CC,OAA1C,CAAX;AAAA,GAAZ;AACA,MAAI,CAACA,OAAL,EAAc,OAAOF,GAAP;;AAEd,MAAIuB,WAAWC,aAAaxB,GAAb,CAAf;AACA,MAAIuB,QAAJ,EAAc;AACZA,aAAS1C,QAAT,GAAoB,EAApB;AACA,SAAK,IAAIR,KAAT,IAAiB6B,QAAQK,KAAzB,EAAgC;AAC9B,WAAK,IAAInC,MAAT,IAAmB8B,QAAQK,KAAR,CAAclC,KAAd,CAAnB,EAAwC;AACtC,YAAID,WAAW,YAAf,EAA6B;AAC7B,YAAID,KAAK+B,QAAQK,KAAR,CAAclC,KAAd,EAAoBD,MAApB,CAAT;AACA,YAAIgB,QAAQlB,kBAAkBC,EAAlB,EAAsBC,MAAtB,EAA8BC,KAA9B,CAAZ;AACA,YAAI,CAACoD,4BAA4BzB,GAA5B,EAAiCZ,KAAjC,CAAL,EAA8C;AAC5CmC,mBAAS1C,QAAT,CAAkBM,IAAlB,CAAuB,EAACG,WAAWF,KAAZ,EAAvB;AACD;AACF;AACF;AACD,QAAI,CAACmC,SAAS1C,QAAT,CAAkBU,MAAvB,EAA+B;AAC7BS,YAAMA,IAAI0B,MAAJ,CAAW;AAAA,eAAK,CAACC,EAAErB,eAAR;AAAA,OAAX,CAAN;AACD,KAFD,MAEO;AACLiB,eAAS1C,QAAT,CAAkBuC,OAAlB,CAA0B;AAAA,eAAKC,yBAAyBO,CAAzB,EAA4B3B,MAA5B,EAAoCC,OAApC,EAA6CqB,SAASlD,IAAtD,CAAL;AAAA,OAA1B;AACD;AACF;AACD,SAAO2B,GAAP;AACD,CA9DD;;AAgEA,IAAMyB,8BAA8B,SAA9BA,2BAA8B,CAACI,KAAD,EAAQC,OAAR,EAAoB;AACtD,MAAIC,YAAYF,MAAMH,MAAN,CAAa;AAAA,WAAKC,EAAErC,SAAF,KAAgBwC,OAArB;AAAA,GAAb,EAA2C,CAA3C,CAAhB;AACA,MAAIC,SAAJ,EAAe,OAAO,IAAP;AACf,OAAK,IAAIJ,IAAI,CAAb,EAAgBA,IAAIE,MAAMtC,MAA1B,EAAkC,EAAEoC,CAApC,EAAuC;AACrC,QAAIK,gBAAgBP,4BAA4BI,MAAMF,CAAN,EAAS9C,QAAT,IAAqB,EAAjD,EAAqDiD,OAArD,CAApB;AACA,QAAIE,aAAJ,EAAmB,OAAO,IAAP;AACpB;AACD,SAAO,KAAP;AACD,CARD;;AAUA,IAAMR,eAAe,SAAfA,YAAe,CAACK,KAAD,EAAW;AAC9B,MAAIN,WAAWM,MAAMH,MAAN,CAAa;AAAA,WAAKC,EAAErB,eAAP;AAAA,GAAb,EAAqC,CAArC,CAAf;AACA,MAAIiB,QAAJ,EAAc,OAAOA,QAAP;AACd,OAAK,IAAII,IAAI,CAAb,EAAgBA,IAAIE,MAAMtC,MAA1B,EAAkC,EAAEoC,CAApC,EAAuC;AACrC,QAAIM,YAAYT,aAAaK,MAAMF,CAAN,EAAS9C,QAAT,IAAqB,EAAlC,CAAhB;AACA,QAAIoD,SAAJ,EAAe,OAAOA,SAAP;AAChB;AACF,CAPD;;AASA,IAAMC,gBAAgB,SAAhBA,aAAgB,CAAC9C,KAAD,EAAQc,OAAR,EAAoB;AACxC,OAAK,IAAI7B,IAAT,IAAiB6B,QAAQK,KAAzB,EAAgC;AAC9B,SAAK,IAAInC,MAAT,IAAmB8B,QAAQK,KAAR,CAAclC,IAAd,CAAnB,EAAwC;AACtC,UAAIF,KAAK+B,QAAQK,KAAR,CAAclC,IAAd,EAAoBD,MAApB,CAAT;AACA,UAAIgB,UAAUhB,OAAOG,WAAP,KAAuB,GAAvB,GAA6BF,IAA3C,EAAiD,OAAOF,EAAP;AACjD,UAAIA,GAAGG,WAAH,KAAmBc,KAAvB,EAA8B,OAAOjB,EAAP;AAC/B;AACF;AACF,CARD;;AAUA,IAAMgE,qBAAqB,SAArBA,kBAAqB,CAACC,IAAD,EAAOnC,MAAP,EAAeC,OAAf,EAA2B;AACpD,MAAIkC,KAAKxB,QAAT,EAAmB;AACjBwB,SAAKC,OAAL,GAAeD,KAAKC,OAAL,IAAgBD,KAAKxB,QAApC;AACD,GAFD,MAEO,IAAIwB,KAAKrD,UAAT,EAAqB;AAC1BqD,SAAKE,IAAL,GAAY,YAAZ;AACA,QAAIC,eAAe,OAAOH,KAAKrD,UAAZ,KAA2B,QAA3B,GAAsCqD,KAAKrD,UAA3C,GAAwD,YAA3E;AACAqD,SAAKhD,KAAL,GAAagD,KAAKhD,KAAL,IAAcmD,YAA3B;AACD,GAJM,MAIA,IAAIH,KAAKrB,WAAT,EAAsB;AAC3BqB,SAAKE,IAAL,GAAY,aAAZ;AACAF,SAAKhD,KAAL,GAAagD,KAAKhD,KAAL,IAAc,aAA3B;AACD,GAHM,MAGA,IAAIgD,KAAK9C,SAAL,IAAkBY,OAAtB,EAA+B;AACpCkC,SAAKE,IAAL,GAAY,WAAZ;AACAF,SAAKhD,KAAL,GAAagD,KAAKhD,KAAL,IAAcgD,KAAK9C,SAAhC;AACA,QAAInB,KAAK+D,cAAcE,KAAK9C,SAAnB,EAA8BY,OAA9B,CAAT;AACA,QAAI,CAAC/B,EAAL,EAAS;AACPiE,WAAKI,IAAL,GAAY,IAAZ;AACD,KAFD,MAEO;AACLJ,WAAKC,OAAL,GAAeD,KAAKC,OAAL,IAAgBlE,GAAGkE,OAAnB,IAA8BlE,GAAGsC,WAAhD;AACA,UAAItC,GAAGsE,UAAP,EAAmB;AACjBL,aAAKK,UAAL,GAAkB,IAAlB;AACD;AACF;AACF,GAZM,MAYA,IAAIL,KAAKjB,UAAL,IAAmBjB,OAAvB,EAAgC;AACrCkC,SAAKE,IAAL,GAAY,YAAZ;AACA,QAAIpB,MAAMhB,QAAQa,WAAR,CAAoBqB,KAAKjB,UAAzB,CAAV;AACA,QAAI,CAACD,GAAL,EAAU;AACRkB,WAAKI,IAAL,GAAY,IAAZ;AACD,KAFD,MAEO;AACLJ,WAAKhD,KAAL,GAAagD,KAAKhD,KAAL,IAAc8B,IAAI9B,KAAlB,IAA2BgD,KAAKjB,UAA7C;AACAiB,WAAKC,OAAL,GAAeD,KAAKC,OAAL,IAAgBnB,IAAIT,WAAnC;AACD;AACF,GATM,MASA,IAAI2B,KAAKzD,GAAL,IAAYuB,OAAhB,EAAyB;AAC9BkC,SAAKE,IAAL,GAAY,KAAZ;AACAF,SAAKhD,KAAL,GAAagD,KAAKhD,KAAL,IAAcgD,KAAKzD,GAAhC;AACA,QAAIA,MAAMuB,QAAQjB,IAAR,CAAayC,MAAb,CAAoB;AAAA,aAAKtB,EAAEC,IAAF,KAAW+B,KAAKzD,GAArB;AAAA,KAApB,EAA8C,CAA9C,CAAV;AACA,QAAIA,GAAJ,EAAS;AACPyD,WAAKC,OAAL,GAAeD,KAAKxB,QAAL,GAAgBjC,IAAI8B,WAAnC;AACD;AACF,GAPM,MAOA,IAAI2B,KAAKM,QAAT,EAAmB;AACxBN,SAAKE,IAAL,GAAY,UAAZ;AACA,QAAII,WAAWzC,OAAO0C,SAAP,CAAiBP,KAAKM,QAAtB,CAAf;AACAN,SAAKhD,KAAL,GAAagD,KAAKhD,KAAL,IAAcsD,SAAStD,KAApC;AACAgD,SAAKQ,IAAL,GAAYR,KAAKQ,IAAL,IAAaF,SAASE,IAAlC;AACAR,SAAKC,OAAL,GAAeD,KAAKC,OAAL,IAAgBK,SAASL,OAAxC;AACD;AACDD,OAAKhD,KAAL,GAAagD,KAAKhD,KAAL,IAAc,EAA3B;AACAgD,OAAKC,OAAL,GAAeD,KAAKC,OAAL,IAAgB,EAA/B;;AAEAD,OAAKC,OAAL,GAAexE,eAAeuE,KAAKC,OAAL,IAAgB,EAA/B,EAAmC,EAACQ,KAAK,IAAN,EAAnC,CAAf;AACA,MAAIT,KAAKC,OAAL,CAAa9C,MAAb,GAAsBtB,kBAA1B,EAA8C;AAC5CmE,SAAKC,OAAL,GAAeD,KAAKC,OAAL,CAAaS,SAAb,CAAuB,CAAvB,EAA0B7E,qBAAqB,CAA/C,IAAoD,KAAnE;AACD;AACD,MAAI,CAACmE,KAAKhD,KAAV,EAAiBgD,KAAKhD,KAAL,GAAa,UAAb;AAClB,CArDD;;AAuDA,IAAM2D,mBAAmB,SAAnBA,gBAAmB,CAACX,IAAD,EAAOlC,OAAP,EAAmB;AAC1C,MAAI,CAACA,OAAD,IAAYkC,KAAKvD,QAArB,EAA+B;AAC/B,MAAIuD,KAAKrD,UAAL,KAAoB,IAAxB,EAA8B;AAC5BqD,SAAKvD,QAAL,GAAgBmC,OAAOC,IAAP,CAAYf,QAAQK,KAApB,EAA2BJ,GAA3B,CAA+B;AAAA,aAAM,EAACpB,YAAYiE,CAAb,EAAN;AAAA,KAA/B,CAAhB;AACD,GAFD,MAEO,IAAIZ,KAAKrD,UAAT,EAAqB;AAC1B,QAAIH,WAAWH,eAAe2D,KAAKrD,UAApB,EAAgCmB,QAAQK,KAAR,CAAc6B,KAAKrD,UAAnB,CAAhC,CAAf;AACA,QAAIH,QAAJ,EAAc;AACZwD,WAAKvD,QAAL,GAAgBD,SAASC,QAAzB;AACD;AACF,GALM,MAKA,IAAIuD,KAAKrB,WAAT,EAAsB;AAC3BqB,SAAKvD,QAAL,GAAgBmC,OAAOC,IAAP,CAAYf,QAAQa,WAApB,EAAiCZ,GAAjC,CAAqC;AAAA,aAAM,EAACgB,YAAY8B,CAAb,EAAN;AAAA,KAArC,CAAhB;AACD,GAFM,MAEA,IAAIb,KAAKnD,IAAT,EAAe;AACpBmD,SAAKvD,QAAL,GAAgBqB,QAAQjB,IAAR,CAAakB,GAAb,CAAiB;AAAA,aAAM,EAACxB,KAAKyB,EAAEC,IAAR,EAAN;AAAA,KAAjB,CAAhB;AACD,GAFM,MAEA,IAAI+B,KAAKzD,GAAT,EAAc;AACnByD,SAAKvD,QAAL,GAAgB,EAAhB;AACA,SAAK,IAAIR,IAAT,IAAiB6B,QAAQK,KAAzB,EAAgC;AAC9B,UAAI3B,YAAWH,eAAeJ,IAAf,EAAqB6B,QAAQK,KAAR,CAAclC,IAAd,CAArB,EAA0C+D,KAAKzD,GAA/C,CAAf;AACA,UAAIC,SAAJ,EAAc;AACZ,YAAIA,UAASI,eAAb,EAA8B;AAC5BoD,eAAKvD,QAAL,GAAgBuD,KAAKvD,QAAL,CAAcqE,MAAd,CAAqBtE,UAASC,QAA9B,CAAhB;AACD,SAFD,MAEO;AACLuD,eAAKvD,QAAL,CAAcM,IAAd,CAAmBP,SAAnB;AACD;AACF;AACF;AACD,QAAI,CAACwD,KAAKvD,QAAL,CAAcU,MAAnB,EAA2B6C,KAAKI,IAAL,GAAY,IAAZ;AAC5B;AACF,CA3BD;;AA6BA,IAAMnB,2BAA2B,SAA3BA,wBAA2B,CAACe,IAAD,EAAOnC,MAAP,EAAeC,OAAf,EAAoC;AAAA,MAAZ7B,IAAY,uEAAP,EAAO;;AACnE8D,qBAAmBC,IAAnB,EAAyBnC,MAAzB,EAAiCC,OAAjC;AACAkC,OAAK/D,IAAL,GAAY+D,KAAK/D,IAAL,IAAaA,OAAO,GAAP,GAAa+D,KAAKhD,KAAL,CAAWrB,OAAX,CAAmB,MAAnB,EAA2B,GAA3B,CAAtC;AACAgF,mBAAiBX,IAAjB,EAAuBlC,OAAvB;AACA,MAAIkC,KAAKvD,QAAT,EAAmBuD,KAAKvD,QAAL,CAAcuC,OAAd,CAAsB;AAAA,WAAKC,yBAAyBO,CAAzB,EAA4B3B,MAA5B,EAAoCC,OAApC,EAA6CkC,KAAK/D,IAAlD,CAAL;AAAA,GAAtB;AACpB,CALD,C;;;;;;;;ACxNA;;AAEA,IAAM8E,UAAU;AACdC,iBAAe,mBADD;AAEdC,gBAAc;AAFA,CAAhB;;AAKA,IAAMC,cAAcxD,OAAOC,OAAP,GAAiB,cAAM;AACzC,MAAIwD,QAAQzF,GAAG0F,KAAH,CAAS,IAAT,CAAZ;AACA,MAAIC,aAAa,EAACC,MAAM,CAAP,EAAUC,UAAU,EAApB,EAAwBC,MAAM,EAA9B,EAAjB;AACA,MAAID,WAAW,CAACF,UAAD,CAAf;AACA,MAAII,eAAe,CAACJ,UAAD,CAAnB;AACA,MAAIK,SAAS,KAAb;AACAP,QAAMnC,OAAN,CAAc,gBAAQ;AACpB,QAAI2C,KAAKC,KAAL,CAAWb,QAAQE,YAAnB,CAAJ,EAAsC;AACpCI,iBAAWG,IAAX,IAAmBG,OAAO,IAA1B;AACAD,eAAS,CAACA,MAAV;AACA;AACD;AACD,QAAIE,QAAQF,SAAS,IAAT,GAAgBC,KAAKC,KAAL,CAAWb,QAAQC,aAAnB,CAA5B;AACA,QAAIY,KAAJ,EAAW;AACTP,iBAAWG,IAAX,GAAkBH,WAAWG,IAAX,CAAgBK,IAAhB,EAAlB;AACAR,mBAAa;AACXrE,eAAO4E,MAAM,CAAN,EAASC,IAAT,EADI;AAEXP,cAAMM,MAAM,CAAN,EAASzE,MAFJ;AAGXqE,cAAM,EAHK;AAIXD,kBAAU;AAJC,OAAb;AAMA,UAAIO,gBAAgBT,UAApB;AACA,aAAOS,cAAcR,IAAd,IAAsBD,WAAWC,IAAxC,EAA8C;AAC5CQ,wBAAgBL,aAAaM,GAAb,EAAhB;AACD;AACDD,oBAAcP,QAAd,CAAuBxE,IAAvB,CAA4BsE,UAA5B;AACAI,mBAAa1E,IAAb,CAAkB+E,aAAlB;AACAL,mBAAa1E,IAAb,CAAkBsE,UAAlB;AACD,KAfD,MAeO;AACLA,iBAAWG,IAAX,IAAmBG,OAAO,IAA1B;AACD;AACF,GAzBD;AA0BAN,aAAWG,IAAX,GAAkBH,WAAWG,IAAX,CAAgBK,IAAhB,EAAlB;AACA,SAAON,QAAP;AACD,CAlCD,C;;;;;;;;ACPA;;AAEA,IAAMR,UAAU;AACdiB,iBAAe,OADD;AAEdC,eAAa,MAFC;AAGdC,cAAY,WAHE;AAIdC,YAAU,MAJI;AAKdnF,SAAO,YALO;AAMdoF,cAAY,cANE;AAOdC,iBAAe,eAPD;AAQdC,mBAAiB;AARH,CAAhB;;AAWA,IAAMC,mBAAmB,mBAAA3G,CAAQ,gCAAR,CAAzB;;AAEA,IAAM4G,qBAAqB,SAArBA,kBAAqB,CAACjB,QAAD,EAAc;AACvC,MAAI,CAACA,QAAL,EAAe,OAAO,EAAP;AACf,SAAOA,SAASxD,GAAT,CAAa,aAAK;AACvB,QAAIrC,KAAK,EAAT;AACA,SAAK,IAAI6D,IAAI,CAAb,EAAgBA,IAAIkD,EAAEnB,IAAtB,EAA4B,EAAE/B,CAA9B;AAAiC7D,YAAM,GAAN;AAAjC,KACAA,MAAM,MAAM+G,EAAEzF,KAAd;AACAtB,UAAM,QAAQ+G,EAAEjB,IAAF,IAAU,EAAlB,CAAN;AACA,QAAIiB,EAAElB,QAAN,EAAgB7F,MAAM,OAAO8G,mBAAmBC,EAAElB,QAArB,CAAb;AAChB,WAAO7F,EAAP;AACD,GAPM,CAAP;AAQD,CAVD;;AAYA,IAAMgH,gBAAgBhF,OAAOC,OAAP,GAAiB,cAAM;AAC3C,MAAI4D,WAAWgB,iBAAiB7G,EAAjB,CAAf;AACA,MAAIiH,SAASC,mBAAmBrB,SAAS,CAAT,EAAYC,IAA/B,EAAqC,UAArC,CAAb;AACA,MAAID,SAAS,CAAT,EAAYA,QAAZ,CAAqBpE,MAArB,KAAgC,CAApC,EAAuC,MAAM,IAAI0F,KAAJ,CAAU,kCAAV,CAAN;AACvC,MAAIC,gBAAgBvB,SAAS,CAAT,EAAYA,QAAZ,CAAqB,CAArB,CAApB;AACAoB,SAAO3F,KAAP,GAAe8F,cAAc9F,KAA7B;AACA2F,SAAOtE,WAAP,GAAqByE,cAActB,IAAd,IAAsB,EAA3C;AACAmB,SAAOI,KAAP,GAAeD,cAAcvB,QAAd,CAAuBxD,GAAvB,CAA2BiF,WAA3B,CAAf;AACA,MAAIC,SAASH,cAAcvB,QAAd,CAAuBQ,GAAvB,EAAb;AACA,MAAIkB,UAAUA,OAAOjG,KAAP,KAAiB,QAA/B,EAAyC;AACvC2F,WAAOI,KAAP,CAAahB,GAAb;AACAY,WAAOO,UAAP,GAAoBD,OAAOzB,IAAP,GAAc,IAAd,GAAqBgB,mBAAmBS,OAAO1B,QAA1B,CAAzC;AACD;AACD,SAAOoB,MAAP;AACD,CAdD;;AAgBA,IAAMC,qBAAqB,SAArBA,kBAAqB,CAAClH,EAAD,EAAKwE,IAAL,EAAc;AACvC,MAAMiD,cAAc,IAAIC,MAAJ,CAAW,UAAUlD,IAArB,CAApB;AACA,MAAIiB,QAAQzF,GAAG0F,KAAH,CAAS,IAAT,CAAZ;AACA,MAAIiC,OAAO,IAAX;AACA,OAAK,IAAI9D,IAAI,CAAb,EAAgBA,IAAI4B,MAAMhE,MAA1B,EAAkC,EAAEoC,CAApC,EAAuC;AACrC,QAAI4B,MAAM5B,CAAN,EAASqC,KAAT,CAAeuB,WAAf,CAAJ,EAAiC;AAC/BE,aAAO,EAAP;AACD,KAFD,MAEO,IAAIA,SAAS,IAAT,IAAiBlC,MAAM5B,CAAN,EAASqC,KAAT,CAAeb,QAAQkB,WAAvB,CAArB,EAA0D;AAC/D;AACD,KAFM,MAEA,IAAIoB,SAAS,IAAb,EAAmB;AACxBA,cAAQlC,MAAM5B,CAAN,IAAW,IAAnB;AACD;AACF;AACD,SAAO+D,KAAKC,KAAL,CAAWF,IAAX,CAAP;AACD,CAdD;;AAgBA,IAAML,cAAc,SAAdA,WAAc,UAAW;AAC7B,MAAIQ,OAAO;AACTxG,WAAOyG,QAAQzG,KADN;AAETqB,iBAAaoF,QAAQjC;AAFZ,GAAX;AAIAiC,UAAQlC,QAAR,CAAiBvC,OAAjB,CAAyB,sBAAc;AACrC,QAAI0E,cAAcC,YAAYC,WAAWpC,IAAvB,CAAlB;AACA,QAAIqC,WAAWH,YAAYG,QAA3B;AACA,QAAIC,OAAOJ,YAAYI,IAAvB;AACA,QAAIA,IAAJ,EAAU;AACR,UAAIF,WAAW5G,KAAX,KAAqB,UAAzB,EAAqC;AACnCwG,aAAKO,OAAL,GAAeT,KAAKC,KAAL,CAAWO,IAAX,CAAf;AACAN,aAAKQ,UAAL,GAAkBR,KAAKO,OAAL,CAAaC,UAA/B;AACA,eAAOR,KAAKO,OAAL,CAAaC,UAApB;AACA,YAAIpF,OAAOC,IAAP,CAAY2E,KAAKO,OAAjB,EAA0B5G,MAA1B,KAAqC,CAAzC,EAA4C,OAAOqG,KAAKO,OAAZ;AAC7C,OALD,MAKO,IAAIH,WAAW5G,KAAX,CAAiBiH,UAAjB,CAA4B,aAA5B,CAAJ,EAAgD;AACrD,YAAIC,aAAaN,WAAW5G,KAAX,CAAiB4E,KAAjB,CAAuB,yBAAvB,CAAjB;AACA,YAAIsC,cAAcA,WAAW,CAAX,CAAlB,EAAiCL,WAAWK,WAAW,CAAX,EAAcC,WAAd,EAAX;AACjCX,aAAKY,WAAL,GAAmBZ,KAAKY,WAAL,IAAoB,EAAvC;AACAZ,aAAKY,WAAL,CAAiBP,QAAjB,IAA6BC,IAA7B;AACD,OALM,MAKA,IAAIF,WAAW5G,KAAX,KAAqB,MAAzB,EAAiC;AACtCwG,aAAKa,QAAL,GAAgBP,IAAhB;AACD;AACF;AACF,GAnBD;AAoBA,SAAON,IAAP;AACD,CA1BD;;AA4BA,IAAMG,cAAc,SAAdA,WAAc,KAAM;AACxB,MAAIW,IAAI5I,GAAGkG,KAAH,CAAS,uBAAT,CAAR;AACA,MAAI0C,CAAJ,EAAO,OAAO,EAACT,UAAUS,EAAE,CAAF,EAAKzC,IAAL,EAAX,EAAwBiC,MAAMQ,EAAE,CAAF,EAAKzC,IAAL,EAA9B,EAAP,CAAP,KACK,OAAO,EAACgC,UAAS,IAAV,EAAgBC,MAAK,IAArB,EAAP;AACN,CAJD,C;;;;;;;;ACvFA;;AAEA,IAAMS,iBAAiB7G,OAAOC,OAAP,GAAiB,kBAAU;AAChD,MAAI6G,WAAW;AACbhE,UAAMmC,OAAOnC,IADA;AAEbiE,eAAW9B,OAAO8B,SAFL;AAGb5H,UAAM8F,OAAO9F,IAHA;AAIb6H,cAAU/B,OAAO+B,QAJJ;AAKbC,YAAQhC,OAAOgC,MALF;AAMbC,oBAAgBjC,OAAOiC,cANV;AAOb3E,aAAS0C,OAAO1C;AAPH,GAAf;AASA,SAAO,sBAEPqD,KAAKuB,SAAL,CAAeL,QAAf,EAAyB,IAAzB,EAA+B,CAA/B,CAFO,mBAKL7B,OAAO3F,KALF,WAMP2F,OAAOtE,WAAP,IAAsB,EANf,aAQPsE,OAAOI,KAAP,CAAahF,GAAb,CAAiB+G,YAAjB,EAA+BC,IAA/B,CAAoC,MAApC,CARO,aAUP,CAACpC,OAAOO,UAAR,GAAqB,EAArB,GAA0B,gBAAgBP,OAAOO,UAV1C,cAYLrB,IAZK,EAAP;AAaD,CAvBD;;AAyBA,IAAMiD,eAAe,SAAfA,YAAe;AAAA,SAAQ,WACxBtB,KAAKxG,KADmB,WAE3B,CAACwG,KAAKnF,WAAN,GAAoB,EAApB,GAAyB,OAAOmF,KAAKnF,WAAZ,KAA4B,QAA5B,GAAuCmF,KAAKnF,WAA5C,GAA0DmF,KAAKnF,WAAL,CAAiB0G,IAAjB,CAAsB,MAAtB,CAFxD,aAI3BC,gBAAgBxB,KAAKO,OAArB,EAA8BP,KAAKQ,UAAL,IAAmB,CAACR,KAAKO,OAAL,IAAgB,EAAjB,EAAqBC,UAAtE,EAAkFR,KAAKyB,gBAAL,IAAyB,CAACzB,KAAKO,OAAL,IAAgB,EAAjB,EAAqBkB,gBAAhI,CAJ2B,UAK3BC,oBAAoB1B,KAAKY,WAAzB,CAL2B,UAM3Be,aAAa3B,KAAKa,QAAlB,CAN2B,SAO3BxC,IAP2B,EAAR;AAAA,CAArB;;AASA,IAAMmD,kBAAkB,SAAlBA,eAAkB,CAACjB,OAAD,EAAqD;AAAA,MAA3CC,UAA2C,uEAAhC,IAAgC;AAAA,MAA1BiB,gBAA0B,uEAAT,IAAS;;AAC3E,MAAI,CAAClB,OAAD,IAAY,CAACC,UAAjB,EAA6B,OAAO,EAAP;AAC7B,MAAIoB,SAAS,EAAb;AACA,MAAIrB,OAAJ,EAAaqB,SAAS,EAACpJ,QAAQ+H,QAAQ/H,MAAjB,EAAyBC,MAAM8H,QAAQ9H,IAAvC,EAAT;AACb,MAAI+H,UAAJ,EAAgBoB,OAAOpB,UAAP,GAAoBA,UAApB;AAChB,MAAIiB,gBAAJ,EAAsBG,OAAOH,gBAAP,GAA0BA,gBAA1B;AACtB,SAAO,+BAGP3B,KAAKuB,SAAL,CAAeO,MAAf,EAAuB,IAAvB,EAA6B,CAA7B,CAHO,cAKPvD,IALO,EAAP;AAMD,CAZD;;AAcA,IAAMwD,uBAAuB;AAC3B,UAAQ,YADmB;AAE3B,WAAS,KAFkB;AAG3B,aAAW,YAHgB;AAI3B,YAAU,IAJiB;AAK3B,UAAQ,YALmB;AAM3B,UAAQ;AANmB,CAA7B;;AASA,IAAMH,sBAAsB,SAAtBA,mBAAsB,WAAY;AACtC,MAAI,CAACI,QAAL,EAAe,OAAO,EAAP;AACf,SAAO1G,OAAOC,IAAP,CAAYyG,QAAZ,EAAsBvH,GAAtB,CAA0B;AAAA,WAAQ,yBACxBwH,IADwB,eAEnCF,qBAAqBE,IAArB,KAA8BA,IAFK,WAGzCD,SAASC,IAAT,CAHyC,gBAKvC1D,IALuC,EAAR;AAAA,GAA1B,EAKGkD,IALH,CAKQ,IALR,CAAP;AAMD,CARD;;AAUA,IAAMI,eAAe,SAAfA,YAAe,OAAQ;AAC3B,MAAI,CAACK,IAAL,EAAW,OAAO,EAAP;AACXA,SAAOA,KAAK7J,OAAL,CAAa,KAAb,EAAoB,EAApB,EAAwBA,OAAxB,CAAgC,KAAhC,EAAuC,IAAvC,CAAP;AACA,SAAO,2BAGP6J,IAHO,gBAKL3D,IALK,EAAP;AAMD,CATD,C;;;;;;;;;;;;;;ACrEA;AAAA;AAAA,6BAA6B;AACkB;AAIU;;;AAEzD,EAAE,CAAC,CAAC,8EAAW,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3B,qEAAc,EAAE,CAAC;AACnB,CAAC;AAED,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE;IAC5C,4EAAwB,uBAAgB,+EAAW,CAAC;AACtD,CAAC,CAAC,CAAC;;;;;;;;;;;ACbH,IAAI4D,MAAMC,OAAOD,GAAjB;;AAEA,IAAIE,eAAejI,OAAOC,OAAP,GAAiB,UAASiI,IAAT,EAAe;AACjD,OAAKC,OAAL,GAAeD,KAAKC,OAApB;AACA,OAAKC,QAAL,GAAgBF,KAAKE,QAArB;AACD,CAHD;;AAKAH,aAAaI,SAAb,CAAuBC,MAAvB,GAAgC,UAASJ,IAAT,EAAe;AAC7C,SAAOH,IAAIO,MAAJ,CAAW,KAAKF,QAAhB,EAA0BF,IAA1B,CAAP;AACD,CAFD,C","file":"main.bundle.js","sourcesContent":["module.exports = function() {\n\treturn new Worker(__webpack_public_path__ + \"575fda744365e513818d.worker.js\");\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/worker-loader!./src/app/lunr_worker.js\n// module id = ./node_modules/worker-loader/index.js!./src/app/lunr_worker.js\n// module chunks = main","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/$$_lazy_route_resource lazy\n// module id = ./src/$$_lazy_route_resource lazy recursive\n// module chunks = main","import * as i0 from '@angular/core';\ni0.ComponentFactory;\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ngfactory.ts","import {Component, ApplicationRef} from '@angular/core';\nimport {Router, NavigationEnd} from '@angular/router';\nimport {RoutesService} from './services/routes';\nimport {UtilsService} from './services/utils';\nimport { PlatformService } from './services/platform.service';\ndeclare let window: any;\n\nconst MAX_XS_WIDTH = 767;\n\n@Component({\n selector: 'app',\n template: `\n \n `,\n})\nexport class AppComponent {\n subscriptions:any[] = [];\n\n constructor(\n private router:Router,\n private routes:RoutesService,\n private utils:UtilsService,\n private appref:ApplicationRef,\n private platformService: PlatformService\n ) {\n window.app = this;\n let isFirst = true;\n let lastURL = '';\n this.subscriptions.push(this.router.events.subscribe(event => {\n if (this.platformService.isBrowser && event instanceof NavigationEnd && window.innerWidth > MAX_XS_WIDTH) {\n let isNew = lastURL.replace(/#.*$/, '') !== event.url.replace(/#.*$/, '');\n if (!isFirst && isNew) {\n window.scrollTo(0, 0);\n }\n isFirst = false;\n lastURL = event.url;\n }\n }));\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(s => s.unsubscribe());\n }\n\n ngAfterViewInit() {\n if (window.onLucyBotReady) window.onLucyBotReady()\n window.lucyBotReady = true;\n var self = this;\n if (this.platformService.isBrowser) {\n window.jQuery('nav.navbar a').click(function() {\n let elem = window.jQuery(this);\n let url = elem.attr('href');\n if (url !== undefined && url.indexOf('http') !== 0) {\n if (url.indexOf(window.config.basePath) === 0) {\n url = url.substring(window.config.basePath.length, url.length);\n }\n if (url) {\n self.routes.navigate(self.routes.getPathParts(url), false, {queryParams: {}});\n return false;\n }\n }\n });\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","require('./views/oauth_callback.html');\n\nimport {Routes, RouterModule, UrlSegment} from '@angular/router';\n\nimport { NgModule, enableProdMode } from '@angular/core';\nimport { BrowserModule, BrowserTransferStateModule } from '@angular/platform-browser';\nimport { FormsModule } from '@angular/forms';\nimport { HttpClientModule } from '@angular/common/http';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { TransferHttpCacheModule } from '@nguniversal/common';\nimport {APP_BASE_HREF} from '@angular/common';\n\nimport {TooltipModule} from \"ngx-tooltip\";\nimport { Ng2DatetimePickerModule } from 'ng2-datetime-picker';\nimport { VirtualScrollerModule } from 'ngx-virtual-scroller';\n\nimport { AppComponent } from './app.component';\nimport { AuthComponent } from './components/auth';\nimport { DocumentationComponent, OperationDocumentationComponent } from './components/documentation';\nimport { MarkdownComponent } from './components/markdown';\nimport { ConsoleComponent } from './components/console';\nimport { RecipeComponent } from './components/recipe';\nimport { GalleryComponent } from './components/gallery';\nimport { SideMenuComponent, SideMenuItemComponent } from './components/side-menu';\nimport { NavbarComponent } from './components/navbar';\nimport { FooterComponent } from './components/footer';\nimport { SchemaComponent, SubschemaComponent } from './components/schema';\nimport { SampleCodeComponent } from './components/sample-code';\nimport { APICallComponent } from './components/api-call';\nimport { APIResponseComponent } from './components/api-response';\nimport { DemoComponent } from './components/demo';\nimport { ParameterComponent, ParameterSetComponent, ParameterGroupComponent, ParameterFilterPipe } from './components/parameter';\nimport { SocialButtonsComponent } from './components/social-buttons';\nimport { SearchResultsComponent } from './components/search-results';\nimport { JSONSchemaFormComponent } from './json-schema-form/json-schema-form.component';\nimport { SchemaLabelComponent } from './json-schema-form/schema-label.component';\n\nimport { appRoutes } from './app.routing';\nimport { RoutesService } from './services/routes';\nimport { UtilsService } from './services/utils';\nimport { TrackerService } from './services/tracker';\nimport { SecretService } from './services/secret';\nimport { OpenAPIService } from './services/openapi';\nimport { GitHubService } from './services/github';\nimport { MenuService, GetMenuItemFromSearchPipe, MapSearchResultsPipe } from './services/menu';\nimport { SearchService } from './services/search';\nimport { TourService } from './services/tour';\nimport { PlatformService } from './services/platform.service';\n\nenableProdMode();\n\ndeclare let window:any;\nwindow.originalURL = {\n path: window.location.pathname,\n hash: window.location.hash,\n}\nwindow.config = window.config || {};\n\n@NgModule({\n imports: [\n HttpClientModule,\n FormsModule,\n BrowserModule.withServerTransition({ appId: 'lucybot-doc-app' }),\n BrowserTransferStateModule,\n TransferHttpCacheModule,\n BrowserAnimationsModule,\n RouterModule.forRoot(appRoutes, {useHash: false}),\n TooltipModule,\n Ng2DatetimePickerModule,\n VirtualScrollerModule,\n ],\n providers: [\n {provide: APP_BASE_HREF, useValue: window.config.basePath || '/'},\n { provide: 'ORIGIN_URL', useValue: '' },\n RoutesService,\n UtilsService,\n TrackerService,\n SecretService,\n OpenAPIService,\n GitHubService,\n MenuService,\n SearchService,\n TourService,\n PlatformService,\n ],\n declarations: [\n AppComponent,\n DocumentationComponent,\n ConsoleComponent,\n RecipeComponent,\n GalleryComponent,\n MarkdownComponent,\n\n AuthComponent,\n OperationDocumentationComponent,\n SideMenuComponent,\n SideMenuItemComponent,\n NavbarComponent,\n FooterComponent,\n SchemaComponent,\n SubschemaComponent,\n APICallComponent,\n SampleCodeComponent,\n APIResponseComponent,\n DemoComponent,\n ParameterComponent,\n ParameterSetComponent,\n ParameterGroupComponent,\n SocialButtonsComponent,\n SearchResultsComponent,\n JSONSchemaFormComponent,\n SchemaLabelComponent,\n\n ParameterFilterPipe,\n MapSearchResultsPipe,\n GetMenuItemFromSearchPipe,\n ],\n bootstrap: [ AppComponent ],\n})\nexport class AppModule {}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","import * as i0 from '@angular/core';\ni0.ComponentFactory;\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/api-call.ngfactory.ts","import {\n Component, Input, ViewChild, ElementRef,\n transition, state, style, animate, trigger\n} from '@angular/core';\nimport {OpenAPIService} from '../services/openapi';\nimport {UtilsService} from '../services/utils';\nimport {TrackerService} from '../services/tracker';\n\ndeclare let window:any;\n\n@Component({\n selector: 'api-call',\n templateUrl: '../views/api-call.pug',\n styles: [`\n api-response {\n display: block;\n }\n .parameters-title,\n .parameters-box {\n border: 1px solid #d9d9d9;\n padding: 15px;\n background-color: #f5f5f5;\n }\n :host >>> .parameters-box .well {\n background-color: #f5f5f5 !important;\n }\n .parameters-title {\n border-bottom: none;\n margin-bottom: -2px;\n background-color: #f5f5f5;\n }\n .parameters-box {\n border: 1px solid #d9d9d9;\n border-top: none;\n border-radius: 4px;\n margin-bottom: 20px;\n padding-top: 0px;\n }\n `],\n animations: [\n trigger('shrinkOut', [\n state('in', style({height: '*'})),\n transition('* => void', [\n style({height: '*', overflow: 'hidden'}),\n animate(0, style({height: 0}))\n ]),\n transition('void => *', [\n style({height: 0, overflow: 'hidden'}),\n animate(500, style({height: '*'}))\n ])\n ]),\n ],\n})\nexport class APICallComponent {\n @Input() apiCall;\n @ViewChild('sampleCode') sampleCodeComponent;\n answers:any = {};\n executing:boolean;\n error:string;\n response:any;\n\n marked:Function = window.marked;\n\n constructor(public openapi:OpenAPIService,\n public utils:UtilsService,\n private tracker:TrackerService,\n private elementRef:ElementRef) {\n }\n\n ngOnInit() {\n setTimeout(() => window.app.appref.tick()); // FIXME: *ngIf=\"apiCallComponent\" in docs view needs this.\n }\n\n ngOnChanges() {\n this.answers = {};\n this.response = null;\n }\n\n onInputChange() {\n if (this.sampleCodeComponent) this.sampleCodeComponent.refreshSampleCode();\n }\n\n execute() {\n if (!this.openapi.secrets.isAuthenticated(this.apiCall.operation)) {\n return this.openapi.secrets.startAuthentication();\n }\n this.tracker.track('api_call', {\n path: this.apiCall.path,\n method: this.apiCall.method,\n })\n this.error = null;\n this.executing = true;\n this.response = null;\n this.openapi.request({\n path: this.apiCall.path,\n method: this.apiCall.method,\n answers: this.answers,\n })\n .then((data, textStatus, xhr) => {\n this.response = {\n body: data,\n statusCode: xhr.status,\n headers: xhr.getAllResponseHeaders().split('\\r\\n'),\n };\n let type = window.checkResponse ? window.checkResponse(data, xhr.status).type : 'success';\n if (type !== 'success') type = 'failure';\n this.tracker.track('api_call_' + type, {\n status: xhr.status,\n path: this.apiCall.path,\n method: this.apiCall.method,\n });\n })\n .fail(xhr => {\n if (!xhr.status) {\n // Probably a CORS issue\n this.response = {\n body: \"An unknown error occurred, possibly related to CORS. Check your browser's console for details.\",\n statusCode: 0,\n headers: xhr.getAllResponseHeaders().split('\\r\\n'),\n }\n } else {\n this.response = {\n body: xhr.responseText,\n statusCode: xhr.status,\n headers: xhr.getAllResponseHeaders().split('\\r\\n'),\n }\n }\n this.tracker.track('api_call_failure', {\n status: xhr.status,\n path: this.apiCall.path,\n method: this.apiCall.method,\n });\n })\n .always(_ => {\n this.executing = false;\n setTimeout(() => {\n this.utils.scrollToSelection(window.jQuery(this.elementRef.nativeElement).find('api-response'));\n }, 100);\n })\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/api-call.ts","import * as i0 from '@angular/core';\ni0.ComponentFactory;\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/api-response.ngfactory.ts","import {Component, Input} from '@angular/core';\nimport {UtilsService} from '../services/utils';\nimport {OpenAPIService} from '../services/openapi';\n\ndeclare let window:any;\n\nconst MAX_RESPONSE_LENGTH_FOR_HIGHLIGHT = 100 * 1000;\n\n@Component({\n selector: 'api-response',\n templateUrl: '../views/api-response.pug',\n})\nexport class APIResponseComponent {\n @Input() response;\n @Input() headers;\n @Input() statusCode;\n @Input() isRecipe;\n\n responseType:string;\n error:string;\n refreshing:boolean;\n responseAlert:any;\n showHeaders:boolean;\n highlightedResponse:string;\n highlightedHeaders:string;\n constructor(private utils:UtilsService, public openapi:OpenAPIService) {}\n\n ngOnChanges() {\n this.headers = this.headers || [];\n this.setAlert();\n this.setResponseType();\n this.stringifyResponse();\n }\n\n stringifyResponse() {\n let contentTypeHeader = this.headers.filter(s => s.toLowerCase().indexOf('content-type') === 0)[0] || '';\n let responseString = '';\n if (this.response instanceof Document) {\n responseString = window.WebCodeBeauty.xml((new XMLSerializer()).serializeToString(this.response));\n } else {\n if (typeof this.response === 'object') {\n responseString = JSON.stringify(this.response, null, 2);\n } else {\n responseString = this.response || '';\n }\n if (contentTypeHeader.indexOf('application/json') !== -1) {\n try {\n responseString = JSON.stringify(JSON.parse(responseString), null, 2);\n } catch (e) {\n console.log('invalid JSON:', responseString);\n }\n } else if (contentTypeHeader.indexOf('/xml') !== -1) {\n responseString = window.WebCodeBeauty.xml(responseString);\n }\n }\n this.highlightedHeaders = window.Prism.highlight(this.headers.join('\\r\\n'), window.Prism.languages.http);\n let highlightLang = '';\n if (contentTypeHeader.indexOf('/xml') !== -1) {\n highlightLang = 'xml';\n } else if (contentTypeHeader.indexOf('/json') !== -1) {\n highlightLang = 'json';\n }\n if (highlightLang && responseString.length < MAX_RESPONSE_LENGTH_FOR_HIGHLIGHT) {\n this.highlightedResponse = window.Prism.highlight(responseString, window.Prism.languages[highlightLang]);\n } else {\n responseString = responseString.replace(//g, '>');\n this.highlightedResponse = responseString;\n }\n }\n\n setAlert() {\n if (window.checkResponse) {\n this.responseAlert = window.checkResponse(this.response, this.statusCode);\n } else {\n this.responseAlert = {type: 'danger', message: 'Status Code ' + this.statusCode};\n if (this.statusCode >= 200 && this.statusCode < 300) this.responseAlert.type = 'success';\n else if (this.statusCode >= 300 && this.statusCode < 400) this.responseAlert.type = 'warning';\n }\n if (this.isRecipe) {\n if (this.responseAlert.type === 'success') {\n this.responseAlert.message =\n \"Success! Review the response below and click the next button above when you're ready to continue.\";\n } else {\n this.responseAlert.message =\n \"The API returned an error. Please review the response below\" +\n \" and follow the instructions above to execute this step correctly.
\" +\n this.responseAlert.message;\n }\n }\n }\n\n setResponseType() {\n this.responseType = '';\n this.headers.forEach(header => {\n let m = header.match(/content-type:\\s*(.*)$/i);\n if (!m) return;\n let contentType = m[1];\n if (contentType.match(/json/)) this.responseType = 'JSON';\n else if (contentType.match(/xml/)) this.responseType = 'XML';\n // TODO: add more content types\n })\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/api-response.ts","import * as i0 from '@angular/core';\ni0.ComponentFactory;\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/auth.ngfactory.ts","import {Component} from '@angular/core';\nimport {OpenAPIService} from '../services/openapi';\nimport {SecretService} from '../services/secret';\n\ndeclare let window:any;\n\nconst SORT_SECURITY_DEFINITIONS = function(d1, d2) {\n if (d1.type === d2.type) return 0;\n if (d1.type === 'oauth2') return -1;\n if (d2.type === 'oauth2') return 1;\n return 0;\n}\n\n@Component({\n selector: 'auth',\n templateUrl: '../views/authentication-modal.pug',\n styles: [`\n .nav-tabs {\n margin-bottom: 15px;\n }\n `],\n})\nexport class AuthComponent {\n securityDefinitions:any[];\n securityDefinition:any;\n scopes:any[];\n addedScopes:any = {};\n error:string;\n\n subscriptions:any[] = [];\n\n constructor(private openapi:OpenAPIService,\n private secrets:SecretService) {\n this.subscriptions.push(this.openapi.spec.subscribe(spec => {\n if (!spec) return;\n if (this.openapi.parsed.securityDefinitions) {\n this.securityDefinitions = this.iterateObject(this.openapi.parsed.securityDefinitions);\n this.securityDefinitions.sort((d1, d2) => SORT_SECURITY_DEFINITIONS(d1.value, d2.value));\n if (this.securityDefinitions.length) this.setSecurityDefinition(this.securityDefinitions[0].value);\n } else {\n this.securityDefinitions = [];\n this.securityDefinition = null;\n }\n }));\n }\n\n setSecurityDefinition(def) {\n this.securityDefinition = def;\n if (def.type === 'oauth2') {\n this.scopes = this.iterateObject(def.scopes || {});\n } else {\n this.scopes = [];\n }\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(s => s.unsubscribe());\n }\n\n closeModal() {\n window.jQuery('#AuthenticationModal').modal('hide');\n }\n\n submit() {\n this.error = null;\n if (this.securityDefinition.type !== 'oauth2') {\n this.secrets.setSecrets(this.secrets.secrets);\n this.closeModal();\n return;\n }\n\n let scopes = Object.keys(this.addedScopes).filter(name => this.addedScopes[name]);\n this.openapi.startOAuth(this.securityDefinition, scopes)\n .then(() => this.closeModal())\n .catch(e => this.error = e.message);\n }\n\n iterateObject(obj) {\n return Object.keys(obj).map(k => ({key: k, value: obj[k]}))\n }\n\n setAllScopes(val=false) {\n this.scopes.forEach(iter => {\n this.addedScopes[iter.key] = val;\n })\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/auth.ts","import * as i0 from '@angular/core';\ni0.ComponentFactory;\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/console.ngfactory.ts","import {Component, ViewChild} from '@angular/core';\nimport {OpenAPIService} from '../services/openapi';\nimport {UtilsService} from '../services/utils';\nimport {RoutesService} from '../services/routes';\nimport {MenuService} from '../services/menu';\nimport {TourService} from '../services/tour';\n\ndeclare let window:any;\n\n@Component({\n selector: 'console',\n templateUrl: '../views/console/main.pug',\n styles: [`\n .tour-button {\n position: fixed;\n bottom: 0;\n right: 0;\n border-radius: 0px;\n z-index: 10;\n cursor: pointer;\n }\n .tour-close-button {\n position: absolute;\n top: 0px;\n left: 0px;\n font-size: 8px;\n padding: 2px;\n width: 20px;\n height: 20px;\n color: white;\n text-align: left;\n }\n `]\n})\nexport class ConsoleComponent {\n title:string = 'Console';\n apiCall:any;\n operationName:string;\n tagName:string;\n choices:any[];\n hideTourButton:boolean;\n @ViewChild('apiCallComponent') apiCallComponent;\n marked = window.marked;\n\n subscriptions:any[] = [];\n\n constructor(public openapi:OpenAPIService,\n public utils:UtilsService,\n private routes:RoutesService,\n private menu:MenuService,\n public tour:TourService) {\n window.consoleComponent = this;\n this.subscriptions.push(this.menu.choose.subscribe(choice => {\n if (choice) {\n if (choice.operation) this.setAPICall(choice.operation);\n else if (choice.tag) this.setChoices(choice);\n }\n }))\n this.subscriptions.push(this.openapi.spec.subscribe(spec => {\n this.setAPICall(this.operationName);\n }))\n this.subscriptions.push(this.routes.currentRoute.subscribe(route => {\n if (route && route.title) this.title = route.title;\n }));\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(s => s.unsubscribe());\n }\n\n setAPICall(name) {\n this.operationName = name;\n if (this.openapi.apiCalls) this.apiCall = this.openapi.apiCalls.filter(a => a.title === name)[0];\n }\n\n setChoices(choice) {\n this.tagName = choice.title || choice.tag;\n this.choices = choice.children;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/console.ts","import * as i0 from '@angular/core';\ni0.ComponentFactory;\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/documentation.ngfactory.ts","

{{title}}{{ activeItem.fullTitle || activeItem.title }}[{{search.query}}]

{{error}}

{{ utils.config.uiOptions.discussionTitle }}

\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/documentation/main.pug","import {Component, Input, ViewChild, Inject} from '@angular/core';\nimport {DomSanitizer, SafeHtml, SafeUrl, TransferState, makeStateKey} from '@angular/platform-browser';\nimport {HttpClient} from '@angular/common/http';\n\nimport {OpenAPIService} from '../services/openapi';\nimport {UtilsService} from '../services/utils';\nimport {SearchService} from '../services/search';\nimport {RoutesService} from '../services/routes';\nimport {MenuService} from '../services/menu';\nimport {PlatformService} from '../services/platform.service';\n\ndeclare let window:any;\n\nconst LOCATIONS = ['body', 'formData', 'query', 'path', 'header'];\nconst SORT_LOCATIONS = (l1, l2) => {\n return LOCATIONS.indexOf(l1) - LOCATIONS.indexOf(l2);\n}\n\n@Component({\n selector: 'documentation',\n templateUrl: '../views/documentation/main.pug',\n styles: [`\n .discussion-frame {\n border: 1px solid #333;\n width: 100%;\n height: 400px;\n }\n .docs-contents, search-results {\n max-width: 800px;\n }\n `],\n})\nexport class DocumentationComponent {\n title:string = 'Documentation';\n activeItem:any;\n activeHTML:string;\n showResults:boolean;\n discussionURL:SafeUrl;\n\n @ViewChild('htmlContents') htmlContents;\n subscriptions:any[] = [];\n\n error:string;\n\n constructor(private sanitizer:DomSanitizer,\n public platformService: PlatformService,\n public search:SearchService,\n private menu:MenuService,\n private routes:RoutesService,\n private state:TransferState,\n private http:HttpClient,\n public openapi:OpenAPIService,\n public utils:UtilsService,\n @Inject('ORIGIN_URL') private originUrl:string) {}\n\n ngAfterViewInit() {\n this.subscriptions.push(this.search.results.subscribe(res => {\n this.showResults = !!this.search.query;\n if (!this.showResults && this.activeItem) this.setActiveItem(this.activeItem);\n }))\n this.subscriptions.push(this.menu.choose.subscribe(item => {\n if (!item && this.menu.items.length) {\n this.menu.setActiveItem(this.menu.items[0]);\n } else if (item) {\n this.setActiveItem(item);\n }\n }));\n this.subscriptions.push(this.routes.currentRoute.subscribe(route => {\n if (route && route.title) this.title = route.title;\n }));\n if (this.menu.currentChoice) {\n this.setActiveItem(this.menu.currentChoice);\n }\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(s => s.unsubscribe());\n }\n\n maybeResizeIframe() {\n let frame = window.jQuery('iframe.discussion-frame');\n frame.css('height', frame[0].contentWindow.document.body.scrollHeight);\n }\n\n setActiveItem(item) {\n this.error = null;\n this.showResults = false;\n this.activeItem = item;\n const stateKey = makeStateKey(item.markdownURL || '');\n if (item.contents) {\n this.setActiveItemHTML(item.contents, !item.isHTML);\n } else if (item.markdownURL) {\n item.isHTML = !!item.markdownURL.match(/\\.html$/);\n item.contents = this.state.get(stateKey, null as any);\n if (!item.contents) {\n this.http.get(this.originUrl + item.markdownURL, {responseType: 'text'})\n .toPromise()\n .then((md: any) => {\n item.contents = md;\n })\n .then(() => {\n this.setActiveItemHTML(item.contents, !item.isHTML);\n })\n .catch(e => {\n this.error = (e.error && e.error.message) || \"Unknown error.\";\n return Promise.reject(e);\n })\n } else {\n this.setActiveItemHTML(item.contents, !item.isHTML);\n }\n }\n if (this.platformService.isServer) {\n this.state.set(stateKey, item.contents as any);\n }\n\n if (this.platformService.isBrowser) {\n setTimeout(() => {\n // delay discussionURL for a sec to help page loading.\n let discussionURL = this.activeItem.discussionURL || window.config.discussionURL;\n if (discussionURL && this.activeItem.discussionURL !== null) {\n this.discussionURL = this.getDiscussionURL(discussionURL, item.title);\n } else {\n this.discussionURL = null;\n }\n }, 1000);\n }\n }\n\n setActiveItemHTML(html, renderMarkdown=true) {\n if (renderMarkdown) {\n let title = this.activeItem.title.replace(/\\W/g, '.');\n let titleRegex = new RegExp('^#+\\\\s+' + title + '\\s*([\\n\\r]|$)');\n html = html.replace(titleRegex, '');\n html = window.marked(html);\n } else {\n html = html.replace(/(]*>)/g, '\\n\\n\\$1').replace(/(<\\/script>)/g, '\\$1\\n\\n');\n }\n let newElem = window.document.createElement('div');\n newElem.innerHTML = html;\n if (newElem.innerHTML !== this.activeHTML) {\n this.htmlContents.nativeElement.innerHTML = '';\n this.activeHTML = newElem.innerHTML;\n if (this.platformService.isServer) {\n this.htmlContents.nativeElement.innerHTML = newElem.innerHTML;\n } else {\n window.jQuery(this.htmlContents.nativeElement).html(newElem.innerHTML);\n }\n if (this.platformService.isBrowser) {\n let frag = window.location.href.match(/#(.*)$/);\n let isFirefox = window.navigator.userAgent.indexOf(\"Firefox\") !== -1;\n if (frag && !isFirefox) {\n let anchor = window.jquery('#' + frag[1])\n if (anchor.length) {\n this.utils.scrollToSelection(anchor);\n setTimeout(() => this.utils.scrollToSelection(anchor, true, true), 1500)\n }\n }\n }\n }\n }\n\n getDiscussionURL(url, title):SafeUrl {\n url = url.replace(/{{\\s*title\\s*}}/g, title);\n let slug = title.replace(/\\W+/g, '_');\n url = url.replace(/{{\\s*slug\\s*}}/g, slug);\n url = this.sanitizer.bypassSecurityTrustResourceUrl(url);\n return url;\n }\n}\n\n@Component({\n selector: 'operation-documentation',\n templateUrl: '../views/documentation/operation.pug',\n styles: [`\n .try-it-button {\n margin-bottom: 30px;\n }\n .nav-tabs {\n margin-bottom: 15px;\n }\n .status-code-tabs {\n font-weight: bold;\n }\n .parameter {\n margin-bottom: 20px;\n }\n .parameter-details {\n padding-left: 15px;\n }\n .input-output-box {\n border: 1px solid #333;\n border-radius: 4px;\n padding: 15px;\n margin-top: 15px;\n }\n .input-output-box h4 {\n margin-bottom: 20px;\n }\n `],\n})\nexport class OperationDocumentationComponent {\n @Input() apiCall;\n @ViewChild('apiCallComponent') apiCallComponent;\n locations:string[];\n activeLocation:string;\n responses:any[];\n activeResponse:any;\n tryIt:boolean;\n marked:Function = window.marked;\n\n constructor(public utils:UtilsService,\n public openapi:OpenAPIService,\n private routes:RoutesService) {}\n\n ngOnChanges() {\n this.locations = this.apiCall.operation.parameters.map(p => p.in);\n this.locations = this.locations.filter((loc, idx) => {\n return idx === this.locations.lastIndexOf(loc);\n }).sort(SORT_LOCATIONS);\n this.activeLocation = this.locations[0];\n\n this.responses = Object.keys(this.apiCall.operation.responses).map(code => {\n return {\n code: code,\n details: this.apiCall.operation.responses[code],\n }\n }).sort((r1, r2) => {\n if (r1.code > r2.code) return 1;\n if (r1.code < r2.code) return -1;\n return 0;\n })\n this.activeResponse = this.responses[0];\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/documentation.ts","import * as i0 from '@angular/core';\ni0.ComponentFactory;\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/parameter.ngfactory.ts","

This operation has no parameters.

These parameters are valid for multiple operations
\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/parameter-set.pug","
{{filename}}

{{ parameter.schema && parameter.schema.title ? parameter.schema.title : parameter.name }}:{{ parameter.schema ? parameter.schema.type : parameter.format || parameter.type }}  required
{{ getCollectionFormatMessage(parameter) }}
Allowed values are:
  • {{item}} ({{parameter.enumLabels[enumIdx]}})
\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/parameter.pug","import {Component, Input, Output, EventEmitter, Pipe, PipeTransform, ViewChild, HostListener} from '@angular/core';\nimport {OpenAPIService} from '../services/openapi';\nimport {SecretService} from '../services/secret';\nimport {UtilsService} from '../services/utils';\n\ndeclare let window:any;\ndeclare let $:any;\n\n@Pipe({\n name: 'parameterFilter',\n})\nexport class ParameterFilterPipe implements PipeTransform {\n transform(items: any[], args: any[]): any {\n let field = args[0];\n let value = args[1];\n return items.filter(item => {\n return item[field] == value; // Truthy ==\n });\n }\n}\n\n@Component({\n selector: 'parameter-set',\n templateUrl: '../views/parameter-set.pug',\n styles: [`\n .global-parameters {\n padding-left: 15px;\n }\n `],\n})\nexport class ParameterSetComponent {\n @Input() parameterSet;\n @Input() groups;\n @Input() answers;\n @Input() view;\n @Output() valueChange = new EventEmitter();\n\n hasGlobal:boolean;\n\n constructor(private openapi:OpenAPIService, private utils:UtilsService) {\n }\n\n ngOnChanges() {\n this.hasGlobal = !!this.parameterSet.filter(p => p.global).length || window.config.uiOptions.optionalizeHost;\n }\n}\n\n@Component({\n selector: 'parameter',\n templateUrl: '../views/parameter.pug',\n})\nexport class ParameterComponent {\n @Input('parameter') inputParameter;\n parameter:any;\n @Input() model;\n @Input() view;\n @Input() hideTextEditor;\n @Input() hideLabel;\n @Input() depth;\n @Input() fillFromSecrets;\n @Input() readOnly:boolean;\n @Output() valueChange = new EventEmitter();\n contentType:string;\n objectArray:any[] = [];\n JSON = JSON;\n\n inputType:string;\n\n marked:any = window.marked;\n\n error:string;\n refreshingEnum:boolean;\n\n filename:string;\n\n subscriptions:any[] = [];\n\n constructor(private openapi:OpenAPIService, private secrets:SecretService, private utils:UtilsService) {\n }\n\n ngOnChanges() {\n if (!this.parameter || this.parameter.name !== this.inputParameter.name) {\n this.parameter = this.inputParameter;\n } else {\n Object.assign(this.parameter, this.inputParameter);\n }\n this.openapi.replaceXValues(this.parameter);\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(s => s.unsubscribe());\n }\n\n ngOnInit() {\n if (this.view === 'documentation') return;\n this.inputType = this.getBestInputType();\n if (this.model[this.parameter.name] === undefined) {\n let val = undefined;\n if (this.fillFromSecrets && this.secrets.secrets[this.parameter.name] !== undefined) {\n val = this.secrets.secrets[this.parameter.name];\n } else if (this.parameter.consoleDefault !== undefined) {\n val = this.parameter.consoleDefault;\n } else if (this.parameter.default !== undefined) {\n val = this.parameter.default;\n }\n if (val !== undefined && this.showConditionMet()) {\n this.model[this.parameter.name] = val;\n this.onChange();\n }\n if (this.parameter.type === 'array' && !this.model[this.parameter.name]) {\n this.model[this.parameter.name] = [];\n }\n }\n if (this.fillFromSecrets) {\n this.subscriptions.push(this.secrets.onChange.subscribe(newSecrets => {\n if (newSecrets[this.parameter.name] !== undefined) {\n this.model[this.parameter.name] = newSecrets[this.parameter.name];\n this.onChange();\n }\n }));\n }\n if (this.parameter.in === 'body' && (this.parameter.consumes || []).indexOf('application/json') !== -1) {\n let startval = this.model[this.parameter.name];\n this.setContentType('application/json');\n } else if (this.parameter.in === 'body' && this.parameter.consumes) {\n this.setContentType(this.parameter.consumes[0]);\n }\n }\n\n trackByIndex(idx) {\n return idx;\n }\n\n onChange() {\n if (this.inputType === 'text' && !this.model[this.parameter.name]) {\n delete this.model[this.parameter.name];\n }\n this.valueChange.emit(this.model[this.parameter.name]);\n }\n\n setContentType(t) {\n this.parameter.contentType = this.contentType = t;\n delete this.model[this.parameter.name];\n }\n\n showConditionMet() {\n if (!this.parameter.showCondition) return true;\n let cond = this.parameter.showCondition;\n return cond.value.indexOf(this.model[cond.name]) !== -1;\n }\n\n iterateObject(obj) {\n return Object.keys(obj).map(k => ({key: k, value: obj[k]}));\n }\n\n getBestInputType() {\n if (this.parameter.inputType) return this.parameter.inputType;\n var type = this.parameter.type;\n if (this.parameter.in === 'body') {\n return 'body';\n } else if (type === 'array') {\n if (this.parameter.items.type === 'object') return 'objectArray';\n if (this.parameter.enum || this.parameter.items.enum) {\n return 'checkboxes';\n } else {\n return 'dynamicArray';\n }\n } else if (this.parameter.enum || this.parameter.dynamicEnum) {\n return 'dropdown';\n } else if (type === 'boolean') {\n return 'boolean';\n } else if (type === 'number' || type === 'integer') {\n return 'number';\n } else if (type === 'file') {\n return 'file';\n }\n return 'text';\n }\n\n formatDatetime(date) {\n if (window.lucybot.formatDatetime) {\n this.model[this.parameter.name] = window.lucybot.formatDatetime(date);\n } else {\n this.model[this.parameter.name] = date.getTime();\n }\n }\n\n fileChange(evt) {\n var files = (evt.srcElement || evt.target).files;\n this.model[this.parameter.name] = files[0];\n if (files[0]) this.filename = files[0].name;\n }\n\n getValueFromAPI(dyn, cb) {\n var answers = {};\n (dyn.parameters || []).forEach((p) => {\n if (p.value.answer) {\n answers[p.name] = this.model[p.value.answer];\n } else {\n answers[p.name] = p.value;\n }\n })\n this.openapi.request({\n swagger: this.openapi.parsed,\n path: dyn.path,\n method: dyn.method,\n answers: answers,\n embed: true,\n })\n .done((data, textStatus, xhr) => {\n if (!window.checkResponse) return cb(data);\n var resp = window.checkResponse(data, xhr.status);\n if (resp.type === 'success') return cb(data);\n this.error = resp.message;\n cb();\n })\n .fail((xhr) => {\n this.error = xhr.responseText;\n cb();\n })\n }\n\n refreshEnum() {\n this.error = null;\n let dynEnum = this.parameter.dynamicEnum;\n if (!dynEnum) return;\n let setEnum = (data) => {\n if (!data) return;\n var arr = this.utils.followPath(data, dynEnum.array);\n this.parameter.enum = arr.map((choice) => {\n return this.utils.followPath(choice, dynEnum.value);\n });\n this.parameter.enumLabels = arr.map((choice) => {\n return this.utils.followPath(choice, dynEnum.label);\n });\n this.refreshingEnum = false;\n }\n this.refreshingEnum = true;\n this.getValueFromAPI(dynEnum, setEnum);\n }\n\n getCollectionFormatMessage(param) {\n if (param.collectionFormat === 'multi') {\n return 'Values should be specified as separate query parameters';\n }\n var ret = 'Values should be joined by ';\n\n if (param.collectionFormat === 'csv') {\n return ret + 'commas.';\n } else if (param.collectionFormat === 'ssv') {\n return ret + 'spaces.';\n } else if (param.collectionFormat === 'tsv') {\n return ret + 'tabs.';\n } else if (param.collectionFormat === 'pipes') {\n return ret + 'pipes.';\n }\n }\n\n objectArrayChange(evt) {\n let addToModel = (key, val) => {\n if (Array.isArray(val)) {\n val.forEach((v, idx) => {\n addToModel(key + '[' + idx + ']', v);\n })\n } else if (typeof val === 'object') {\n for (let subkey in val) {\n addToModel(key + '[' + subkey + ']', val[subkey]);\n }\n } else {\n this.model[key] = val;\n }\n }\n for (let key in this.model) {\n if (key.indexOf(this.parameter.name) === 0) delete this.model[key];\n }\n addToModel(this.parameter.name, this.objectArray.map(a => JSON.parse(a.value || '{}')));\n this.onChange();\n }\n}\n\nconst checkForMembers = (params, group) => {\n if (params.filter(p => p.group === group.name).length) return true;\n if (group.subGroups) {\n let subgroupHasMembers = group.subGroups.filter(g => checkForMembers(params, g)).length;\n if (subgroupHasMembers) return true;\n }\n return false;\n}\n\n@Component({\n selector: 'parameter-group',\n templateUrl: '../views/parameter-group.pug',\n styles: [`\n .parameters {\n padding-left: 15px;\n }\n `],\n})\nexport class ParameterGroupComponent {\n @Input() group;\n @Input() parameterSet;\n @Input() model;\n @Input() view;\n @Output() valueChange = new EventEmitter();\n @Input() visible:boolean;\n hasMembers:boolean;\n marked:any = window.marked;\n\n ngOnChanges() {\n this.hasMembers = checkForMembers(this.parameterSet, this.group);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/parameter.ts","import * as i0 from '@angular/core';\ni0.ComponentFactory;\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/sample-code.ngfactory.ts","import {Component, Input} from '@angular/core';\nimport {OpenAPIService} from '../services/openapi';\nimport {UtilsService} from '../services/utils';\nimport {TrackerService} from '../services/tracker';\n\ndeclare let window:any;\n\nconst PRISM_LANGUAGES = {\n 'node': 'javascript',\n 'curl': 'bash',\n}\n\nconst LANGUAGE_LABELS = {\n 'node': 'NodeJS',\n 'javascript': 'JavaScript',\n 'php': 'PHP',\n 'ruby': 'Ruby',\n 'html': 'HTML',\n 'java': 'Java',\n 'python': 'Python',\n 'csharp': 'C#',\n 'curl': 'cURL',\n}\n\nconst CodeTemplate = require('../../../tmp/plugins/code-template.js');\n\nconst LANGUAGES = window.config.codegen.languages.map(lang => {\n if (typeof lang === 'string') lang = {id: lang};\n lang.label = lang.label || LANGUAGE_LABELS[lang.id] || lang.id;\n lang.highlight = lang.highlight || PRISM_LANGUAGES[lang.id] || lang.id;\n return lang;\n})\n\nconst shiftLines = (code, numSpaces) => {\n if (!numSpaces) return code;\n var lines = code.split('\\n');\n var spaces = Array(numSpaces + 1).join(' ');\n return lines.map(function(l, idx) {return (l && idx > 0) ? spaces + l : l}).join('\\n');\n}\n\n@Component({\n selector: 'sample-code',\n templateUrl: '../views/sample-code.pug',\n})\nexport class SampleCodeComponent {\n @Input('code') codeSnippets;\n @Input() answers;\n @Input() apiCall;\n @Input() templateInput;\n @Input() editing;\n @Input() disableCodegen;\n sampleCode:string;\n sampleCodeHTML:string;\n showSetupCode:boolean;\n showSetupCheckbox:boolean;\n languages:any[] = LANGUAGES;\n currentLanguage:any = LANGUAGES[0];\n\n constructor(private openapi:OpenAPIService,\n private utils:UtilsService,\n private tracker:TrackerService) {}\n\n ngOnChanges() {\n if (this.editing) {\n this.languages = LANGUAGES;\n } else if (this.codeSnippets) {\n this.languages = LANGUAGES.filter(l => this.codeSnippets[l.id]);\n } else {\n this.languages = LANGUAGES.filter(l => l.id !== 'html');\n }\n if (this.languages.indexOf(this.currentLanguage) === -1) {\n this.currentLanguage = this.languages[0];\n }\n if (window.localStorage) {\n let lang = window.localStorage.getItem('language');\n if (lang) this.currentLanguage = this.languages.filter(l => l.id === lang)[0] || this.currentLanguage;\n }\n this.refreshSampleCode();\n }\n\n ngAfterViewInit() {\n new window.Clipboard('.copy-button');\n }\n\n changeLanguage(lang) {\n this.currentLanguage = lang;\n if (window.localStorage) {\n window.localStorage.setItem('language', this.currentLanguage.id);\n }\n this.tracker.track('set_language', {language: this.currentLanguage.id});\n this.refreshSampleCode();\n }\n\n refreshSampleCode() {\n if (!this.apiCall && !(this.codeSnippets && Object.keys(this.codeSnippets).length)) return;\n let template = this.codeSnippets ? this.codeSnippets[this.currentLanguage.id] : null;\n let setupTemplate = null;\n this.showSetupCheckbox = false;\n if (!template || template === 'auto') {\n template = window.config.codegen.templates[this.currentLanguage.id];\n if (window.config.codegen.setupTemplates && (!this.apiCall || !this.apiCall.disableSetupCode)) {\n this.showSetupCheckbox = true;\n setupTemplate = window.config.codegen.setupTemplates[this.currentLanguage.id];\n }\n }\n if (!template) return;\n let tmpl = new CodeTemplate({\n swagger: this.openapi.parsed,\n template: template,\n setupTemplate: setupTemplate,\n language: this.currentLanguage.id,\n });\n if (this.apiCall) {\n this.templateInput.path = this.apiCall.path;\n this.templateInput.method = this.apiCall.method;\n }\n this.templateInput.answers = this.openapi.getAnswers(this.answers);\n this.templateInput.showSetup = this.showSetupCode;\n this.templateInput = this.utils.getTemplateInput(this.templateInput);\n this.sampleCode = '';\n try {\n this.sampleCode = tmpl.render(this.templateInput);\n } catch (e) {\n this.sampleCode = e.message;\n console.log(e);\n }\n let grammar = window.Prism.languages[this.currentLanguage.highlight];\n this.sampleCodeHTML = grammar ? window.Prism.highlight(this.sampleCode || '', grammar) : this.sampleCode;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/sample-code.ts","import * as i0 from '@angular/core';\ni0.ComponentFactory;\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/schema.ngfactory.ts","
\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/schema.pug","import {Component, Input} from '@angular/core';\nimport {OpenAPIService} from '../services/openapi';\nimport { PlatformService } from '../services/platform.service';\n\ndeclare let window:any;\n\nconst getType = (schema) => {\n if (Array.isArray(schema.type)) return schema.type.join(', ');\n if (schema.type) return schema.type;\n if (schema.properties) return 'object';\n if (schema.items) return 'array';\n return 'any';\n}\n\n@Component({\n selector: 'schema',\n templateUrl: '../views/schema.pug',\n styles: [`\n subschema {\n display: block;\n }\n `],\n})\nexport class SchemaComponent {\n @Input() title;\n @Input() schema:any;\n @Input() examples;\n @Input() depth:number = 3;\n\n showing:string = 'schema';\n highlightedExample:string;\n\n constructor(\n private openapi:OpenAPIService,\n private platformService:PlatformService\n ) {}\n\n ngOnChanges() {\n let example = this.schema.example;\n if (!example) {\n if (this.examples && Object.keys(this.examples).length) {\n let keys = Object.keys(this.examples);\n // FIXME: have a dropdown for different content types.\n if (keys.indexOf('application/json') !== -1) {\n example = this.examples['application/json'];\n } else {\n example = this.examples[keys[0]];\n }\n } else {\n example = this.getExample(this.schema);\n }\n }\n let exampleStr = JSON.stringify(example, null, 2) || '';\n\n if (window.Prism !== null) {\n this.highlightedExample = window.Prism.highlight(exampleStr, window.Prism.languages.json);\n }\n }\n\n getType(schema) {\n if (schema.$ref) {\n schema = this.openapi.resolveReference(schema.$ref);\n }\n return getType(schema);\n }\n\n getExample(schema, depth=3) {\n if (depth < 0) return;\n if (!schema) return null;\n if (schema.$ref) schema = this.openapi.resolveReference(schema.$ref);\n let type = Array.isArray(schema.types) ? schema.types[0] : this.getType(schema);\n if (type === 'any') {\n return {};\n } else if (type === 'object') {\n let example = {};\n let extensions = [];\n if (schema.allOf) extensions = extensions.concat(schema.allOf);\n // TODO: allow anyOf/oneOf without hitting circular issues\n //if (schema.anyOf) extensions.push(schema.anyOf[0]);\n //if (schema.oneOf) extensions.push(schema.oneOf[0]);\n extensions = extensions.map(e => this.getExample(e, depth));\n extensions.forEach(ext => {\n for (let key in ext) {\n example[key] = ext[key];\n }\n })\n for (let key in schema.properties) {\n example[key] = this.getExample(schema.properties[key] || {}, depth - 1);\n }\n return example;\n } else if (type === 'array') {\n return [this.getExample(schema.items || {}, depth - 1)]\n } else {\n if (schema.default) return schema.default;\n if (schema.enum) return schema.enum[0];\n if (type === 'string') {\n return \"\";\n } else if (type === 'number') {\n return 0.0;\n } else if (type === 'integer') {\n return 0;\n } else if (type === 'boolean') {\n return true;\n }\n }\n }\n}\n\n@Component({\n selector: 'subschema',\n templateUrl: '../views/subschema.pug',\n styles: [`\n subschema {\n display: block;\n margin-left: 10px;\n }\n .title-line, .description {\n white-space: nowrap;\n }\n .enum {\n word-break: break-word;\n }\n .sibling-group > schema {\n margin-left: 0px;\n }\n .sibling-group h5 {\n font-weight: normal;\n font-style: italic;\n }\n .enum, .description {\n padding-left: 10px;\n }\n :host >>> subschema .description p {\n margin-bottom: 0px;\n display: inline-block;\n }\n `]\n})\nexport class SubschemaComponent {\n @Input('title') inputTitle;\n @Input() name;\n @Input() schema:any;\n @Input() depth:number = 0;\n @Input() expanded:boolean;\n @Input() hideTitleLine:boolean;\n @Input() required:boolean = false;\n title:string;\n type:string;\n description:string;\n properties:any[] = [];\n\n marked:Function = window.marked;\n\n constructor(private openapi:OpenAPIService) {\n }\n\n ngOnInit() {\n this.schema = this.schema || {};\n if (this.expanded === undefined) {\n this.expanded = this.depth > 0;\n }\n this.maybeResolveRef();\n }\n\n ngOnChanges() {\n this.reset();\n this.maybeResolveRef();\n if (this.hideTitleLine) {\n this.expanded = true;\n }\n }\n\n reset() {\n this.type = this.description = this.properties = null;\n this.title = this.inputTitle;\n }\n\n maybeResolveRef() {\n if (this.schema.$ref) {\n this.title = this.getTitle(this.schema);\n this.setSchema(this.openapi.resolveReference(this.schema.$ref));\n } else {\n this.setSchema(this.schema);\n }\n }\n\n setSchema(schema) {\n this.schema = schema || {};\n if (this.schema.title) this.title = this.schema.title;\n this.type = this.getType(this.schema);\n this.description = this.schema.description;\n if (this.isPrimitive()) {\n this.expanded = true;\n }\n if (this.schema.properties) {\n this.properties = Object.keys(this.schema.properties);\n if (this.schema.required) {\n this.properties.sort((p1, p2) => {\n let r1 = this.schema.required.indexOf(p1) + 1;\n let r2 = this.schema.required.indexOf(p2) + 1;\n if (r1 && !r2) return -1;\n if (r2 && !r1) return 1;\n return 0;\n });\n }\n }\n }\n\n isPrimitive() {\n return !this.schema.$ref && this.type !== 'array' && this.type !== 'object';\n }\n\n getTitle(schema) {\n let ref = schema.$ref;\n if (ref) {\n schema = this.openapi.resolveReference(ref);\n }\n if (schema.title) return schema.title;\n if (!ref) return '';\n let title = ref;\n let slash = title.lastIndexOf('/');\n if (slash >= 0) {\n title = title.substring(slash + 1);\n }\n return title;\n }\n\n getType(schema) {\n if (schema.$ref) {\n schema = this.openapi.resolveReference(schema.$ref);\n }\n return getType(schema);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/schema.ts","import * as i0 from '@angular/core';\ni0.ComponentFactory;\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/search-results.ngfactory.ts","import {Component} from '@angular/core';\nimport {SearchService} from '../services/search';\nimport {RoutesService} from '../services/routes';\n\n@Component({\n selector: 'search-results',\n templateUrl: '../views/search-results.pug',\n styles: [`\n h4 {\n display: inline-block;\n margin-right: 10px;\n }\n .type {\n display: inline-block;\n }\n .type .badge {\n text-transform: capitalize;\n margin-top: -5px;\n }\n `],\n})\nexport class SearchResultsComponent {\n constructor(public search:SearchService, private routes:RoutesService) {}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/search-results.ts","import * as i0 from '@angular/core';\ni0.ComponentFactory;\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/side-menu.ngfactory.ts","
NavigateHide Navigation
NavigationVersion: {{openapi.currentVersion.label}}
\n\n\n// WEBPACK FOOTER //\n// ./src/app/views/side-menu.pug","import {Component,\n Input,\n Output,\n EventEmitter,\n transition,\n state,\n style,\n animate,\n trigger} from '@angular/core';\nimport {ActivatedRoute} from '@angular/router';\nimport {OpenAPIService} from '../services/openapi';\nimport {UtilsService} from '../services/utils';\nimport {MenuService, MenuItem} from '../services/menu';\nimport {SearchService} from '../services/search';\nimport {RoutesService} from '../services/routes';\nimport { PlatformService } from '../services/platform.service';\n\ndeclare let window:any;\n\nconst matchOrChildMatch = (cond, item) => {\n if (Array.isArray(item)) return !!item.filter(i => matchOrChildMatch(cond, i)).length;\n if (cond(item)) return true;\n if (item.children) return matchOrChildMatch(cond, item.children);\n return false;\n}\n\n@Component({\n selector: 'side-menu',\n templateUrl: '../views/side-menu.pug',\n})\nexport class SideMenuComponent {\n @Input() basePage;\n hideMenu:boolean;\n exactMatch:any = null;\n\n subscriptions:any[] = [];\n\n constructor(private route:ActivatedRoute,\n private routes:RoutesService,\n public platformService: PlatformService,\n public utils:UtilsService,\n public openapi:OpenAPIService,\n public menu:MenuService,\n public search:SearchService) {\n window.sideMenuComponent = this;\n const BOOTSTRAP_XS_MAX = 768;\n if (window.innerWidth < BOOTSTRAP_XS_MAX) {\n this.hideMenu = true;\n }\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(s => s.unsubscribe());\n }\n\n ngOnInit() {\n this.subscriptions.push(this.route.queryParams.subscribe(params => {\n this.search.query = params['query'];\n }));\n if (this.basePage === 'console') {\n let lastQuery = undefined;\n this.subscriptions.push(this.search.results.subscribe(results => {\n if (!this.search.query) return this.exactMatch = lastQuery = null;\n let lower = this.search.query.toLowerCase();\n this.exactMatch = this.menu.getItemWithCond(i => i.title.toLowerCase() === lower);\n if (this.exactMatch && this.exactMatch.operation && lastQuery !== undefined && this.search.query !== lastQuery) {\n this.menu.setActiveItem(this.exactMatch);\n }\n lastQuery = this.search.query;\n }));\n }\n }\n}\n\n@Component({\n selector: 'side-menu-item',\n templateUrl: '../views/side-menu-item.pug',\n animations: [\n trigger('shrinkOut', [\n state('in', style({height: '*'})),\n transition('* => void', [\n style({height: '*', overflow: 'hidden'}),\n animate(250, style({height: 0}))\n ]),\n transition('void => *', [\n style({height: 0, overflow: 'hidden'}),\n animate(250, style({height: '*'}))\n ])\n ]),\n ],\n})\nexport class SideMenuItemComponent {\n @Input() item;\n @Input() basePage;\n @Input() query;\n title:string;\n animateReady:boolean;\n\n constructor(public utils:UtilsService,\n public search:SearchService,\n public routes:RoutesService) {}\n\n ngAfterViewInit() {\n this.animateReady = true;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/side-menu.ts","import * as i0 from '@angular/core';\ni0.ComponentFactory;\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/json-schema-form/json-schema-form.component.ngfactory.ts","import {Component, Input, Output, EventEmitter, ViewChild} from '@angular/core';\n\nimport {getPropertySchema, getSchemaProperties, getSchemaFromValue, getDefaultValueForType, range, SCHEMA_TYPES} from './util';\n\n@Component({\n selector: 'json-schema-form',\n styles: [`\n .nested-editor {\n padding-left: 15px;\n }\n .type-choice {\n display: inline;\n }\n .dropdown .btn {\n min-width: 100%;\n }\n `],\n template: `\n
\n 0\"\n [required]=\"required\"\n [showExpand]=\"true\"\n [showRemove]=\"showRemove\"\n (onRemoved)=\"valueChange.emit(undefined)\"\n (expandChange)=\"setDefaultValue()\"\n (schemaChange)=\"setSchema($event)\"\n (typeChange)=\"setDefaultValue(); setParameter()\"\n (subtypeChange)=\"setSubschema($event)\">\n \n
\n
\n \n
\n
\n
\n \n \n
\n \n
\n \n \n Add\n
\n
\n
\n
\n \n \n
\n Add item\n
\n
\n
\n
\n
\n `\n})\nexport class JSONSchemaFormComponent {\n @Input() label;\n @Input('schema') inputSchema;\n schema:any;\n subschema:any;\n parameter:any;\n parameterModel:any = {};\n @Input() refBase;\n @Input('value') inputValue;\n value:any;\n @Input() nested:boolean;\n @Input() readOnly:boolean;\n @Input() depth:number;\n @Input() required:boolean;\n @Input() showRemove:boolean;\n @Output() valueChange = new EventEmitter();\n @ViewChild('labelComponent') labelComponent;\n allProperties:string[] = [];\n removableProperties:string[];\n additionalPropertyName:string;\n additionalPropertyType:string;\n\n numItems = 0;\n\n util = {range, getSchemaProperties, getPropertySchema, getSchemaFromValue, SCHEMA_TYPES};\n assign = Object.assign;\n\n ngOnChanges() {\n this.setSchema(this.inputSchema);\n this.readOnly = this.readOnly || this.schema.readOnly;\n if (this.value !== this.inputValue) {\n this.value = this.parameterModel[this.parameter.name] = this.inputValue;\n if (Array.isArray(this.value)) {\n this.numItems = this.value.length;\n }\n }\n }\n\n ngAfterViewInit() {\n setTimeout(() => this.setDefaultValue() && this.setParameter());\n }\n\n setParameter() {\n let type = this.labelComponent && this.labelComponent.type;\n this.parameter = Object.assign({name: this.label, type}, this.schema);\n }\n\n setSchema(schema) {\n this.schema = schema;\n this.setDefaultValue();\n this.setProperties();\n this.setParameter();\n }\n\n setSubschema(schema) {\n if (this.subschema) {\n for (let key in this.subschema.properties) {\n delete this.value[key];\n }\n }\n this.subschema = schema;\n this.setProperties();\n if (schema && this.schema.discriminator) {\n this.value[this.schema.discriminator] = schema.title;\n }\n this.valueChange.emit(this.value);\n }\n\n setProperties() {\n if (this.schema['x-abstract'] && !this.subschema) {\n this.allProperties = [];\n this.removableProperties = [];\n return;\n }\n this.allProperties = getSchemaProperties(this.schema || {}, this.refBase, this.value, this.subschema);\n let nonRemovable = getSchemaProperties(this.schema || {}, this.refBase, undefined, this.subschema);\n this.removableProperties = this.allProperties.filter(p => nonRemovable.indexOf(p) === -1);\n }\n\n setDefaultValue() {\n if (!this.labelComponent) return;\n if (!this.labelComponent.expand) {\n this.value = undefined;\n } else if (this.labelComponent.type === 'object' && (!this.value || typeof this.value !== 'object')) {\n this.value = {};\n this.setProperties();\n } else if (this.labelComponent.type === 'array' && !Array.isArray(this.value)) {\n this.value = [];\n } else {\n return;\n }\n this.valueChange.emit(this.value);\n }\n\n nestedValueChange(propOrIdx, val) {\n if (val === undefined) {\n if (Array.isArray(this.value)) {\n this.value.splice(propOrIdx, 1);\n this.numItems = this.value.length;\n } else {\n delete this.value[propOrIdx];\n }\n } else {\n this.value[propOrIdx] = val;\n }\n if (!Array.isArray(this.value)) {\n this.setProperties();\n }\n this.valueChange.emit(this.value);\n }\n\n addProperty() {\n if (!this.additionalPropertyName) return;\n let val = getDefaultValueForType(this.additionalPropertyType || 'string');\n this.nestedValueChange(this.additionalPropertyName, val);\n this.additionalPropertyName = this.additionalPropertyType = null;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/json-schema-form/json-schema-form.component.ts","import * as i0 from '@angular/core';\ni0.ComponentFactory;\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/json-schema-form/schema-label.component.ngfactory.ts","import {Component, Input, Output, EventEmitter, ViewChild} from '@angular/core';\n\nimport {resolveReference, getTypeForSchema} from './util';\n\ndeclare let window:any;\n\n@Component({\n selector: 'schema-label',\n styles: [`\n .type-choice.dropdown {\n display: inline-block;\n margin-left: 5px;\n }\n `],\n template: `\n\n

Unknown schema

\n `\n})\nexport class SchemaLabelComponent {\n @Input('schema') inputSchema:any;\n schema:any;\n @Input() refBase;\n @Input() label:string;\n @Input() required:boolean;\n @Input() expand:boolean;\n @Input() showRemove:boolean = false;\n @Input() showExpand:boolean;\n @Output() typeChange = new EventEmitter();\n @Output() subtypeChange = new EventEmitter();\n @Output() expandChange = new EventEmitter();\n @Output() schemaChange = new EventEmitter();\n @Output() onRemoved = new EventEmitter();\n @ViewChild('descriptionTooltip') descriptionTooltip;\n type:string;\n typeChoices:string[];\n subtypeChoices:any[];\n subtype: any;\n description:string;\n marked=window.marked;\n\n constructor() {}\n\n clickRemove() {\n this.onRemoved.emit();\n }\n\n ngOnChanges() {\n if (!this.inputSchema) return\n this.setSchema(this.inputSchema);\n if (!this.expand && this.type !== 'array' && this.type !== 'object') this.toggleExpand();\n if (this.expand) this.maybeResolveRef();\n }\n\n setSchema(schema) {\n if (schema === this.schema) return;\n this.schema = schema;\n let resolved = schema.$ref ? resolveReference(schema.$ref, this.refBase) : schema;\n this.label = this.label || resolved.title;\n this.description = resolved.description;\n this.typeChoices = null;\n let type = getTypeForSchema(resolved, this.refBase);\n if (Array.isArray(type)) {\n if (resolved.type.length > 1) {\n this.typeChoices = resolved.type;\n }\n this.type = type.filter(t => t !== 'null')[0] || type[0];\n } else {\n this.type = type;\n }\n if (this.schema.oneOf || this.schema.anyOf) {\n let choices = (this.schema.oneOf || []).concat(this.schema.anyOf || []);\n this.subtypeChoices = choices.map(s => {\n return s.$ref ? resolveReference(s.$ref, this.refBase) : s;\n });\n }\n this.typeChange.emit(this.type);\n this.schemaChange.emit(this.schema);\n }\n\n toggleExpand() {\n this.expand = !this.expand;\n this.maybeResolveRef();\n if (!this.expand) {\n this.subtype = null;\n this.subtypeChange.emit(null);\n }\n this.expandChange.emit(this.expand);\n }\n\n maybeResolveRef() {\n if (!this.schema.$ref) return;\n this.setSchema(resolveReference(this.schema.$ref, this.refBase));\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/json-schema-form/schema-label.component.ts","export function isObject(obj) {\n return obj && typeof obj === 'object' && !Array.isArray(obj);\n}\n\nexport function removeUndefined(obj) {\n if (typeof obj !== 'object') return obj;\n for (let key in obj) {\n if (typeof obj[key] === 'undefined') {\n delete obj[key];\n } else {\n obj[key] = removeUndefined(obj[key]);\n }\n }\n return obj;\n}\n\nexport function copyObject(from, to) {\n if (!isObject(from)) {\n console.log('from:', from);\n throw new Error(\"from is not an object, but a \" + typeof from);\n }\n if (!isObject(to)) {\n console.log('to:', to);\n throw new Error(\"to is not an object, but a \" + typeof to);\n }\n let keys = Object.keys(from).concat(Object.keys(to));\n keys.forEach(key => {\n if (from[key] === undefined) {\n delete to[key];\n } else if (Array.isArray(from[key])) {\n to[key] = to[key] || [];\n if (!from[key].length || from[key].length !== to[key].length || typeof from[key][0] !== 'object') {\n to[key] = from[key];\n } else {\n to[key].forEach((obj, idx) => {\n try {\n copyObject(from[key][idx], to[key][idx]);\n } catch (e) {\n e.message = idx + ':' + e.message;\n throw e;\n }\n })\n }\n } else if (isObject(from[key])) {\n to[key] = to[key] || {};\n if (!isObject(to[key])) {\n to[key] = from[key];\n } else {\n try {\n copyObject(from[key], to[key]);\n } catch (e) {\n e.message = key + ':' + e.message;\n throw e;\n }\n }\n } else {\n to[key] = from[key]\n }\n })\n}\n\nexport function getPathID(method, path) {\n return method.toUpperCase() + path.replace(/\\W+/g, '_');\n}\n\nexport function resolveReference(ref, base) {\n var keys = ref.split('/');\n keys.shift();\n var cur = base;\n keys.forEach(k => cur = cur[k]);\n return cur;\n}\n\nexport function maybeResolveRef(schema, base) {\n if (!schema || !schema.$ref) return schema;\n return resolveReference(schema.$ref, base);\n}\n\nexport function decodeFilename(str) {\n return str.replace(/%2E/g, '.');\n}\n\nexport function encodeFilename(str) {\n return str.replace(/\\./g, '%2E');\n}\n\nexport function range(num) {\n return new Array(num);\n}\n\nexport function getRelativeFilename(filename, relativeTo) {\n let fParts = filename.split('/');\n let rParts = relativeTo.split('/');\n let firstDifferentIdx = -1;\n fParts = fParts.filter((part, idx) => {\n if (firstDifferentIdx > -1) return true;\n if (part === rParts[idx]) return false;\n firstDifferentIdx = idx;\n return true;\n });\n fParts.unshift('.');\n return fParts.join('/');\n}\n\nexport function getSchemaProperties(schema, refBase, value={}, subschema=null) {\n if (schema.$ref) schema = resolveReference(schema.$ref, refBase);\n let props = Object.keys(schema.properties || {});\n (schema.allOf || []).forEach(subschema => {\n if (subschema.$ref) subschema = resolveReference(subschema.$ref, refBase);\n let subprops = getSchemaProperties(subschema, refBase);\n props = props.concat(subprops.filter(p => p !== subschema.discriminator));\n });\n if (isObject(value)) {\n let valueProperties = Object.keys(value).filter(k => props.indexOf(k) === -1);\n props = props.concat(valueProperties);\n }\n if (subschema) {\n props = props.concat(getSchemaProperties(subschema, refBase));\n }\n let req = schema.required || [];\n return props.filter((p, idx) => {\n return idx === props.lastIndexOf(p);\n }).sort((p1, p2) => {\n if (p1 === schema.discriminator) return -1;\n if (p2 === schema.discriminator) return 1;\n let i1 = (req.indexOf(p1) + 1) || req.length + 1;\n let i2 = (req.indexOf(p2) + 1) || req.length + 1;\n if (i1 === i2) return 0;\n return i1 < i2 ? -1 : 1;\n });\n}\n\nexport function getDefaultValueForType(type:string) {\n if (type === 'object') return {};\n else if (type === 'array') return [];\n else if (type === 'string') return '';\n else if (type === 'boolean') return false;\n else if (type === 'number' || type === 'integer') return 0;\n}\n\nexport function getSchemaFromValue(val) {\n if (typeof val === undefined) return {};\n let type = Array.isArray(val) ? 'array' : typeof val;\n return {type};\n}\n\nexport function getTypeForSchema(schema, refBase) {\n if (schema.$ref) schema = resolveReference(schema.$ref, refBase);\n if (schema.type) return schema.type;\n if (!schema.allOf) return null;\n for (let i = 0; i < schema.allOf.length; ++i) {\n let subtype = getTypeForSchema(schema.allOf[i], refBase);\n if (subtype) return subtype;\n }\n}\n\nexport function getPropertySchema(prop, schema, refBase) {\n if (!schema) return;\n if (schema.$ref) schema = resolveReference(schema.$ref, refBase);\n if (schema.properties && schema.properties[prop]) {\n return schema.properties[prop];\n }\n if (schema.allOf) {\n for (let i = 0; i < schema.allOf.length; ++i) {\n let sub = getPropertySchema(prop, schema.allOf[i], refBase);\n if (sub) return sub;\n }\n }\n}\n\nexport function findType(schema, type, baseSchema=null, key='') {\n if (!schema) return;\n if (key) key += '.';\n baseSchema = baseSchema || schema;\n schema = maybeResolveRef(schema, baseSchema);\n if (schema.type === type) return {schema, key};\n for (let subkey in schema.properties || {}) {\n let subschema = maybeResolveRef(schema.properties[subkey], baseSchema);\n if (subschema.type === type) {\n return {schema: subschema, path: key + subkey};\n }\n }\n for (let subkey in schema.properties || {}) {\n let subschema = maybeResolveRef(schema.properties[subkey], baseSchema);\n let ret = findType(subschema, type, baseSchema, key + subkey);\n if (ret) return ret;\n }\n}\n\nexport const SCHEMA_TYPES = ['string', 'number', 'boolean', 'array', 'object'];\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/json-schema-form/util.ts","import { Injectable, NgZone } from '@angular/core';\nimport { Observable } from 'rxjs/Observable';\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\nimport 'rxjs/add/operator/map';\nimport 'rxjs/add/operator/catch';\nimport 'rxjs/add/operator/toPromise';\n\nimport {TrackerService} from './tracker';\nimport {SecretService} from './secret';\nimport {PlatformService} from './platform.service';\n\ndeclare let window: any;\n\nexport const LOCAL_STORAGE_KEY = 'github_token';\n\nconst BASE_URL = 'https://api.github.com';\nconst REDIRECT_URI = window.config.github.redirect_uri;\nconst GITHUB_CLIENT_ID = window.config.github.client_id;\nconst WORKFLOW_DIRECTORY = window.config.workflowDirectory || 'workflows'\n\n@Injectable()\nexport class GitHubService {\n access_token: string;\n scopes: string[]=[];\n user: any;\n onAuthFinished: any;\n oauthURL: string;\n\n loading:boolean;\n forkWorkflows:any[];\n pullRequests:any[] = [];\n\n constructor(private http:HttpClient,\n private zone:NgZone,\n private tracker:TrackerService,\n private platformService: PlatformService,\n private secrets:SecretService) {\n window.githubService = this;\n this.oauthURL = \"https://github.com/login/oauth/authorize\";\n this.oauthURL += \"?client_id=\" + GITHUB_CLIENT_ID;\n this.oauthURL += \"&redirect_uri=\" + encodeURIComponent(REDIRECT_URI);\n this.oauthURL += '&prompt=select_account';\n this.oauthURL += '&scope=user:email,public_repo';\n this.setPullRequests();\n this.checkAuth();\n }\n\n buildSearch(params={}) {\n let search = new HttpParams();\n for (var k in params) search = search.set(k, params[k]);\n if (this.access_token) {\n search = search.set('access_token', this.access_token);\n }\n return search;\n }\n\n get(url, params={}) {\n return this.setUpRequest(this.http.get(BASE_URL + url, {params: this.buildSearch(params)}))\n }\n\n putOrPost(method, url, body={}, query={}) {\n let headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n let params = this.buildSearch(query);\n return this.setUpRequest(this.http[method](BASE_URL + url, JSON.stringify(body), { headers, params }));\n }\n\n post(url, body={}, query={}) {\n return this.putOrPost('post', url, body, query);\n }\n put(url, body={}, query={}) {\n return this.putOrPost('put', url, body, query);\n }\n\n setUpRequest(req) {\n this.loading = true;\n return req.toPromise()\n .then(res => {\n this.loading = false;\n return res;\n })\n .catch(this.handleError)\n }\n\n authorize(callback=null) {\n this.onAuthFinished = callback;\n this.secrets.onOAuthFinished = (qs) => this.oauthCallback(qs);\n window.open(this.oauthURL, '_blank');\n }\n\n oauthCallback(qs) {\n if (this.platformService.isServer) return;\n if (qs.error) return\n window.jQuery.ajax({\n method: 'POST',\n url: window.config.github.access_token_url + '?code=' + qs.code,\n headers: {'Content-Type': 'application/json'},\n }).done((data) => {\n window.localStorage.setItem(LOCAL_STORAGE_KEY, data.access_token);\n this.checkAuth();\n }).fail((xhr) => {\n console.log('oauth failure', xhr.responseText);\n });\n }\n\n logout() {\n if (this.platformService.isServer) return;\n window.localStorage.setItem(LOCAL_STORAGE_KEY, '');\n this.checkAuth();\n }\n\n checkAuth() {\n if (this.platformService.isServer) return;\n this.zone.run(() => {\n this.access_token = window.localStorage.getItem(LOCAL_STORAGE_KEY);\n this.user = null;\n if (!this.access_token) return;\n this.get('/user')\n .then(data => {\n this.user = data;\n })\n .then(() => {\n if (this.onAuthFinished) this.onAuthFinished();\n this.onAuthFinished = null;\n })\n });\n }\n\n setForkWorkflows(forkName) {\n this.get('/repos/' + forkName)\n .then(repo => {\n return this.get('/repos/' + forkName + '/contents/' + WORKFLOW_DIRECTORY)\n })\n .then(contents => {\n this.forkWorkflows = contents.map(c => c.name);\n });\n }\n\n setPullRequests() {\n this.get('/repos/' + window.config.github.repo + '/pulls')\n .then(pulls => this.pullRequests = pulls.filter(p => p.head.repo));\n }\n\n getWorkflowPreviewURL(forkName, workflowName) {\n return `https://raw.githubusercontent.com/${forkName}/master/${WORKFLOW_DIRECTORY}/${workflowName}/readme.md`\n }\n\n private handleError (error: any) {\n let errMsg = (error.message) ? error.message :\n error.status ? `${error.status} - ${error.statusText}` : 'Server error';\n console.error(errMsg);\n return Promise.reject(errMsg);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/github.ts","import { Injectable, Pipe, PipeTransform, EventEmitter } from '@angular/core';\nimport {SearchService} from './search';\nimport {RoutesService} from './routes';\nimport {OpenAPIService} from './openapi';\nimport {TrackerService} from './tracker';\nimport {Title, Meta} from '@angular/platform-browser';\n\ndeclare let window: any;\n\nconst initializeNavigation = require('../../lib/initialize-navigation');\n\nexport interface MenuItem {\n title:string;\n path:string;\n icon?:string;\n operation?:string;\n tag?:string;\n contents?:string;\n summary?:string;\n hide:boolean;\n hidden:boolean;\n expand:boolean;\n expanded:boolean;\n children?: MenuItem[];\n}\n\n@Injectable()\nexport class MenuService {\n items:MenuItem[] = [];\n tags:string[] = [];\n currentChoice:any;\n choose:EventEmitter = new EventEmitter();\n onlyAPICalls:boolean;\n unparsedNavigation:any;\n redirecting:string;\n currentNavigationSettings:any;\n subscriptions:any[] = [];\n\n constructor(private routes:RoutesService,\n private meta:Meta,\n private title:Title,\n private openapi:OpenAPIService,\n private tracker:TrackerService,\n private search:SearchService) {\n window.menuService = this;\n let paramSub = null;\n let triedRedirect = false;\n this.subscriptions.push(this.routes.currentRoute.subscribe(route => {\n if (!route) return this.clearNavigation();\n let nav = this.routes.getCurrentNavigation();\n this.setNavigation(nav);\n if (paramSub) paramSub.unsubscribe();\n paramSub = this.routes.router.routerState.root.children[0].params.subscribe(params => {\n let didRedirect = false;\n if (!triedRedirect) {\n didRedirect = this.maybeRedirectFromHash();\n triedRedirect = true;\n }\n if (!didRedirect) this.expandForParams(params);\n })\n }));\n this.subscriptions.push(this.choose.subscribe(choice => {\n this.setMeta(choice);\n if (choice) {\n this.tracker.track('menu', {title: choice.title, path: choice.path});\n }\n }));\n this.subscriptions.push(this.openapi.spec.subscribe(spec => {\n let nav = this.routes.getCurrentNavigation();\n this.setNavigation(nav);\n this.expandForParams(this.routes.getPathParams());\n }));\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(s => s.unsubscribe());\n }\n\n maybeRedirectFromHash() {\n if (!window.config.uiOptions.redirectHashURLs) return;\n if (!window.originalURL.hash || window.originalURL.hash.indexOf('#/') !== 0) return;\n console.log('redirecting...', window.originalURL.hash);\n let title = window.decodeURIComponent(window.originalURL.hash.substring(2));\n title = title.replace(/\\W+/g, '_');\n let item = this.getItemWithCond(i => {\n return i.path.indexOf(title) === i.path.length - title.length;\n });\n if (item) {\n this.setActiveItem(item);\n return true;\n }\n }\n\n setMeta(item=null) {\n let curRoute = this.routes.getCurrentRoute();\n let title = curRoute.meta.title;\n let description = curRoute.meta.description;\n let keywords = curRoute.meta.keywords || [];\n if (item) {\n let meta = item.meta || {};\n title = (meta.title || item.title) + ' - ' + title;\n description = meta.description || item.summary || description;\n keywords = keywords.concat(item.keywords || []);\n }\n this.title.setTitle(title);\n this.meta.updateTag({name: 'title', content: title});\n this.meta.updateTag({name: 'description', content: description});\n this.meta.updateTag({name: 'keywords', content: keywords.join(',')});\n }\n\n setNavigation(nav) {\n let curRoute = this.routes.getCurrentRoute();\n this.onlyAPICalls = curRoute.ui === 'console';\n if (curRoute.openapi\n && (curRoute.openapi !== this.openapi.currentName || !this.openapi.parsed)) {\n return;\n }\n let needsInit = true;\n if (this.currentNavigationSettings\n && this.currentNavigationSettings.navigation === nav\n && this.currentNavigationSettings.openapi === this.openapi.parsed) {\n needsInit = false;\n }\n if (needsInit) {\n this.clearNavigation();\n this.items = initializeNavigation(nav, window.config, this.openapi.parsed) || [];\n this.routes.setCurrentNavigation(this.items);\n this.search.setItems(this.items);\n this.setTags();\n }\n this.currentNavigationSettings = {\n navigation: nav,\n openapi: this.openapi.parsed,\n };\n this.hideInvalidItems();\n }\n\n setTags() {\n this.tags = [];\n this.addTags(this.items);\n this.tags.sort();\n }\n\n addTags(navItems) {\n if (!navItems) return;\n navItems.filter(i => i.tags && i.tags !== true).forEach(item => {\n let tags = item.tags.filter(t => this.tags.indexOf(t) === -1);\n this.tags = this.tags.concat(tags);\n this.addTags(item.children);\n });\n }\n\n clearNavigation() {\n this.items = [];\n this.currentNavigationSettings = null;\n this.clearSelection();\n }\n\n setActiveItem(item) {\n if (!item) return this.clearSelection();\n if (item.autoselect && item.children) return this.setActiveItem(item.children[0]);\n let curPath = this.getPathFromParams(this.routes.getPathParams());\n if (item.path !== curPath) {\n if (item.path !== this.redirecting) {\n this.redirecting = item.path;\n this.routes.navigate(this.routes.getNavigationLink(item.path), true);\n }\n } else {\n this.redirecting = null;\n item.active = item.expanded = true;\n this.currentChoice = item;\n this.choose.emit(item);\n }\n }\n\n expandForParams(params) {\n if (!this.items || !this.items.length) {\n return;\n }\n this.collapseAll();\n if (params['apiCall'] || params['operation']) {\n let menuItem = this.getItemByType('operation', params['apiCall'] || params['operation']);\n return this.setActiveItem(menuItem);\n } else if (params['title']) {\n let menuItem = this.getItemByType('title', params['title']);\n return this.setActiveItem(menuItem);\n } else if (params['definition']) {\n let menuItem = this.getItemByType('definition', params['definition']);\n return this.setActiveItem(menuItem);\n }\n let path = this.getPathFromParams(params);\n let chosen = this.expandForPath(path);\n let curRoute = this.routes.getCurrentRoute();\n let defaultRoute = this.routes.getDefaultRoute();\n if (!chosen) {\n if (defaultRoute && path !== \"/\") {\n this.routes.navigate([defaultRoute]);\n } else if (curRoute.ui === 'documentation') {\n chosen = chosen || this.items[0];\n }\n }\n this.setActiveItem(chosen);\n }\n\n getPathFromParams(params) {\n let pathParts = [];\n let pathStart = 0;\n while (params['item' + pathStart]) {\n pathParts.push(params['item' + pathStart++]);\n }\n return '/' + pathParts.join('/');\n }\n\n expandForPath(path) {\n let chosen = this.expandFirstMatchingItem(path, this.items);\n return chosen;\n }\n\n getItemWithCond(cond, items=null) {\n if (!items) items = this.items;\n for (let i = 0; i < items.length; ++i) {\n if (cond(items[i])) return items[i];\n let child = this.getItemWithCond(cond, items[i].children || []);\n if (child) return child;\n }\n return null;\n }\n\n getItem(path) {\n return this.getItemWithCond(i => i.path === path);\n }\n\n getItemByType(type, value) {\n return this.getItemWithCond(i => i[type] === value);\n }\n\n clearSelection() {\n this.currentChoice = null;\n this.collapseAll();\n this.choose.emit(null);\n }\n\n collapseAll() {\n this.items.forEach(i => this.collapseItem(i));\n }\n\n collapseItem(item) {\n item.expanded = item.active = false;\n if (item.children) item.children.forEach(c => this.collapseItem(c));\n }\n\n expandFirstMatchingItem(path, items=null) {\n return this.expandWithCondition(i => i.path === path, items);\n }\n\n expandWithCondition(cond, items=null) {\n if (!items) items = this.items;\n for (let i = 0; i < items.length; ++i) {\n let item = items[i];\n if (cond(item) && !item.hidden) {\n item.expanded = true;\n return item;\n }\n let matchedChild = this.expandWithCondition(cond, item.children || []);\n if (matchedChild) {\n item.expanded = true;\n return matchedChild;\n }\n }\n }\n\n hideWithCondition(cond, items=null) {\n if (!items) items = this.items;\n items.forEach(item => {\n if (item.children) this.hideWithCondition(cond, item.children);\n let visibleChildren = (item.children || []).filter(c => !c.hidden);\n return item.hidden = (cond(item) && !visibleChildren.length) || item.hide;\n })\n }\n\n hideInvalidItems() {\n this.hideWithCondition(i => {\n if (i.hide) return true;\n if (this.onlyAPICalls && !i.operation) return true;\n if (this.openapi.parsed) {\n if (i.operation && !this.openapi.getAPICall(i.operation)) return true;\n if (i.definition && !this.openapi.parsed.definitions[i.definition]) return true;\n }\n return false;\n });\n }\n}\n\n@Pipe({\n name: 'getMenuItemFromSearch',\n})\nexport class GetMenuItemFromSearchPipe implements PipeTransform {\n constructor(private menu:MenuService) {}\n\n transform(results: any[], args: any[]): any {\n if (!results) return [];\n let items = results\n .map(r => this.menu.getItem(r.ref) || {hidden: true})\n .filter(i => !i.hidden || i.searchable);\n if (!items.length) return [-1];\n return items;\n }\n}\n\n@Pipe({\n name: 'mapSearchResults',\n})\nexport class MapSearchResultsPipe implements PipeTransform {\n constructor(private search:SearchService) {}\n\n transform(results: any[], args: any[]): any {\n let items = args[0];\n let tag = args[1];\n if (!this.search.query && !tag) return items;\n results = (results || []).map(r => r.ref);\n let matchesQuery = item => {\n if (item.hidden && !item.searchable) return false;\n let matchesSearch = !this.search.query || results.indexOf(item.path) !== -1;\n let matchesTag = !tag || (item.tags || []).indexOf(tag) !== -1;\n return (matchesSearch && matchesTag) || !!(item.children || []).filter(i => matchesQuery(i)).length;\n }\n let matches = items.filter(item => matchesQuery(item));\n return matches.length ? matches : [-1];\n }\n}\n\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/menu.ts","import { Injectable } from '@angular/core';\nimport {Observable} from 'rxjs/Observable';\nimport {BehaviorSubject} from 'rxjs/Rx';\nimport { HttpClient } from '@angular/common/http';\n\nimport {SecretService} from './secret';\nimport {RoutesService} from './routes';\nimport {TrackerService} from './tracker';\nimport {METHODS} from './utils';\n\ndeclare let window: any;\ndeclare let $: any;\n\nconst OAUTH_TOKEN_NAMES = {\n 'slack.com': 'token',\n}\n\nconst X_VALUES = [\n 'dynamicEnum',\n 'dynamicValue',\n 'hidden',\n 'global',\n 'consoleDefault',\n 'inputType',\n 'group',\n 'enumLabels',\n 'showCondition',\n 'parameterGroups',\n];\nconst getSeparatorFromFormat = function(format) {\n if (format === 'multi') return;\n if (!format || format === 'csv') {\n return ',';\n } else if (format === 'tsv') {\n return '\\t';\n } else if (format === 'ssv') {\n return ' ';\n } else if (format === 'pipes') {\n return '|';\n }\n}\n\ninterface APICall {\n id:string;\n method:string;\n path:string;\n title:string;\n operation:any;\n}\n\n@Injectable()\nexport class OpenAPIService {\n currentName:string;\n specSubject:BehaviorSubject = new BehaviorSubject(null);\n spec:Observable;\n versions:any[] = [];\n currentVersion:any;\n targetVersion:string;\n parsed:any;\n original:any;\n apiCalls:APICall[];\n globalParameters:any = {};\n loading:boolean;\n subscriptions:any[] = [];\n\n constructor(private http:HttpClient,\n private routes:RoutesService,\n private tracker:TrackerService,\n public secrets:SecretService) {\n window.lucybot.openapiService = this;\n this.spec = this.specSubject.asObservable();\n this.subscriptions.push(this.spec.subscribe(spec => {\n if (!spec) return;\n this.tracker.track('openapi', {\n host: spec.host,\n version: spec.info.version,\n title: spec.info.title,\n })\n }));\n\n this.subscriptions.push(this.secrets.onChange.subscribe(newSecrets => {\n for (let key in newSecrets) this.globalParameters[key] = newSecrets[key];\n }));\n for (let key in this.secrets.secrets) this.globalParameters[key] = this.secrets.secrets[key];\n\n this.subscriptions.push(this.routes.currentRoute.subscribe(route => {\n if (route) this.retrieveSpec(route.openapi);\n for (let key in this.globalParameters) delete this.globalParameters[key];\n }));\n this.subscriptions.push(this.routes.router.routerState.root.children[0].queryParams.subscribe(qs => {\n this.targetVersion = qs['apiVersion'];\n if (this.currentVersion && this.currentVersion.label !== this.targetVersion) {\n let newVersion = this.versions.filter(v => v.label === this.targetVersion)[0];\n if (newVersion) this.retrieveVersion(newVersion);\n }\n }));\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(s => s.unsubscribe());\n }\n\n retrieveSpec(name) {\n if (name === this.currentName) return;\n if (this.currentName) {\n this.secrets.clearSecrets();\n }\n this.currentName = name;\n if (!name) {\n this.currentName = null;\n this.parsed = this.original = null;\n this.specSubject.next(null);\n return;\n }\n this.versions = window.config.openapi ? window.config.openapi[name] : [];\n if (window.lucybot.openapi[name] && !this.targetVersion) {\n this.original = window.lucybot.openapi[name];\n this.currentVersion = this.versions[0];\n this.initialize();\n this.specSubject.next(this.parsed);\n } else {\n let version = this.versions[0];\n if (this.targetVersion) {\n version = this.versions.filter(v => v.label === this.targetVersion)[0] || version;\n }\n this.retrieveVersion(version);\n }\n }\n\n retrieveVersion(version) {\n let name = this.currentName;\n this.currentVersion = version;\n this.loading = true;\n this.original = this.parsed = null;\n this.specSubject.next(null);\n if (window.config.openapi[name][0] !== version) {\n this.routes.addQueryParams({apiVersion: version.label});\n } else {\n this.routes.addQueryParams({apiVersion: null});\n }\n let specURL = 'openapi/' + name + '.' + version.label.replace(/\\W+/g, '_') + '.openapi.json';\n this.http.get(specURL).toPromise()\n .then(spec => {\n this.original = spec;\n })\n .then(() => this.initialize())\n .then(spec => this.specSubject.next(this.parsed))\n .then(() => this.loading = false);\n }\n\n getAPICall(title) {\n return this.apiCalls.filter(a => a.title === title)[0];\n }\n\n resolveAPICall(info) {\n return this.apiCalls.filter(apiCall => {\n if (info.title === apiCall.title) return true;\n if (info.method === apiCall.method && info.path === apiCall.path) return true;\n return false;\n })[0];\n }\n\n operationMatchesQuery(op, query='') {\n let searchText = op.method + ' ' + op.path + ' ' + (op.operation.operationId || '');\n return searchText.indexOf(query) !== -1;\n }\n\n getAnswers(defaults:any={}) {\n let answers = {};\n for (let key in this.secrets.secrets) {\n answers[key] = this.secrets.secrets[key];\n }\n for (let key in this.globalParameters) {\n answers[key] = this.globalParameters[key];\n }\n for (let key in defaults) {\n answers[key] = defaults[key];\n }\n return answers;\n }\n\n openAPIRequest(opts) {\n var req:any = {};\n var op = this.parsed.paths[opts.path][opts.method];\n if (!op) {\n console.log('Operation not found', opts.path, opts.method);\n return;\n }\n let answers = this.getAnswers(opts.answers);\n if (opts.embed) {\n for (var key in window.config.embedParameters || {}) {\n if (answers[key] === undefined) answers[key] = window.config.embedParameters[key];\n }\n }\n\n req.protocol = this.parsed.schemes.indexOf('https') === -1 ? this.parsed.schemes[0] : 'https';\n req.domain = this.parsed.host;\n req.method = opts.method;\n var basePath = this.parsed.basePath;\n if (basePath.lastIndexOf('/') === basePath.length - 1) basePath = basePath.substring(0, basePath.length - 1);\n req.path = basePath + opts.path;\n var consumes = op.consumes || ['application/json'];\n var contentType = '';\n var useTraditional = false;\n\n const addParam = (parameter, answer) => {\n if (parameter.type === 'file') {\n req.files = req.files || {};\n req.files[parameter.name] = answer;\n } else if (parameter.in === 'path') {\n req.path = req.path.replace('{' + parameter.name + '}', answer);\n } else if (parameter.in === 'header') {\n req.headers = req.headers || {};\n req.headers[parameter.name] = answer;\n } else if (parameter.in === 'formData') {\n if (req.body) req.body += '&';\n else req.body = '';\n req.body += parameter.name + '=' + encodeURIComponent(answer);\n contentType = 'application/x-www-form-urlencoded';\n } else if (parameter.in === 'query') {\n req.query = req.query || {};\n req.query[parameter.name] = answer;\n if (parameter.collectionFormat === 'multi') useTraditional = true;\n } else if (parameter.in === 'body') {\n contentType = parameter.contentType || consumes[0];\n if (req.body) {\n if (typeof answer === 'string' && typeof req.body === 'object') {\n answer = JSON.parse(answer);\n }\n req.body = Object.assign({}, req.body, answer);\n } else {\n req.body = contentType === 'application/json' ? JSON.parse(answer) : answer;\n }\n }\n }\n let extendBody = {};\n if (this.parsed.securityDefinitions && op.security) {\n var addedOauth = false;\n op.security.forEach(secReq => {\n for (var secName in secReq) {\n let sec = this.parsed.securityDefinitions[secName];\n if (sec.type === 'apiKey') {\n if (this.secrets.secrets[sec.name]) {\n if (sec.in === 'body') {\n extendBody[sec.name] = this.secrets.secrets[sec.name];\n } else {\n addParam(sec, this.secrets.secrets[sec.name]);\n }\n }\n } else if (sec.type === 'oauth2' && this.secrets.secrets.oauth2 && !addedOauth) {\n if (OAUTH_TOKEN_NAMES[this.parsed.host]) {\n addParam({in: 'query', name: OAUTH_TOKEN_NAMES[this.parsed.host]}, this.secrets.secrets.oauth2);\n } else if (sec.flow === 'implicit') {\n addParam({in: 'query', name: 'access_token'}, this.secrets.secrets.oauth2);\n } else {\n addParam({in: 'header', name: 'Authorization'}, 'Bearer ' + this.secrets.secrets.oauth2)\n }\n addedOauth = true;\n } else if (sec.type === 'basic' && this.secrets.secrets.username && this.secrets.secrets.password) {\n addParam({in: 'header', name: 'Authorization'}, 'Basic ' + btoa(this.secrets.secrets.username + ':' + this.secrets.secrets.password));\n }\n }\n });\n }\n op.parameters.forEach((parameter) => {\n var answer = answers[parameter.name];\n if (parameter.type === 'array') {\n if (parameter.items && parameter.items.type === 'object') {\n let rxstr = parameter.name.replace(/\\[/g, '\\\\[').replace(/\\]/g, '\\\\]') + '\\\\[\\\\d+\\\\].*';\n let rx = new RegExp(rxstr);\n for (let key in answers) {\n if (rx.test(key)) {\n addParam({\n in: parameter.in,\n name: key,\n }, answers[key])\n }\n }\n return;\n } else {\n answer = answer || [];\n if (!answer.length) return;\n var sep = getSeparatorFromFormat(parameter.collectionFormat);\n if (sep) answer = answer.join(sep);\n }\n }\n if (answer === undefined || answer === '') {\n if (parameter.in === 'path') {\n answer = '';\n } else {\n return;\n }\n }\n addParam(parameter, answer);\n });\n for (let key in extendBody) {\n req.body = req.body || {};\n req.body[key] = req.body[key] || extendBody[key];\n }\n if (contentType) {\n req.headers = req.headers || {};\n req.headers['Content-Type'] = contentType;\n }\n if (useTraditional) {\n req.path += '?' + window.jQuery.param(req.query, true);\n delete req.query;\n }\n return req;\n }\n\n request(opts) {\n var req = this.openAPIRequest(opts);\n var ajaxReq:any = {\n url: req.protocol + '://' + req.domain + req.path,\n method: req.method.toUpperCase(),\n headers: req.headers,\n data: typeof req.body === 'object' ? JSON.stringify(req.body) : req.body,\n }\n if (opts.proxy) {\n ajaxReq.url = opts.proxy + '/proxy/' + req.protocol + '/' + req.domain + req.path;\n }\n if (req.query) {\n ajaxReq.url += '?';\n Object.keys(req.query).forEach((k, idx) => {\n if (idx !== 0) ajaxReq.url += '&';\n ajaxReq.url += k + '=' + encodeURIComponent(req.query[k]);\n })\n }\n if (req.files) {\n ajaxReq.data = new FormData();\n for (var pname in req.files) ajaxReq.data.append(pname, req.files[pname]);\n ajaxReq.cache = ajaxReq.contentType = ajaxReq.processData = false;\n }\n if (window.config.proxy) {\n let proxyURL = typeof window.config.proxy === 'string' ? window.config.proxy : 'https://crossorigin.me/';\n ajaxReq.url = proxyURL + ajaxReq.url;\n }\n return window.jQuery.ajax(ajaxReq);\n }\n\n resolveReference(ref, cache={}, base=null) {\n if (cache[ref]) return cache[ref];\n var keys = ref.split('/');\n keys.shift();\n var cur = base || this.parsed;\n keys.forEach(k => cur = cur[k]);\n return cache[ref] = cur;\n }\n\n dereference(obj, cache={}, base=null, seen=[]) {\n if (typeof obj !== 'object' || obj === null) return obj;\n base = base || obj;\n if (seen.indexOf(obj) === -1) {\n seen.push(obj);\n } else {\n return obj;\n }\n if (obj.$ref) return this.resolveReference(obj.$ref, cache, base);\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; ++i) {\n obj[i] = this.dereference(obj[i], cache, base, seen);\n }\n return obj;\n } else if (typeof obj === 'object') {\n for (var key in obj) {\n var val = obj[key];\n obj[key] = this.dereference(val, cache, base, seen);\n }\n }\n return obj;\n }\n\n replaceXValues(obj) {\n X_VALUES.forEach((v) => {\n if (obj[v] === undefined && obj['x-' + v] !== undefined) {\n obj[v] = obj['x-' + v];\n }\n })\n }\n\n initialize() {\n const fixParameter = (param, origParam, op) => {\n if (param.$ref) param = JSON.parse(JSON.stringify(this.resolveReference(param.$ref)));\n if (origParam.$ref) origParam = this.resolveReference(origParam.$ref, {}, this.original);\n if (param.in === 'body') {\n param.consumes = op.consumes || ['application/json'];\n if (param.schema) {\n let derefedSchema = param.schema;\n param.schema = origParam.schema;\n param.schema.definitions = this.original.definitions;\n param.schema.title = derefedSchema.title;\n }\n }\n if (param.type === 'array') param.items = param.items || {};\n this.replaceXValues(param);\n return param;\n }\n\n const fixOperation = (op, origOp, pathParams, origPathParams) => {\n op.responses = op.responses || {};\n op.consumes = op.consumes || this.parsed.consumes;\n op.produces = op.produces || this.parsed.produces;\n op.security = op.security || this.parsed.security;\n op.parameters = (op.parameters || []).concat(pathParams || []);\n let origParams = (origOp.parameters || []).concat(origPathParams || []);\n op.parameters = op.parameters.map((p, idx) => fixParameter(p, origParams[idx], op));\n if (op.produces && op.produces.length > 1) {\n let curAcceptParam = op.parameters.filter(p => p.name.toLowerCase() === 'accept')[0];\n if (!curAcceptParam) {\n let acceptParam = {\n in: 'header',\n name: 'Accept',\n type: 'string',\n enum: op.produces,\n consoleDefault: op.produces[0],\n global: true,\n }\n op.parameters.unshift(acceptParam);\n }\n }\n this.replaceXValues(op);\n }\n\n this.parsed = window.jQuery.extend(true, {}, this.original);\n this.parsed.host = this.parsed.host || 'localhost';\n this.parsed.schemes = this.parsed.schemes || ['http'];\n this.parsed.definitions = this.parsed.definitions || {};\n this.parsed = this.dereference(this.parsed);\n this.parsed.basePath = this.parsed.basePath || '/';\n for (let key in this.parsed.definitions) {\n let schema = this.parsed.definitions[key];\n let origSchema = this.original.definitions[key];\n schema.title = origSchema.title = schema.title || key;\n }\n\n if (this.parsed.securityDefinitions) {\n let someOpHasSec = false;\n for (var path in this.parsed.paths) {\n for (var method in this.parsed.paths[path]) {\n if (METHODS.indexOf(method.toUpperCase()) === -1) continue;\n let op = this.parsed.paths[path][method];\n if (op.security) someOpHasSec = true;\n }\n }\n if (!someOpHasSec) {\n this.parsed.security = Object.keys(this.parsed.securityDefinitions).map(k => {\n let ret = {};\n ret[k] = [];\n return ret;\n });\n }\n }\n\n for (var path in this.parsed.paths) {\n var pathParams = this.parsed.paths[path].parameters || [];\n delete this.parsed.paths[path].parameters;\n for (var method in this.parsed.paths[path]) {\n if (METHODS.indexOf(method.toUpperCase()) === -1) continue;\n fixOperation(this.parsed.paths[path][method], this.original.paths[path][method], pathParams, this.original.paths[path].parameters || [])\n }\n }\n\n this.secrets.hasSecurity = (this.parsed.securityDefinitions &&\n !!Object.keys(this.parsed.securityDefinitions).length);\n this.apiCalls = [];\n for (let path in this.parsed.paths) {\n for (let method in this.parsed.paths[path]) {\n if (METHODS.indexOf(method.toUpperCase()) === -1) continue;\n let operation = this.parsed.paths[path][method];\n let id = operation.operationId || method.toUpperCase() + ' ' + path;\n let apiCall:APICall = {\n id,\n path,\n method,\n operation,\n title: id,\n }\n this.apiCalls.push(apiCall);\n }\n }\n }\n\n startOAuth(securityDefinition, scopes) {\n return this.secrets.startOAuth(this.parsed.host, (this.currentVersion || {}).client_id, securityDefinition, scopes);\n }\n\n fillSchema(smaller, schema, checked=[], recursive=true) {\n if (smaller.$ref) return;\n if (schema.$ref) schema = this.resolveReference(schema.$ref);\n if (!smaller.properties) return;\n if (checked.indexOf(schema) !== -1) return\n checked.push(schema);\n if (recursive) {\n let subs = [];\n [schema.anyOf, schema.oneOf].filter(s => s)\n .map(s => s.$ref ? this.resolveReference(s.$ref) : s)\n .filter(s => checked.indexOf(s) === -1)\n .forEach(s => subs = subs.concat(s));\n for (let sub of subs) {\n this.fillSchema(smaller, sub, checked, true);\n checked.push(sub);\n }\n }\n let subs = [];\n [schema.allOf].filter(s => s)\n .map(s => s.$ref ? this.resolveReference(s.$ref) : s)\n .filter(s => checked.indexOf(s) === -1)\n .forEach(s => subs = subs.concat(s));\n for (let sub of subs) {\n this.fillSchema(smaller, sub, checked, false);\n checked.push(sub);\n }\n for (let key in smaller.properties) {\n if (smaller.properties[key].$ref) continue\n let subschema = schema.properties[key];\n if (!subschema) continue;\n if (subschema.$ref) subschema = this.resolveReference(subschema.$ref);\n smaller.properties[key] = Object.assign({}, subschema, smaller.properties[key], {\n $ref: undefined,\n allOf: undefined,\n anyOf: undefined,\n oneOf: undefined,\n 'x-abstract': undefined,\n });\n this.fillSchema(smaller.properties[key], subschema);\n }\n }\n\n findProperty(schema, key, checked=[]) {\n if (schema.$ref) schema = this.resolveReference(schema.$ref);\n if (schema.properties && schema.properties[key]) return schema.properties[key];\n if (checked.indexOf(schema) !== -1) return\n checked.push(schema);\n let subs = [];\n [schema.allOf, schema.anyOf, schema.oneOf].filter(s => s)\n .map(s => s.$ref ? this.resolveReference(s.$ref) : s)\n .filter(s => checked.indexOf(s) === -1)\n .forEach(s => subs = subs.concat(s));\n checked = checked.concat(subs);\n for (let sub of subs) {\n let prop = this.findProperty(sub, key, checked);\n if (prop) return prop;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/openapi.ts","import { Inject, Injectable, PLATFORM_ID } from '@angular/core'\nimport { isPlatformBrowser, isPlatformServer } from '@angular/common'\n\n@Injectable()\nexport class PlatformService {\n constructor(\n @Inject(PLATFORM_ID) private platformId: any\n ) { }\n\n public get isBrowser(): boolean {\n return isPlatformBrowser(this.platformId)\n }\n\n public get isServer(): boolean {\n return isPlatformServer(this.platformId)\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/platform.service.ts","import { Injectable, NgZone } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Router, NavigationStart, NavigationEnd } from '@angular/router';\nimport { BehaviorSubject } from 'rxjs/Rx';\nimport {Title, Meta} from '@angular/platform-browser';\n\nimport {TrackerService} from './tracker';\n\ndeclare let window: any;\n\n@Injectable()\nexport class RoutesService {\n currentRoute:BehaviorSubject;\n subscriptions:any[] = [];\n\n constructor(public router: Router,\n private location:Location,\n private title:Title,\n private meta:Meta,\n private tracker:TrackerService,\n private zone:NgZone) {\n window.routesService = this;\n this.currentRoute = new BehaviorSubject(null);\n let lastChild = null;\n this.subscriptions.push(this.router.events.subscribe(evt => {\n let event:any = evt;\n if (event instanceof NavigationStart) {\n let basePath = this.getBasePath(event.url);\n if (basePath !== this.getCurrentBasePath()) {\n this.currentRoute.next(null);\n }\n } else if (event instanceof NavigationEnd) {\n let newRoute = this.getCurrentRoute();\n if (newRoute !== this.currentRoute.getValue()\n || lastChild !== this.router.routerState.root.children[0]) {\n lastChild = this.router.routerState.root.children[0]\n this.tracker.track('route', {\n url: event.url,\n });\n window.jQuery('body').removeClass((idx, names) => {\n names = names.split(' ').filter(n => n.indexOf('ui-') === 0).join(' ');\n return names;\n });\n window.jQuery('body').addClass('ui-' + newRoute.ui);\n this.title.setTitle(newRoute.meta.title);\n this.meta.updateTag({name: 'title', content: newRoute.meta.title});\n this.meta.updateTag({name: 'description', content: newRoute.meta.description});\n this.meta.updateTag({name: 'keywords', content: (newRoute.meta.keywords || []).join(',')});\n this.currentRoute.next(newRoute);\n }\n }\n }));\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(s => s.unsubscribe());\n }\n\n navigate(link, isRedirect=false, extras:any={}) {\n if (!extras.queryParams) {\n extras.queryParams = this.getQueryParams();\n }\n if (isRedirect) {\n extras.replaceUrl = true;\n }\n this.zone.run(() => {\n this.router.navigate(link, extras);\n });\n }\n\n addQueryParams(params) {\n let link = this.getCurrentPath().split('/');\n let childRoute = this.router.routerState.root.children[0];\n let queryObs:any = childRoute.queryParams;\n let queryParams = window.jQuery.extend({}, queryObs.getValue());\n for (let k in params) queryParams[k] = params[k];\n for (let k in queryParams) if (queryParams[k] === null) delete queryParams[k];\n this.navigate(link, true, {queryParams});\n }\n\n getCurrentPath() {\n return this.router.url.substring(1).split(';')[0].split('?')[0]\n }\n\n getPathParams() {\n let paramObs:any = this.router.routerState.root.children[0].params;\n return paramObs.getValue();\n }\n\n getQueryParams() {\n let paramObs:any = this.router.routerState.root.children[0].queryParams;\n return paramObs.getValue();\n }\n\n getBasePath(longPath) {\n if (Array.isArray(longPath)) longPath = longPath.join('/');\n let best = '';\n Object.keys(window.config.routes).forEach(path => {\n if (path.length > best.length && longPath.indexOf(path) === 0) {\n best = path;\n }\n });\n return best;\n }\n\n getDefaultRoute() {\n return window.config.routes.default;\n }\n\n getCurrentBasePath() {\n return this.getBasePath(this.router.url) || window.config.routes.default || Object.keys(window.config.routes)[0];\n }\n\n getCurrentRoute() {\n let path = this.getCurrentBasePath();\n let route = window.config.routes[path];\n if (typeof route.navigation === 'string') {\n route.navigation = window.config[route.navigation];\n }\n return route;\n }\n\n getCurrentNavigation() {\n let nav = this.getCurrentRoute().navigation;\n if (typeof nav === 'string') nav = window.config[nav];\n return nav;\n }\n\n setCurrentNavigation(nav) {\n this.getCurrentRoute().navigation = nav;\n }\n\n getPathParts(path='') {\n if (path.charAt(0) === '/') path = path.substring(1);\n return path.split('/');\n }\n\n getLink(uiType) {\n let curRoute = this.getCurrentRoute();\n for (let path in window.config.routes) {\n let route = window.config.routes[path];\n if (route.ui === uiType && (route.openapi === curRoute.openapi || !curRoute.openapi)) {\n let link = this.getPathParts(path);\n link[0] = '/' + link[0];\n return link;\n }\n }\n }\n\n getBaseLink() {\n let parts = this.getPathParts(this.getCurrentBasePath());\n parts[0] = '/' + parts[0];\n return parts;\n }\n\n getAPICallLink(apiCall, docsOrConsole) {\n let link = this.getLink(docsOrConsole);\n let base = this.getBasePath(link);\n let route = window.config.routes[base];\n let navigation = route.navigation;\n if (typeof navigation === 'string') {\n navigation = window.config[navigation];\n } else if (!route.navigation) {\n navigation = this.getCurrentRoute().navigation;\n }\n function getLink(items) {\n if (!items) return;\n for (let i = 0; i < items.length; ++i) {\n let item = items[i];\n if (item.operation === apiCall.id) return item;\n let child = getLink(item.children);\n if (child) return child;\n }\n }\n let sublink = getLink(navigation);\n if (!sublink) throw new Error(\"nav not found for \" + apiCall.method + ' ' + apiCall.path);\n return link.concat(sublink.path.substring(1).split('/'));\n }\n\n getNavigationLink(path) {\n let parts = [this.getCurrentBasePath()];\n parts = parts.concat(this.getPathParts(path));\n return parts;\n }\n\n makeRelativePathAbsolute(path) {\n if (path.charAt(0) === '/') return path;\n let base = this.getCurrentBasePath();\n if (base.charAt(base.length - 1) !== '/') base += '/';\n return base + path;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/routes.ts","import { Injectable, NgZone } from '@angular/core';\nimport {Observable} from 'rxjs/Observable';\nimport {BehaviorSubject} from 'rxjs/Rx';\nimport 'rxjs/add/operator/map';\n\nimport {TrackerService} from './tracker';\nimport {RoutesService} from './routes';\nimport { PlatformService } from './platform.service';\n\ndeclare let window: any;\n\nconst REFRESH_RATE = 1000;\n\n@Injectable()\nexport class SearchService {\n index:any;\n query:string;\n resultSubject:BehaviorSubject|null>;\n results:Observable|null>;\n interval:any;\n requestID:number;\n subscriptions:any[] = [];\n\n constructor(\n private routes:RoutesService,\n private tracker:TrackerService,\n private zone:NgZone,\n private platformService:PlatformService\n ) {\n window.searchService = window.lucybot.searchService = this;\n this.resultSubject = new BehaviorSubject(null);\n this.results = this.resultSubject.asObservable();\n this.startSearchInterval();\n\n this.subscriptions.push(this.results.subscribe(val => {\n if (!val) return;\n let params:any = {};\n params.query = this.query || null;\n this.routes.addQueryParams(params);\n }));\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(s => s.unsubscribe());\n }\n\n startSearchInterval() {\n if (this.interval) window.clearInterval(this.interval);\n let lastQuery = undefined;\n this.zone.runOutsideAngular(() => {\n this.interval = setInterval(() => {\n if (this.query === lastQuery) return;\n lastQuery = this.query;\n this.zone.run(() => {\n this.performSearch();\n });\n }, REFRESH_RATE);\n });\n }\n\n performSearch() {\n if (!this.query) return this.resultSubject.next([]);\n this.tracker.track('search', {query: this.query});\n if (window.lucybot.search) {\n window.lucybot.search(this.query, '', (err, results) => {\n if (err) throw err;\n this.resultSubject.next(results);\n })\n } else {\n if (!this.index) return setTimeout(() => this.performSearch(), 100);\n let results = this.index.search(this.query);\n this.resultSubject.next(results);\n }\n }\n\n setItems(items) {\n if (this.platformService.isServer || window.lucybot.search) {\n return;\n }\n this.index = null;\n this.requestID = Math.floor(Math.random() * 10000000000);\n const LunrWorker = require('!worker-loader!../lunr_worker');\n let worker = new LunrWorker;\n worker.onmessage = e => {\n let message = JSON.parse(e.data);\n if (message.requestID === this.requestID) {\n this.index = window.lunr.Index.load(message.index);\n }\n worker.terminate();\n }\n worker.postMessage({requestID: this.requestID, items});\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/search.ts","import { Injectable, EventEmitter, NgZone } from '@angular/core';\nimport {TrackerService} from './tracker';\n\ndeclare let window: any;\n\nwindow.onOAuthComplete = function(qs) {\n if (qs.error) throw new Error(qs.error);\n window.secretService.oauthFinished(qs);\n}\n\nconst OAUTH_CALLBACK = window.config.oauth.callback_url ||\n window.location.protocol + '//' + window.location.host + (window.config.basePath || '/') + 'oauth_callback.html';\n\n@Injectable()\nexport class SecretService {\n secrets:any={};\n hasSecurity:boolean;\n onOAuthFinished:Function;\n oauthSettings:any = {};\n onChange:EventEmitter = new EventEmitter();\n constructor(private zone:NgZone, private tracker:TrackerService) {\n window.secretService = this;\n }\n\n setSecrets(secrets) {\n this.tracker.track('authenticate', {keys: Object.keys(secrets).join(',')});\n this.zone.run(() => {\n for (let key in secrets) this.secrets[key] = secrets[key];\n this.onChange.emit(this.secrets);\n });\n }\n\n clearSecrets() {\n this.secrets = {};\n this.setSecrets({});\n }\n\n startOAuth(host, clientId, securityDefinition, scopes) {\n let flow = securityDefinition.flow;\n let url = securityDefinition.authorizationUrl;\n let state = Math.random();\n let redirect = OAUTH_CALLBACK;\n this.oauthSettings = {\n host, clientId,\n }\n url += '?response_type=' + (flow === 'implicit' ? 'token' : 'code');\n url += '&redirect_uri=' + redirect;\n url += '&client_id=' + encodeURIComponent(clientId);\n if (scopes.length > 0) {\n url += '&scope=' + encodeURIComponent(scopes.join(' '));\n }\n url += '&state=' + encodeURIComponent(state.toString());\n this.tracker.track('start_oauth', {authURL: url, scope: scopes});\n window.open(url, '_blank');\n return new Promise((resolve, reject) => {\n this.oauthSettings.promise = {resolve, reject};\n });\n }\n\n oauthFinished(qs) {\n if (this.onOAuthFinished) {\n this.onOAuthFinished(qs);\n this.onOAuthFinished = null;\n return\n } else if (qs.error) {\n this.oauthSettings.promise.reject(new Error(qs.error));\n return;\n }\n if (qs.access_token) {\n this.setSecrets({oauth2: qs.access_token});\n this.oauthSettings.promise.resolve();\n } else {\n let tokenURL = window.config.oauth.token_url;\n tokenURL += '?code=' + qs.code;\n tokenURL += '&host=' + encodeURIComponent(this.oauthSettings.host);\n tokenURL += '&client_id=' + encodeURIComponent(this.oauthSettings.clientId);\n tokenURL += '&redirect_uri=' + encodeURIComponent(OAUTH_CALLBACK);\n window.jQuery.ajax({\n method: 'POST',\n url: tokenURL,\n headers: {'Content-Type': 'application/json'},\n }).done(data => {\n this.setSecrets({oauth2: data.access_token});\n this.oauthSettings.promise.resolve();\n }).fail(xhr => {\n this.oauthSettings.promise.reject(new Error(xhr.responseText));\n });\n }\n }\n\n isAuthenticated(operation=null) {\n if (!this.hasSecurity) return true;\n if (operation) {\n if (!operation.security || !operation.security.length) return true;\n // TODO: confirm that secrets conform to one of operation.securty\n }\n return !!Object.keys(this.secrets).filter(k => this.secrets[k]).length;\n }\n\n startAuthentication() {\n if (window.lucybot.startLogin) {\n window.lucybot.startLogin();\n } else {\n this.onOAuthFinished = null;\n window.jQuery('#AuthenticationModal').modal('show');\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/secret.ts","import { Injectable } from '@angular/core';\nimport {TrackerService} from './tracker';\n\ndeclare let window: any;\n\nconst TOURS:any = {};\nTOURS.console = {\n id: 'console',\n steps: [{\n title: \"API Console\",\n target: \".breadcrumbs\",\n placement: 'bottom',\n content: `\nWelcome to the API Console. Here you can make test calls to the API,\nsee how it responds, and generate code for calling the API in a\nfew different languages.\n`,\n }, {\n title: \"Choose an Operation\",\n target: \".side-menu\",\n placement: 'right',\n content: `\nUse this menu to choose which operation you want to call.\n`,\n }, {\n title: \"Set Parameters\",\n target: '.parameters-title',\n placement: 'top',\n content: `\nMost operations will need some input. You can fill out any\nparameters here.\n`\n }, {\n title: \"Sample Code\",\n target: 'sample-code',\n placement: 'top',\n content: `\nAs you fill out the parameters, you can see sample code for\nmaking the same API call in a number of different programming languages.\n`\n }, {\n title: \"Send the Request\",\n target: '.execute-button',\n placement: 'bottom',\n content: `\nWhen you're ready, hit this button to send the request.\n`\n }],\n}\n\n@Injectable()\nexport class TourService {\n tours:any = TOURS;\n\n constructor(private tracker:TrackerService) {}\n\n startTour(name) {\n this.tracker.track('tour', {name});\n window.hopscotch.endTour();\n let tour = JSON.parse(JSON.stringify(this.tours[name]));\n tour.steps\n .filter(s => typeof s.target === 'string')\n .forEach(s => s.target = window.document.querySelector(s.target));\n return window.hopscotch.startTour(tour);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/tour.ts","import { Injectable } from '@angular/core';\nimport 'rxjs/add/operator/map';\nimport 'rxjs/add/operator/catch';\nimport 'rxjs/add/operator/toPromise';\nimport { PlatformService } from './platform.service';\n\ndeclare let window: any;\n\n@Injectable()\nexport class TrackerService {\n mixpanel: any;\n\n constructor(\n private platformService: PlatformService\n ) {\n this.mixpanel = window.lucybot.tracker ? {track: window.lucybot.tracker} : window.mixpanel;\n }\n\n track(name, details:any={}) {\n if (!this.mixpanel || this.platformService.isServer) return;\n this.mixpanel.track(name, details);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/tracker.ts","import { Injectable } from '@angular/core';\nimport {NavigationEnd} from '@angular/router';\nimport {DomSanitizer, SafeHtml} from '@angular/platform-browser';\n\nimport {SecretService} from './secret';\n\ndeclare let window: any;\n\nexport const METHODS = ['GET', 'PUT', 'POST', 'PATCH', 'HEAD', 'OPTIONS', 'DELETE'];\nconst METHOD_AND_PATH_REGEX = /^(GET|PUT|POST|PATCH|HEAD|OPTIONS|DELETE)\\s+(\\/.*)$/i;\n\nconst shiftLines = (code, numSpaces) => {\n if (!numSpaces) return code;\n var lines = code.split('\\n');\n var spaces = Array(numSpaces + 1).join(' ');\n return lines.map(function(l, idx) {return (l && idx > 0) ? spaces + l : l}).join('\\n');\n}\n\n@Injectable()\nexport class UtilsService {\n lucybot:any = window.lucybot;\n config:any = window.config;\n markdownToRecipe:Function = require('../../lib/markdown-to-recipe.js');\n recipeToMarkdown:Function = require('../../lib/recipe-to-markdown.js');\n\n constructor(private sanitizer:DomSanitizer,\n private secrets:SecretService) {\n window.utilsService = this;\n window.NavigationEnd = NavigationEnd;\n }\n\n markUpOperationTitle(title) {\n let m = title.match(METHOD_AND_PATH_REGEX);\n if (!m) return title;\n let method = m[1];\n let path = m[2];\n let markedUp = `${method.toUpperCase()}${path}`;\n return this.sanitizer.bypassSecurityTrustHtml(markedUp);\n }\n\n getTemplateInput(input:any={}) {\n input = Object.assign({\n shift: shiftLines,\n answers: {},\n }, input);\n for (let key in this.secrets.secrets) {\n if (input.answers[key] === undefined) input.answers[key] = this.secrets.secrets[key];\n }\n return input;\n }\n render(template, input:any={}) {\n input = this.getTemplateInput(input);\n try {\n return window.ejs.render(template, input);\n } catch (e) {\n return e;\n }\n }\n\n scrollToSelection(sel, ignoreNav=false, putElementAtTop=false) {\n const OFFSET = 10;\n let navHeight = window.jQuery('nav').height();\n let visibleHeight = window.innerHeight - navHeight;\n let targetTop = sel.offset().top - (ignoreNav ? 0 : navHeight); // puts elem at top of visible area\n let curScrollTop = window.jQuery('body').scrollTop();\n let movement = curScrollTop - targetTop;\n if (Math.abs(movement) > (window.innerHeight / 2)) { // if elem already in top-half of screen, do nothing\n let diffFromWindow = visibleHeight - sel.height();\n if (diffFromWindow > 0 && !putElementAtTop) {\n targetTop -= diffFromWindow - OFFSET; // Only scroll far enough to make entire elem visible\n } else {\n targetTop -= OFFSET;\n }\n window.jQuery('html,body').animate({\n scrollTop: targetTop,\n }, 1000);\n }\n }\n\n followPath(obj, path) {\n if (!path || !obj) return obj;\n var dot = path.indexOf('.');\n if (dot === -1) return obj[path];\n var key = path.substring(0, dot);\n return this.followPath(obj[key], path.substring(dot + 1))\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/utils.ts","module.exports = \"\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/views/oauth_callback.html\n// module id = ./src/app/views/oauth_callback.html\n// module chunks = main","// The file contents for the current environment will overwrite these during build.\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\n// The list of which env maps to which file can be found in `.angular-cli.json`.\n\nexport const environment = {\n production: false,\n baseHref: '/',\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/environments/environment.ts","\"use strict\";\n\nconst removeMarkdown = function(md) {\n md = md.replace(/<[^>]*>/g, '');\n return require('remove-markdown')(md);\n}\n\nconst MAX_SUMMARY_LENGTH = 250;\n\nconst getOperationTitle = (op, method, path) => {\n return op.operationId || (method.toUpperCase() + ' ' + path);\n}\n\nconst METHOD_ORDER = [\"HEAD\", \"OPTIONS\", \"DELETE\", \"PATCH\", \"PUT\", \"POST\", \"GET\"];\n\nconst getPathNavItem = (path, ops, tag) => {\n let pathItem = {children: [], autoselect: false, operations: path, hasOperationIds: true};\n for (let method in ops) {\n if (method === 'parameters') continue;\n let op = ops[method];\n if (tag && (!op.tags || op.tags.indexOf(tag) === -1)) continue;\n pathItem.children.push({\n title: op.operationId || method.toUpperCase(),\n fullTitle: op.operationId || (method.toUpperCase() + ' ' + path),\n operation: getOperationTitle(op, method, path),\n });\n if (!op.operationId) pathItem.hasOperationIds = false;\n }\n if (!pathItem.children.length) return null;\n pathItem.children.sort((c1, c2) => {\n let m1 = METHOD_ORDER.indexOf(c1.title);\n let m2 = METHOD_ORDER.indexOf(c2.title);\n if (m1 === m2) return 0;\n if (m1 < m2) return 1;\n if (m1 > m2) return -1;\n })\n return pathItem;\n}\n\nconst initializeNavigation = module.exports = (nav, config, openapi) => {\n if (!nav) {\n if (!openapi) return null;\n if (openapi.tags) {\n nav = openapi.tags.map(t => {\n return {\n tag: t.name,\n }\n });\n nav.push({title: 'Miscellaneous', isMiscellaneous: true});\n } else {\n nav = [];\n for (let path in openapi.paths) {\n let pathItem = getPathNavItem(path, openapi.paths[path]);\n if (pathItem) nav.push(pathItem);\n }\n }\n if (openapi.info.description || openapi.externalDocs) {\n let readme = {title: 'API Description', contents: openapi.info.description || ''};\n if (openapi.externalDocs) {\n readme.contents += '\\n\\n### Read More\\n' +\n (openapi.externalDocs.description || '') +\n '\\n\\n[' + openapi.externalDocs.url + '](' + openapi.externalDocs.url + ')';\n }\n nav.unshift(readme);\n }\n if (openapi.definitions) {\n nav.push({\n title: \"Definitions\",\n children: Object.keys(openapi.definitions).map(name => {\n let def = openapi.definitions[name];\n return {\n title: def.title || name,\n definition: name,\n }\n })\n })\n }\n }\n nav.forEach(navItem => initializeNavigationItem(navItem, config, openapi));\n if (!openapi) return nav;\n\n let miscItem = findMiscItem(nav);\n if (miscItem) {\n miscItem.children = [];\n for (let path in openapi.paths) {\n for (let method in openapi.paths[path]) {\n if (method === 'parameters') continue;\n let op = openapi.paths[path][method];\n let title = getOperationTitle(op, method, path);\n if (!navigationContainsOperation(nav, title)) {\n miscItem.children.push({operation: title});\n }\n }\n }\n if (!miscItem.children.length) {\n nav = nav.filter(i => !i.isMiscellaneous)\n } else {\n miscItem.children.forEach(c => initializeNavigationItem(c, config, openapi, miscItem.path));\n }\n }\n return nav;\n}\n\nconst navigationContainsOperation = (items, opTitle) => {\n let container = items.filter(i => i.operation === opTitle)[0];\n if (container) return true;\n for (let i = 0; i < items.length; ++i) {\n let childContains = navigationContainsOperation(items[i].children || [], opTitle);\n if (childContains) return true;\n }\n return false;\n}\n\nconst findMiscItem = (items) => {\n let miscItem = items.filter(i => i.isMiscellaneous)[0];\n if (miscItem) return miscItem;\n for (let i = 0; i < items.length; ++i) {\n let miscChild = findMiscItem(items[i].children || []);\n if (miscChild) return miscChild;\n }\n}\n\nconst findOperation = (title, openapi) => {\n for (let path in openapi.paths) {\n for (let method in openapi.paths[path]) {\n let op = openapi.paths[path][method];\n if (title === method.toUpperCase() + ' ' + path) return op;\n if (op.operationId === title) return op;\n }\n }\n}\n\nconst setSummaryAndTitle = (item, config, openapi) => {\n if (item.contents) {\n item.summary = item.summary || item.contents;\n } else if (item.operations) {\n item.type = 'operations';\n let defaultTitle = typeof item.operations === 'string' ? item.operations : \"Operations\";\n item.title = item.title || defaultTitle;\n } else if (item.definitions) {\n item.type = 'definitions';\n item.title = item.title || \"Definitions\";\n } else if (item.operation && openapi) {\n item.type = 'operation';\n item.title = item.title || item.operation;\n let op = findOperation(item.operation, openapi);\n if (!op) {\n item.hide = true;\n } else {\n item.summary = item.summary || op.summary || op.description;\n if (op.deprecated) {\n item.deprecated = true;\n }\n }\n } else if (item.definition && openapi) {\n item.type = 'definition';\n let def = openapi.definitions[item.definition];\n if (!def) {\n item.hide = true;\n } else {\n item.title = item.title || def.title || item.definition;\n item.summary = item.summary || def.description;\n }\n } else if (item.tag && openapi) {\n item.type = 'tag';\n item.title = item.title || item.tag;\n let tag = openapi.tags.filter(t => t.name === item.tag)[0];\n if (tag) {\n item.summary = item.contents = tag.description;\n }\n } else if (item.workflow) {\n item.type = 'workflow';\n let workflow = config.workflows[item.workflow];\n item.title = item.title || workflow.title;\n item.icon = item.icon || workflow.icon;\n item.summary = item.summary || workflow.summary;\n }\n item.title = item.title || '';\n item.summary = item.summary || '';\n\n item.summary = removeMarkdown(item.summary || '', {gfm: true});\n if (item.summary.length > MAX_SUMMARY_LENGTH) {\n item.summary = item.summary.substring(0, MAX_SUMMARY_LENGTH - 3) + '...';\n }\n if (!item.title) item.title = 'Untitled';\n}\n\nconst populateChildren = (item, openapi) => {\n if (!openapi || item.children) return;\n if (item.operations === true) {\n item.children = Object.keys(openapi.paths).map(p => ({operations: p}))\n } else if (item.operations) {\n let pathItem = getPathNavItem(item.operations, openapi.paths[item.operations]);\n if (pathItem) {\n item.children = pathItem.children;\n }\n } else if (item.definitions) {\n item.children = Object.keys(openapi.definitions).map(d => ({definition: d}));\n } else if (item.tags) {\n item.children = openapi.tags.map(t => ({tag: t.name}));\n } else if (item.tag) {\n item.children = [];\n for (let path in openapi.paths) {\n let pathItem = getPathNavItem(path, openapi.paths[path], item.tag);\n if (pathItem) {\n if (pathItem.hasOperationIds) {\n item.children = item.children.concat(pathItem.children);\n } else {\n item.children.push(pathItem);\n }\n }\n }\n if (!item.children.length) item.hide = true;\n }\n}\n\nconst initializeNavigationItem = (item, config, openapi, path='') => {\n setSummaryAndTitle(item, config, openapi);\n item.path = item.path || path + '/' + item.title.replace(/\\W+/g, '_');\n populateChildren(item, openapi);\n if (item.children) item.children.forEach(c => initializeNavigationItem(c, config, openapi, item.path));\n}\n\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/lib/initialize-navigation.js","\"use strict\";\n\nconst REGEXEN = {\n section_start: /^\\s*(#+)([^#].*)$/,\n code_bookend: /^```/,\n}\n\nconst getSections = module.exports = md => {\n let lines = md.split('\\n');\n let curSection = {rank: 0, sections: [], text: ''};\n let sections = [curSection];\n let sectionStack = [curSection];\n let inCode = false;\n lines.forEach(line => {\n if (line.match(REGEXEN.code_bookend)) {\n curSection.text += line + '\\n';\n inCode = !inCode;\n return\n }\n let match = inCode ? null : line.match(REGEXEN.section_start);\n if (match) {\n curSection.text = curSection.text.trim();\n curSection = {\n title: match[2].trim(),\n rank: match[1].length,\n text: '',\n sections: [],\n }\n let parentSection = curSection;\n while (parentSection.rank >= curSection.rank) {\n parentSection = sectionStack.pop();\n }\n parentSection.sections.push(curSection);\n sectionStack.push(parentSection);\n sectionStack.push(curSection);\n } else {\n curSection.text += line + '\\n';\n }\n })\n curSection.text = curSection.text.trim();\n return sections;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/lib/markdown-sections.js","\"use strict\";\n\nconst REGEXEN = {\n start_comment: /^/,\n start_code: /^```(\\w*)/,\n end_code: /^```/,\n title: /^#([^#].*)/,\n step_title: /^##([^#].*)$/,\n section_title: /^###([^#].*)$/,\n special_section: /^###\\s*(API Call|Demo|Sample Code)/,\n}\n\nconst markdownSections = require('./markdown-sections');\n\nconst sectionsToMarkdown = (sections) => {\n if (!sections) return '';\n return sections.map(s => {\n let md = '';\n for (let i = 0; i < s.rank; ++i) md += '#';\n md += ' ' + s.title;\n md += '\\n' + (s.text || '');\n if (s.sections) md += '\\n' + sectionsToMarkdown(s.sections);\n return md;\n });\n}\n\nconst extractRecipe = module.exports = md => {\n let sections = markdownSections(md);\n let recipe = extractJSONComment(sections[0].text, 'METADATA');\n if (sections[0].sections.length !== 1) throw new Error(\"Got more than one rank-1 heading\");\n let recipeSection = sections[0].sections[0];\n recipe.title = recipeSection.title;\n recipe.description = recipeSection.text || '';\n recipe.steps = recipeSection.sections.map(extractStep);\n let finish = recipeSection.sections.pop();\n if (finish && finish.title === 'Finish') {\n recipe.steps.pop();\n recipe.finishText = finish.text + '\\n' + sectionsToMarkdown(finish.sections);\n }\n return recipe;\n}\n\nconst extractJSONComment = (md, type) => {\n const start_regex = new RegExp('^\n\n# ${recipe.title}\n${recipe.description || ''}\n\n${recipe.steps.map(stepTemplate).join('\\n\\n')}\n\n${!recipe.finishText ? '' : '## Finish\\n' + recipe.finishText}\n\n `.trim();\n}\n\nconst stepTemplate = step => `\n## ${step.title}\n${!step.description ? '' : typeof step.description === 'string' ? step.description : step.description.join('\\n\\n')}\n\n${apiCallTemplate(step.apiCall, step.parameters || (step.apiCall || {}).parameters, step.ignoreParameters || (step.apiCall || {}).ignoreParameters)}\n${codeSnippetTemplate(step.codeSnippet)}\n${demoTemplate(step.demoHTML)}\n`.trim();\n\nconst apiCallTemplate = (apiCall, parameters=null, ignoreParameters=null) => {\n if (!apiCall && !parameters) return '';\n let newObj = {};\n if (apiCall) newObj = {method: apiCall.method, path: apiCall.path};\n if (parameters) newObj.parameters = parameters;\n if (ignoreParameters) newObj.ignoreParameters = ignoreParameters;\n return `\n### API Call\n\\`\\`\\`json\n${JSON.stringify(newObj, null, 2)}\n\\`\\`\\`\n`.trim();\n}\n\nconst LANG_HIGHLIGHT_NAMES = {\n 'node': 'javascript',\n 'php53': 'php',\n 'angular': 'typescript',\n 'python': 'py',\n 'ajax': 'javascript',\n 'curl': 'bash',\n}\n\nconst codeSnippetTemplate = snippets => {\n if (!snippets) return '';\n return Object.keys(snippets).map(lang => `\n### Sample Code (${lang})\n\\`\\`\\`${LANG_HIGHLIGHT_NAMES[lang] || lang}\n${snippets[lang]}\n\\`\\`\\`\n `.trim()).join('\\n');\n}\n\nconst demoTemplate = html => {\n if (!html) return '';\n html = html.replace(/\\r/g, '').replace(/\\t/g, ' ');\n return `\n### Demo\n\\`\\`\\`html\n${html}\n\\`\\`\\`\n `.trim();\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/lib/recipe-to-markdown.js","///\nimport { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\ndocument.addEventListener('DOMContentLoaded', () => {\n platformBrowserDynamic().bootstrapModule(AppModule);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts","let ejs = window.ejs;\n\nlet CodeTemplate = module.exports = function(opts) {\n this.swagger = opts.swagger;\n this.template = opts.template;\n}\n\nCodeTemplate.prototype.render = function(opts) {\n return ejs.render(this.template, opts);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./tmp/plugins/code-template.js"],"sourceRoot":"webpack:///"}