diff --git a/www/3151.3e501609e759853a.js b/www/3151.3e501609e759853a.js new file mode 100644 index 0000000..01307c7 --- /dev/null +++ b/www/3151.3e501609e759853a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[3151],{5553:(R,F,c)=>{c.d(F,{h:()=>_});var g=c(177),v=c(7863),i=c(4438);let _=(()=>{var h;class e{}return(h=e).\u0275fac=function(y){return new(y||h)},h.\u0275mod=i.$C({type:h}),h.\u0275inj=i.G2t({imports:[g.MD,v.bv]}),e})()},3241:(R,F,c)=>{c.d(F,{p:()=>_});var g=c(4438),v=c(177),i=c(7863);let _=(()=>{var h;class e{constructor(y){this.location=y,this.title="Header Title"}ngOnInit(){}goBack(){this.location.back()}}return(h=e).\u0275fac=function(y){return new(y||h)(g.rXU(v.aZ))},h.\u0275cmp=g.VBU({type:h,selectors:[["app-header-return"]],inputs:{title:"title"},decls:6,vars:2,consts:[[3,"translucent"],["slot","start","menu","menu-id"],["name","arrow-back","slot","start",1,"p-4","bigger-icon",3,"click"]],template:function(y,M){1&y&&(g.j41(0,"ion-header",0)(1,"ion-toolbar"),g.nrm(2,"ion-menu-button",1),g.j41(3,"ion-icon",2),g.bIt("click",function(){return M.goBack()}),g.k0s(),g.j41(4,"ion-title"),g.EFF(5),g.k0s()()()),2&y&&(g.Y8G("translucent",!0),g.R7$(5),g.JRh(M.title))},dependencies:[i.eU,i.iq,i.MC,i.BC,i.ai],styles:[".bigger-icon[_ngcontent-%COMP%]{font-size:1.5em}"]}),e})()},3151:(R,F,c)=>{c.r(F),c.d(F,{FlameGraphComparePageModule:()=>L});var g=c(177),v=c(4341),i=c(7863),_=c(7650),h=c(467),e=c(4438),C=c(9032),y=c(6560),M=c(8453),w=c(3241),j=c(7616),E=c(9549);const D=["messagesContainer2"];function A(t,d){if(1&t&&(e.j41(0,"ion-col",32)(1,"ion-card",33)(2,"ion-card-header")(3,"ion-card-title")(4,"h1"),e.EFF(5),e.k0s()()(),e.nrm(6,"ngx-flamegraph",34),e.k0s()()),2&t){const l=d.$implicit,a=e.XpG(2);e.R7$(5),e.SpI("Data for: ",l,""),e.R7$(),e.Y8G("config",a.configurations[l])}}function k(t,d){if(1&t&&(e.j41(0,"ion-row",4),e.DNE(1,A,7,2,"ion-col",31),e.k0s()),2&t){const l=e.XpG();e.R7$(),e.Y8G("ngForOf",l.datesForComparison)}}function T(t,d){if(1&t&&(e.j41(0,"ion-col",36)(1,"ion-card",33),e.qex(2),e.j41(3,"ion-card")(4,"ion-card-header")(5,"ion-card-title"),e.EFF(6),e.k0s()(),e.nrm(7,"ngx-flamegraph",34),e.k0s(),e.bVm(),e.k0s()()),2&t){const l=d.$implicit,a=e.XpG(2);e.R7$(6),e.SpI("Data for: ",l,""),e.R7$(),e.Y8G("config",a.configurations[l])}}function I(t,d){if(1&t&&(e.j41(0,"ion-row",4),e.DNE(1,T,8,2,"ion-col",35),e.k0s()),2&t){const l=e.XpG();e.R7$(),e.Y8G("ngForOf",l.datesForComparison)}}function O(t,d){if(1&t&&(e.j41(0,"markdown",8),e.EFF(1),e.k0s()),2&t){const l=d.$implicit;e.R7$(),e.JRh(l.message)}}function B(t,d){if(1&t&&(e.j41(0,"div",40)(1,"markdown",41),e.EFF(2),e.k0s()()),2&t){const l=e.XpG().$implicit;e.R7$(2),e.JRh(l.message)}}function S(t,d){if(1&t&&(e.j41(0,"div",42)(1,"markdown",43),e.EFF(2),e.k0s()()),2&t){const l=e.XpG().$implicit;e.R7$(),e.Mz_("id","mk-",l.id,""),e.R7$(),e.JRh(l.message)}}function z(t,d){if(1&t&&(e.j41(0,"div",37),e.DNE(1,B,3,1,"div",38)(2,S,3,3,"div",39),e.k0s()),2&t){const l=d.$implicit;e.R7$(),e.Y8G("ngIf","User"===l.from),e.R7$(),e.Y8G("ngIf","AI"===l.from)}}const N=[{path:"",component:(()=>{var t;class d{constructor(a,o,s){this.flameGraphService=a,this.loadingCtrl=o,this.route=s,this.product={},this.datesForComparison=[],this.lenDates=0,this.configurations={},this.color={hue:[50,0],saturation:[80,80],lightness:[55,60]},this.aiAnalytic=[],this.aiModal=!1,this.message="",this.vertexAI=(0,e.WQX)(C.L9),this.model=(0,C.oc)(this.vertexAI,{model:"gemini-1.5-flash"}),this.chatCPU=this.model.startChat({history:[{role:"user",parts:[{text:"Hola, desde ahora en adelante quiero que seas un modelo experto en Software Quality Assurance y analista de datos, tu nombre es DevProbeAI, nunca lo puedes olvidar"}]},{role:"model",parts:[{text:"Soy un modelo experto en Software Quality Assurance, de igual forma tengo un masterado en anla\xedtica de datos \xbfEn qu\xe9 puedo ayudarte?"}]},{role:"user",parts:[{text:"Gracias, te voy a entregar un json con datos en unos minutos, necesito que lo analices y me des un resumen de los datos, este json contiene datos de usos de CPU de un servidor por d\xeda, imagina que ,tu analisis tiene que ser detallado, si encuentras inconsistencias en los datos, por favor mencionalas, en caso de que creas que puede haber un uso excesivo de algun servicio por favor mencionalo, si encuentras algo interesante, por favor mencionalo, en resumen, necesito un analisis detallado de los datos"}]},{role:"model",parts:[{text:"Claro, env\xedame el json y yo me encargo de analizarlo"}]}]}),this.chatMemory=this.model.startChat({history:[{role:"user",parts:[{text:"Hola, desde ahora en adelante quiero que seas un modelo experto en Software Quality Assurance y analista de datos, tu nombre es DevProbeAI, nunca lo puedes olvidar"}]},{role:"model",parts:[{text:"Soy un modelo experto en Software Quality Assurance, de igual forma tengo un masterado en anla\xedtica de datos \xbfEn qu\xe9 puedo ayudarte?"}]},{role:"user",parts:[{text:"Gracias, te voy a entregar un json con datos en unos minutos, necesito que lo analices y me des un resumen de los datos, este json contiene datos de usos de MEMORIA de un servidor por d\xeda, imagina que ,tu analisis tiene que ser detallado, si encuentras inconsistencias en los datos, por favor mencionalas, en caso de que creas que puede haber un uso excesivo de algun servicio por favor mencionalo, si encuentras algo interesante, por favor mencionalo, en resumen, necesito un analisis detallado de los datos"}]},{role:"model",parts:[{text:"Claro, env\xedame el json y yo me encargo de analizarlo"}]}]}),this.messages=[],this.wasChatOpen=!1,this.usage_type=""}ngOnInit(){this.configurations={}}ionViewWillEnter(){this.configurations={},this.datesForComparison=[],this.getProductAndDatesFromParams(),this.getFlameGraph().then(()=>{this.sendMessage().then(()=>{this.chatStyle()})})}getFlameGraph(){var a=this;return(0,h.A)(function*(){try{yield a.showLoading();const s=localStorage.getItem("user");if(!s)return;const n=JSON.parse(s).orgName;console.log(n),a.configurations={};for(const u of a.datesForComparison){let m;"memory_usage"===a.usage_type?(m=yield a.flameGraphService.getFlameGraphByDate(n,a.product.productObjective,u,!0),a.color={hue:[140,100],saturation:[60,60],lightness:[60,30]}):(m=yield a.flameGraphService.getFlameGraphByDate(n,a.product.productObjective,u),a.color={hue:[50,0],saturation:[80,80],lightness:[55,60]}),console.log(m);let p=[],f=[];for(let W in m){var o;const x=null===(o=m)||void 0===o?void 0:o[W];f=Object.keys(x),console.log("keys",f);const X=100/f.length;for(let G in f){const P=[];for(let b=0;b{this.product=JSON.parse(a.product),this.datesForComparison=JSON.parse(a.dates),this.usage_type=this.route.snapshot.queryParamMap.get("usage_type")}),this.lenDates=this.datesForComparison.length,console.log(this.product.productObjective),console.log(this.datesForComparison),console.log(this.usage_type)}doRefresh(a){this.getFlameGraph().then(()=>{a.target.complete()})}showLoading(){var a=this;return(0,h.A)(function*(){yield(yield a.loadingCtrl.create({})).present()})()}hideLoading(){var a=this;return(0,h.A)(function*(){yield a.loadingCtrl.dismiss()})()}average(a){const o=a.map(Number);return o.reduce((r,n)=>r+n,0)/o.length}transformToRawDataCPU(a){const o=a.cpu_usage?this.average(a.cpu_usage):0,s=[];for(const r in a){if("id"===r||"cpu_usage"===r)continue;const n=a[r];if("object"!=typeof n||Array.isArray(n))"object"!=typeof n&&s.push({label:r,value:0,children:[]});else if("sub_services"===r)for(const u in n){const m=n[u],f={label:u,value:m.cpu_usage?this.average(m.cpu_usage):0,children:this.transformToRawDataCPU(m).children};s.push(f)}else{const m={label:r,value:n.cpu_usage?this.average(n.cpu_usage):0,children:this.transformToRawDataCPU(n).children};s.push(m)}}return{label:a.id,value:o,children:s}}transformToRawDataMemory(a){const o=a.memory_usage?this.average(a.memory_usage):0,s=[];for(const r in a){if("id"===r||"memory_usage"===r)continue;const n=a[r];if("object"!=typeof n||Array.isArray(n))"object"!=typeof n&&s.push({label:r,value:0,children:[]});else if("sub_services"===r)for(const u in n){const m=n[u],f={label:u,value:m.memory_usage?this.average(m.memory_usage):0,children:this.transformToRawDataMemory(m).children};s.push(f)}else{const m={label:r,value:n.memory_usage?this.average(n.memory_usage):0,children:this.transformToRawDataMemory(n).children};s.push(m)}}return{label:a.id,value:o,children:s}}chatStyle(){const a=document.getElementById("analytics");if(a){let m=a.getElementsByTagName("h1"),p=a.getElementsByTagName("h2");for(var o=0;o{this.chatStyle()}))}}return(t=d).\u0275fac=function(a){return new(a||t)(e.rXU(y.x),e.rXU(i.Xi),e.rXU(_.nX))},t.\u0275cmp=e.VBU({type:t,selectors:[["app-flame-graph-compare"]],viewQuery:function(a,o){if(1&a&&e.GBs(D,5),2&a){let s;e.mGM(s=e.lsd())&&(o.messagesContainer=s.first)}},decls:45,vars:12,consts:[["messagesContainer2",""],[3,"title"],[3,"fullscreen"],["slot","fixed",3,"ionRefresh"],[1,"lg:m-10","md:m-10"],["size","12","size-md","12","size-lg","12",1,"flex","flex-row","justify-center"],[1,"min-w-full","p-5"],[1,"text-5xl","font-bold"],["id","analytics",1,"text-white"],[1,"flex","flex-row","justify-center","items-center"],["size","9",1,"rounded-3xl","bg-gray-600","p-2"],["placeholder","Ask DevProbe AI .... ",1,"text-white",3,"ngModelChange","ngModel"],["size","3",1,"min-h-full"],[1,"min-w-full","min-h-full",3,"click"],["vertical","bottom","horizontal","end","slot","fixed",1,"m-2","z-10",3,"click"],[1,"bg-purple-300","p-4"],["name","chatbubble-outline",1,"w-full","h-full"],["id","ai-modal",1,"fixed","bottom-0","right-0","h-full","w-full","bg-black","bg-opacity-60","z-10","r"],[1,"h-full","md:h-3/4","lg:h-3/4","w-full","bg-gray-900","p-4","absolute","right-0","bottom-0","z-50","flex","flex-col","rounded-tl-2xl","rounded-tr-2xl"],[1,"w-full","bg-gray-500","flex","flex-row","justify-center","items-center","p-2","mb-2","rounded-3xl"],[1,"flex","flex-row","p-2","items-center","bg-gray-800","w-full","rounded-3xl","h-full"],[1,"text-white"],[1,"m-2"],[1,"flex","flex-row","justify-center","items-center","bg-gray-800","hover:bg-gray-600","w-1/6","h-full","rounded-3xl",3,"click"],["name","close-outline"],[1,"flex-grow","overflow-y-auto","bg-gray-400","p-2","rounded-3xl"],["class","flex flex-col",4,"ngFor","ngForOf"],[1,"flex","flex-row","mt-2","p-2"],["placeholder","Ask...",1,"flex-grow","bg-gray-700","rounded-2xl",3,"ngModelChange","ngModel"],[1,"m-1"],[1,"w-1/3","bg-gray-500","rounded-3xl","flex","flex-row","justify-center","items-center","hover:bg-gray-300",3,"click"],["size","12","size-md","4","size-lg","4","class","",4,"ngFor","ngForOf"],["size","12","size-md","4","size-lg","4",1,""],[1,"min-h-full"],[3,"config"],["size","12","size-md","6","size-lg","6","class","",4,"ngFor","ngForOf"],["size","12","size-md","6","size-lg","6",1,""],[1,"flex","flex-col"],["class","rounded-3xl bg-gray-800 w-2/3 m-1 ml-auto p-2",4,"ngIf"],["class","rounded-3xl bg-gray-500 w-2/3 m-1 p-2 pr-2",4,"ngIf"],[1,"rounded-3xl","bg-gray-800","w-2/3","m-1","ml-auto","p-2"],[1,"text-white","p-4","m-2"],[1,"rounded-3xl","bg-gray-500","w-2/3","m-1","p-2","pr-2"],[1,"text-white","p-4","m-2",3,"id"]],template:function(a,o){if(1&a){const s=e.RV6();e.nrm(0,"app-header-return",1),e.j41(1,"ion-content",2)(2,"ion-refresher",3),e.bIt("ionRefresh",function(n){return e.eBV(s),e.Njj(o.doRefresh(n))}),e.nrm(3,"ion-refresher-content"),e.k0s(),e.nrm(4,"app-title",1),e.DNE(5,k,2,1,"ion-row",4)(6,I,2,1,"ion-row",4),e.j41(7,"ion-row",4)(8,"ion-col",5)(9,"ion-card",6)(10,"ion-card-header")(11,"ion-card-title")(12,"h1",7),e.EFF(13,"DevProbe AI Analytic"),e.k0s()()(),e.j41(14,"ion-card-content"),e.Z7z(15,O,2,1,"markdown",8,e.fX1),e.k0s(),e.j41(17,"ion-card-content")(18,"ion-row",9)(19,"ion-col",10)(20,"ion-input",11),e.mxI("ngModelChange",function(n){return e.eBV(s),e.DH7(o.message,n)||(o.message=n),e.Njj(n)}),e.k0s()(),e.j41(21,"ion-col",12)(22,"ion-button",13),e.bIt("click",function(){return e.eBV(s),e.Njj(o.toggleAiModal())}),e.EFF(23,"Send"),e.k0s()()()()()()(),e.j41(24,"ion-fab",14),e.bIt("click",function(){return e.eBV(s),e.Njj(o.aiModal=!0)}),e.j41(25,"ion-avatar",15),e.nrm(26,"ion-icon",16),e.k0s()()(),e.j41(27,"div",17)(28,"div",18)(29,"div",19)(30,"div",20)(31,"h1",21),e.EFF(32,"DevProbe AI"),e.k0s()(),e.nrm(33,"div",22),e.j41(34,"div",23),e.bIt("click",function(){return e.eBV(s),e.Njj(o.aiModal=!1)}),e.nrm(35,"ion-icon",24),e.k0s()(),e.j41(36,"div",25,0),e.DNE(38,z,3,2,"div",26),e.k0s(),e.j41(39,"div",27)(40,"ion-textarea",28),e.mxI("ngModelChange",function(n){return e.eBV(s),e.DH7(o.message,n)||(o.message=n),e.Njj(n)}),e.k0s(),e.nrm(41,"div",29),e.j41(42,"div",30),e.bIt("click",function(){return e.eBV(s),e.Njj(o.sendMessage())}),e.j41(43,"span",21),e.EFF(44,"Send"),e.k0s()()()()()}2&a&&(e.Y8G("title","Compare Flame Graphs"),e.R7$(),e.Y8G("fullscreen",!0),e.R7$(3),e.Y8G("title","Compare Flame Graphs"),e.R7$(),e.vxM(5,o.lenDates>=3?5:-1),e.R7$(),e.vxM(6,o.lenDates<3?6:-1),e.R7$(9),e.Dyx(o.aiAnalytic),e.R7$(5),e.R50("ngModel",o.message),e.R7$(4),e.AVh("hidden",!o.wasChatOpen),e.R7$(3),e.AVh("hidden",!o.aiModal),e.R7$(11),e.Y8G("ngForOf",o.messages),e.R7$(2),e.R50("ngModel",o.message))},dependencies:[g.Sq,g.bT,v.BC,v.vS,i.mC,i.Jm,i.b_,i.I9,i.ME,i.tN,i.hU,i.W9,i.Q8,i.iq,i.$w,i.To,i.Ki,i.ln,i.nc,i.Gw,M.W,w.p,j.E,E.NN]}),d})()}];let $=(()=>{var t;class d{}return(t=d).\u0275fac=function(a){return new(a||t)},t.\u0275mod=e.$C({type:t}),t.\u0275inj=e.G2t({imports:[_.iI.forChild(N),_.iI]}),d})();var V=c(5553);let L=(()=>{var t;class d{}return(t=d).\u0275fac=function(a){return new(a||t)},t.\u0275mod=e.$C({type:t}),t.\u0275inj=e.G2t({imports:[g.MD,v.YN,i.bv,$,V.h,j.n,E.NN]}),d})()}}]); \ No newline at end of file diff --git a/www/3151.e2549890fe0c83eb.js b/www/3151.e2549890fe0c83eb.js deleted file mode 100644 index a69ad1d..0000000 --- a/www/3151.e2549890fe0c83eb.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[3151],{5553:(R,F,c)=>{c.d(F,{h:()=>_});var g=c(177),v=c(7863),i=c(4438);let _=(()=>{var h;class e{}return(h=e).\u0275fac=function(y){return new(y||h)},h.\u0275mod=i.$C({type:h}),h.\u0275inj=i.G2t({imports:[g.MD,v.bv]}),e})()},3241:(R,F,c)=>{c.d(F,{p:()=>_});var g=c(4438),v=c(177),i=c(7863);let _=(()=>{var h;class e{constructor(y){this.location=y,this.title="Header Title"}ngOnInit(){}goBack(){this.location.back()}}return(h=e).\u0275fac=function(y){return new(y||h)(g.rXU(v.aZ))},h.\u0275cmp=g.VBU({type:h,selectors:[["app-header-return"]],inputs:{title:"title"},decls:6,vars:2,consts:[[3,"translucent"],["slot","start","menu","menu-id"],["name","arrow-back","slot","start",1,"p-4","bigger-icon",3,"click"]],template:function(y,M){1&y&&(g.j41(0,"ion-header",0)(1,"ion-toolbar"),g.nrm(2,"ion-menu-button",1),g.j41(3,"ion-icon",2),g.bIt("click",function(){return M.goBack()}),g.k0s(),g.j41(4,"ion-title"),g.EFF(5),g.k0s()()()),2&y&&(g.Y8G("translucent",!0),g.R7$(5),g.JRh(M.title))},dependencies:[i.eU,i.iq,i.MC,i.BC,i.ai],styles:[".bigger-icon[_ngcontent-%COMP%]{font-size:1.5em}"]}),e})()},3151:(R,F,c)=>{c.r(F),c.d(F,{FlameGraphComparePageModule:()=>L});var g=c(177),v=c(4341),i=c(7863),_=c(7650),h=c(467),e=c(4438),C=c(9032),y=c(6560),M=c(8453),w=c(3241),j=c(7616),E=c(9549);const D=["messagesContainer2"];function A(t,d){if(1&t&&(e.j41(0,"ion-col",32)(1,"ion-card",33)(2,"ion-card-header")(3,"ion-card-title")(4,"h1"),e.EFF(5),e.k0s()()(),e.nrm(6,"ngx-flamegraph",34),e.k0s()()),2&t){const l=d.$implicit,a=e.XpG(2);e.R7$(5),e.SpI("Data for: ",l,""),e.R7$(),e.Y8G("config",a.configurations[l])}}function k(t,d){if(1&t&&(e.j41(0,"ion-row",4),e.DNE(1,A,7,2,"ion-col",31),e.k0s()),2&t){const l=e.XpG();e.R7$(),e.Y8G("ngForOf",l.datesForComparison)}}function T(t,d){if(1&t&&(e.j41(0,"ion-col",36)(1,"ion-card",33),e.qex(2),e.j41(3,"ion-card")(4,"ion-card-header")(5,"ion-card-title"),e.EFF(6),e.k0s()(),e.nrm(7,"ngx-flamegraph",34),e.k0s(),e.bVm(),e.k0s()()),2&t){const l=d.$implicit,a=e.XpG(2);e.R7$(6),e.SpI("Data for: ",l,""),e.R7$(),e.Y8G("config",a.configurations[l])}}function I(t,d){if(1&t&&(e.j41(0,"ion-row",4),e.DNE(1,T,8,2,"ion-col",35),e.k0s()),2&t){const l=e.XpG();e.R7$(),e.Y8G("ngForOf",l.datesForComparison)}}function O(t,d){if(1&t&&(e.j41(0,"markdown",8),e.EFF(1),e.k0s()),2&t){const l=d.$implicit;e.R7$(),e.JRh(l.message)}}function B(t,d){if(1&t&&(e.j41(0,"div",40)(1,"markdown",41),e.EFF(2),e.k0s()()),2&t){const l=e.XpG().$implicit;e.R7$(2),e.JRh(l.message)}}function S(t,d){if(1&t&&(e.j41(0,"div",42)(1,"markdown",43),e.EFF(2),e.k0s()()),2&t){const l=e.XpG().$implicit;e.R7$(),e.Mz_("id","mk-",l.id,""),e.R7$(),e.JRh(l.message)}}function z(t,d){if(1&t&&(e.j41(0,"div",37),e.DNE(1,B,3,1,"div",38)(2,S,3,3,"div",39),e.k0s()),2&t){const l=d.$implicit;e.R7$(),e.Y8G("ngIf","User"===l.from),e.R7$(),e.Y8G("ngIf","AI"===l.from)}}const N=[{path:"",component:(()=>{var t;class d{constructor(a,o,s){this.flameGraphService=a,this.loadingCtrl=o,this.route=s,this.product={},this.datesForComparison=[],this.lenDates=0,this.configurations={},this.color={hue:[50,0],saturation:[80,80],lightness:[55,60]},this.aiAnalytic=[],this.aiModal=!1,this.message="",this.vertexAI=(0,e.WQX)(C.L9),this.model=(0,C.oc)(this.vertexAI,{model:"gemini-1.5-flash"}),this.chatCPU=this.model.startChat({history:[{role:"user",parts:[{text:"Hola, desde ahora en adelante quiero que seas un modelo experto en Software Quality Assurance y analista de datos, tu nombre es DevProbeAI, nunca lo puedes olvidar"}]},{role:"model",parts:[{text:"Soy un modelo experto en Software Quality Assurance, de igual forma tengo un masterado en anla\xedtica de datos \xbfEn qu\xe9 puedo ayudarte?"}]},{role:"user",parts:[{text:"Gracias, te voy a entregar un json con datos en unos minutos, necesito que lo analices y me des un resumen de los datos, este json contiene datos de usos de CPU de un servidor por d\xeda, imagina que ,tu analisis tiene que ser detallado, si encuentras inconsistencias en los datos, por favor mencionalas, en caso de que creas que puede haber un uso excesivo de algun servicio por favor mencionalo, si encuentras algo interesante, por favor mencionalo, en resumen, necesito un analisis detallado de los datos"}]},{role:"model",parts:[{text:"Claro, env\xedame el json y yo me encargo de analizarlo"}]}]}),this.chatMemory=this.model.startChat({history:[{role:"user",parts:[{text:"Hola, desde ahora en adelante quiero que seas un modelo experto en Software Quality Assurance y analista de datos, tu nombre es DevProbeAI, nunca lo puedes olvidar"}]},{role:"model",parts:[{text:"Soy un modelo experto en Software Quality Assurance, de igual forma tengo un masterado en anla\xedtica de datos \xbfEn qu\xe9 puedo ayudarte?"}]},{role:"user",parts:[{text:"Gracias, te voy a entregar un json con datos en unos minutos, necesito que lo analices y me des un resumen de los datos, este json contiene datos de usos de MEMORIA de un servidor por d\xeda, imagina que ,tu analisis tiene que ser detallado, si encuentras inconsistencias en los datos, por favor mencionalas, en caso de que creas que puede haber un uso excesivo de algun servicio por favor mencionalo, si encuentras algo interesante, por favor mencionalo, en resumen, necesito un analisis detallado de los datos"}]},{role:"model",parts:[{text:"Claro, env\xedame el json y yo me encargo de analizarlo"}]}]}),this.messages=[],this.wasChatOpen=!1,this.usage_type=""}ngOnInit(){}ionViewWillEnter(){this.getProductAndDatesFromParams(),this.getFlameGraph().then(()=>{this.sendMessage().then(()=>{this.chatStyle()})})}getFlameGraph(){var a=this;return(0,h.A)(function*(){try{yield a.showLoading();const s=localStorage.getItem("user");if(!s)return;const n=JSON.parse(s).orgName;console.log(n),a.configurations={};for(const u of a.datesForComparison){let m;"memory_usage"===a.usage_type?(m=yield a.flameGraphService.getFlameGraphByDate(n,a.product.productObjective,u,!0),a.color={hue:[140,100],saturation:[60,60],lightness:[60,30]}):(m=yield a.flameGraphService.getFlameGraphByDate(n,a.product.productObjective,u),a.color={hue:[50,0],saturation:[80,80],lightness:[55,60]}),console.log(m);let p=[],f=[];for(let W in m){var o;const x=null===(o=m)||void 0===o?void 0:o[W];f=Object.keys(x),console.log("keys",f);const X=100/f.length;for(let G in f){const P=[];for(let b=0;b{this.product=JSON.parse(a.product),this.datesForComparison=JSON.parse(a.dates),this.usage_type=this.route.snapshot.queryParamMap.get("usage_type")}),this.lenDates=this.datesForComparison.length,console.log(this.product.productObjective),console.log(this.datesForComparison),console.log(this.usage_type)}doRefresh(a){this.getFlameGraph().then(()=>{a.target.complete()})}showLoading(){var a=this;return(0,h.A)(function*(){yield(yield a.loadingCtrl.create({})).present()})()}hideLoading(){var a=this;return(0,h.A)(function*(){yield a.loadingCtrl.dismiss()})()}average(a){const o=a.map(Number);return o.reduce((r,n)=>r+n,0)/o.length}transformToRawDataCPU(a){const o=a.cpu_usage?this.average(a.cpu_usage):0,s=[];for(const r in a){if("id"===r||"cpu_usage"===r)continue;const n=a[r];if("object"!=typeof n||Array.isArray(n))"object"!=typeof n&&s.push({label:r,value:0,children:[]});else if("sub_services"===r)for(const u in n){const m=n[u],f={label:u,value:m.cpu_usage?this.average(m.cpu_usage):0,children:this.transformToRawDataCPU(m).children};s.push(f)}else{const m={label:r,value:n.cpu_usage?this.average(n.cpu_usage):0,children:this.transformToRawDataCPU(n).children};s.push(m)}}return{label:a.id,value:o,children:s}}transformToRawDataMemory(a){const o=a.memory_usage?this.average(a.memory_usage):0,s=[];for(const r in a){if("id"===r||"memory_usage"===r)continue;const n=a[r];if("object"!=typeof n||Array.isArray(n))"object"!=typeof n&&s.push({label:r,value:0,children:[]});else if("sub_services"===r)for(const u in n){const m=n[u],f={label:u,value:m.memory_usage?this.average(m.memory_usage):0,children:this.transformToRawDataMemory(m).children};s.push(f)}else{const m={label:r,value:n.memory_usage?this.average(n.memory_usage):0,children:this.transformToRawDataMemory(n).children};s.push(m)}}return{label:a.id,value:o,children:s}}chatStyle(){const a=document.getElementById("analytics");if(a){let m=a.getElementsByTagName("h1"),p=a.getElementsByTagName("h2");for(var o=0;o{this.chatStyle()}))}}return(t=d).\u0275fac=function(a){return new(a||t)(e.rXU(y.x),e.rXU(i.Xi),e.rXU(_.nX))},t.\u0275cmp=e.VBU({type:t,selectors:[["app-flame-graph-compare"]],viewQuery:function(a,o){if(1&a&&e.GBs(D,5),2&a){let s;e.mGM(s=e.lsd())&&(o.messagesContainer=s.first)}},decls:45,vars:12,consts:[["messagesContainer2",""],[3,"title"],[3,"fullscreen"],["slot","fixed",3,"ionRefresh"],[1,"lg:m-10","md:m-10"],["size","12","size-md","12","size-lg","12",1,"flex","flex-row","justify-center"],[1,"min-w-full","p-5"],[1,"text-5xl","font-bold"],["id","analytics",1,"text-white"],[1,"flex","flex-row","justify-center","items-center"],["size","9",1,"rounded-3xl","bg-gray-600","p-2"],["placeholder","Ask DevProbe AI .... ",1,"text-white",3,"ngModelChange","ngModel"],["size","3",1,"min-h-full"],[1,"min-w-full","min-h-full",3,"click"],["vertical","bottom","horizontal","end","slot","fixed",1,"m-2","z-10",3,"click"],[1,"bg-purple-300","p-4"],["name","chatbubble-outline",1,"w-full","h-full"],["id","ai-modal",1,"fixed","bottom-0","right-0","h-full","w-full","bg-black","bg-opacity-60","z-10","r"],[1,"h-full","md:h-3/4","lg:h-3/4","w-full","bg-gray-900","p-4","absolute","right-0","bottom-0","z-50","flex","flex-col","rounded-tl-2xl","rounded-tr-2xl"],[1,"w-full","bg-gray-500","flex","flex-row","justify-center","items-center","p-2","mb-2","rounded-3xl"],[1,"flex","flex-row","p-2","items-center","bg-gray-800","w-full","rounded-3xl","h-full"],[1,"text-white"],[1,"m-2"],[1,"flex","flex-row","justify-center","items-center","bg-gray-800","hover:bg-gray-600","w-1/6","h-full","rounded-3xl",3,"click"],["name","close-outline"],[1,"flex-grow","overflow-y-auto","bg-gray-400","p-2","rounded-3xl"],["class","flex flex-col",4,"ngFor","ngForOf"],[1,"flex","flex-row","mt-2","p-2"],["placeholder","Ask...",1,"flex-grow","bg-gray-700","rounded-2xl",3,"ngModelChange","ngModel"],[1,"m-1"],[1,"w-1/3","bg-gray-500","rounded-3xl","flex","flex-row","justify-center","items-center","hover:bg-gray-300",3,"click"],["size","12","size-md","4","size-lg","4","class","",4,"ngFor","ngForOf"],["size","12","size-md","4","size-lg","4",1,""],[1,"min-h-full"],[3,"config"],["size","12","size-md","6","size-lg","6","class","",4,"ngFor","ngForOf"],["size","12","size-md","6","size-lg","6",1,""],[1,"flex","flex-col"],["class","rounded-3xl bg-gray-800 w-2/3 m-1 ml-auto p-2",4,"ngIf"],["class","rounded-3xl bg-gray-500 w-2/3 m-1 p-2 pr-2",4,"ngIf"],[1,"rounded-3xl","bg-gray-800","w-2/3","m-1","ml-auto","p-2"],[1,"text-white","p-4","m-2"],[1,"rounded-3xl","bg-gray-500","w-2/3","m-1","p-2","pr-2"],[1,"text-white","p-4","m-2",3,"id"]],template:function(a,o){if(1&a){const s=e.RV6();e.nrm(0,"app-header-return",1),e.j41(1,"ion-content",2)(2,"ion-refresher",3),e.bIt("ionRefresh",function(n){return e.eBV(s),e.Njj(o.doRefresh(n))}),e.nrm(3,"ion-refresher-content"),e.k0s(),e.nrm(4,"app-title",1),e.DNE(5,k,2,1,"ion-row",4)(6,I,2,1,"ion-row",4),e.j41(7,"ion-row",4)(8,"ion-col",5)(9,"ion-card",6)(10,"ion-card-header")(11,"ion-card-title")(12,"h1",7),e.EFF(13,"DevProbe AI Analytic"),e.k0s()()(),e.j41(14,"ion-card-content"),e.Z7z(15,O,2,1,"markdown",8,e.fX1),e.k0s(),e.j41(17,"ion-card-content")(18,"ion-row",9)(19,"ion-col",10)(20,"ion-input",11),e.mxI("ngModelChange",function(n){return e.eBV(s),e.DH7(o.message,n)||(o.message=n),e.Njj(n)}),e.k0s()(),e.j41(21,"ion-col",12)(22,"ion-button",13),e.bIt("click",function(){return e.eBV(s),e.Njj(o.toggleAiModal())}),e.EFF(23,"Send"),e.k0s()()()()()()(),e.j41(24,"ion-fab",14),e.bIt("click",function(){return e.eBV(s),e.Njj(o.aiModal=!0)}),e.j41(25,"ion-avatar",15),e.nrm(26,"ion-icon",16),e.k0s()()(),e.j41(27,"div",17)(28,"div",18)(29,"div",19)(30,"div",20)(31,"h1",21),e.EFF(32,"DevProbe AI"),e.k0s()(),e.nrm(33,"div",22),e.j41(34,"div",23),e.bIt("click",function(){return e.eBV(s),e.Njj(o.aiModal=!1)}),e.nrm(35,"ion-icon",24),e.k0s()(),e.j41(36,"div",25,0),e.DNE(38,z,3,2,"div",26),e.k0s(),e.j41(39,"div",27)(40,"ion-textarea",28),e.mxI("ngModelChange",function(n){return e.eBV(s),e.DH7(o.message,n)||(o.message=n),e.Njj(n)}),e.k0s(),e.nrm(41,"div",29),e.j41(42,"div",30),e.bIt("click",function(){return e.eBV(s),e.Njj(o.sendMessage())}),e.j41(43,"span",21),e.EFF(44,"Send"),e.k0s()()()()()}2&a&&(e.Y8G("title","Compare Flame Graphs"),e.R7$(),e.Y8G("fullscreen",!0),e.R7$(3),e.Y8G("title","Compare Flame Graphs"),e.R7$(),e.vxM(5,o.lenDates>=3?5:-1),e.R7$(),e.vxM(6,o.lenDates<3?6:-1),e.R7$(9),e.Dyx(o.aiAnalytic),e.R7$(5),e.R50("ngModel",o.message),e.R7$(4),e.AVh("hidden",!o.wasChatOpen),e.R7$(3),e.AVh("hidden",!o.aiModal),e.R7$(11),e.Y8G("ngForOf",o.messages),e.R7$(2),e.R50("ngModel",o.message))},dependencies:[g.Sq,g.bT,v.BC,v.vS,i.mC,i.Jm,i.b_,i.I9,i.ME,i.tN,i.hU,i.W9,i.Q8,i.iq,i.$w,i.To,i.Ki,i.ln,i.nc,i.Gw,M.W,w.p,j.E,E.NN]}),d})()}];let $=(()=>{var t;class d{}return(t=d).\u0275fac=function(a){return new(a||t)},t.\u0275mod=e.$C({type:t}),t.\u0275inj=e.G2t({imports:[_.iI.forChild(N),_.iI]}),d})();var V=c(5553);let L=(()=>{var t;class d{}return(t=d).\u0275fac=function(a){return new(a||t)},t.\u0275mod=e.$C({type:t}),t.\u0275inj=e.G2t({imports:[g.MD,v.YN,i.bv,$,V.h,j.n,E.NN]}),d})()}}]); \ No newline at end of file diff --git a/www/index.html b/www/index.html index 9a57807..06bbc88 100644 --- a/www/index.html +++ b/www/index.html @@ -21,6 +21,6 @@ - + diff --git a/www/runtime.80ee52ef306a1a34.js b/www/runtime.d06138c528efe41a.js similarity index 98% rename from www/runtime.80ee52ef306a1a34.js rename to www/runtime.d06138c528efe41a.js index c8291d5..2c3a9c6 100644 --- a/www/runtime.80ee52ef306a1a34.js +++ b/www/runtime.d06138c528efe41a.js @@ -1 +1 @@ -(()=>{"use strict";var e,v={},g={};function f(e){var r=g[e];if(void 0!==r)return r.exports;var a=g[e]={exports:{}};return v[e].call(a.exports,a,a.exports,f),a.exports}f.m=v,e=[],f.O=(r,a,c,b)=>{if(!a){var t=1/0;for(d=0;d=b)&&Object.keys(f.O).every(p=>f.O[p](a[n]))?a.splice(n--,1):(l=!1,b0&&e[d-1][2]>b;d--)e[d]=e[d-1];e[d]=[a,c,b]},f.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return f.d(r,{a:r}),r},(()=>{var r,e=Object.getPrototypeOf?a=>Object.getPrototypeOf(a):a=>a.__proto__;f.t=function(a,c){if(1&c&&(a=this(a)),8&c||"object"==typeof a&&a&&(4&c&&a.__esModule||16&c&&"function"==typeof a.then))return a;var b=Object.create(null);f.r(b);var d={};r=r||[null,e({}),e([]),e(e)];for(var t=2&c&&a;"object"==typeof t&&!~r.indexOf(t);t=e(t))Object.getOwnPropertyNames(t).forEach(l=>d[l]=()=>a[l]);return d.default=()=>a,f.d(b,d),b}})(),f.d=(e,r)=>{for(var a in r)f.o(r,a)&&!f.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:r[a]})},f.f={},f.e=e=>Promise.all(Object.keys(f.f).reduce((r,a)=>(f.f[a](e,r),r),[])),f.u=e=>(({2076:"common",7278:"polyfills-dom",9329:"polyfills-core-js"}[e]||e)+"."+{246:"feca7d34fa21624f",441:"c8d135e5d56e5723",839:"283ada25cfa51ac0",964:"466b88054b5c618c",1049:"7ef232095c56e4df",1101:"83532fd95b1e4cb4",1102:"010dfe13f6ca7e15",1205:"5bfd81c3b6ceffc4",1207:"a3010e283fee40c9",1293:"ee80f2d33790618d",1459:"32c41a59c0fd4cf1",1577:"f6f558490ff910b3",1581:"863ec7b6285a1ad7",2051:"c368fe66a9153379",2069:"2eb29319cb425843",2075:"1971ba880d06cc30",2076:"22947358c9207956",2144:"5d46fa3641b801f2",2348:"12b471577685ffbe",2375:"efb0d99d1467ed67",2415:"dddee43f1c9b92e7",2560:"f34ba2c5e85b55c8",2580:"dd2d37daccf76d3f",2839:"45a84ab42dbf5be1",2885:"d64fa10bd441cbc8",3151:"e2549890fe0c83eb",3162:"825364e1635b086f",3506:"899dcc5e5d913023",3511:"16739e7034875331",3814:"4f667f072e44b4e7",3825:"331f98cf89b934e3",3935:"919f86033fc39ee2",3998:"ffd547c928c28334",4171:"f5bc55c1acb0f5c1",4183:"0d54a4cc8cbc3a61",4348:"16e6409072fc8e11",4406:"03b087c2d77cb960",4443:"74ec71e1102d5a82",4463:"ce74c63a27a7a872",4591:"7a48c0cf9464e62b",4699:"01733b3942afbe92",4867:"17817bc208c2836c",5100:"659224ed1f94442c",5197:"cfc60de4c5213fec",5222:"9cbea5f62b0fb679",5712:"a9a2db8da6f1a8cd",5722:"626381443c213363",5887:"708ea3877f30ffcd",5949:"2ed93c457aa1e9fb",6024:"3c02ab7fe82fedfe",6433:"26eeba8bb230b119",6521:"3c5b756783b6739a",6656:"bd1aa2cc43128309",6688:"11584b254a031d91",6840:"fd32dada9c8ec44e",6927:"71b59311cb8c71c7",7030:"f2a9bf080bedfc5b",7076:"2b7ea8b1f54f4458",7179:"80391eb100990080",7240:"680a87741a5535b1",7278:"bf542500b6fca113",7356:"911eacb1ce959b5e",7372:"4ea07cfe7eb821be",7428:"cb325b96b92ea4c2",7444:"a7a196ab7cc1ae6b",7720:"78509b154c08b472",7907:"ef61612b4bf3b859",7923:"a53b6d582c6506e1",8066:"67e76a5c3f71f306",8193:"476b12959c4b189d",8314:"52348a57ed623e38",8361:"3d466d853997fbb0",8477:"15dacf21c512c8d4",8533:"b6a5800de88c91e2",8584:"94ca33677cedf961",8805:"7a687270c4acd743",8814:"4175e28b98837400",8970:"402b7daea47854b9",9013:"b8cefd92ba4e66d6",9273:"16673f4c5278d1b8",9329:"c76198334f717402",9344:"2d668603b6130b28",9697:"57e559625e67bb53",9906:"7831fb32a0a705fa",9977:"948bf38bed890db4"}[e]+".js"),f.miniCssF=e=>{},f.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),(()=>{var e={},r="app:";f.l=(a,c,b,d)=>{if(e[a])e[a].push(c);else{var t,l;if(void 0!==b)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(u);var y=e[a];if(delete e[a],t.parentNode&&t.parentNode.removeChild(t),y&&y.forEach(_=>_(p)),m)return m(p)},u=setTimeout(s.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=s.bind(null,t.onerror),t.onload=s.bind(null,t.onload),l&&document.head.appendChild(t)}}})(),f.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;f.tt=()=>(void 0===e&&(e={createScriptURL:r=>r},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),f.tu=e=>f.tt().createScriptURL(e),f.p="",(()=>{var e={9121:0};f.f.j=(c,b)=>{var d=f.o(e,c)?e[c]:void 0;if(0!==d)if(d)b.push(d[2]);else if(9121!=c){var t=new Promise((o,s)=>d=e[c]=[o,s]);b.push(d[2]=t);var l=f.p+f.u(c),n=new Error;f.l(l,o=>{if(f.o(e,c)&&(0!==(d=e[c])&&(e[c]=void 0),d)){var s=o&&("load"===o.type?"missing":o.type),u=o&&o.target&&o.target.src;n.message="Loading chunk "+c+" failed.\n("+s+": "+u+")",n.name="ChunkLoadError",n.type=s,n.request=u,d[1](n)}},"chunk-"+c,c)}else e[c]=0},f.O.j=c=>0===e[c];var r=(c,b)=>{var n,i,[d,t,l]=b,o=0;if(d.some(u=>0!==e[u])){for(n in t)f.o(t,n)&&(f.m[n]=t[n]);if(l)var s=l(f)}for(c&&c(b);o{"use strict";var e,v={},g={};function f(e){var r=g[e];if(void 0!==r)return r.exports;var a=g[e]={exports:{}};return v[e].call(a.exports,a,a.exports,f),a.exports}f.m=v,e=[],f.O=(r,a,c,b)=>{if(!a){var t=1/0;for(d=0;d=b)&&Object.keys(f.O).every(p=>f.O[p](a[n]))?a.splice(n--,1):(l=!1,b0&&e[d-1][2]>b;d--)e[d]=e[d-1];e[d]=[a,c,b]},f.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return f.d(r,{a:r}),r},(()=>{var r,e=Object.getPrototypeOf?a=>Object.getPrototypeOf(a):a=>a.__proto__;f.t=function(a,c){if(1&c&&(a=this(a)),8&c||"object"==typeof a&&a&&(4&c&&a.__esModule||16&c&&"function"==typeof a.then))return a;var b=Object.create(null);f.r(b);var d={};r=r||[null,e({}),e([]),e(e)];for(var t=2&c&&a;"object"==typeof t&&!~r.indexOf(t);t=e(t))Object.getOwnPropertyNames(t).forEach(l=>d[l]=()=>a[l]);return d.default=()=>a,f.d(b,d),b}})(),f.d=(e,r)=>{for(var a in r)f.o(r,a)&&!f.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:r[a]})},f.f={},f.e=e=>Promise.all(Object.keys(f.f).reduce((r,a)=>(f.f[a](e,r),r),[])),f.u=e=>(({2076:"common",7278:"polyfills-dom",9329:"polyfills-core-js"}[e]||e)+"."+{246:"feca7d34fa21624f",441:"c8d135e5d56e5723",839:"283ada25cfa51ac0",964:"466b88054b5c618c",1049:"7ef232095c56e4df",1101:"83532fd95b1e4cb4",1102:"010dfe13f6ca7e15",1205:"5bfd81c3b6ceffc4",1207:"a3010e283fee40c9",1293:"ee80f2d33790618d",1459:"32c41a59c0fd4cf1",1577:"f6f558490ff910b3",1581:"863ec7b6285a1ad7",2051:"c368fe66a9153379",2069:"2eb29319cb425843",2075:"1971ba880d06cc30",2076:"22947358c9207956",2144:"5d46fa3641b801f2",2348:"12b471577685ffbe",2375:"efb0d99d1467ed67",2415:"dddee43f1c9b92e7",2560:"f34ba2c5e85b55c8",2580:"dd2d37daccf76d3f",2839:"45a84ab42dbf5be1",2885:"d64fa10bd441cbc8",3151:"3e501609e759853a",3162:"825364e1635b086f",3506:"899dcc5e5d913023",3511:"16739e7034875331",3814:"4f667f072e44b4e7",3825:"331f98cf89b934e3",3935:"919f86033fc39ee2",3998:"ffd547c928c28334",4171:"f5bc55c1acb0f5c1",4183:"0d54a4cc8cbc3a61",4348:"16e6409072fc8e11",4406:"03b087c2d77cb960",4443:"74ec71e1102d5a82",4463:"ce74c63a27a7a872",4591:"7a48c0cf9464e62b",4699:"01733b3942afbe92",4867:"17817bc208c2836c",5100:"659224ed1f94442c",5197:"cfc60de4c5213fec",5222:"9cbea5f62b0fb679",5712:"a9a2db8da6f1a8cd",5722:"626381443c213363",5887:"708ea3877f30ffcd",5949:"2ed93c457aa1e9fb",6024:"3c02ab7fe82fedfe",6433:"26eeba8bb230b119",6521:"3c5b756783b6739a",6656:"bd1aa2cc43128309",6688:"11584b254a031d91",6840:"fd32dada9c8ec44e",6927:"71b59311cb8c71c7",7030:"f2a9bf080bedfc5b",7076:"2b7ea8b1f54f4458",7179:"80391eb100990080",7240:"680a87741a5535b1",7278:"bf542500b6fca113",7356:"911eacb1ce959b5e",7372:"4ea07cfe7eb821be",7428:"cb325b96b92ea4c2",7444:"a7a196ab7cc1ae6b",7720:"78509b154c08b472",7907:"ef61612b4bf3b859",7923:"a53b6d582c6506e1",8066:"67e76a5c3f71f306",8193:"476b12959c4b189d",8314:"52348a57ed623e38",8361:"3d466d853997fbb0",8477:"15dacf21c512c8d4",8533:"b6a5800de88c91e2",8584:"94ca33677cedf961",8805:"7a687270c4acd743",8814:"4175e28b98837400",8970:"402b7daea47854b9",9013:"b8cefd92ba4e66d6",9273:"16673f4c5278d1b8",9329:"c76198334f717402",9344:"2d668603b6130b28",9697:"57e559625e67bb53",9906:"7831fb32a0a705fa",9977:"948bf38bed890db4"}[e]+".js"),f.miniCssF=e=>{},f.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),(()=>{var e={},r="app:";f.l=(a,c,b,d)=>{if(e[a])e[a].push(c);else{var t,l;if(void 0!==b)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(u);var y=e[a];if(delete e[a],t.parentNode&&t.parentNode.removeChild(t),y&&y.forEach(_=>_(p)),m)return m(p)},u=setTimeout(s.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=s.bind(null,t.onerror),t.onload=s.bind(null,t.onload),l&&document.head.appendChild(t)}}})(),f.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;f.tt=()=>(void 0===e&&(e={createScriptURL:r=>r},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),f.tu=e=>f.tt().createScriptURL(e),f.p="",(()=>{var e={9121:0};f.f.j=(c,b)=>{var d=f.o(e,c)?e[c]:void 0;if(0!==d)if(d)b.push(d[2]);else if(9121!=c){var t=new Promise((o,s)=>d=e[c]=[o,s]);b.push(d[2]=t);var l=f.p+f.u(c),n=new Error;f.l(l,o=>{if(f.o(e,c)&&(0!==(d=e[c])&&(e[c]=void 0),d)){var s=o&&("load"===o.type?"missing":o.type),u=o&&o.target&&o.target.src;n.message="Loading chunk "+c+" failed.\n("+s+": "+u+")",n.name="ChunkLoadError",n.type=s,n.request=u,d[1](n)}},"chunk-"+c,c)}else e[c]=0},f.O.j=c=>0===e[c];var r=(c,b)=>{var n,i,[d,t,l]=b,o=0;if(d.some(u=>0!==e[u])){for(n in t)f.o(t,n)&&(f.m[n]=t[n]);if(l)var s=l(f)}for(c&&c(b);o