From 98aaa22f1b21d6636ab906ceedbcbe014dd0486f Mon Sep 17 00:00:00 2001 From: Mijago Date: Thu, 18 Jan 2024 10:30:08 +0000 Subject: [PATCH] Auto-generated commit [ci skip] --- 404.html | 2 +- assets/bungie-game2give-2024.jpg | Bin 0 -> 275933 bytes assets/bungie-game2give-2024.webp | Bin 0 -> 97704 bytes index.html | 2 +- main.6c4e6cec59d722d4.js | 1 + main.99e2f8ac194c273f.js | 1 - 6 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 assets/bungie-game2give-2024.jpg create mode 100644 assets/bungie-game2give-2024.webp create mode 100644 main.6c4e6cec59d722d4.js delete mode 100644 main.99e2f8ac194c273f.js diff --git a/404.html b/404.html index 111e70a5..195d86de 100644 --- a/404.html +++ b/404.html @@ -35,6 +35,6 @@ - + \ No newline at end of file diff --git a/assets/bungie-game2give-2024.jpg b/assets/bungie-game2give-2024.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ef7ea2a77fb91bc676fa84ad67d48b3883b164af GIT binary patch literal 275933 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
j5{~j}>j- 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 H@8A1BQat>O literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 111e70a5..195d86de 100644 --- a/index.html +++ b/index.html @@ -35,6 +35,6 @@ - + \ No newline at end of file diff --git a/main.6c4e6cec59d722d4.js b/main.6c4e6cec59d722d4.js new file mode 100644 index 00000000..ca6c6f05 --- /dev/null +++ b/main.6c4e6cec59d722d4.js @@ -0,0 +1 @@ +(self.webpackChunkD2ArmorPicker=self.webpackChunkD2ArmorPicker||[]).push([[179],{4682:(ot,z,_)=>{"use strict";_.d(z,{F:()=>S});var v=_(5861),t=_(7975);function S(H){const W=new t.ZP("d2armorpicker-v2");return W.version(24).stores({manifestArmor:"id++, hash, isExotic",inventoryArmor:"id++, itemInstanceId, isExotic, hash, name, masterworked, clazz, slot, source",manifestCollectibles:"id++, hash",vendorNames:"id++, vendorId"}).upgrade(function(){var I=(0,v.Z)(function*(m){yield H()});return function(m){return I.apply(this,arguments)}}()),W}},6471:(ot,z,_)=>{"use strict";_.d(z,{y:()=>v});var v=(()=>{return(t=v||(v={}))[t.ArmorSlotNone=0]="ArmorSlotNone",t[t.ArmorSlotHelmet=1]="ArmorSlotHelmet",t[t.ArmorSlotGauntlet=2]="ArmorSlotGauntlet",t[t.ArmorSlotChest=3]="ArmorSlotChest",t[t.ArmorSlotLegs=4]="ArmorSlotLegs",t[t.ArmorSlotClass=5]="ArmorSlotClass",v;var t})()},1043:(ot,z,_)=>{"use strict";_.d(z,{AR:()=>I,DH:()=>L,ID:()=>_t,K9:()=>S,Mi:()=>H,Pn:()=>m,Sy:()=>Y,WB:()=>t,X9:()=>at,cM:()=>ct,iV:()=>v,lp:()=>W,vr:()=>xt});var v=(()=>{return(g=v||(v={}))[g.NONE=0]="NONE",g[g.MINOR_MOBILITY=1]="MINOR_MOBILITY",g[g.MAJOR_MOBILITY=2]="MAJOR_MOBILITY",g[g.ARTIFICE_MOBILITY=3]="ARTIFICE_MOBILITY",g[g.MINOR_RESILIENCE=4]="MINOR_RESILIENCE",g[g.MAJOR_RESILIENCE=5]="MAJOR_RESILIENCE",g[g.ARTIFICE_RESILIENCE=6]="ARTIFICE_RESILIENCE",g[g.MINOR_RECOVERY=7]="MINOR_RECOVERY",g[g.MAJOR_RECOVERY=8]="MAJOR_RECOVERY",g[g.ARTIFICE_RECOVERY=9]="ARTIFICE_RECOVERY",g[g.MINOR_DISCIPLINE=10]="MINOR_DISCIPLINE",g[g.MAJOR_DISCIPLINE=11]="MAJOR_DISCIPLINE",g[g.ARTIFICE_DISCIPLINE=12]="ARTIFICE_DISCIPLINE",g[g.MINOR_INTELLECT=13]="MINOR_INTELLECT",g[g.MAJOR_INTELLECT=14]="MAJOR_INTELLECT",g[g.ARTIFICE_INTELLECT=15]="ARTIFICE_INTELLECT",g[g.MINOR_STRENGTH=16]="MINOR_STRENGTH",g[g.MAJOR_STRENGTH=17]="MAJOR_STRENGTH",g[g.ARTIFICE_STRENGTH=18]="ARTIFICE_STRENGTH",v;var g})(),t=(()=>{return(g=t||(t={}))[g.Mobility=0]="Mobility",g[g.Resilience=1]="Resilience",g[g.Recovery=2]="Recovery",g[g.Discipline=3]="Discipline",g[g.Intellect=4]="Intellect",g[g.Strength=5]="Strength",t;var g})();const S={[v.NONE]:[t.Strength,0,0,0],[v.MINOR_MOBILITY]:[t.Mobility,5,1,1703647492],[v.MAJOR_MOBILITY]:[t.Mobility,10,3,4183296050],[v.ARTIFICE_MOBILITY]:[t.Mobility,3,0,2322202118],[v.MINOR_RESILIENCE]:[t.Resilience,5,2,2532323436],[v.MAJOR_RESILIENCE]:[t.Resilience,10,4,1180408010],[v.ARTIFICE_RESILIENCE]:[t.Resilience,3,0,199176566],[v.MINOR_RECOVERY]:[t.Recovery,5,2,1237786518],[v.MAJOR_RECOVERY]:[t.Recovery,10,4,4204488676],[v.ARTIFICE_RECOVERY]:[t.Recovery,3,0,539459624],[v.MINOR_DISCIPLINE]:[t.Discipline,5,1,4021790309],[v.MAJOR_DISCIPLINE]:[t.Discipline,10,3,1435557120],[v.ARTIFICE_DISCIPLINE]:[t.Discipline,3,0,617569843],[v.MINOR_INTELLECT]:[t.Intellect,5,2,350061697],[v.MAJOR_INTELLECT]:[t.Intellect,10,4,2724608735],[v.ARTIFICE_INTELLECT]:[t.Intellect,3,0,3160845295],[v.MINOR_STRENGTH]:[t.Strength,5,1,2639422088],[v.MAJOR_STRENGTH]:[t.Strength,10,3,4287799666],[v.ARTIFICE_STRENGTH]:[t.Strength,3,0,2507624050]},H={[t.Mobility]:"Mobility",[t.Resilience]:"Resilience",[t.Recovery]:"Recovery",[t.Discipline]:"Discipline",[t.Intellect]:"Intellect",[t.Strength]:"Strength"},W={[t.Mobility]:"https://www.bungie.net/common/destiny2_content/icons/e26e0e93a9daf4fdd21bf64eb9246340.png",[t.Resilience]:"https://www.bungie.net/common/destiny2_content/icons/202ecc1c6febeb6b97dafc856e863140.png",[t.Recovery]:"https://www.bungie.net/common/destiny2_content/icons/128eee4ee7fc127851ab32eac6ca91cf.png",[t.Discipline]:"https://www.bungie.net/common/destiny2_content/icons/79be2d4adef6a19203f7385e5c63b45b.png",[t.Intellect]:"https://www.bungie.net/common/destiny2_content/icons/d1c154469670e9a592c9d4cbdcae5764.png",[t.Strength]:"https://www.bungie.net/common/destiny2_content/icons/ea5af04ccd6a3470a44fd7bb0f66e2f7.png"};var I=(()=>{return(g=I||(I={}))[g.ClassAbilityRegenerationStat=10]="ClassAbilityRegenerationStat",I;var g})(),m=(()=>{return(g=m||(m={}))[g.None=0]="None",g[g.PerkExhumedExcess=1]="PerkExhumedExcess",g[g.SlotCrotasEnd=2]="SlotCrotasEnd",g[g.SlotRootOfNightmares=3]="SlotRootOfNightmares",g[g.SlotKingsFall=4]="SlotKingsFall",g[g.SlotVowOfTheDisciple=5]="SlotVowOfTheDisciple",g[g.SlotVaultOfGlass=6]="SlotVaultOfGlass",g[g.SlotDeepStoneCrypt=7]="SlotDeepStoneCrypt",g[g.SlotGardenOfSalvation=8]="SlotGardenOfSalvation",g[g.SlotLastWish=9]="SlotLastWish",g[g.SlotArtifice=10]="SlotArtifice",g[g.PerkIronBanner=11]="PerkIronBanner",g[g.SlotNightmare=12]="SlotNightmare",g[g.SonarAmplifier=13]="SonarAmplifier",g[g.PerkQueensFavor=14]="PerkQueensFavor",g[g.PerkSeraphSensorArray=15]="PerkSeraphSensorArray",g[g.PerkPlunderersTrappings=16]="PerkPlunderersTrappings",g[g.PerkUniformedOfficer=17]="PerkUniformedOfficer",g[g.GuardianGamesClassItem=18]="GuardianGamesClassItem",g[g.PerkAscendantProtector=19]="PerkAscendantProtector",g[g.COUNT=20]="COUNT",m;var g})();const ct={[m.None]:"None",[m.PerkAscendantProtector]:"Ascendant Protector",[m.SlotCrotasEnd]:"Crota's End Modslot",[m.SlotRootOfNightmares]:"Root of Nightmares Modslot",[m.SlotKingsFall]:"King's Fall Modslot",[m.SlotVowOfTheDisciple]:"Vow of the Disciple Modslot",[m.SlotVaultOfGlass]:"Vault of Glass Modslot",[m.SlotDeepStoneCrypt]:"Deep Stone Crypt Modslot",[m.SlotGardenOfSalvation]:"Garden of Salvation Modslot",[m.SlotLastWish]:"Last Wish Modslot",[m.SlotArtifice]:"Artifice Modslot",[m.PerkIronBanner]:"Iron Banner Perk",[m.SlotNightmare]:"Nightmare Hunt Modslot",[m.PerkExhumedExcess]:"Exhumed Excess",[m.SonarAmplifier]:"Sonar Amplifier",[m.PerkQueensFavor]:"Queen's Favor",[m.PerkSeraphSensorArray]:"Seraph Sensor Array",[m.PerkPlunderersTrappings]:"Plunderer's Trappings",[m.GuardianGamesClassItem]:"Guardian Games",[m.PerkUniformedOfficer]:"Uniformed Officer",[m.COUNT]:""},at={[m.None]:"https://www.bungie.net/img/misc/missing_icon_d2.png",[m.PerkAscendantProtector]:"https://www.bungie.net/common/destiny2_content/icons/e083d8a85c2c60825204d14b9e9263b7.png",[m.SlotCrotasEnd]:"https://www.bungie.net/common/destiny2_content/icons/7ddce334fe8391848f408227439c1d7a.png",[m.SlotRootOfNightmares]:"https://www.bungie.net/common/destiny2_content/icons/f2b6ec58e14244e4972705897667c246.png",[m.SlotKingsFall]:"https://www.bungie.net/common/destiny2_content/icons/0e515c7cf25a2f2350b788e6f5b7f8eb.png",[m.SlotVowOfTheDisciple]:"https://www.bungie.net/common/destiny2_content/icons/b84b6ea72dd05de7123aa2ae87ba0d6a.png",[m.SlotVaultOfGlass]:"https://www.bungie.net/common/destiny2_content/icons/7c9a2d95113de19c5acdbed57775abf4.png",[m.SlotDeepStoneCrypt]:"https://www.bungie.net/common/destiny2_content/icons/d6452d010cfe72a51a9089ec68ab223c.png",[m.SlotGardenOfSalvation]:"https://www.bungie.net/common/destiny2_content/icons/53d6e3505cd03d4026b3dbbd9ccc19b6.jpg",[m.SlotLastWish]:"https://www.bungie.net/common/destiny2_content/icons/76f0c1520fa384ceb27bd2469225dd8a.png",[m.SlotArtifice]:"https://www.bungie.net/common/destiny2_content/icons/46eec78bb7864641bbd7ba1fd4f9f248.png",[m.PerkIronBanner]:"https://bungie.net/common/destiny2_content/icons/DestinyActivityModeDefinition_fe57052d7cf971f7502daa75a2ca2437.png",[m.SlotNightmare]:"https://www.bungie.net/common/destiny2_content/icons/53d6e3505cd03d4026b3dbbd9ccc19b6.jpg",[m.PerkExhumedExcess]:"https://www.bungie.net/common/destiny2_content/icons/8b10e265736c3ca1778c3f54fdb62bad.png",[m.SonarAmplifier]:"https://www.bungie.net/common/destiny2_content/icons/e083d8a85c2c60825204d14b9e9263b7.png",[m.PerkQueensFavor]:"https://www.bungie.net/common/destiny2_content/icons/8d844c97fa13f4cb649358404d011be7.png",[m.PerkSeraphSensorArray]:"https://www.bungie.net/common/destiny2_content/icons/7394ce8bcde3a665584b988cc133d62c.png",[m.PerkPlunderersTrappings]:"https://www.bungie.net/common/destiny2_content/icons/7394ce8bcde3a665584b988cc133d62c.png",[m.PerkUniformedOfficer]:"https://www.bungie.net/common/destiny2_content/icons/b4f6064c3757f9a6725b80f88ee824c0.png",[m.GuardianGamesClassItem]:"https://www.bungie.net/common/destiny2_content/icons/DestinyEventCardDefinition_ce6c2cf855dce694bcc89803b6bc44b7.png",[m.COUNT]:""},L={[m.PerkAscendantProtector]:1493063130,[m.SlotCrotasEnd]:717667840,[m.SlotRootOfNightmares]:4144354978,[m.SlotKingsFall]:1728096240,[m.SlotVowOfTheDisciple]:2447143568,[m.SlotVaultOfGlass]:3738398030,[m.SlotDeepStoneCrypt]:4055462131,[m.SlotGardenOfSalvation]:706611068,[m.SlotLastWish]:1679876242,[m.SlotArtifice]:3727270518,[m.PerkIronBanner]:2472875850,[m.SlotNightmare]:1180997867,[m.PerkExhumedExcess]:717722696,[m.SonarAmplifier]:2779380852,[m.PerkQueensFavor]:1101259514,[m.PerkSeraphSensorArray]:3525583702,[m.PerkPlunderersTrappings]:400659041,[m.PerkUniformedOfficer]:2392155347},_t={[m.None]:"",[m.PerkAscendantProtector]:'exactperk:"ascendant protector"',[m.SlotCrotasEnd]:"modslot:crotasend",[m.SlotRootOfNightmares]:"modslot:rootofnightmares",[m.SlotKingsFall]:"modslot:kingsfall",[m.SlotVowOfTheDisciple]:"modslot:vowofthedisciple",[m.SlotVaultOfGlass]:"modslot:vaultofglass",[m.SlotDeepStoneCrypt]:"modslot:deepstonecrypt",[m.SlotGardenOfSalvation]:"modslot:gardenofsalvation",[m.SlotLastWish]:"modslot:lastwish",[m.SlotArtifice]:'perkname:"artifice armor"',[m.PerkIronBanner]:'perkname:"iron lord\'s pride"',[m.SlotNightmare]:"modslot:nightmare",[m.PerkExhumedExcess]:'perkname:"exhumed excess"',[m.SonarAmplifier]:'perkname:"sonar amplifier"',[m.PerkQueensFavor]:'perkname:"queen\'s favor"',[m.PerkSeraphSensorArray]:'perkname:"seraph sensor array"',[m.PerkPlunderersTrappings]:'perkname:"plunderer\'s trappings"',[m.PerkUniformedOfficer]:'perkname:"Uniformed Officer"',[m.GuardianGamesClassItem]:"(hash:537041732 or hash:366019830 or hash:1013401891)",[m.COUNT]:""},xt={0:"Any",1:"Arc",2:"Solar",3:"Void",6:"Stasis",4:"Ghost",5:"Subclass"},Y={0:"",1:"https://www.bungie.net/common/destiny2_content/icons/DestinyDamageTypeDefinition_092d066688b879c807c3b460afdd61e6.png",2:"https://www.bungie.net/common/destiny2_content/icons/DestinyDamageTypeDefinition_2a1773e10968f2d088b97c22b22bba9e.png",3:"https://www.bungie.net/common/destiny2_content/icons/DestinyDamageTypeDefinition_ceb2f6197dccf3958bb31cc783eb97a0.png",6:"https://www.bungie.net/common/destiny2_content/icons/DestinyDamageTypeDefinition_530c4c3e7981dc2aefd24fd3293482bf.png",4:"",5:""}},8333:(ot,z,_)=>{"use strict";_.d(z,{O:()=>v});var v=(()=>{return(t=v||(v={}))[t.CombatStyleMod=0]="CombatStyleMod",t[t.Stasis=1]="Stasis",t[t.Void=2]="Void",t[t.Solar=3]="Solar",t[t.Arc=4]="Arc",t[t.Strand=5]="Strand",t[t.RetrofitMods=6]="RetrofitMods",v;var t})()},4661:(ot,z,_)=>{"use strict";_.d(z,{V:()=>At});var v=_(4859),t=_(9549),S=_(4385),H=_(3238),W=_(7314),I=_(4144),m=_(455),ct=_(2143),at=_(3546),L=_(266),_t=_(3162),xt=_(7392),Y=_(6308),g=_(8739),A=_(3683),J=_(3217),St=_(811),It=_(6338),kt=_(7084),Ot=_(5412),mt=_(7009),Mt=_(1572),Dt=_(3848),dt=_(7331),yt=_(3267),D=_(4006),st=_(9814),r=_(4650);let At=(()=>{class ft{}return ft.\u0275fac=function(jt){return new(jt||ft)},ft.\u0275mod=r.oAB({type:ft}),ft.\u0275inj=r.cJS({imports:[v.ot,t.lN,S.LD,H.Ng,W.KP,I.c,m.rP,ct.p0,at.QW,L.AV,_t.Cv,xt.Ps,Y.JX,g.TU,A.g0,J.Tx,St.vV,It.ie,kt.To,Ot.Is,mt.ZX,Mt.Cq,Dt.Nh,dt.Hi,yt.SJ,D.UX,D.u5,st.o9,st.o9,D.UX,D.u5,v.ot,t.lN,S.LD,H.Ng,W.KP,I.c,m.rP,ct.p0,at.QW,L.AV,_t.Cv,xt.Ps,Y.JX,g.TU,A.g0,J.Tx,St.vV,It.ie,kt.To,Ot.Is,mt.ZX,Mt.Cq,Dt.Nh,dt.Hi,yt.SJ]}),ft})()},7789:(ot,z,_)=>{"use strict";var v=_(1481),t=_(4650);const S_apiKey="9415df8eff46408aa9c0d51e4d69b94f",S_featureFlags_enableModslotLimitation=!0,S_featureFlags_enableZeroWaste=!0,S_featureFlags_enableGuardianGamesFeatures=!1;var H=_(5829),W=_(3683),I=_(6630),m=_(5861),ct=_(6831),at=_(529);let L=(()=>{class n{constructor(e,o){this.http=e,this.router=o,this._logoutEvent=new ct.t(1),this.logoutEvent=this._logoutEvent.asObservable()}get refreshTokenExpired(){return this.refreshTokenExpiringAt (this.lastRefresh + timing)":Date.now()>e.lastRefresh+18e5}),!(e.refreshToken&&Date.now()e.lastRefresh+18e5)||(yield e.generateTokens(!0))})()}getCurrentMembershipData(){var e=this;return(0,m.Z)(function*(){const o=JSON.parse(localStorage.getItem("auth-membershipInfo")||"null");if(null==o){const a=e.getCurrentMembershipData();return localStorage.setItem("auth-membershipInfo",JSON.stringify(a)),a}return o})()}generateTokens(e=!1){var o=this;return(0,m.Z)(function*(){console.info("Generate auth tokens","refresh based on refresh_token:",e);let u=`grant_type=authorization_code&code=${o.authCode}&client_id=37252&client_secret=KnVcJPWr7C5y0loOfBoKSyQ-vWXR0JICrgb1aJLsLgg`;return e&&(u=`grant_type=refresh_token&refresh_token=${o.refreshToken}&client_id=37252&client_secret=KnVcJPWr7C5y0loOfBoKSyQ-vWXR0JICrgb1aJLsLgg`),yield o.http.post("https://www.bungie.net/Platform/App/OAuth/Token/",u,{headers:{"Content-Type":"application/x-www-form-urlencoded","X-API-Key":S_apiKey}}).toPromise().then(x=>(console.log("generateTokens",x),o.accessToken=x.access_token,o.refreshToken=x.refresh_token,o.refreshTokenExpiringAt=Date.now()+1e3*x.refresh_expires_in-1e4,o.lastRefresh=Date.now(),!0)).catch(function(){var x=(0,m.Z)(function*(p){return console.log({err:p}),yield o.logout(),!1});return function(p){return x.apply(this,arguments)}}())})()}isAuthenticated(){return!!this.accessToken}get authCode(){return localStorage.getItem("code")}set authCode(e){e?(console.info("Setting new auth code"),localStorage.setItem("code",""+e)):(console.info("Clearing auth code"),localStorage.removeItem("code"))}get accessToken(){return localStorage.getItem("accessToken")}set accessToken(e){e?(console.info("Setting new access token"),localStorage.setItem("accessToken",""+e)):(console.info("Clearing access token"),localStorage.removeItem("accessToken"))}get refreshToken(){return localStorage.getItem("refreshToken")}set refreshToken(e){e?(console.info("Setting new refresh token"),localStorage.setItem("refreshToken",""+e)):(console.info("Clearing refresh token"),localStorage.removeItem("refreshToken"))}get refreshTokenExpiringAt(){let e=localStorage.getItem("refreshTokenExpiringAt")||"0";return e?Number.parseInt(e):0}set refreshTokenExpiringAt(e){e?(console.info("Setting new refresh token"),localStorage.setItem("refreshTokenExpiringAt",""+e)):(console.info("Clearing refresh token"),localStorage.removeItem("refreshTokenExpiringAt"))}get lastRefresh(){let e=localStorage.getItem("lastRefresh")||"0";return e?Number.parseInt(e):0}set lastRefresh(e){e?localStorage.setItem("lastRefresh",e.toString()):localStorage.removeItem("lastRefresh")}clearManifestInfo(){localStorage.removeItem("LastArmorUpdate"),localStorage.removeItem("LastManifestUpdate")}clearLoginInfo(){this.lastRefresh=null,this.refreshTokenExpiringAt=null,this.authCode=null,this.accessToken=null,this.refreshToken=null,localStorage.removeItem("auth-membershipInfo")}logout(){var e=this;return(0,m.Z)(function*(){try{e._logoutEvent.next(null),e.clearManifestInfo(),e.clearLoginInfo()}finally{yield e.router.navigate(["login"])}})()}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(at.eN),t.LFG(I.F0))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),_t=(()=>{class n{constructor(e,o,a){this.activatedRoute=e,this.router=o,this.loginService=a}ngOnInit(){var e=this;this.activatedRoute.queryParams.subscribe(function(){var o=(0,m.Z)(function*(a){let s=a.code;window.location.search.indexOf("?code=")>-1&&(s=window.location.search.substr(6)),console.info({code:s}),s&&(e.loginService.authCode=s,console.info("Generate tokens with the new code"),yield e.loginService.generateTokens(),console.info("Now navigate to /"),yield e.router.navigate(["/"]))});return function(a){return o.apply(this,arguments)}}())}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(I.gz),t.Y36(I.F0),t.Y36(L))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-handle-bungie-login"]],decls:0,vars:0,template:function(e,o){}}),n})(),xt=(()=>{class n{constructor(){this.title="D2ArmorPicker",console.log("PRODUCTION?",true)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-root"]],decls:8,vars:0,consts:[["color","accent",1,"bungie-day"],[1,"header-spacer"],["fxHide.xs","","src","../assets/bungie-game2give-2024.jpg",1,"donordrive"],["href","https://bungiefoundation.donordrive.com/participant/25284","target","_blank","title","Support the Bungie Foundation!"]],template:function(e,o){1&e&&(t.TgZ(0,"mat-toolbar",0),t._UZ(1,"span",1)(2,"img",2),t.TgZ(3,"a",3),t._uU(4," Please support us at the Bungie Game2Give 2024 \u2764 "),t.qZA(),t._UZ(5,"span",1),t.qZA(),t._UZ(6,"app-handle-bungie-login")(7,"router-outlet"))},dependencies:[H.b8,W.Ye,I.lC,_t],styles:[".bungie-day[_ngcontent-%COMP%]{height:-moz-fit-content;height:fit-content;position:relative;max-width:100vw;word-break:break-all}.bungie-day[_ngcontent-%COMP%] img.donordrive[_ngcontent-%COMP%]{height:30px;margin-left:2px;margin-right:2px}.bungie-day[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .bungie-day[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:visited{color:#fff}.bungie-day[_ngcontent-%COMP%] .header-spacer[_ngcontent-%COMP%]{flex:1 1 auto}"]}),n})();var Y=_(1576),g=_(4859),A=_(3546),J=_(7084);let St=(()=>{class n{constructor(){}startLogin(){window.location.href="https://www.bungie.net/en/OAuth/Authorize?client_id=37252&response_type=code&reauth=true"}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-login"]],decls:76,vars:0,consts:[["mat-card-avatar","",1,"example-header-image"],["href","https://ko-fi.com/mijago","target","_blank"],["href","https://github.com/Mijago/D2ArmorPicker","target","_blank"],["color","primary","mat-raised-button","",3,"click"],[1,"mat-elevation-z11"],["src","assets/info/statselection.png",1,"image-example"],["src","assets/resultOverviewWithFlex.png",1,"image-example"],["src","assets/info/whattodonow.png",1,"image-example"],["src","assets/info/armorClustering.png",1,"image-example"],["fxLayoutGap","10px","fxLayout","row",1,"armor-image-container"],["src","assets/info/cluster-example/img.png"],["src","assets/info/cluster-example/img_1.png"],["src","assets/info/cluster-example/img_2.png"]],template:function(e,o){1&e&&(t.TgZ(0,"mat-card")(1,"mat-card-header"),t._UZ(2,"div",0),t.TgZ(3,"mat-card-title"),t._uU(4,"Destiny 2 Armor Picker"),t.qZA(),t.TgZ(5,"mat-card-subtitle"),t._uU(6,"A simple armor min-max tool by Mijago."),t.qZA()(),t.TgZ(7,"mat-card-content")(8,"p"),t._uU(9," This tool allows you to select the optimal armor from your inventory and vault to satisfy your stat needs. It also tells you which stat mods you have to use! "),t._UZ(10,"br")(11,"br"),t._uU(12," You have to log in to enable this tool to grab your armor from the API."),t._UZ(13,"br"),t._uU(14," If you like my tools and want to support me, head to "),t.TgZ(15,"a",1),t._uU(16,"ko-fi.com"),t.qZA(),t._uU(17," and buy me a coffee! \u2764 "),t._UZ(18,"br"),t._uU(19," If you found a bug or have a feature request, please open an issue "),t.TgZ(20,"a",2),t._uU(21,"in the Github Repository"),t.qZA(),t._uU(22,"! "),t.qZA(),t.TgZ(23,"p"),t._uU(24," D2ArmorPicker uses the Bungie.net api and it's OAuth authorization. You log in on an official Bungie.net page and D2ArmorPicker receives a temporary login token from Bungie. That means it does not receive your credentials. "),t.qZA()(),t.TgZ(25,"mat-card-actions")(26,"button",3),t.NdJ("click",function(){return o.startLogin()}),t._uU(27,"Login"),t.qZA()()(),t.TgZ(28,"mat-card")(29,"mat-card-title"),t._uU(30," Examples "),t.qZA(),t.TgZ(31,"mat-card-subtitle"),t._uU(32,"Some examples to show what D2ArmorPicker can do."),t.qZA(),t.TgZ(33,"mat-card-content")(34,"mat-accordion")(35,"mat-expansion-panel",4)(36,"mat-expansion-panel-header")(37,"mat-panel-title"),t._uU(38," Stat Selection "),t.qZA(),t.TgZ(39,"mat-panel-description"),t._uU(40," The heart of this tool. "),t.qZA()(),t.TgZ(41,"p"),t._uU(42," First, you are able to select the stats you want. The tool will automatically parse all your armor (including your vault and your postmaster), and then show you which stat selections are even possible with your current gear. The tool also shows you all possible loadouts with three or four stats at 100! "),t._UZ(43,"img",5)(44,"br")(45,"br"),t._uU(46," There are also additional settings. You can add stasis fragments and negative and positive stat mods to your builds. Also, you can select 0-waste builds (so only flat numbers). D2ArmorPicker will also add stat mods to reduce wasted stats wherever possible! "),t.qZA()(),t.TgZ(47,"mat-expansion-panel",4)(48,"mat-expansion-panel-header")(49,"mat-panel-title"),t._uU(50," Result Display "),t.qZA(),t.TgZ(51,"mat-panel-description"),t._uU(52," What you will get from this tool. "),t.qZA()(),t.TgZ(53,"p"),t._uU(54," D2ArmorPicker will show you a table with many results. You can sort and filter it, and then you click on one row to see which items are needed for your desired stats. "),t._UZ(55,"img",6)(56,"br")(57,"br"),t._uU(58," The page will also give you a detailed description of what you have to do in order to get to your desired build. The following screenshot shows one of the more detailed descriptions: "),t._UZ(59,"img",7),t.qZA()(),t.TgZ(60,"mat-expansion-panel",4)(61,"mat-expansion-panel-header")(62,"mat-panel-title"),t._uU(63," Armor Clustering "),t.qZA(),t.TgZ(64,"mat-panel-description"),t._uU(65," For the time when your vault is overflowing. "),t.qZA()(),t.TgZ(66,"div"),t._uU(67," Since version 2.0.14, D2ArmorPicker has an armor clustering feature. This means that it takes all your armor and groups it in 25 groups, where all items in one group has very similar stats. This can help you to clear out your vault, especially from duplicated armor rolls. "),t._UZ(68,"img",8)(69,"br")(70,"br"),t._uU(71," Take Cluster 1, for example. I copy the DIM-Query, enter it into DIM and see the following results: "),t.TgZ(72,"div",9),t._UZ(73,"img",10)(74,"img",11)(75,"img",12),t.qZA()()()()()())},dependencies:[Y.xw,Y.SQ,g.lW,A.a8,A.dk,A.dn,A.n5,A.$j,A.hq,A.kc,J.pp,J.ib,J.yz,J.yK,J.u4],styles:["mat-card[_ngcontent-%COMP%]{max-width:600px;margin-bottom:4px;margin-left:auto;margin-right:auto}button[_ngcontent-%COMP%]{position:absolute;right:10px;bottom:10px}a[_ngcontent-%COMP%]{color:#99afe3}a[_ngcontent-%COMP%]:visited{color:#7294dc}.example-header-image[_ngcontent-%COMP%]{background-image:url(superGreatLogo.5307f2494314b5e1.png);background-size:cover}.image-example[_ngcontent-%COMP%]{max-width:100%}.armor-image-container[_ngcontent-%COMP%]{overflow:auto}.armor-image-container[_ngcontent-%COMP%] > img[_ngcontent-%COMP%]{max-height:300px}"]}),n})();var It=_(8746);let kt=(()=>{class n{constructor(e,o){this.auth=e,this.router=o}canActivate(e,o){return!!this.auth.isAuthenticated()||(this.router.navigate(["login"]),!1)}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(L),t.LFG(I.F0))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Ot=(()=>{class n{constructor(e,o){this.auth=e,this.router=o}canActivate(e,o){return!this.auth.isAuthenticated()||(this.router.navigate(["/"]),!1)}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(L),t.LFG(I.F0))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();var mt=_(2289),Mt=_(4850),Dt=_(5154),dt=_(591);let yt=(()=>{class n{constructor(){this.__status={calculatingResults:!1,calculatingPermutations:!1,updatingResultsTable:!1,updatingInventory:!1,updatingManifest:!1},this._status=new dt.X(this.__status),this.status=this._status.asObservable()}getStatus(){return this.__status}modifyStatus(e){e(this.__status),console.log("modifyStatus",this.__status),this._status.next(this.__status)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();var D=(()=>{return(n=D||(D={}))[n.None=-1]="None",n[n.Titan=0]="Titan",n[n.Hunter=1]="Hunter",n[n.Warlock=2]="Warlock",D;var n})(),st=_(13),r=_(1043),C=_(6471),h=_(8333),Tt=(()=>{return(n=Tt||(Tt={}))[n.None=0]="None",n[n.ReduceUsedModSockets=1]="ReduceUsedModSockets",n[n.ReduceUsedModPoints=2]="ReduceUsedModPoints",Tt;var n})();function zt(n){return{[r.WB.Mobility]:{fixed:!1,value:n},[r.WB.Resilience]:{fixed:!1,value:n},[r.WB.Recovery]:{fixed:!1,value:n},[r.WB.Discipline]:{fixed:!1,value:n},[r.WB.Intellect]:{fixed:!1,value:n},[r.WB.Strength]:{fixed:!1,value:n}}}class Ut{constructor(){this.characterClass=D.Titan,this.addConstent1Resilience=!1,this.assumeEveryLegendaryIsArtifice=!1,this.disabledItems=[],this.minimumStatTiers={[r.WB.Mobility]:{fixed:!1,value:0},[r.WB.Resilience]:{fixed:!1,value:0},[r.WB.Recovery]:{fixed:!1,value:0},[r.WB.Discipline]:{fixed:!1,value:0},[r.WB.Intellect]:{fixed:!1,value:0},[r.WB.Strength]:{fixed:!1,value:0}},this.maximumStatMods=5,this.maximumModSlots={[C.y.ArmorSlotHelmet]:{fixed:!1,value:5},[C.y.ArmorSlotGauntlet]:{fixed:!1,value:5},[C.y.ArmorSlotChest]:{fixed:!1,value:5},[C.y.ArmorSlotLegs]:{fixed:!1,value:5},[C.y.ArmorSlotClass]:{fixed:!1,value:5},[C.y.ArmorSlotNone]:{fixed:!1,value:5}},this.putArtificeMods=!0,this.useFotlArmor=!0,this.allowBlueArmorPieces=!0,this.ignoreSunsetArmor=!1,this.includeVendorRolls=!1,this.includeCollectionRolls=!1,this.assumeLegendariesMasterworked=!0,this.assumeExoticsMasterworked=!0,this.assumeClassItemMasterworked=!0,this.onlyUseMasterworkedExotics=!1,this.onlyUseMasterworkedLegendaries=!1,this.modOptimizationStrategy=Tt.None,this.limitParsedResults=!0,this.tryLimitWastedStats=!1,this.onlyShowResultsWithNoWastedStats=!1,this.showWastedStatsColumn=!1,this.showPotentialTierColumn=!1,this.selectedModElement=h.O.Stasis,this.enabledMods=[],this.selectedExotics=[],this.armorPerks={[C.y.ArmorSlotHelmet]:{fixed:!0,value:r.Pn.None},[C.y.ArmorSlotGauntlet]:{fixed:!0,value:r.Pn.None},[C.y.ArmorSlotChest]:{fixed:!0,value:r.Pn.None},[C.y.ArmorSlotLegs]:{fixed:!0,value:r.Pn.None},[C.y.ArmorSlotClass]:{fixed:!0,value:r.Pn.None},[C.y.ArmorSlotNone]:{fixed:!0,value:r.Pn.None}}}static buildEmptyConfiguration(){return{enabledMods:[],disabledItems:[],addConstent1Resilience:!1,assumeEveryLegendaryIsArtifice:!1,putArtificeMods:!0,useFotlArmor:!1,maximumStatMods:5,onlyUseMasterworkedExotics:!1,onlyUseMasterworkedLegendaries:!1,ignoreSunsetArmor:!1,includeCollectionRolls:!1,includeVendorRolls:!1,allowBlueArmorPieces:!0,assumeLegendariesMasterworked:!0,assumeExoticsMasterworked:!0,assumeClassItemMasterworked:!0,limitParsedResults:!0,modOptimizationStrategy:Tt.None,tryLimitWastedStats:!1,onlyShowResultsWithNoWastedStats:!1,showWastedStatsColumn:!1,showPotentialTierColumn:!1,characterClass:D.Titan,selectedModElement:h.O.Stasis,selectedExotics:[],maximumModSlots:{[C.y.ArmorSlotHelmet]:{fixed:!1,value:5},[C.y.ArmorSlotGauntlet]:{fixed:!1,value:5},[C.y.ArmorSlotChest]:{fixed:!1,value:5},[C.y.ArmorSlotLegs]:{fixed:!1,value:5},[C.y.ArmorSlotClass]:{fixed:!1,value:5},[C.y.ArmorSlotNone]:{fixed:!1,value:5}},armorPerks:{[C.y.ArmorSlotHelmet]:{fixed:!0,value:r.Pn.None},[C.y.ArmorSlotGauntlet]:{fixed:!0,value:r.Pn.None},[C.y.ArmorSlotChest]:{fixed:!0,value:r.Pn.None},[C.y.ArmorSlotLegs]:{fixed:!0,value:r.Pn.None},[C.y.ArmorSlotClass]:{fixed:!0,value:r.Pn.None},[C.y.ArmorSlotNone]:{fixed:!0,value:r.Pn.None}},minimumStatTiers:zt(0)}}}var E=(()=>{return(n=E||(E={}))[n.Inventory=0]="Inventory",n[n.Collections=1]="Collections",n[n.Vendor=2]="Vendor",E;var n})();function Yt(n,i,e){if(!n)throw new Error("Missing manifest item");const o=Object.assign({id:-1,itemInstanceId:i,mayBeBugged:!1,masterworked:!1,energyLevel:0,mobility:0,resilience:0,recovery:0,discipline:0,intellect:0,strength:0,source:e},n);return o.id=void 0,(2545426109==n.hash||199733460==n.hash||3224066584==n.hash)&&(o.slot=C.y.ArmorSlotHelmet),o}function Gt(n,i){n.mobility=i[2996146975],n.resilience=i[392767087],n.recovery=i[1943323491],n.discipline=i[1735777505],n.intellect=i[144602215],n.strength=i[4244567218]}var Kt=_(4682);let et=(()=>{class n{constructor(e){var o=this;this.auth=e,this.db=(0,Kt.F)((0,m.Z)(function*(){yield o.auth.clearManifestInfo()})),this.manifestArmor=this.db.table("manifestArmor"),this.inventoryArmor=this.db.table("inventoryArmor"),this.manifestCollectibles=this.db.table("manifestCollectibles"),this.vendorNames=this.db.table("vendorNames"),this.auth.logoutEvent.subscribe(function(){var a=(0,m.Z)(function*(s){yield o.clearDatabase()});return function(s){return a.apply(this,arguments)}}())}initialize(){var e=this;this.db=(0,Kt.F)((0,m.Z)(function*(){yield e.auth.clearManifestInfo()})),this.manifestArmor=this.db.table("manifestArmor"),this.inventoryArmor=this.db.table("inventoryArmor"),this.manifestCollectibles=this.db.table("manifestCollectibles"),this.vendorNames=this.db.table("vendorNames")}writeManifestArmor(e,o){var a=this;return(0,m.Z)(function*(){yield a.manifestArmor.clear(),yield a.manifestArmor.bulkPut(e),localStorage.setItem("LastManifestUpdate",Date.now().toString()),localStorage.setItem("last-manifest-db-name",a.manifestArmor.db.name),localStorage.setItem("last-manifest-revision","c81a0c7"),localStorage.setItem("last-manifest-version",o)})()}clearDatabase(){var e=this;return(0,m.Z)(function*(){localStorage.removeItem("LastManifestUpdate"),localStorage.removeItem("LastArmorUpdate"),yield e.inventoryArmor.clear()})()}resetDatabase(e=!0){var o=this;return(0,m.Z)(function*(){localStorage.removeItem("LastManifestUpdate"),localStorage.removeItem("last-manifest-revision"),localStorage.removeItem("last-manifest-db-name"),localStorage.removeItem("LastArmorUpdate"),localStorage.removeItem("last-armor-db-name"),yield o.db.delete(),e&&o.initialize()})()}lastManifestUpdate(){const e=localStorage.getItem("LastManifestUpdate"),o=localStorage.getItem("last-manifest-version"),a=localStorage.getItem("last-manifest-revision"),s=localStorage.getItem("last-manifest-db-name");return e&&a&&s&&o&&"c81a0c7"===localStorage.getItem("last-manifest-revision")&&s===this.inventoryArmor.db.name?{updatedAt:parseInt(e),version:o}:void 0}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(L))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();var rt=_(9598),f=(()=>{return(n=f||(f={}))[n.WhisperOfDurance=1e3]="WhisperOfDurance",n[n.WhisperOfChains=1001]="WhisperOfChains",n[n.WhisperOfConduction=1002]="WhisperOfConduction",n[n.WhisperOfBonds=1101]="WhisperOfBonds",n[n.WhisperOfHunger=1102]="WhisperOfHunger",n[n.WhisperOfFractures=1103]="WhisperOfFractures",n[n.EchoOfExpulsion=1200]="EchoOfExpulsion",n[n.EchoOfProvision=1201]="EchoOfProvision",n[n.EchoOfPersistence=1202]="EchoOfPersistence",n[n.EchoOfLeeching=1203]="EchoOfLeeching",n[n.EchoOfDomineering=1204]="EchoOfDomineering",n[n.EchoOfDilation=1205]="EchoOfDilation",n[n.EchoOfUndermining=1206]="EchoOfUndermining",n[n.EchoOfInstability=1207]="EchoOfInstability",n[n.EchoOfHarvest=1208]="EchoOfHarvest",n[n.EchoOfObscurity=1209]="EchoOfObscurity",n[n.EchoOfStarvation=1210]="EchoOfStarvation",n[n.EchoOfVigilance=1211]="EchoOfVigilance",n[n.EmberOfBenelovence=1300]="EmberOfBenelovence",n[n.EmberOfBeams=1301]="EmberOfBeams",n[n.EmberOfEmpyrean=1302]="EmberOfEmpyrean",n[n.EmberOfCombustion=1303]="EmberOfCombustion",n[n.EmberOfChar=1304]="EmberOfChar",n[n.EmberOfTempering=1305]="EmberOfTempering",n[n.EmberOfEruption=1306]="EmberOfEruption",n[n.EmberOfWonder=1307]="EmberOfWonder",n[n.EmberOfSearing=1308]="EmberOfSearing",n[n.EmberOfTorches=1309]="EmberOfTorches",n[n.EmberOfMercy=1310]="EmberOfMercy",n[n.SparkOfBrilliance=1400]="SparkOfBrilliance",n[n.SparkOfFeedback=1401]="SparkOfFeedback",n[n.SparkOfDischarge=1402]="SparkOfDischarge",n[n.SparkOfFocus=1403]="SparkOfFocus",n[n.SparkOfVolts=1404]="SparkOfVolts",n[n.SparkOfResistance=1405]="SparkOfResistance",n[n.SparkOfShock=1406]="SparkOfShock",n[n.ThreadOfFury=1600]="ThreadOfFury",n[n.ThreadOfAscent=1601]="ThreadOfAscent",n[n.ThreadOfFinality=1602]="ThreadOfFinality",n[n.ThreadOfWarding=1603]="ThreadOfWarding",n[n.ThreadOfTransmutation=1604]="ThreadOfTransmutation",n[n.ThreadOfEvolution=1605]="ThreadOfEvolution",n[n.ThreadOfBinding=1606]="ThreadOfBinding",n[n.ThreadOfGeneration=1607]="ThreadOfGeneration",n[n.ThreadOfPropagation=1608]="ThreadOfPropagation",n[n.WhisperOfImpetus=537774543]="WhisperOfImpetus",f;var n})();const ut={[f.WhisperOfDurance]:{id:f.WhisperOfDurance,name:"Whisper of Durance",description:"Slow that you apply to targets lasts longer. For those abilities that linger, their duration will also increase.",type:h.O.Stasis,bonus:[{stat:r.WB.Strength,value:10}],cost:1,requiredArmorAffinity:0,hash:3469412969},[f.WhisperOfChains]:{id:f.WhisperOfChains,name:"Whisper of Chains",description:"While you are near frozen targets or a friendly Stasis crystal, you take reduced damage from targets.",type:h.O.Stasis,bonus:[{stat:r.WB.Recovery,value:10}],cost:1,requiredArmorAffinity:0,hash:537774540},[f.WhisperOfConduction]:{id:f.WhisperOfConduction,name:"Whisper of Conduction",description:"Nearby Stasis shards track to your position.",type:h.O.Stasis,bonus:[{stat:r.WB.Intellect,value:10},{stat:r.WB.Resilience,value:10}],cost:1,requiredArmorAffinity:0,hash:2483898429},[f.WhisperOfBonds]:{id:f.WhisperOfBonds,name:"Whisper of Bonds",description:"Defeating frozen targets generates an Orb of Power.",type:h.O.Stasis,bonus:[{stat:r.WB.Intellect,value:-10}],cost:1,requiredArmorAffinity:0,hash:3469412974},[f.WhisperOfHunger]:{id:f.WhisperOfHunger,name:"Whisper of Hunger",description:"Increases the melee energy gained from picking up Stasis shards.",type:h.O.Stasis,bonus:[{stat:r.WB.Strength,value:-20}],cost:1,requiredArmorAffinity:0,hash:2483898431},[f.WhisperOfFractures]:{id:f.WhisperOfFractures,name:"Whisper of Fractures",description:"Your melee energy recharges faster when you are near two or more targets.",type:h.O.Stasis,bonus:[{stat:r.WB.Discipline,value:-10}],cost:1,requiredArmorAffinity:0,hash:537774542},[f.WhisperOfImpetus]:{id:f.WhisperOfImpetus,name:"Whisper of Impetus",description:"Damaging targets with a Stasis melee reloads your stowed weapons and grants you a temporary boost to weapon ready speed.",type:h.O.Stasis,bonus:[{stat:r.WB.Resilience,value:10}],cost:1,requiredArmorAffinity:0,hash:537774543},[f.EchoOfExpulsion]:{id:f.EchoOfExpulsion,name:"Echo of Expulsion",description:"Void ability final blows cause targets to explode.",type:h.O.Void,bonus:[{stat:r.WB.Intellect,value:10}],cost:1,requiredArmorAffinity:0,hash:2272984665},[f.EchoOfProvision]:{id:f.EchoOfProvision,name:"Echo of Provision",description:"Damaging targets with grenades grants melee energy.",type:h.O.Void,bonus:[{stat:r.WB.Strength,value:-10}],cost:1,requiredArmorAffinity:0,hash:2272984664},[f.EchoOfPersistence]:{id:f.EchoOfPersistence,name:"Echo of Persistence",description:"Void buffs applied to you (Invisibility, Overshield, and Devour) have increased duration.",type:h.O.Void,bonus:[{stat:r.AR.ClassAbilityRegenerationStat,value:-10}],cost:1,requiredArmorAffinity:0,hash:2272984671},[f.EchoOfLeeching]:{id:f.EchoOfLeeching,name:"Echo of Leeching",description:"Melee final blows start health regeneration for you and nearby allies.",type:h.O.Void,bonus:[{stat:r.WB.Resilience,value:10}],cost:1,requiredArmorAffinity:0,hash:2272984670},[f.EchoOfDomineering]:{id:f.EchoOfDomineering,name:"Echo of Domineering",description:"After suppressing a target, you gain greatly increased mobility for a short duration, and your equipped weapon is reloaded from reserves.\n\nDefeating suppressed targets creates a Void Breach.",type:h.O.Void,bonus:[{stat:r.WB.Discipline,value:10}],cost:1,requiredArmorAffinity:0,hash:2272984657},[f.EchoOfDilation]:{id:f.EchoOfDilation,name:"Echo of Dilation",description:"While crouched, you sneak faster and gain enhanced radar resolution.",type:h.O.Void,bonus:[{stat:r.WB.Mobility,value:10},{stat:r.WB.Intellect,value:10}],cost:1,requiredArmorAffinity:0,hash:2272984656},[f.EchoOfUndermining]:{id:f.EchoOfUndermining,name:"Echo of Undermining",description:"Your Void grenades weaken targets.",type:h.O.Void,bonus:[{stat:r.WB.Discipline,value:-20}],cost:1,requiredArmorAffinity:0,hash:2272984668},[f.EchoOfInstability]:{id:f.EchoOfInstability,name:"Echo of Instability",description:"Defeating targets with grenades grants Volatile Rounds to your Void weapons.",type:h.O.Void,bonus:[{stat:r.WB.Strength,value:10}],cost:1,requiredArmorAffinity:0,hash:2661180600},[f.EchoOfHarvest]:{id:f.EchoOfHarvest,name:"Echo of Harvest",description:"Defeating weakened targets creates an Orb of Power and a Void Breach.",type:h.O.Void,bonus:[{stat:r.WB.Intellect,value:-10}],cost:1,requiredArmorAffinity:0,hash:2661180601},[f.EchoOfObscurity]:{id:f.EchoOfObscurity,name:"Echo of Obscurity",description:"Finisher final blows grant Invisibility.",type:h.O.Void,bonus:[{stat:r.WB.Recovery,value:10}],cost:1,requiredArmorAffinity:0,hash:2661180602},[f.EchoOfStarvation]:{id:f.EchoOfStarvation,name:"Echo of Starvation",description:"Picking up a Void Breach or an Orb of Power grants Devour.",type:h.O.Void,bonus:[{stat:r.WB.Recovery,value:-10}],cost:1,requiredArmorAffinity:0,hash:2661180603},[f.EchoOfVigilance]:{id:f.EchoOfVigilance,name:"Echo of Vigilance",description:"Defeating a target while your shields are depleted grants you a temporary Void overshield.",type:h.O.Void,bonus:[{stat:r.WB.Recovery,value:-10}],cost:1,requiredArmorAffinity:0,hash:3854948621},[f.EmberOfBenelovence]:{id:f.EmberOfBenelovence,name:"Ember of Benevolence",description:"Applying restoration, cure, or radiant to allies grants increased grenade, melee, and class ability regeneration for a short duration.",type:h.O.Solar,bonus:[{stat:r.WB.Discipline,value:-10}],cost:1,requiredArmorAffinity:0,hash:362132292},[f.EmberOfBeams]:{id:f.EmberOfBeams,name:"Ember of Beams",description:"Your Solar Super projectiles have stronger target acquisition.",type:h.O.Solar,bonus:[{stat:r.WB.Intellect,value:10}],cost:1,requiredArmorAffinity:0,hash:362132295},[f.EmberOfEmpyrean]:{id:f.EmberOfEmpyrean,name:"Ember of Empyrean",description:"Solar weapon or ability final blows extend the duration of restoration and radiant effects applied to you.",type:h.O.Solar,bonus:[{stat:r.WB.Resilience,value:-10}],cost:1,requiredArmorAffinity:0,hash:362132294},[f.EmberOfCombustion]:{id:f.EmberOfCombustion,name:"Ember of Combustion",description:"Final blows with a Solar Super causes targets to ignite and creates a Firesprite.",type:h.O.Solar,bonus:[{stat:r.WB.Strength,value:10}],cost:1,requiredArmorAffinity:0,hash:362132289},[f.EmberOfChar]:{id:f.EmberOfChar,name:"Ember of Char",description:"Your Solar ignitions spread scorch to affected targets.",type:h.O.Solar,bonus:[{stat:r.WB.Discipline,value:10}],cost:1,requiredArmorAffinity:0,hash:362132291},[f.EmberOfTempering]:{id:f.EmberOfTempering,name:"Ember of Tempering",description:"Solar weapon final blows grant you and your allies increased recovery for a short duration. Stacks 3 times.\n\nWhile Ember of Tempering is active, your weapons have increased airborne effectiveness, and your Solar weapon final blows create a Firesprite.",type:h.O.Solar,bonus:[{stat:r.WB.Recovery,value:-10}],cost:1,requiredArmorAffinity:0,hash:362132290},[f.EmberOfEruption]:{id:f.EmberOfEruption,name:"Ember of Eruption",description:"Your Solar ignitions have increased area of effect.",type:h.O.Solar,bonus:[{stat:r.WB.Strength,value:10}],cost:1,requiredArmorAffinity:0,hash:1051276348},[f.EmberOfWonder]:{id:f.EmberOfWonder,name:"Ember of Wonder",description:"Rapidly defeating multiple targets with Solar ignitions generates an Orb of Power.",type:h.O.Solar,bonus:[{stat:r.WB.Resilience,value:10}],cost:1,requiredArmorAffinity:0,hash:1051276350},[f.EmberOfSearing]:{id:f.EmberOfSearing,name:"Ember of Searing",description:"Defeating scorched targets grants melee energy and creates a Firesprite.",type:h.O.Solar,bonus:[{stat:r.WB.Recovery,value:10}],cost:1,requiredArmorAffinity:0,hash:1051276351},[f.EmberOfTorches]:{id:f.EmberOfTorches,name:"Ember of Torches",description:"Powered melee attacks against combatants make you and nearby allies radiant.",type:h.O.Solar,bonus:[{stat:r.WB.Discipline,value:-10}],cost:1,requiredArmorAffinity:0,hash:362132288},[f.EmberOfMercy]:{id:f.EmberOfMercy,name:"Ember of Mercy",description:"When you revive an ally, you and other nearby allies gain restoration.\n\nPicking up a Firesprite grants restoration.",type:h.O.Solar,bonus:[{stat:r.WB.Resilience,value:10}],cost:1,requiredArmorAffinity:0,hash:4180586737},[f.SparkOfBrilliance]:{id:f.SparkOfBrilliance,name:"Spark of Brilliance",description:"Defeating a blinded target with precision damage creates a blinding explosion.",type:h.O.Arc,bonus:[{stat:r.WB.Intellect,value:10}],cost:1,requiredArmorAffinity:0,hash:3277705905},[f.SparkOfFeedback]:{id:f.SparkOfFeedback,name:"Spark of Feedback",description:"Taking melee damage briefly increases your outgoing melee damage.",type:h.O.Arc,bonus:[{stat:r.WB.Resilience,value:10}],cost:1,requiredArmorAffinity:0,hash:3277705907},[f.SparkOfDischarge]:{id:f.SparkOfDischarge,name:"Spark of Discharge",description:"Arc weapon final blows have a chance to create an Ionic Trace.",type:h.O.Arc,bonus:[{stat:r.WB.Strength,value:-10}],cost:1,requiredArmorAffinity:0,hash:1727069362},[f.SparkOfFocus]:{id:f.SparkOfFocus,name:"Spark of Focus",description:"After sprinting for a short time, your class ability regeneration is increased.",type:h.O.Arc,bonus:[{stat:r.AR.ClassAbilityRegenerationStat,value:-10}],cost:1,requiredArmorAffinity:0,hash:1727069360},[f.SparkOfVolts]:{id:f.SparkOfVolts,name:"Spark of Volts",description:"Finishers make you amplified.",type:h.O.Arc,bonus:[{stat:r.WB.Recovery,value:10}],cost:1,requiredArmorAffinity:0,hash:3277705904},[f.SparkOfResistance]:{id:f.SparkOfResistance,name:"Spark of Resistance",description:"While surrounded by combatants, you are more resistant to incoming damage.",type:h.O.Arc,bonus:[{stat:r.WB.Strength,value:10}],cost:1,requiredArmorAffinity:0,hash:1727069366},[f.SparkOfShock]:{id:f.SparkOfShock,name:"Spark of Shock",description:"Your Arc grenades jolt targets.",type:h.O.Arc,bonus:[{stat:r.WB.Discipline,value:-10}],cost:1,requiredArmorAffinity:0,hash:1727069364},[f.ThreadOfFury]:{id:f.ThreadOfFury,name:"Thread of Fury",description:"Damaging targets with a Tangle grants melee energy.",type:h.O.Strand,bonus:[{stat:r.WB.Strength,value:-10}],cost:1,requiredArmorAffinity:0,hash:4208512219},[f.ThreadOfAscent]:{id:f.ThreadOfAscent,name:"Thread of Ascent",description:"Activating your grenade ability reloads your equipped weapon and grants bonus airborne effectiveness and handling for a short duration.",type:h.O.Strand,bonus:[{stat:r.WB.Mobility,value:10}],cost:1,requiredArmorAffinity:0,hash:4208512216},[f.ThreadOfFinality]:{id:f.ThreadOfFinality,name:"Thread of Finality",description:"Finisher final blows create Threadlings.",type:h.O.Strand,bonus:[{stat:r.WB.Recovery,value:10}],cost:1,requiredArmorAffinity:0,hash:4208512217},[f.ThreadOfWarding]:{id:f.ThreadOfWarding,name:"Thread of Warding",description:"Picking up an Orb of Power grants Woven Mail.",type:h.O.Strand,bonus:[{stat:r.WB.Resilience,value:-10}],cost:1,requiredArmorAffinity:0,hash:4208512222},[f.ThreadOfTransmutation]:{id:f.ThreadOfTransmutation,name:"Thread of Transmutation",description:"While you have Woven Mail, weapon final blows create a Tangle.",type:h.O.Strand,bonus:[{stat:r.WB.Strength,value:10}],cost:1,requiredArmorAffinity:0,hash:4208512221},[f.ThreadOfEvolution]:{id:f.ThreadOfEvolution,name:"Thread of Evolution",description:"Threadlings travel farther and deal additional damage.",type:h.O.Strand,bonus:[{stat:r.WB.Intellect,value:10}],cost:1,requiredArmorAffinity:0,hash:4208512211},[f.ThreadOfBinding]:{id:f.ThreadOfBinding,name:"Thread of Binding",description:"Super final blows emit a suspending burst from the target.",type:h.O.Strand,bonus:[{stat:r.WB.Resilience,value:10}],cost:1,requiredArmorAffinity:0,hash:3192552688},[f.ThreadOfGeneration]:{id:f.ThreadOfGeneration,name:"Thread of Generation",description:"Dealing damage generates grenade energy.",type:h.O.Strand,bonus:[{stat:r.WB.Discipline,value:-10}],cost:1,requiredArmorAffinity:0,hash:3192552691},[f.ThreadOfPropagation]:{id:f.ThreadOfPropagation,name:"Thread of Propagation",description:"Powered melee final blows grant your Strand weapons Unraveling Rounds.",type:h.O.Strand,bonus:[{stat:r.WB.Strength,value:10}],cost:1,requiredArmorAffinity:0,hash:4208512210}},Lt={outputEncoding:"Base64"},$t={inputEncoding:"Base64",outputEncoding:"String"};let B=(()=>{class n{constructor(){this.__configuration=this.loadCurrentConfiguration(),this._configuration=new dt.X(this.__configuration),this.configuration=this._configuration.asObservable(),this._storedConfigurations=new dt.X(this.listSavedConfigurations()),this.storedConfigurations=this._storedConfigurations.asObservable()}get readonlyConfigurationSnapshot(){return Object.assign(this.__configuration,{})}modifyConfiguration(e){e(this.__configuration),this.saveCurrentConfiguration(this.__configuration)}saveConfiguration(e,o){let a=this.listSavedConfigurations(),s=this.listSavedConfigurations().map((d,u)=>[d,u]).filter(d=>d[0].name==e)[0];s&&a.splice(s[1],1),a.push({configuration:o,name:e,version:"2.5.2"}),a=a.sort((d,u)=>d.nameu.name?1:0);const l=rt.compress(JSON.stringify(a),Lt);localStorage.setItem("storedConfigurations",l),this._storedConfigurations.next(a)}doesSavedConfigurationExist(e){return this.listSavedConfigurations().filter(o=>o.name==e).length>0}loadSavedConfiguration(e){let o=this.listSavedConfigurations().filter(a=>a.name==e)[0];return!!o&&(this.saveCurrentConfiguration(o.configuration),!0)}checkAndFixOldSavedConfigurations(e){if(e.configuration=Object.assign(Ut.buildEmptyConfiguration(),e.configuration),e.configuration.hasOwnProperty("minimumStatTier")){let o=e.configuration.minimumStatTier;e.configuration.minimumStatTiers[r.WB.Mobility].value=o[r.WB.Mobility],e.configuration.minimumStatTiers[r.WB.Resilience].value=o[r.WB.Resilience],e.configuration.minimumStatTiers[r.WB.Recovery].value=o[r.WB.Recovery],e.configuration.minimumStatTiers[r.WB.Discipline].value=o[r.WB.Discipline],e.configuration.minimumStatTiers[r.WB.Intellect].value=o[r.WB.Intellect],e.configuration.minimumStatTiers[r.WB.Strength].value=o[r.WB.Strength],delete e.configuration.minimumStatTier}if(e.configuration.hasOwnProperty("selectedExoticHash")&&(e.configuration.selectedExotics=[e.configuration.selectedExoticHash],delete e.configuration.selectedExoticHash),e.configuration.hasOwnProperty("maximumStatMods")){for(let a=e.configuration.maximumStatMods;a<5;a++)e.configuration.maximumModSlots[1+a].value=0;delete e.configuration.maximumStatMods}e.configuration.enabledMods=e.configuration.enabledMods.filter(o=>!!ut[o]),e.configuration.limitParsedResults=!0,e.configuration.addConstent1Resilience=!1}listSavedConfigurations(){let e;try{e=localStorage.getItem("storedConfigurations")||"[]","["!=e.substr(0,1)&&(e=rt.decompress(e,$t))}catch{e=[]}let o=JSON.parse(e)||[];return o=o.sort((a,s)=>a.names.name?1:0),o.forEach(a=>this.checkAndFixOldSavedConfigurations(a)),o}deleteStoredConfiguration(e){let o=this.listSavedConfigurations(),a=this.listSavedConfigurations().map((s,l)=>[s,l]).filter(s=>s[0].name==e)[0];a&&o.splice(a[1],1),localStorage.setItem("storedConfigurations",rt.compress(JSON.stringify(o),Lt)),this._storedConfigurations.next(o)}saveCurrentConfigurationToName(e){this.saveConfiguration(e,this.__configuration)}saveCurrentConfiguration(e){console.debug("write configuration",e),this.__configuration=Object.assign(Ut.buildEmptyConfiguration(),e),this.__configuration.enabledMods=[].concat(this.__configuration.enabledMods),this.__configuration.minimumStatTiers=Object.assign({},this.__configuration.minimumStatTiers);const o=rt.compress(JSON.stringify(this.__configuration),Lt);localStorage.setItem("currentConfig",o),this._configuration.next(Object.assign({},this.__configuration))}loadCurrentConfiguration(){let e;try{e=localStorage.getItem("currentConfig")||"{}","{"!=e.substr(0,1)&&(e=rt.decompress(e,$t))}catch{e={}}var o={name:"dummy",version:"1",configuration:JSON.parse(e)};return this.checkAndFixOldSavedConfigurations(o),o.configuration}getCurrentConfigBase64Compressed(){let e=localStorage.getItem("currentConfig")||"{}";return"{"==e.substr(0,1)&&(e=rt.compress(e,{outputEncoding:"Base64"})),e}getAllStoredConfigurationsBase64Compressed(){let e=localStorage.getItem("storedConfigurations")||"[]";return"["==e.substr(0,1)&&(e=rt.compress(e,{outputEncoding:"Base64"})),e}getStoredConfigurationBase64Compressed(e){let o=this.listSavedConfigurations().filter(a=>a.name==e)[0];return o?rt.compress(JSON.stringify(o),{outputEncoding:"Base64"}):""}resetCurrentConfiguration(){this.saveCurrentConfiguration(Ut.buildEmptyConfiguration())}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();var G=_(8012),ve=_(1016);let Ft=(()=>{class n{constructor(e,o){this.authService=e,this.http=o}$httpWithoutKey(e){var o=this;return(0,m.Z)(function*(){return o.http.get(e.url,{params:e.params}).toPromise()})()}$httpPost(e){var o=this;return(0,m.Z)(function*(){return o.http.post(e.url,e.body,{params:e.params,headers:{"X-API-Key":S_apiKey,Authorization:"Bearer "+o.authService.accessToken}}).toPromise().catch(function(){var a=(0,m.Z)(function*(s){console.error(s)});return function(s){return a.apply(this,arguments)}}())})()}$http(e){var o=this;return(0,m.Z)(function*(){return o.http.get(e.url,{params:e.params,headers:{"X-API-Key":S_apiKey,Authorization:"Bearer "+o.authService.accessToken}}).toPromise().catch(function(){var a=(0,m.Z)(function*(s){console.error(s),"SystemDisabled"==s.error?.ErrorStatus&&(console.info("System is disabled. Revoking auth, must re-login"),yield o.authService.logout()),"Internal Server Error"!=s.ErrorStatus&&console.info("API-Error")});return function(s){return a.apply(this,arguments)}}())})()}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(L),t.LFG(at.eN))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();var Ae=_(9891);let Pt=(()=>{class n{constructor(e,o){this.authService=e,this.http=o}getMembershipDataForCurrentUser(){var e=this;return(0,m.Z)(function*(){var o=JSON.parse(localStorage.getItem("auth-membershipInfo")||"null"),a=JSON.parse(localStorage.getItem("auth-membershipInfo-date")||"0");if(o&&Date.now()-a<864e5)return console.log("getMembershipDataForCurrentUser -> loading cached! "),o;console.info("BungieApiService","getMembershipDataForCurrentUser");let l=(yield(0,Ae.Rm)(u=>e.http.$http(u)))?.Response.destinyMemberships;console.info("Memberships:",l),l=l.filter(u=>0==u.crossSaveOverride||u.crossSaveOverride==u.membershipType),console.info("Filtered Memberships:",l);let d=null;if(1==l?.length)d=l?.[0];else{let u=0,x=0;for(let p in l){const b=l?.[p],Z=yield(0,G.Ai)(M=>e.http.$http(M),{components:[100],membershipType:b.membershipType,destinyMembershipId:b.membershipId});if(Z&&Z.Response?.profile.data?.dateLastPlayed){let M=Date.parse(Z.Response?.profile.data?.dateLastPlayed);M>x&&(x=M,u=p)}}console.info("getMembershipDataForCurrentUser","Selected membership data for the last logged in membership."),d=l?.[u]}return localStorage.setItem("auth-membershipInfo",JSON.stringify(d)),localStorage.setItem("auth-membershipInfo-date",JSON.stringify(Date.now())),d})()}getCharacters(){var e=this;return(0,m.Z)(function*(){let o=yield e.getMembershipDataForCurrentUser();if(!o)return yield e.authService.logout(),[];const a=yield(0,G.Ai)(s=>e.http.$http(s),{components:[200],membershipType:o.membershipType,destinyMembershipId:o.membershipId});return Object.values(a?.Response.characters.data||{}).map(s=>({characterId:s.characterId,clazz:s.classType,emblemUrl:s.emblemBackgroundPath,lastPlayed:Date.parse(s.dateLastPlayed)}))||[]})()}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(L),t.LFG(Ft))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const Xt="vendor-next-refresh-time";let we=(()=>{class n{constructor(e,o,a){this.membership=e,this.http=o,this.db=a}getVendorArmorItemsForCharacter(e,o,a){var s=this;return(0,m.Z)(function*(){const l=yield(0,G.dH)(p=>s.http.$http(p),{components:[400,402,304],characterId:a,membershipType:o.membershipType,destinyMembershipId:o.membershipId,filter:0}),d=Object.entries(l.Response.vendors.data).filter(([p,b])=>b.enabled).flatMap(([p,b])=>{const Z=l.Response.sales.data?.[p]?.saleItems??{},M=l.Response.itemComponents[parseInt(p)].stats.data??{};return{items:Object.entries(Z).map(([U,O])=>{const q=e[O.itemHash],gt=M[parseInt(U)];if(128==(128&O.augments)||!q||!gt)return;const y=Object.values(gt.stats).reduce((X,{statHash:tt,value:be})=>(X[tt]=be,X),{}),P=Yt(q,`v${p}-${O.itemHash}`,E.Vendor);return Gt(P,y),P}).filter(Boolean),nextRefreshDate:new Date(b.nextRefreshDate).getTime()}}).filter(({items:p})=>p.length>0),u=d.flatMap(({items:p})=>p),x=Math.min(...d.map(({nextRefreshDate:p})=>p));return console.log(`Collected ${u.length} vendor armor items for character ${a}`),{items:u,nextRefreshDate:x}})()}isVendorCacheValid(){const e=localStorage.getItem(Xt);if(!e)return!1;const o=new Date(e);return!!isFinite(o.getTime())&&o>new Date}writeVendorCache(e,o){var a=this;return(0,m.Z)(function*(){console.log(`Writing new vendor cache (${e.length} items), valid until ${o.toISOString()}`),yield a.db.inventoryArmor.where({source:E.Vendor}).delete(),yield a.db.inventoryArmor.bulkPut(e),localStorage.setItem(Xt,o.toISOString())})()}updateVendorArmorItemsCache(){var e=this;return(0,m.Z)(function*(){if(e.isVendorCacheValid())return void console.log("Using vendor items cache");const o=yield e.membership.getMembershipDataForCurrentUser(),a=yield e.membership.getCharacters(),s=(yield e.db.manifestArmor.toArray()).filter(x=>2==x.itemType).reduce((x,p)=>(x[p.hash]=p,x),{}),l=yield Promise.all(a.map(({characterId:x})=>e.getVendorArmorItemsForCharacter(s,o,x))),d=l.flatMap(({items:x})=>x),u=Math.min(...l.map(({nextRefreshDate:x})=>x));return e.writeVendorCache(d,new Date(u))})()}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(Pt),t.LFG(Ft),t.LFG(et))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function te(n,i,e,o){const a={2996146975:0,392767087:0,1943323491:0,1735777505:0,144602215:0,4244567218:0};for(let l of i)l.statTypeHash in a&&(a[l.statTypeHash]+=l.value);if(n.slot!=C.y.ArmorSlotClass){const l=[e[6],e[7],e[8],e[9]];n.statPlugHashes=l;var s=l.map(d=>o[d||""]).filter(d=>null!=d);for(let d of s)for(let u of d.investmentStats)u.statTypeHash in a&&(a[u.statTypeHash]+=u.value)}Gt(n,a)}let Qt=(()=>{class n{constructor(e,o,a,s,l,d){var u=this;this.authService=e,this.http=o,this.db=a,this.config=s,this.membership=l,this.vendors=d,this.config_assumeEveryLegendaryIsArtifice=!1,this.config.configuration.subscribe(function(){var x=(0,m.Z)(function*(p){u.config_assumeEveryLegendaryIsArtifice=p.assumeEveryLegendaryIsArtifice});return function(p){return x.apply(this,arguments)}}())}transferItem(e,o,a=!1){var s=this;return(0,m.Z)(function*(){let l=yield s.membership.getMembershipDataForCurrentUser();if(!l)return yield s.authService.logout(),!1;let d=yield(0,G.rV)(x=>s.http.$http(x),{membershipType:l.membershipType,destinyMembershipId:l.membershipId,itemInstanceId:e,components:[307]}),u=!1;if(!d)return!1;if(d.Response.characterId!=o){2!=d.Response.item.data?.location&&(yield s.moveItemToVault(d.Response.item.data?.itemInstanceId||""),d=yield(0,G.rV)(p=>s.http.$http(p),{membershipType:l.membershipType,destinyMembershipId:l.membershipId,itemInstanceId:e,components:[307]}));const x={characterId:o,membershipType:3,itemId:d?.Response.item.data?.itemInstanceId||"",itemReferenceHash:d?.Response.item.data?.itemHash||0,stackSize:1,transferToVault:!1};u=!!(yield(0,G.ux)(p=>s.http.$httpPost(p),x))}if(a){let x={characterId:o,membershipType:3,stackSize:1,itemId:d?.Response.item.data?.itemInstanceId||"",itemReferenceHash:d?.Response.item.data?.itemHash||0};u=!!(yield(0,G.DH)(p=>s.http.$httpPost(p),x))}return u})()}moveItemToVault(e){var o=this;return(0,m.Z)(function*(){console.info("moveItemToVault",e);let a=yield o.membership.getMembershipDataForCurrentUser();if(!a)return void(yield o.authService.logout());const s=yield(0,G.rV)(d=>o.http.$http(d),{membershipType:a.membershipType,destinyMembershipId:a.membershipId,itemInstanceId:e,components:[307]}),l={characterId:s?.Response.characterId||"",membershipType:3,itemId:s?.Response.item.data?.itemInstanceId||"",itemReferenceHash:s?.Response.item.data?.itemHash||0,stackSize:1,transferToVault:!0};yield(0,G.ux)(d=>o.http.$httpPost(d),l)})()}getUnlockedExoticArmor(e){var o=this;return(0,m.Z)(function*(){const a=(yield o.db.manifestCollectibles.toArray()).reduce((l,d)=>(l[d.hash]=d.itemHash,l),{}),s=Object.values(e).flatMap(l=>Object.entries(l.collectibles??{})).filter(([l,{state:d}])=>0==(1&d)&&a[parseInt(l)]).map(([l,d])=>a[parseInt(l)]);return new Set(s)})()}updateArmorItems(e=!1){var o=this;return(0,m.Z)(function*(){if(!e&&localStorage.getItem("LastArmorUpdate")&&localStorage.getItem("last-armor-db-name")==o.db.inventoryArmor.db.name&&Date.now()-Number.parseInt(localStorage.getItem("LastArmorUpdate")||"0")<18e5)return;let a=yield o.membership.getMembershipDataForCurrentUser();if(!a)return void(yield o.authService.logout());console.info("BungieApiService","getProfile");let s=yield(0,G.Ai)(y=>o.http.$http(y),{components:[205,201,103,102,304,300,302,305,308,800],membershipType:a.membershipType,destinyMembershipId:a.membershipId});yield o.vendors.updateVendorArmorItemsCache();const l=yield o.getUnlockedExoticArmor(s.Response.characterCollectibles.data??{});let d=s.Response.profileInventory.data?.items||[];for(let y in s.Response.characterEquipment.data)d=d.concat(s.Response.characterEquipment.data[y].items);for(let y in s.Response.characterInventories.data)d=d.concat(s.Response.characterInventories.data[y].items);var u=d.filter(y=>[3853748946,4257549984,4257549985].indexOf(y.itemHash)>-1).reduce((y,P)=>(P.itemHash.toString()in y||(y[P.itemHash]=0),y[P.itemHash]+=P.quantity,y),{});let x=s.Response.profileCurrencies.data?.items.filter(y=>3159615086==y.itemHash)||[];u[3159615086]=x.length>0?x[0].quantity:0;let p=s.Response.profileCurrencies.data?.items.filter(y=>1022552290==y.itemHash)||[];u[1022552290]=p.length>0?p[0].quantity:0,localStorage.setItem("stored-materials",JSON.stringify(u));const b=new Set(d.map(y=>y.itemHash));l.forEach(y=>b.add(y));let Z=yield o.db.manifestArmor.toArray();const M=Z.filter(y=>b.has(y.hash)),k=Z.filter(y=>19==y.itemType);let U=Object.fromEntries(M.map(y=>[y.hash,y])),O=Object.fromEntries(k.map(y=>[y.hash,y])),q=d.filter(y=>!!y.itemInstanceId).filter(y=>3284755031!==y.bucketHash).filter(y=>!!((s.Response.itemComponents.stats.data||{})[y.itemInstanceId||""]?.stats||{})[392767087]).filter(y=>!!((s.Response.itemComponents.instances.data||{})[y.itemInstanceId||""]||{}).energy).map(y=>{let X=(s.Response.itemComponents.instances.data||{})[y.itemInstanceId||""]||{};if(!U[y.itemHash])return console.warn("Missing manifest item for item hash",y.itemHash),null;let tt=Yt(U[y.itemHash],y.itemInstanceId||"",E.Inventory);tt.masterworked=!!X.energy&&10==X.energy.energyCapacity,tt.energyLevel=X.energy?X.energy.energyCapacity:0;const $c=(s.Response.itemComponents.sockets.data||{})[y.itemInstanceId]?.sockets.map(Ce=>Ce.plugHash)??[];return te(tt,U[y.itemHash]?.investmentStats??[],$c,O),tt.perk==r.Pn.SlotArtifice&&((((s.Response.itemComponents.perks.data||{})[y.itemInstanceId||""]||{}).perks||[]).filter(Xc=>229248542==Xc.perkHash).length>0||(tt.perk=r.Pn.None)),!tt.isExotic&&o.config_assumeEveryLegendaryIsArtifice&&(tt.perk=r.Pn.SlotArtifice),tt}).filter(Boolean);const gt=Array.from(l).map(y=>{const P=U[y];if(!P)return console.error("Couldn't find manifest item for exotic",y),null;const X=Yt(P,`c${P.hash}`,E.Collections);return te(X,P.investmentStats,P.socketEntries.map(tt=>tt.singleInitialItemHash),O),X}).filter(Boolean);return q=q.concat(gt),q=q.filter(y=>!y.statPlugHashes||null!=y.statPlugHashes[0]),yield o.db.inventoryArmor.where("source").notEqual(E.Vendor).delete(),yield o.db.inventoryArmor.bulkAdd(q),localStorage.setItem("LastArmorUpdate",Date.now().toString()),localStorage.setItem("last-armor-db-name",o.db.inventoryArmor.db.name),q})()}getArmorPerk(e){if(S_featureFlags_enableGuardianGamesFeatures&&(1013401891===e.hash||366019830===e.hash||537041732==e.hash))return r.Pn.GuardianGamesClassItem;const o=e.sockets?.socketEntries??[];if(o.find(a=>1328==a.reusablePlugSetHash))return r.Pn.SlotArtifice;for(const a of o){const s=a.singleInitialItemHash;if(!s)continue;const l=Object.entries(r.DH).find(d=>d[1]==s);if(l)return parseInt(l[0])}return r.Pn.None}updateVendorNames(e){var o=this;return(0,m.Z)(function*(){const s=Object.values(e.DestinyVendorDefinition).map(l=>({vendorId:l.hash,vendorName:l.displayProperties.name}));yield o.db.vendorNames.clear(),yield o.db.vendorNames.bulkAdd(s)})()}updateAbilities(e){return(0,m.Z)(function*(){const o=Object.values(e.DestinyInventoryItemDefinition).filter(a=>a.plug?.plugCategoryIdentifier?.match(/\.(supers|grenades|class_abilities|melee|aspects|fragments)$/));localStorage.setItem("allAbilities",JSON.stringify(o))})()}updateExoticCollectibles(e){var o=this;return(0,m.Z)(function*(){const a=Object.entries(e.DestinyCollectibleDefinition).filter(([s,l])=>{const d=e.DestinyInventoryItemDefinition[l.itemHash];return"Exotic"==d?.inventory?.tierTypeName&&2==d?.itemType}).map(([s,l])=>({hash:parseInt(s),itemHash:l.itemHash}));console.log("Storing",a.length,"exotic armor hashes"),yield o.db.manifestCollectibles.clear(),yield o.db.manifestCollectibles.bulkPut(a)})()}updateManifest(e=!1){var o=this;return(0,m.Z)(function*(){const a=o.db.lastManifestUpdate();let s=null;if(a&&!e){if(Date.now()-a.updatedAt>9e5&&(s=yield(0,G.KN)(p=>o.http.$http(p)),a.version==s.Response.version))return void console.debug("bungieApiService - updateManifest","Abort updateManifest due to fitting ManifestVersion");if(Date.now()-a.updatedAt<864e5)return void console.debug("bungieApiService - updateManifest","Abort updateManifest due to fitting Date")}null==s&&(s=yield(0,G.KN)(x=>o.http.$http(x)));const l=s.Response.version,d=yield(0,ve.xG)(x=>o.http.$httpWithoutKey(x),{destinyManifest:s.Response,tableNames:["DestinyInventoryItemDefinition","DestinyCollectibleDefinition","DestinyVendorDefinition"],language:"en"});console.log("manifestTables.DestinyInventoryItemDefinition",d.DestinyInventoryItemDefinition),yield o.updateExoticCollectibles(d),yield o.updateVendorNames(d),yield o.updateAbilities(d);let u=Object.entries(d.DestinyInventoryItemDefinition).filter(([x,p])=>19==p.itemType||2==p.itemType||3448274439==p.inventory?.bucketTypeHash||3551918588==p.inventory?.bucketTypeHash||14239492==p.inventory?.bucketTypeHash||20886954==p.inventory?.bucketTypeHash).map(([x,p])=>{let b=C.y.ArmorSlotNone;(p.itemCategoryHashes?.indexOf(45)||-1)>-1&&(b=C.y.ArmorSlotHelmet),(p.itemCategoryHashes?.indexOf(46)||-1)>-1&&(b=C.y.ArmorSlotGauntlet),(p.itemCategoryHashes?.indexOf(47)||-1)>-1&&(b=C.y.ArmorSlotChest),(p.itemCategoryHashes?.indexOf(48)||-1)>-1&&(b=C.y.ArmorSlotLegs),(p.itemCategoryHashes?.indexOf(49)||-1)>-1&&(b=C.y.ArmorSlotClass);const Z=(p.sockets?.socketEntries.filter(q=>2512726577==q.socketTypeHash||1108765570==q.socketTypeHash||959256494==q.socketTypeHash||2512726577==q.socketTypeHash||3219375296==q.socketTypeHash||968742181==q.socketTypeHash)||[]).length>0,M="Exotic"==p.inventory?.tierTypeName?1:0;let k=null;M&&(k=(p.sockets?.socketEntries.filter(gt=>965959289==gt.socketTypeHash).map(gt=>gt.singleInitialItemHash)||[])[0]);var U=[1862490585,1862490584,1862490584,1862490583,2471437758],O=p.quality?.versions.filter(q=>U.includes(q.powerCapHash)).length==p.quality?.versions.length;return{hash:p.hash,icon:p.displayProperties.icon,watermarkIcon:(p.quality?.displayVersionWatermarkIcons||[null])[0],name:p.displayProperties.name,description:p.displayProperties.description,clazz:p.classType,armor2:Z,slot:b,isExotic:M,isSunset:O,rarity:p.inventory?.tierType,exoticPerkHash:k,itemType:p.itemType,itemSubType:p.itemSubType,investmentStats:p.investmentStats,perk:o.getArmorPerk(p),socketEntries:p.sockets?.socketEntries??[]}});return yield o.db.writeManifestArmor(u,l),d})()}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(L),t.LFG(Ft),t.LFG(et),t.LFG(B),t.LFG(Pt),t.LFG(we))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),K=(()=>{class n{constructor(e,o,a,s,l,d){var u=this;this.db=e,this.config=o,this.status=a,this.api=s,this.auth=l,this.router=d,this.allArmorResults=[],this.currentClass=D.None,this._config=Ut.buildEmptyConfiguration(),this.updatingResults=!1,this.refreshing=!1,this._inventory=new ct.t(1),this.inventory=this._inventory.asObservable(),this._manifest=new ct.t(1),this.manifest=this._manifest.asObservable(),this._armorResults=new dt.X({results:this.allArmorResults}),this.armorResults=this._armorResults.asObservable();let x=!1,p=!1;d.events.pipe((0,st.b)(5)).subscribe(function(){var b=(0,m.Z)(function*(Z){!u.auth.refreshTokenExpired&&(yield u.auth.autoRegenerateTokens())?!l.isAuthenticated()||Z instanceof I.m2&&(u.clearResults(),console.debug("Trigger refreshAll due to router.events"),yield u.refreshAll(!x),x=!0):yield u.auth.logout()});return function(Z){return b.apply(this,arguments)}}()),o.configuration.pipe((0,st.b)(500)).subscribe(function(){var b=(0,m.Z)(function*(Z){!u.auth.refreshTokenExpired&&(yield u.auth.autoRegenerateTokens())?!l.isAuthenticated()||(u._config=Z,p=!0,console.debug("Trigger refreshAll due to config change"),yield u.refreshAll(!x),x=!0,p=!1):yield u.auth.logout()});return function(Z){return b.apply(this,arguments)}}())}clearResults(){this.allArmorResults=[],this._armorResults.next({results:this.allArmorResults,totalResults:0,totalTime:0,itemCount:0,maximumPossibleTiers:[0,0,0,0,0,0],statCombo3x100:[],statCombo4x100:[]})}shouldCalculateResults(){return console.log("this.router.url",this.router.url),"/"==this.router.url}refreshAll(e=!1,o=!1){var a=this;return(0,m.Z)(function*(){if(!a.refreshing){console.debug("Execute refreshAll");try{a.refreshing=!0;let s=yield a.updateManifest(o);(yield a.updateInventoryItems(s||e))&&a._inventory.next(null),a.shouldCalculateResults()&&a.updateResults()}finally{a.refreshing=!1}}})()}updateResults(e=3){if(this.clearResults(),this.updatingResults)console.warn("Called updateResults, but aborting, as it is already running.");else try{console.time("updateResults with WebWorker"),this.updatingResults=!0,this.status.modifyStatus(p=>p.calculatingResults=!0);let o=0,a=[],s=0,l=[],d=new Set,u=new Set;const x=Date.now();for(let p=0;p{if(a.push(Z.results),1==Z.done){o++,s+=Z.stats.permutationCount,l.push(Z.runtime.maximumPossibleTiers);for(let M of Z.runtime.statCombo3x100)d.add(M);for(let M of Z.runtime.statCombo4x100)u.add(M)}if(1==Z.done&&o==e){this.status.modifyStatus(k=>k.calculatingResults=!1),this.updatingResults=!1;let M=[];for(let k of a)M.push(...k);M=M.map(k=>(k.usesCollectionRoll=k.items.some(U=>U[0].source===E.Collections),k.usesVendorRoll=k.items.some(U=>U[0].source===E.Vendor),k)),console.debug("endResults",M),this._armorResults.next({results:M,totalResults:s,itemCount:Z.stats.itemCount,totalTime:Date.now()-x,maximumPossibleTiers:l.reduce((k,U)=>{for(let O=0;O<6;O++)k[O]Math.floor(Math.min(100,k)/10)),statCombo3x100:Array.from(d).map(k=>{let U=[];for(let O=0;O<6;O++)(k&1<0&&U.push(O);return U})||[],statCombo4x100:Array.from(u).map(k=>{let U=[];for(let O=0;O<6;O++)(k&1<0&&U.push(O);return U},[])||[]}),console.timeEnd("updateResults with WebWorker"),b.terminate()}else 1==Z.done&&o!=e&&b.terminate()},b.onerror=Z=>{console.error("ERROR IN WEBWORKER, TERMINATING WEBWORKER",Z),b.terminate()},b.postMessage({currentClass:this.currentClass,config:this._config,threadSplit:{count:e,current:p}})}}finally{}}getItemCountForClass(e,o){var a=this;return(0,m.Z)(function*(){let s=yield a.db.inventoryArmor.where("clazz").equals(e).toArray();return o&&(s=s.filter(l=>l.slot==o)),s=s.filter(l=>l.source==E.Inventory),s.length})()}getExoticsForClass(e,o){var a=this;return(0,m.Z)(function*(){let s=yield a.db.inventoryArmor.where("isExotic").equals(1).toArray();s=s.filter(d=>d.clazz==e&&d.armor2&&(!o||d.slot==o));let l=yield a.db.manifestArmor.where("isExotic").equals(1).toArray();return l=l.filter(d=>d.clazz==e&&d.armor2&&(!o||d.slot==o)),l.map(d=>{const u=s.filter(x=>x.hash==d.hash);return{item:d,inCollection:void 0!==u.find(x=>x.source===E.Collections),inInventory:void 0!==u.find(x=>x.source===E.Inventory),inVendor:void 0!==u.find(x=>x.source===E.Vendor)}})})()}updateManifest(e=!1){var o=this;return(0,m.Z)(function*(){if(o.status.getStatus().updatingManifest)return console.error("Already updating the manifest - abort"),!1;console.debug("updateManifest","Set s.updatingManifest = true"),o.status.modifyStatus(s=>s.updatingManifest=!0),console.debug("updateManifest","Call this.api.updateManifest(force) with force="+e);let a=yield o.api.updateManifest(e);return console.debug("updateManifest","Result is ",a),a&&o._manifest.next(null),console.debug("updateManifest","Set s.updatingManifest = false"),o.status.modifyStatus(s=>s.updatingManifest=!1),!!a})()}updateInventoryItems(e=!1,o=0){var a=this;return(0,m.Z)(function*(){console.debug("updateManifest","Set s.updatingInventory = true"),a.status.modifyStatus(s=>s.updatingInventory=!0);try{let s=yield a.api.updateArmorItems(e);return console.debug("updateManifest","Result is ",s),console.debug("updateManifest","Set s.updatingInventory = false"),a.status.modifyStatus(l=>l.updatingInventory=!1),!!s}catch(s){return o>3?(alert("You encountered a strange error with the inventory update. Please log out and log in again. If that does not fix it, please message Mijago."),!1):(a.status.modifyStatus(l=>l.updatingInventory=!1),console.error(s),console.warn("Automatically re-fetching manifest"),yield a.updateManifest(!0),yield a.updateInventoryItems(!0,o++))}})()}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(et),t.LFG(B),t.LFG(yt),t.LFG(Qt),t.LFG(L),t.LFG(I.F0))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const ee="https://Database-Clarity.github.io/Character-Stats",Ze=`${ee}/versions/1.8/CharacterStatInfo-NI.json`,Se=`${ee}/update.json`,oe="clarity-character-stats-version",ie="clarity-character-stats";let Ie=(()=>{class n{constructor(e,o){this.http=e,this.inv=o,this._characterStats=new dt.X(null),this.characterStats=this._characterStats.asObservable(),this.inv.manifest.subscribe(a=>this.load())}load(){var e=this;return(0,m.Z)(function*(){try{yield e.loadCharacterStats()}catch(o){console.warn("Error loading Clarity data",o)}})()}fetchUpdateData(){var e=this;return(0,m.Z)(function*(){return e.http.get(Se).toPromise()})()}loadCharacterStats(){var e=this;return(0,m.Z)(function*(){const o=localStorage.getItem(ie);o&&e._characterStats.next(JSON.parse(o));const a=yield e.fetchUpdateData(),s=parseInt(localStorage.getItem(oe)||"0");a&&a.lastUpdate>s&&("1.8"!==a.schemaVersion?console.warn("Unsupported live character stats schema version",a.schemaVersion):a&&void 0!==a.lastUpdate&&(yield e.fetchLiveCharacterStats().then(l=>{localStorage.setItem(ie,JSON.stringify(l)),localStorage.setItem(oe,a.lastUpdate.toString()),e._characterStats.next(l)})))})()}fetchLiveCharacterStats(){var e=this;return(0,m.Z)(function*(){return e.http.get(Ze).toPromise()})()}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(at.eN),t.LFG(K))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();var R=(()=>{return(n=R||(R={}))[n.Speed=1]="Speed",n[n.Percentage=2]="Percentage",n[n.Time=3]="Time",n[n.TimeMMSS=4]="TimeMMSS",n[n.PercentagePerSecond=5]="PercentagePerSecond",R;var n})();let ae=(()=>{class n{constructor(e){this.clarity=e,this.allStatEntries={},this.overrides=[],this.clarity.characterStats.subscribe(o=>{o&&this.updateCharacterStats(o)})}loadCharacterStats(){this.clarity.load()}updateCharacterStats(e){const o=(JSON.parse(window.localStorage.getItem("allAbilities"))||[]).reduce((a,s)=>(a.set(s.hash,s),a),new Map);this.overrides=Object.values(e).map(a=>a.Overrides).flat(),this.allStatEntries={Mobility:this.generateEntries(e.Mobility,o,[{key:"WalkSpeed",name:"Walk Speed",valueType:R.Speed},{key:"StrafeSpeed",name:"Strafe Speed",valueType:R.Speed},{key:"CrouchSpeed",name:"Crouch Speed",valueType:R.Speed}]),Resilience:this.generateEntries(e.Resilience,o,[{key:"TotalHP",name:"Total HP"},{key:"PvEDamageResistance",name:"PvE Damage Resistance",valueType:R.Percentage},{key:"FlinchResistance",name:"Flinch Resistance",valueType:R.Percentage}]),Recovery:this.generateEntries(e.Recovery,o,[{key:"TotalRegenTime",name:"Total Regen Time",valueType:R.Time},{key:"HealthRegenDelay",name:"Health Regen Delay",valueType:R.Time},{key:"HealthRegenSpeed",name:"Health Regen Speed",valueType:R.PercentagePerSecond},{key:"ShieldRegenDelay",name:"Shield Regen Delay",valueType:R.Time},{key:"ShieldRegenSpeed",name:"Shield Regen Speed",valueType:R.PercentagePerSecond}]),Discipline:this.generateEntries(e.Discipline,o),Intellect:this.generateEntries(e.Intellect,o),Strength:this.generateEntries(e.Strength,o)}}get(e,o,a,s=[]){const l=this.allStatEntries[e]??[],d=this.overrides.filter(u=>s.includes(u.Hash));return l.filter(u=>!(void 0!==o&&void 0!==u.characterClass&&u.characterClass!==o||void 0!==a&&void 0!==u.element&&u.element!==a)).map(u=>d.reduce((x,p)=>function Oe(n,i){if(!n.hash||!i.Requirements.includes(n.hash))return n;const e={...n,overrideIcons:[...n.overrideIcons??[],i.Hash]};if(i.CooldownOverride)return{...e,values:i.CooldownOverride};if(i.Scalar){const o=i.Requirements.indexOf(n.hash),a=i.Scalar[o];return{...e,values:e.values.map(s=>s*a)}}return console.log("Unhandled override",i),n}(x,p),u))}generateEntries(e,o,a=[]){const s=a.map(({key:d,...u})=>({values:e[d].Array,...u}));return("Abilities"in e?e.Abilities:"SuperAbilities"in e?e.SuperAbilities:[]).forEach(d=>{const u=o.get(d.Hash);if(!u)return;const{characterClass:x,element:p}=function ke(n){let i,e;const o=n.plug?.plugCategoryIdentifier?.split(".");if(3!==o?.length)return{characterClass:i,element:e};const[a,s,l]=o;return"warlock"===a?i=D.Warlock:"hunter"===a?i=D.Hunter:"titan"===a&&(i=D.Titan),"arc"===s?e=h.O.Arc:"solar"===s?e=h.O.Solar:"void"===s?e=h.O.Void:"stasis"===s?e=h.O.Stasis:"strand"===s&&(e=h.O.Strand),{characterClass:i,element:e}}(u);s.push({hash:u.hash,name:u.displayProperties.name,icon:u.displayProperties.icon,values:d.Cooldowns,valueType:R.TimeMMSS,characterClass:x,element:p})}),s}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(Ie))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();var c=(()=>{return(n=c||(c={}))[n.ADD=0]="ADD",n[n.REMOVE=1]="REMOVE",n[n.MODIFIED=2]="MODIFIED",c;var n})();const se=[{version:"2.5.2",date:"November 29, 2023",entries:[{type:c.ADD,text:"Split the 'Assume all items are masterworked' switch into 'legendary' and 'exotic' switches. Thanks to Mojo!",issues:[]},{type:c.ADD,text:"Added the 'Ascendant Protector' Perk. Thanks to Mojo!",issues:[]},{type:c.MODIFIED,text:"Fixed artifice mods, again. Thanks to Mojo!",issues:[]},{type:c.MODIFIED,text:"Fixed 'Ghost Items' from the vendor import. Thanks to ciar\xe1n!",issues:[]},{type:c.MODIFIED,text:"Updated the values and descriptions for Subclass Fragments. Thanks to ciar\xe1n!",issues:[]},{type:c.MODIFIED,text:"Artifice Mods are now correctly added to the DIM export. Thanks to nznaza!",issues:[]}]},{version:"2.5.1",date:"October 29, 2023",entries:[{type:c.ADD,text:"Added the 'Exhumed Excess' Perk. The modslot limitations are now ordered. Thanks to Mojo!",issues:[]},{type:c.MODIFIED,text:"Added a solution for the stat distances 63, 64 and 65. You probably won't ever see it, as this is 'five artifice and five major mods'.",issues:[]},{type:c.MODIFIED,text:"'Fix wasted points' is now ignored for stats that are locked.",issues:[]}]},{version:"2.5.0",date:"October 14, 2023",entries:[{type:c.ADD,text:"The stat cooldowns and values are now automatically updated from the Clarity database. Thanks to ciar\xe1n!",issues:[]},{type:c.ADD,text:"The new modslots/perks are now available in the dropdown.",issues:[]},{type:c.MODIFIED,text:"The stat cooldowns now show icons. Thanks to ciar\xe1n!",issues:[]},{type:c.MODIFIED,text:"The fragments now show their icons. Thanks to ciar\xe1n!",issues:[]},{type:c.MODIFIED,text:"Minor internal updates for DIM references. Thanks to bhollis!",issues:[]},{type:c.MODIFIED,text:"Improved the wasted stats selection, again!",issues:[]}]},{version:"2.4.2",date:"July 11, 2023",entries:[{type:c.ADD,text:"Added the ability to use collection roll armor. This is disabled by default. Thanks to ciar\xe1n!",issues:[]},{type:c.ADD,text:"Added the ability to use vendor armor, including Xur. This is disabled by default. Thanks to ciar\xe1n!",issues:[]},{type:c.ADD,text:"Added the ability to select the optimization strategy. You can now choose between 'Reduce waste', 'Reduce used mods' and 'Reduce used modslots'. The default is 'Reduce waste'.",issues:[]},{type:c.ADD,text:"Re-added the reduce wasted stats feature. It is now disabled by default. It is a bit slower and not really necessary for most people.",issues:[]},{type:c.MODIFIED,text:"Zero Waste is no longer dependent on the 'Reduce wasted stats' setting. In fact, it practically overwrites it.",issues:[]},{type:c.REMOVE,text:"Removed the 'Extra optimization steps' setting. It is now always enabled.",issues:[]}]},{version:"2.4.0",date:"May 23, 2023",entries:[{type:c.MODIFIED,text:"Rewrote the internal algorithm. It makes stuff faster and gives better results.",issues:[]},{type:c.ADD,text:"Added a 'Perform further optimization' setting. This will give you better results, but it will take a bit longer.",issues:[]},{type:c.ADD,text:"Added Icons to the Stat Selection to make it easier to see which row is which perk.",issues:[]},{type:c.ADD,text:"Added button to download results as JSON.",issues:[]},{type:c.ADD,text:"Added Sonar Amplifier perk.",issues:[]},{type:c.MODIFIED,text:"Enabled Modslot limitation.",issues:[]},{type:c.MODIFIED,text:"Enabled the 3x100 and 4x100 buttons.",issues:[]},{type:c.MODIFIED,text:"Enabled Zero-Waste mode.",issues:[]},{type:c.MODIFIED,text:"Temporarily disabled 'Reduce Wasted Stats'. It will be back soon.",issues:[]}]},{version:"2.3.2",date:"May 7, 2023",entries:[{type:c.ADD,text:"Feature: Added 'Guardian Games' class item type to the dropdown. ",issues:[]},{type:c.MODIFIED,text:"Reformatted every file in the codebase and improved the code workflow. You should not really see this on your end, but it will allow everyone to easily contribute to this open source project!",issues:[]}]},{version:"2.3.1",date:"April 2, 2023",entries:[{type:c.ADD,text:"Feature: Added the possibility to only show builds that contain an exotic.",issues:[]},{type:c.ADD,text:"Added 'Root of Nightmares' modslot filter.",issues:[]},{type:c.ADD,text:"Added 'Queen's Favor' seasonal perk filter.",issues:[]},{type:c.ADD,text:"Added text indicating that only fragments that affect stats are shown.",issues:[]},{type:c.MODIFIED,text:"Fixed deprecated mods being sent when opening the loadout in DIM. Also adds artifice mods now.",issues:[]},{type:c.MODIFIED,text:"Fixed an issue where the tool did not put artifice mods on the class item if you forced the class item to be artifice.....",issues:[]},{type:c.MODIFIED,text:"Fixed an issue where the default selection was the titan class, even if you had no titan characters.",issues:[]}]},{version:"2.3.0",date:"March 14, 2023",entries:[{type:c.ADD,text:"Automatically adds artifice mods to your armor. This replaces minor and major mods where possible.",issues:[]},{type:c.ADD,text:"Added the amount of used artifice mods to the result table overview (next to the mods). They are not calculated into the 'mod cost' column.",issues:[]},{type:c.ADD,text:"Added new fragments, including Strand.",issues:[]},{type:c.MODIFIED,text:"Adapted modslot cost of Resilience and Recovery mods.",issues:[]},{type:c.MODIFIED,text:"Introduced more modules for asynchronous loading. This is more a speed improvement than a feature.",issues:[]},{type:c.MODIFIED,text:"Reduced the maximum limit of reported results from 50,000 to 30,000. Note that D2AP still calculates every result, it just does not report them. This is a major speedup, and you usually should not even realize the change.",issues:[]},{type:c.MODIFIED,text:"Increased the visual contrast of major mods in the results table. This means it is now easier to distinguish major from minor mods.",issues:[]},{type:c.REMOVE,text:"Removed the elemental affinity completely.",issues:[]},{type:c.REMOVE,text:"DISABLED the 'Zero Waste' feature. It will be re-enabled in the future.",issues:[]},{type:c.REMOVE,text:"DISABLED the 'Modslot Limitation' feature. It will be re-enabled in the future.",issues:[]}]},{version:"2.2.16",date:"December 7, 2022",entries:[{type:c.ADD,text:"Added Ember of Torches (with -10 Discipline).",issues:[]},{type:c.ADD,text:"Added Retrofit mods (mobility and resilience).",issues:[]},{type:c.ADD,text:"Added armor perk 'Seraph Sensor Array' to the dropdown.",issues:[]},{type:c.ADD,text:"Added a Game2Give message. Let's support the little lights together!",issues:[]},{type:c.MODIFIED,text:"Fixed artifice modslot.",issues:[]},{type:c.MODIFIED,text:"Membership data is cached longer to make things faster and to ease the Bungie API.",issues:[]}]},{version:"2.2.15",date:"October 18, 2022",entries:[{type:c.ADD,text:"Added FOTL masks.",issues:[]}]},{version:"2.2.13",date:"September 23, 2022",entries:[{type:c.ADD,text:"Added an advanced setting to replace the 'Tiers' column with a 'Max Tiers' column. This is adds the amount of open modslots to the column, but ignores mod limitations at the moment. A T32 build without mods will now show T37.",issues:[]}]},{version:"2.2.12",date:"September 11, 2022",entries:[{type:c.MODIFIED,text:"Changed the layout to force the settings (left) and results (right) to be next to each other. This means that the page is more mobile approachable. This is also the first step to a more flexible layout.",issues:[]}]},{version:"2.2.11",date:"September 10, 2022",entries:[{type:c.ADD,text:"Added a display for your owned upgrade materials in the character overview.",issues:[]},{type:c.ADD,text:"Added a notification to warn you when you create a modslot limitation that yields no results. Note that this will not (yet) show invalid combinations over all armor, just for the given slot you selected it in.",issues:[]},{type:c.MODIFIED,text:"Reduced size of exotic icons so that the left side will not grow on Titan class.",issues:[]},{type:c.MODIFIED,text:"The 'Performance Optimization' settings will now always re-enable after a reload to prevent your browser being stuck in a crash-loop. (This is for you, iOS Safari users)",issues:[]},{type:c.MODIFIED,text:"Changed wording of the 'Performance Optimization' setting to prevent people from using it incorrectly.",issues:[]}]},{version:"2.2.10",date:"September 2, 2022",entries:[{type:c.MODIFIED,text:"Updated Artifice Modslot Hash after the most recent hotfix.",issues:[]}]},{version:"2.2.9",date:"September 1, 2022",entries:[{type:c.MODIFIED,text:"Tooltips do now not obstruct the clicks of stats. This fixes the iOS stat selection issue.",issues:[]}]},{version:"2.2.8c",date:"August 24, 2022",entries:[{type:c.MODIFIED,text:"The manifest is now (again) automatically updated on version changes. This fixes your artifice problems at the beginning of a new season.",issues:[]},{type:c.MODIFIED,text:"Added subclass hashes for Arc. This means that it now transfers to DIM.",issues:[]}]},{version:"2.2.8b",date:"August 24, 2022",entries:[{type:c.MODIFIED,text:"Fixed Artifice modslots. You might need to wait a bit, alternatively delete the database (Account section) or re-log.",issues:[]}]},{version:"2.2.8a",date:"August 23, 2022",entries:[{type:c.MODIFIED,text:"Updated grenade and melee cooldowns for arc.",issues:[]}]},{version:"2.2.8",date:"August 23, 2022",entries:[{type:c.ADD,text:"Added Arc 3.0 fragments.",issues:[]},{type:c.MODIFIED,text:"Fixed tooltip issues on iOS devices.",issues:[]},{type:c.MODIFIED,text:"Fixed an infinite loading issue.",issues:[]}]},{version:"2.2.7",date:"June 25, 2022",entries:[{type:c.ADD,text:"Added a link to my Discord bot Crayon.",issues:[]},{type:c.MODIFIED,text:"Fixed an issue where a large number of stored configurations would drastically slow down the app.",issues:[]}]},{version:"2.2.6",date:"June 8, 2022",entries:[{type:c.MODIFIED,text:"Fixed an issue where the elemental selection would not give the correct results under very specific conditions.",issues:[]}]},{version:"2.2.5",date:"June 7, 2022",entries:[{type:c.ADD,text:"Added all of the new ability cooldowns.",issues:[]},{type:c.MODIFIED,text:"Completely reworked the ability cooldown tooltips. They now show the difference to the currently selected tier.",issues:[]}]},{version:"2.2.4",date:"June 3, 2022",entries:[{type:c.MODIFIED,text:"Fixed the export to DIM. Thanks to bhollis for the fix!",issues:[]},{type:c.MODIFIED,text:"The manifest now automatically updates when Bungie updated it too, except just after a fixed timespan.",issues:[]}]},{version:"2.2.3",date:"May 24, 2022",entries:[{type:c.ADD,text:"Added Solar 3.0",issues:[]},{type:c.MODIFIED,text:"Adapted artifice armor to the new Season.",issues:[]}]},{version:"2.2.2",date:"Mar 9, 2022",entries:[{type:c.ADD,text:"See what mods do by hovering over their name.",issues:["D2AP-41"]},{type:c.ADD,text:"Added Vow of the Disciple armor.",issues:["D2AP-35"]},{type:c.ADD,text:"Added 'Uniformed Officer' armor.",issues:["D2AP-35"]},{type:c.MODIFIED,text:"Fixed Scatter grenades being Tier 3 (were T4 before).",issues:["D2AP-39"]},{type:c.MODIFIED,text:"Changed the color of the login button.",issues:["D2AP-37"]},{type:c.MODIFIED,text:"When a selected character class does not exist, the tool will now select the first available class as default."}]},{version:"2.2.1",date:"Feb 22, 2022",entries:[{type:c.ADD,text:"Added a switch to select between Stasis and Void 3.0 fragments. Stasis is enabled per default to ensure backwards compatibility of saved configurations.",issues:["D2AP-10"]},{type:c.ADD,text:"Added a debug section to the (new) account settings page. The account settings page does not do much yet, I just wanted to deploy the debug functions.",issues:["D2AP-23"]},{type:c.MODIFIED,text:"Modified super cooldowns for Witch Queen."},{type:c.MODIFIED,text:"Added a minor text to the exotic overview that explains that exotics not in the inventory are shown in grayscale. You can also no longer select those.",issues:["D2AP-17"]},{type:c.MODIFIED,text:"Minor changes in how the database behaves on logout. It now deletes the inventory when you log out, but still keeps the manifest.",issues:["D2AP-27"]},{type:c.MODIFIED,text:"Users are now logged out when the Bungie.Net API is down.",issues:["D2AP-34"]},{type:c.MODIFIED,text:"Fixed Charge Harvester and Echo of Persistence incorrectly reducing Discipline instead of recovery when used on a Warlock."}]},{version:"2.2.0",date:"Feb 09, 2022",entries:[{type:c.ADD,text:"Added the ability to select armor perks and 5th slots. Just like the elements you can optionally enforce it to be on a certain slot. Useful if you want to build Iron Banner armor or utilize artifice modslots."},{type:c.ADD,text:"Added the ability to limit the available points on each armor item for stat mods. This allows you to limit the kind of stat mods that are usable. You can now say 'do not use major intellect mods'."},{type:c.ADD,text:"Added the ability to lock stat tiers. Previously you could only set 'Use Tier 3 or higher', now you can optionally set 'Enforce Tier 3'. This is useful for example if you want to enforce T3 mobility on a Titan."},{type:c.ADD,text:"Added a summary of important configuration choices to the result header to improve readability."},{type:c.ADD,text:"Added a button to open the DIM Loadout Builder with the current settings."},{type:c.ADD,text:"Added an option that forces the correct element on non-masterworked armor pieces. This is per default enabled."},{type:c.ADD,text:"Added cooldowns for class abilities (Dodge, Barricade, Rift)."},{type:c.ADD,text:"Added visual indicators for minor and major mods in the overview table. The whole visualization is also more compact now."},{type:c.ADD,text:"Added visual cursor indicator to every clickable input, e.g. in the exotic, element and perk/mod selection."},{type:c.ADD,text:"Added a (very basic) item tooltip."},{type:c.ADD,text:"Show the required material cost for each item. Note that this ignores your class item."},{type:c.ADD,text:"Added a stat summary table to the stat detail view. This allows you to easily share a stat distribution with others."},{type:c.ADD,text:"Added 'Clear this section' button to each configuration section."},{type:c.ADD,text:"Added support for your class items. You won't see a lot of this, except when you use the slot and element limitation in specific ways."},{type:c.ADD,text:"Detailed information is now in expandable containers to improve readability."},{type:c.ADD,text:"Show the seasonal icon for every item too."},{type:c.ADD,text:"Added info text to the table headers."},{type:c.ADD,text:"The character selection now shows the existing characters - and their emblems too!"},{type:c.ADD,text:"Added Discord and another Ko-Fi link. You can find them in the character selection."},{type:c.ADD,text:"Added a changelog popup right at the start of the page. It only appears when a new update occured. You can always trigger it by clicking the current version number."},{type:c.ADD,text:"Now utilizes three webworkers instead of one. The process is simple, but generally speeds up the results by a huge margin."},{type:c.ADD,text:"Added an Armor Investigation tab for data scientists."},{type:c.ADD,text:"Added a sidenav for smaller devices and reworked the top menubar."},{type:c.ADD,text:"The detailed result table now shows the perk of an selected item, if it has one. This also applies to class items, if necessary."},{type:c.ADD,text:"Hovering over exotics in the exotic selection now displays their perk description."},{type:c.ADD,text:"Added an advanced setting to disable white, green and blue armor."},{type:c.ADD,text:"Added an advanced setting to ignore sunset armor."},{type:c.MODIFIED,text:"Changed the word 'Permutation' to 'Combination' wherever it has been used."},{type:c.MODIFIED,text:"Clicking on a setting that is already set does not re-trigger the calculation now. For example, selecting T3 recovery when it is already at T3 now does nothing."},{type:c.MODIFIED,text:"The default for all stats is now tier 0 instead of tier 1, to make it consistent with the clear buttons."},{type:c.MODIFIED,text:"The default setting for 'ignore non masterworked elements' is now 'off'."},{type:c.MODIFIED,text:"The 'time required' number now measures the time from before the webworkers are spawned until all webworkers are done. Previously it only monitored the time required INSIDE the webworker, so it may show slower times."},{type:c.MODIFIED,text:"Fixed the width of the 'Exotic' header in the results table. This means that it is now farther away from the 'Mobility' column."},{type:c.MODIFIED,text:"Completely reworked the elemental affinity selection. Per default it is now not fixed to a certain armor slot, but using a toggle button you can simply do so again."},{type:c.MODIFIED,text:"The results header now screams at you in bright red letters when no results are found."},{type:c.MODIFIED,text:"The alternating rows of the results details table have now a lighter color to make it easier to read."},{type:c.MODIFIED,text:"Fixed ability cooldowns for melee and grenade at tier 7 and tier 8."},{type:c.MODIFIED,text:"Cooldowns now are shown in MM:SS instead of plain seconds."},{type:c.MODIFIED,text:"Completely rewrote the core logic of D2ArmorPicker for the changes mentioned above."},{type:c.MODIFIED,text:"Exotics you do not have in your vault or inventory are now greyed out."},{type:c.MODIFIED,text:"Fixed an issue where exotics were not shown at your first login."},{type:c.MODIFIED,text:"Changed the color of important buttons so that they are easier to read."},{type:c.MODIFIED,text:"The icons of items in the results are now loaded asynchronous from their hashes. This saves a lot of memory, as I do not have to send two icon URLs for each item - for each result. I will further improve this in a later version."},{type:c.MODIFIED,text:"Maximum table output is now limited to 50 results (instead of 200). It still defaults to 20.}"},{type:c.MODIFIED,text:"Completely reworked the visuals of the changelog. It is now more pleasing to the eye."}]},{version:"2.1.4",date:"Dec 29, 2021",entries:[{type:c.MODIFIED,text:"Item stats are now built from their plugs and InvestmentStats (in case of some exotics). This fixes potentially invalid item stats when you use mods like Powerful Friends or Protective Light. A big thanks to u/deangaudet for reminding me that the API also reports the plugs of an item."},{type:c.MODIFIED,text:"Only save necessary item types of the manifest (namely mods and armor). Also, save twhe investmentStats now."},{type:c.MODIFIED,text:"Sped up the item update step."}]},{version:"2.1.3",date:"Dec 16, 2021",entries:[{type:c.MODIFIED,text:"Added new stat cooldowns"}]},{version:"2.1.2",date:"Dec 1, 2021",entries:[{type:c.MODIFIED,text:"The changelog is now in a scrollable box."},{type:c.MODIFIED,text:"Changed buymeacoffee to a ko-fi link. This way we can keep the PayPal support!"}]},{version:"2.1.1",date:"Nov 3, 2021",entries:[{type:c.REMOVE,text:"Removed the HALLOWEEN SPECIAL feature. Maybe something like this will return some day?"},{type:c.ADD,text:"Added tooltip to the item icons in the detailed overview to show the name of the item."},{type:c.MODIFIED,text:"Fixed an issue where the list of exotics did not load at the first login."},{type:c.MODIFIED,text:"Saved configurations now contain the current software version for future reference."},{type:c.MODIFIED,text:"Minor code quality improvements"}]},{version:"2.1.0 (major)",date:"Oct 29, 2021",entries:[{type:c.REMOVE,text:"Completely removed V1 of the tool. If you had any problems with V2, you had over three months to report them."},{type:c.ADD,text:"The stat selection now displays which stat tiers are added by stat mods (PF/RL) or stasis fragments in the configuration."},{type:c.ADD,text:"You can now export (and import) individual configurations as well as all stored configurations at once."},{type:c.ADD,text:"Added a navigation bar to the title bar. On smaller screens it is replaced by two buttons in the character selection."},{type:c.ADD,text:"Added more details to the last step of the 'What to do now?' section. It now lists the fragments and mods you selected."},{type:c.MODIFIED,text:"Optimized code and reduced overall page size."}]},{version:"2.0.16",date:"Oct 26, 2021",entries:[{type:c.MODIFIED,text:"Completely rewrote the core logic in order to fix the memory issues. The tool will now no longer crash when you have many armor items, but it's slightly slower than the previous approach. I tested it with 600 items - it works and does not crash, but takes up to a minute. Make sure to never get that much armor and to lock an exotic right away."},{type:c.MODIFIED,text:"The rewrite also fixed the issue where the tool did not work in Safari, or more generally, on Mac and iPhone."},{type:c.MODIFIED,text:"The rewrite also fixed an issue where items could not be found when an result update was triggered while the inventory was updated."}]},{version:"2.0.15",date:"Oct 24, 2021",entries:[{type:c.MODIFIED,text:"Updated the visual display of the cluster page. It displays the stats in a better way now."},{type:c.MODIFIED,text:"Fixed an issue with login, where you were automatically logged in again and could not switch accounts."}]},{version:"2.0.14",date:"Oct 21, 2021",entries:[{type:c.MODIFIED,text:"Updated URLs to the mobility, resilience and recovery images, as Bungie decided to change their URLs in today's hotfix."}]},{version:"2.0.13",date:"Oct 20, 2021",entries:[{type:c.ADD,text:"Added a chart to the armor clustering page, showing each clusters average stats."},{type:c.MODIFIED,text:"Stats over 100 are now seen as wasted."}]},{version:"2.0.12",date:"Oct 18, 2021",entries:[{type:c.ADD,text:"Added an experimental armor clustering feature."}]},{version:"2.0.11",date:"Oct 13, 2021",entries:[{type:c.ADD,text:"HALLOWEEN SPECIAL! Added (temporary) filter for halloween masks! This will be removed after the event."},{type:c.MODIFIED,text:"Fix: Clear the results if you switch character and no possible permutations can be found."}]},{version:"2.0.10",date:"Oct 10, 2021",entries:[{type:c.ADD,text:"Added 'Equip Items' button to the detailed item overview."}]},{version:"2.0.9",date:"Oct 6, 2021",entries:[{type:c.ADD,text:"Added a detailed description of the steps required to build a selected result."},{type:c.ADD,text:"Added a button to disable all four armor pieces at once."},{type:c.MODIFIED,text:"Fixed an issue where the permutations were not updated after 'Ignore armor elemental affinities on masterworked armor' was changed."}]},{version:"2.0.8",date:"Oct 5, 2021",entries:[{type:c.ADD,text:"Added this changelog to the help page."},{type:c.ADD,text:"Added 'Move to Inventory' button (beta)."},{type:c.ADD,text:"Split up 'Assume items are masterworked' into three settings: Class Items, Legendaries, Exotics"},{type:c.MODIFIED,text:"'Try to optimize wasted stats' is now active per default."},{type:c.MODIFIED,text:"Introduced an item buffer in the results component to further reduce memory usage."}]}];let re=(()=>{class n{constructor(e){this.changelog=e}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(Rt))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-changelog-dialog"]],decls:9,vars:2,consts:[["mat-dialog-title","",1,"title"],[1,"mat-typography"],["align","end"],["cdkFocusInitial","","color","primary","mat-raised-button","",3,"mat-dialog-close"]],template:function(e,o){1&e&&(t.TgZ(0,"h2",0),t._uU(1),t.qZA(),t.TgZ(2,"mat-dialog-content",1)(3,"div"),t._uU(4," Hi! There has been a new version of D2ArmorPicker! The following list shows all the relevant changes. Note that you can always look at the changelogs in the Help tab. "),t.qZA(),t._UZ(5,"app-changelog-list"),t.qZA(),t.TgZ(6,"mat-dialog-actions",2)(7,"button",3),t._uU(8,"Thanks, I saw it!"),t.qZA()()),2&e&&(t.xp6(1),t.hij("D2ArmorPicker Changelog for Version ",o.changelog.changelogData[0].version,""),t.xp6(6),t.Q6J("mat-dialog-close",!0))},styles:[".title[_ngcontent-%COMP%]{text-decoration:underline;-webkit-text-decoration-color:#0059ff;text-decoration-color:#0059ff}"]}),n})();var $=_(5412);let Rt=(()=>{class n{constructor(e){this.dialog=e}setChangelogSeenFlag(){return localStorage.setItem("last-changelog-version",this.changelogData[0].version)}get lastViewedChangelog(){return localStorage.getItem("last-changelog-version")}get mustShowChangelog(){return this.changelogData[0].version!==this.lastViewedChangelog}get changelogData(){return se}openChangelogDialog(){this.dialog.open(re).afterClosed().subscribe(o=>{this.setChangelogSeenFlag()})}}return n.\u0275fac=function(e){return new(e||n)(t.LFG($.uw))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();var T=_(6895),N=_(266),Me=_(3162),j=_(7392),bt=_(6338),le=_(3848),De=_(3267);let Ct=(()=>{class n{constructor(e,o){this.templateRef=e,this.vcRef=o,this.context={$implicit:null,ngVar:null},this.hasView=!1}set ngVar(e){this.context.$implicit=this.context.ngVar=e,this.hasView||(this.vcRef.createEmbeddedView(this.templateRef,this.context),this.hasView=!0)}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(t.Rgc),t.Y36(t.s_b))},n.\u0275dir=t.lG2({type:n,selectors:[["","ngVar",""]],inputs:{ngVar:"ngVar"}}),n})(),Ee=(()=>{class n{constructor(e){this.changelog=e}ngAfterViewInit(){this.changelog.mustShowChangelog&&this.changelog.openChangelogDialog()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(Rt))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-changelog-dialog-controller"]],decls:0,vars:0,template:function(e,o){},encapsulation:2}),n})();function Ue(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"a",29),t.NdJ("click",function(){t.CHM(e),t.oxw();const a=t.MAs(1);return t.KtG(a.toggle())}),t._uU(1),t.qZA()}if(2&n){const e=i.$implicit,o=i.index,a=t.oxw();t.ekj("active",a.activeLinkIndex===o),t.Q6J("routerLink",e.link),t.xp6(1),t.hij(" ",e.name," ")}}function Pe(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"button",30),t.NdJ("click",function(){t.CHM(e),t.oxw();const a=t.MAs(1);return t.KtG(a.toggle())}),t.TgZ(1,"mat-icon",3),t._uU(2,"menu"),t.qZA()()}}function Re(n,i){if(1&n&&(t.TgZ(0,"a",31),t._uU(1),t.qZA()),2&n){const e=i.$implicit,o=i.index,a=t.oxw();t.Q6J("active",a.activeLinkIndex===o)("routerLink",e.link),t.xp6(1),t.hij(" ",e.name," ")}}function Ne(n,i){1&n&&t._UZ(0,"mat-progress-bar",33)}function qe(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,Ne,1,0,"mat-progress-bar",32),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e.updatingResultsTable||e.calculatingResults||e.calculatingPermutations||e.updatingInventory||e.updatingManifest)}}function Je(n,i){1&n&&(t.TgZ(0,"mat-card",35),t._uU(1,"Updating the cached manifest. Please wait. "),t._UZ(2,"br"),t._uU(3,"If this takes too long, please logout and login again."),t.qZA())}function Ye(n,i){1&n&&(t.TgZ(0,"mat-card",35),t._uU(1,"Updating the cached inventory. Please wait."),t.qZA())}function Le(n,i){1&n&&(t.TgZ(0,"mat-card",35),t._uU(1,"Updating armor combinations. Please wait."),t.qZA())}function Fe(n,i){1&n&&(t.TgZ(0,"mat-card",35),t._uU(1,"Updating possible results. Please wait."),t.qZA())}function Qe(n,i){1&n&&(t.TgZ(0,"mat-card",35),t._uU(1,"Updating result table. Please wait."),t.qZA())}function Be(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,Je,4,0,"mat-card",34),t.YNc(2,Ye,2,0,"mat-card",34),t.YNc(3,Le,2,0,"mat-card",34),t.YNc(4,Fe,2,0,"mat-card",34),t.YNc(5,Qe,2,0,"mat-card",34),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e.updatingManifest),t.xp6(1),t.Q6J("ngIf",e.updatingInventory),t.xp6(1),t.Q6J("ngIf",e.calculatingPermutations),t.xp6(1),t.Q6J("ngIf",e.calculatingResults),t.xp6(1),t.Q6J("ngIf",e.updatingResultsTable)}}let Ve=(()=>{class n{constructor(e,o,a,s,l,d,u){this.status=e,this.breakpointObserver=o,this.inv=a,this.auth=s,this.router=l,this.characterStats=d,this.changelog=u,this.version="2.5.2",this.activeLinkIndex=0,this.navLinks=[{link:"/",name:"Home"},{link:"/cluster",name:"Clustering"},{link:"/help",name:"Help"},{link:"/investigate",name:"Armor Investigation"},{link:"/account",name:"Account"}],this.isHandset$=this.breakpointObserver.observe([mt.u3.Handset,mt.u3.Small,mt.u3.XSmall]).pipe((0,Mt.U)(x=>x.matches),(0,Dt.d)())}ngOnInit(){this.activeLinkIndex=this.navLinks.indexOf(this.navLinks.find(e=>e.link===this.router.url)),this.router.events.subscribe(e=>{e instanceof I.m2&&(this.activeLinkIndex=this.navLinks.indexOf(this.navLinks.find(o=>o.link===this.router.url)))}),this.characterStats.loadCharacterStats()}refreshAll(e){var o=this;return(0,m.Z)(function*(){console.debug("Trigger refreshAll due to button press"),yield o.inv.refreshAll(e)})()}logout(){this.auth.logout()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(yt),t.Y36(mt.Yg),t.Y36(K),t.Y36(L),t.Y36(I.F0),t.Y36(ae),t.Y36(Rt))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-app-v2-core"]],decls:59,vars:16,consts:[["fixedInViewport","","mode","over",1,"sidenav",3,"opened"],["drawer",""],["aria-label","Toggle sidenav","mat-stroked-button","","type","button",3,"click"],["aria-label","Side nav toggle icon"],["mat-list-item","",3,"active","routerLink","click",4,"ngFor","ngForOf"],["href","https://ko-fi.com/mijago","mat-list-item",""],["color","primary","mat-raised-button","","matTooltip","You like my work? This leads you to ko-fi.com, where you can easily support me!","target","_blank"],["inline",""],["mat-list-item","",3,"click"],["mat-raised-button",""],["id","header","role","heading"],["aria-label","Toggle sidenav","mat-icon-button","","type","button",3,"click",4,"ngIf"],["href","https://twitter.com/MijagoCoding/","matTooltip","Birb App","target","_blank"],["alt","Me on twitter","src","assets/logo-twitter.png",1,"logo-twitter"],["href","https://ko-fi.com/mijago","matTooltip","If you like my work, you can always buy me a coffee!","target","_blank"],["alt","Ko-Fi","src","assets/logo-kofi.png",1,"logo-twitter"],["href","http://discord.d2armorpicker.com/","matTooltip","Visit me at the development & support discord.","target","_blank"],["alt","Discord","src","assets/logo-discord.png",1,"logo-twitter"],[1,"header-spacer"],["fxHide.lt-md","true","fxShow","true"],["id","navbar","mat-tab-nav-bar",""],["mat-tab-link","",3,"active","routerLink",4,"ngFor","ngForOf"],["id","buttonContainer"],["fxShow","false","fxShow.gt-md","true","matTooltip","Click to show the changelog dialog.",1,"changelogText"],[3,"click"],["color","accent","fxHide.lt-md","true","fxShow","true","href","https://ko-fi.com/mijago","mat-stroked-button","","matTooltip","You like my work? This leads you to ko-fi.com, where you can easily support me!","target","_blank"],["aria-label","Refresh","mat-icon-button","","matTooltip","Reload all items from the API.",1,"example-icon",3,"click"],["aria-label","Logout","color","warn","mat-icon-button","","matTooltip","Logout",1,"example-icon",3,"click"],[4,"ngVar"],["mat-list-item","",3,"routerLink","click"],["aria-label","Toggle sidenav","mat-icon-button","","type","button",3,"click"],["mat-tab-link","",3,"active","routerLink"],["id","loading","mode","indeterminate",4,"ngIf"],["id","loading","mode","indeterminate"],["class","info",4,"ngIf"],[1,"info"]],template:function(e,o){if(1&e){const a=t.EpF();t.TgZ(0,"mat-sidenav",0,1),t.ALo(2,"async"),t.TgZ(3,"mat-toolbar")(4,"button",2),t.NdJ("click",function(){t.CHM(a);const l=t.MAs(1);return t.KtG(l.toggle())}),t.TgZ(5,"mat-icon",3),t._uU(6,"menu"),t.qZA(),t._uU(7," Close Menu "),t.qZA()(),t._UZ(8,"hr"),t.TgZ(9,"mat-nav-list"),t.YNc(10,Ue,2,4,"a",4),t._UZ(11,"hr"),t.TgZ(12,"a",5)(13,"a",6)(14,"mat-icon",7),t._uU(15,"attach_money"),t.qZA(),t._uU(16," Buy me a coffee! "),t.qZA()(),t.TgZ(17,"a",8),t.NdJ("click",function(){return o.changelog.openChangelogDialog()}),t.TgZ(18,"a",9),t._uU(19," Open changelog "),t.qZA()(),t._UZ(20,"hr"),t.qZA()(),t.TgZ(21,"mat-toolbar",10),t.YNc(22,Pe,3,0,"button",11),t.ALo(23,"async"),t.TgZ(24,"span"),t._uU(25,"D2ArmorPicker "),t.TgZ(26,"small"),t._uU(27," by Mijago"),t.qZA(),t.TgZ(28,"a",12),t._UZ(29,"img",13),t.qZA(),t.TgZ(30,"a",14),t._UZ(31,"img",15),t.qZA(),t.TgZ(32,"a",16),t._UZ(33,"img",17),t.qZA()(),t._UZ(34,"span",18),t.TgZ(35,"div",19)(36,"nav",20),t.YNc(37,Re,2,3,"a",21),t.qZA()(),t._UZ(38,"span",18),t.TgZ(39,"div",22)(40,"span",23)(41,"a",24),t.NdJ("click",function(){return o.changelog.openChangelogDialog()}),t._uU(42),t.qZA()(),t.TgZ(43,"a",25)(44,"mat-icon",7),t._uU(45,"attach_money"),t.qZA(),t._uU(46," Buy me a coffee! "),t.qZA(),t.TgZ(47,"button",26),t.NdJ("click",function(){return o.refreshAll(!0)}),t.TgZ(48,"mat-icon"),t._uU(49,"refresh"),t.qZA()(),t.TgZ(50,"button",27),t.NdJ("click",function(){return o.logout()}),t.TgZ(51,"mat-icon"),t._uU(52,"logout"),t.qZA()()()(),t._UZ(53,"router-outlet"),t.YNc(54,qe,2,1,"span",28),t.ALo(55,"async"),t.YNc(56,Be,6,5,"span",28),t.ALo(57,"async"),t._UZ(58,"app-changelog-dialog-controller")}2&e&&(t.Q6J("opened",!1),t.uIk("role",t.lcZ(2,8,o.isHandset$)?"dialog":"navigation"),t.xp6(10),t.Q6J("ngForOf",o.navLinks),t.xp6(12),t.Q6J("ngIf",t.lcZ(23,10,o.isHandset$)),t.xp6(15),t.Q6J("ngForOf",o.navLinks),t.xp6(5),t.hij("v",o.version,"\xa0"),t.xp6(12),t.Q6J("ngVar",t.lcZ(55,12,o.status.status)),t.xp6(2),t.Q6J("ngVar",t.lcZ(57,14,o.status.status)))},dependencies:[T.sg,T.O5,H.b8,g.lW,g.zs,A.a8,N.gM,Me.pW,j.Hw,W.Ye,bt.Hk,bt.Tg,le.BU,le.Nj,De.JX,I.lC,I.yS,Ct,Ee,T.Ov],styles:[".loading[_ngcontent-%COMP%]{cursor:progress}.info[_ngcontent-%COMP%]{z-index:1000;position:fixed;width:200px;left:50%;top:50px;transform:translate(-50%);border:antiquewhite 1px solid}.sidenav-container[_ngcontent-%COMP%]{position:fixed;top:0;left:0;height:100%;z-index:20}.sidenav[_ngcontent-%COMP%]{width:200px;position:fixed;top:0;left:0;height:100%;z-index:20}.sidenav[_ngcontent-%COMP%] .mat-toolbar[_ngcontent-%COMP%]{background:inherit}.sidenav[_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{background-color:#ffffff12;color:#b8c4dc}.mat-toolbar.mat-primary[_ngcontent-%COMP%]{position:sticky;top:0;z-index:1}#header[_ngcontent-%COMP%]{position:relative;height:42px;margin-bottom:5px}#header[_ngcontent-%COMP%] .header-spacer[_ngcontent-%COMP%]{flex:1 1 auto}.changelogText[_ngcontent-%COMP%]{cursor:pointer}#loading[_ngcontent-%COMP%]{position:fixed;top:0;width:100%;z-index:1000}.d2ap-router-link[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .mat-tab-link{min-width:75px;opacity:1}"]}),n})();var w=_(2143),ce=_(8739),Bt=_(6308),F=_(7340),nt=_(8929),Q=_(7625);function He(n,i){1&n&&(t.ynx(0),t._uU(1," Click on a row to expand it and to see the list of the items required for this build."),t._UZ(2,"br"),t.BQk())}function We(n,i){1&n&&(t.ynx(0),t.TgZ(1,"div",57),t._UZ(2,"img",58),t._uU(3,"\xa0 "),t.qZA(),t.TgZ(4,"span",59)(5,"b"),t._uU(6,"No combinations found."),t.qZA()(),t._uU(7," You should loosen your settings a bit. "),t.BQk())}function je(n,i){if(1&n&&(t.TgZ(0,"mat-icon",60,61),t.ALo(2,"number"),t._uU(3,"report_problem "),t.qZA()),2&n){const e=t.oxw();t.MGl("matTooltip","Note: To speed up the whole process, only ",t.lcZ(2,1,e.parsedResults)," results are listed in this table.\n If you need more entries, disable the limitation in the advanced settings.")}}function ze(n,i){if(1&n&&(t.TgZ(0,"mat-icon",60,61),t.ALo(2,"number"),t._uU(3,"report_problem "),t.qZA()),2&n){const e=t.oxw();t.MGl("matTooltip","Note: To prevent Out-Of-Memory crashes, only ",t.lcZ(2,1,e.parsedResults)," results are listed in this table.\n You should narrow down your settings a bit.")}}function Ge(n,i){1&n&&(t.TgZ(0,"mat-chip",62,61),t._uU(2,"No Exotic "),t.qZA())}function Ke(n,i){1&n&&(t.TgZ(0,"mat-chip",63,61),t._uU(2,"Exotic "),t.qZA())}function $e(n,i){1&n&&(t.TgZ(0,"mat-chip",64,61),t._uU(2," Multiple Exotics "),t.qZA())}function Xe(n,i){1&n&&(t.TgZ(0,"mat-chip",65,61),t._uU(2,"No stat mods "),t.qZA())}function tn(n,i){1&n&&(t.TgZ(0,"mat-chip",66,61),t._uU(2,"Reduce wasted stats "),t.qZA())}function en(n,i){1&n&&(t.TgZ(0,"mat-chip",67,61),t._uU(2,"Stat Mod Limitation "),t.qZA())}function nn(n,i){1&n&&(t.TgZ(0,"mat-chip",68,61),t._uU(2," Armor Perk or Slot "),t.qZA())}function on(n,i){1&n&&(t.TgZ(0,"mat-chip",69,61),t._uU(2,"Zero Waste "),t.qZA())}function an(n,i){1&n&&(t.TgZ(0,"mat-chip",70,61)(2,"mat-icon",71),t._uU(3,"report_problem"),t.qZA(),t._uU(4," \xa0Assume everything is artifice\xa0 "),t.TgZ(5,"mat-icon",71),t._uU(6,"report_problem"),t.qZA()())}function sn(n,i){1&n&&(t.TgZ(0,"mat-chip",72,61),t._uU(2," Masterworked Exotics Only "),t.qZA())}function rn(n,i){1&n&&(t.TgZ(0,"mat-chip",73,61),t._uU(2," Masterworked Legendaries Only "),t.qZA())}function ln(n,i){1&n&&(t.TgZ(0,"mat-chip",74,61),t._uU(2," Masterwork Assumption "),t.qZA())}function cn(n,i){1&n&&(t.TgZ(0,"mat-chip",75,61),t._uU(2," Include Collection Rolls "),t.qZA())}function mn(n,i){1&n&&(t.TgZ(0,"mat-chip",76,61),t._uU(2," Include Vendor Items "),t.qZA())}function dn(n,i){1&n&&(t.TgZ(0,"th",77),t._uU(1,"Mobility "),t.qZA())}function un(n,i){if(1&n&&(t.TgZ(0,"td",78),t._uU(1),t._UZ(2,"img",79),t.qZA()),2&n){const e=i.$implicit,o=t.oxw();t.xp6(1),t.hij("",e.stats[o.ArmorStat.Mobility]," ")}}function pn(n,i){1&n&&(t.TgZ(0,"th",80),t._uU(1," Resilience "),t.qZA())}function gn(n,i){if(1&n&&(t.TgZ(0,"td",78),t._uU(1),t._UZ(2,"img",81),t.qZA()),2&n){const e=i.$implicit,o=t.oxw();t.xp6(1),t.hij("",e.stats[o.ArmorStat.Resilience]," ")}}function _n(n,i){1&n&&(t.TgZ(0,"th",82),t._uU(1," Recovery "),t.qZA())}function fn(n,i){if(1&n&&(t.TgZ(0,"td",78),t._uU(1),t._UZ(2,"img",83),t.qZA()),2&n){const e=i.$implicit,o=t.oxw();t.xp6(1),t.hij("",e.stats[o.ArmorStat.Recovery]," ")}}function hn(n,i){1&n&&(t.TgZ(0,"th",84),t._uU(1," Discipline "),t.qZA())}function xn(n,i){if(1&n&&(t.TgZ(0,"td",78),t._uU(1),t._UZ(2,"img",85),t.qZA()),2&n){const e=i.$implicit,o=t.oxw();t.xp6(1),t.hij("",e.stats[o.ArmorStat.Discipline]," ")}}function yn(n,i){1&n&&(t.TgZ(0,"th",86),t._uU(1," Intellect "),t.qZA())}function Tn(n,i){if(1&n&&(t.TgZ(0,"td",78),t._uU(1),t._UZ(2,"img",87),t.qZA()),2&n){const e=i.$implicit,o=t.oxw();t.xp6(1),t.hij("",e.stats[o.ArmorStat.Intellect]," ")}}function bn(n,i){1&n&&(t.TgZ(0,"th",88),t._uU(1,"Strength "),t.qZA())}function Cn(n,i){if(1&n&&(t.TgZ(0,"td",78),t._uU(1),t._UZ(2,"img",89),t.qZA()),2&n){const e=i.$implicit,o=t.oxw();t.xp6(1),t.hij("",e.stats[o.ArmorStat.Strength]," ")}}function vn(n,i){1&n&&(t.TgZ(0,"th",90),t._uU(1," Used Mods "),t.qZA())}function An(n,i){if(1&n&&(t.TgZ(0,"td",91),t._UZ(1,"app-table-mod-display",92),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.Q6J("mods",e.mods)("artifice",e.artifice)}}function wn(n,i){1&n&&(t.TgZ(0,"th",93),t._uU(1," Exotic"),t.qZA())}function Zn(n,i){if(1&n&&(t.ynx(0),t._UZ(1,"img",96,61)(3,"img",97),t.BQk()),2&n){const e=i.$implicit;t.xp6(1),t.s9C("matTooltip",e.name),t.MGl("src","https://bungie.net/",e.icon,"",t.LSH),t.xp6(2),t.MGl("src","https://bungie.net/",e.watermark,"",t.LSH)}}function Sn(n,i){1&n&&t._UZ(0,"img",98)}function In(n,i){if(1&n&&(t.TgZ(0,"td",91),t.YNc(1,Zn,4,3,"ng-container",94),t.YNc(2,Sn,1,0,"img",95),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.Q6J("ngForOf",e.exotic),t.xp6(1),t.Q6J("ngIf",0===e.exotic.length)}}function kn(n,i){1&n&&(t.TgZ(0,"th",93),t._uU(1,"Sources"),t.qZA())}function On(n,i){1&n&&t._UZ(0,"img",102)}function Mn(n,i){1&n&&t._UZ(0,"img",103)}function Dn(n,i){if(1&n&&(t.TgZ(0,"td",91)(1,"span",99),t.YNc(2,On,1,0,"img",100),t.YNc(3,Mn,1,0,"img",101),t.qZA()()),2&n){const e=i.$implicit;t.xp6(2),t.Q6J("ngIf",!!e.usesCollectionRoll),t.xp6(1),t.Q6J("ngIf",!!e.usesVendorRoll)}}function En(n,i){1&n&&t._UZ(0,"th",93)}function Un(n,i){1&n&&(t.TgZ(0,"mat-icon",107),t._uU(1," expand_more "),t.qZA())}function Pn(n,i){1&n&&(t.TgZ(0,"mat-icon",108),t._uU(1," expand_less "),t.qZA())}function Rn(n,i){1&n&&(t.TgZ(0,"mat-icon",109,61),t._uU(2," report_problem "),t.qZA())}function Nn(n,i){if(1&n&&(t.TgZ(0,"td",91),t.YNc(1,Un,2,0,"mat-icon",104),t.YNc(2,Pn,2,0,"mat-icon",105),t.YNc(3,Rn,3,0,"mat-icon",106),t.qZA()),2&n){const e=i.$implicit,o=t.oxw();t.xp6(1),t.Q6J("ngIf",o.expandedElement!==e),t.xp6(1),t.Q6J("ngIf",o.expandedElement===e),t.xp6(1),t.Q6J("ngIf",o.checkIfAnyItemsMayBeInvalid(e))}}function qn(n,i){1&n&&(t.TgZ(0,"th",110),t._uU(1,"Tiers "),t.qZA())}function Jn(n,i){if(1&n&&(t.TgZ(0,"td",91),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.hij(" ",e.tiers," ")}}function Yn(n,i){1&n&&(t.TgZ(0,"th",111),t._uU(1,"Max Tiers "),t.qZA())}function Ln(n,i){if(1&n&&(t.TgZ(0,"td",91),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.hij(" ",e.tiers+(5-e.modCount)," ")}}function Fn(n,i){1&n&&(t.TgZ(0,"th",112),t._uU(1,"Wasted "),t.qZA())}function Qn(n,i){if(1&n&&(t.TgZ(0,"td",91),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.hij(" ",e.waste," ")}}function Bn(n,i){if(1&n&&(t.TgZ(0,"td",91)(1,"div",113),t._UZ(2,"app-expanded-result-content",114),t.qZA()()),2&n){const e=i.$implicit,o=t.oxw();t.uIk("colspan",o.shownColumns.length),t.xp6(1),t.Q6J("@detailExpand",e===o.expandedElement?"expanded":"collapsed"),t.xp6(1),t.Q6J("element",e)}}function Vn(n,i){1&n&&t._UZ(0,"tr",115)}function Hn(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"tr",116),t.NdJ("click",function(){const s=t.CHM(e).$implicit,l=t.oxw();return t.KtG(l.expandedElement=l.expandedElement===s?null:s)}),t.qZA()}if(2&n){const e=i.$implicit,o=t.oxw();t.ekj("example-expanded-row",o.expandedElement===e)}}function Wn(n,i){1&n&&t._UZ(0,"tr",117)}function jn(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"mat-card-actions"),t._UZ(1,"span",118),t.TgZ(2,"button",119),t.NdJ("click",function(){t.CHM(e);const a=t.oxw();return t.KtG(a.saveBuilds())}),t._uU(3,"Download results as JSON"),t.qZA()()}}const zn=function(){return["expandedDetail"]},Gn=function(){return[10,20,50]};var ht=(()=>{return(n=ht||(ht={}))[n.TRANSFER_NONE=0]="TRANSFER_NONE",n[n.WAITING_FOR_TRANSFER=1]="WAITING_FOR_TRANSFER",n[n.TRANSFERRING=2]="TRANSFERRING",n[n.TRANSFERRED=3]="TRANSFERRED",n[n.ERROR_DURING_TRANSFER=4]="ERROR_DURING_TRANSFER",ht;var n})();let me=(()=>{class n{constructor(e,o,a,s,l){this.inventory=e,this.db=o,this.bungieApi=a,this.config=s,this.status=l,this.ArmorStat=r.WB,this.StatModifier=r.iV,this._results=[],this._config_assumeLegendariesMasterworked=!1,this._config_assumeExoticsMasterworked=!1,this._config_assumeClassItemMasterworked=!1,this._config_enabledMods=[],this._config_limitParsedResults=!1,this._config_maximumStatMods=5,this._config_selectedExotics=[],this._config_tryLimitWastedStats=!1,this._config_onlyUseMasterworkedExotics=!1,this._config_onlyUseMasterworkedLegendaries=!1,this._config_includeCollectionRolls=!1,this._config_includeVendorRolls=!1,this._config_onlyShowResultsWithNoWastedStats=!1,this._config_assumeEveryLegendaryIsArtifice=!1,this._config_modslotLimitation=[],this._config_armorPerkLimitation=[],this.tableDataSource=new w.by,this.paginator=null,this.sort=null,this.expandedElement=null,this.shownColumns=["exotic","mobility","resilience","recovery","discipline","intellect","strength","tiers","mods","dropdown"],this.selectedClass=D.None,this.totalTime=0,this.itemCount=0,this.totalResults=0,this.parsedResults=0,this.ngUnsubscribe=new nt.xQ}ngOnInit(){var e=this;this.config.configuration.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(o=>{this.selectedClass=o.characterClass,this._config_assumeLegendariesMasterworked=o.assumeLegendariesMasterworked,this._config_assumeExoticsMasterworked=o.assumeExoticsMasterworked,this._config_assumeClassItemMasterworked=o.assumeClassItemMasterworked,this._config_tryLimitWastedStats=o.tryLimitWastedStats,this._config_enabledMods=o.enabledMods||[],this._config_limitParsedResults=o.limitParsedResults,this._config_maximumStatMods=o.maximumStatMods,this._config_onlyUseMasterworkedExotics=o.onlyUseMasterworkedExotics,this._config_onlyUseMasterworkedLegendaries=o.onlyUseMasterworkedLegendaries,this._config_includeCollectionRolls=o.includeCollectionRolls,this._config_includeVendorRolls=o.includeVendorRolls,this._config_onlyShowResultsWithNoWastedStats=o.onlyShowResultsWithNoWastedStats,this._config_assumeEveryLegendaryIsArtifice=o.assumeEveryLegendaryIsArtifice,this._config_selectedExotics=o.selectedExotics,this._config_armorPerkLimitation=Object.entries(o.armorPerks).filter(s=>s[1].value!=r.Pn.None).map(s=>s[1]),this._config_modslotLimitation=Object.entries(o.maximumModSlots).filter(s=>s[1].value<5).map(s=>s[1]);let a=["exotic","mobility","resilience","recovery","discipline","intellect","strength",o.showPotentialTierColumn?"potential_tiers":"tiers","mods"];o.showWastedStatsColumn&&a.push("waste"),(o.includeVendorRolls||o.includeCollectionRolls)&&a.push("source"),a.push("dropdown"),this.shownColumns=a}),this.inventory.armorResults.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(function(){var o=(0,m.Z)(function*(a){e._results=a.results,e.itemCount=a.itemCount,e.totalTime=a.totalTime,e.totalResults=a.totalResults,e.parsedResults=e._results.length,e.status.modifyStatus(s=>s.updatingResultsTable=!0),yield e.updateData(),e.status.modifyStatus(s=>s.updatingResultsTable=!1)});return function(a){return o.apply(this,arguments)}}()),this.tableDataSource.paginator=this.paginator,this.tableDataSource.sort=this.sort,this.tableDataSource.sortingDataAccessor=(o,a)=>{switch(a){case"Mobility":return o.stats[r.WB.Mobility];case"Resilience":return o.stats[r.WB.Resilience];case"Recovery":return o.stats[r.WB.Recovery];case"Discipline":return o.stats[r.WB.Discipline];case"Intellect":return o.stats[r.WB.Intellect];case"Strength":return o.stats[r.WB.Strength];case"Tiers":return o.tiers;case"Max Tiers":return 10*(o.tiers+(5-o.modCount));case"Waste":return o.waste;case"Mods":return 100*o.modCount+o.modCost}return 0}}updateData(){var e=this;return(0,m.Z)(function*(){console.time("Update Table Data"),e.tableDataSource.paginator=e.paginator,e.tableDataSource.sort=e.sort,e.tableDataSource.data=e._results,console.timeEnd("Update Table Data")})()}checkIfAnyItemsMayBeInvalid(e){return(e?.items.filter(o=>o.filter(a=>a.mayBeBugged).length>0).length||0)>0}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}saveBuilds(){let e={configCompressed:this.config.getCurrentConfigBase64Compressed(),config:this.config.readonlyConfigurationSnapshot,results:this._results.map(l=>{let d=Object.assign({},l);return d.items=d.items.map(u=>({hash:u[0].hash,instance:u[0].itemInstanceId})),delete d.exotic,d})};document.createElement("a").download="builds.json";const a=window.URL.createObjectURL(new Blob([JSON.stringify(e,null,2)])),s=document.createElement("a");s.href=a,s.setAttribute("download","d2ap_results.json"),document.body.appendChild(s),s.click()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(K),t.Y36(et),t.Y36(Qt),t.Y36(B),t.Y36(yt))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-results"]],viewQuery:function(e,o){if(1&e&&(t.Gf(ce.NW,5),t.Gf(Bt.YE,5)),2&e){let a;t.iGM(a=t.CRH())&&(o.paginator=a.first),t.iGM(a=t.CRH())&&(o.sort=a.first)}},decls:96,vars:35,consts:[["id","card-results"],[4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center","fxLayoutGap","5px",1,"config-summary-box"],["appearance","outline","fxFlex","",1,"info-box"],["matInput","","readonly","",3,"value"],["class","report-problem-icon","matSuffix","",3,"matTooltip",4,"ngIf"],["appearance","outline","disabled","",1,"config-summary-box"],["matInput","","readonly","","value","\xa0",1,"hidden-input"],["aria-label","Configuration Summary"],["disableRipple","","matTooltip","This setting enforces that all exotics are ignored.",4,"ngIf"],["disableRipple","","matTooltip","This setting enforces that only one specific exotic is used.",4,"ngIf"],["disableRipple","","matTooltip","The tool will try to fulfill your settings for all the selected exotics. If you select exotics in different slots then it will search for legendary items to allow hotswapping with the same stats.",4,"ngIf"],["disableRipple","","matTooltip","You enforced that no stat mods are used.",4,"ngIf"],["disableRipple","","matTooltip","The tool will add minor stat mods to reduce wasted stats.",4,"ngIf"],["disableRipple","","matTooltip","This setting limits available stat mod types, like major Intellect or Recovery.",4,"ngIf"],["disableRipple","","matTooltip","This setting enforces an specific armor perk or modslot for a specific armor slot.",4,"ngIf"],["disableRipple","","matTooltip","This setting means that only builds with no wasted stats are shown.","selected","",4,"ngIf"],["disableRipple","","matTooltip","EVERY legendary is assumed to be artifice.","selected","","color","warn",4,"ngIf"],["disableRipple","","matTooltip","This setting means that only exotic armor pieces that are already masterworked are used.","selected","",4,"ngIf"],["disableRipple","","matTooltip","This setting means that only legendary armor pieces are already masterworked are used.","selected","",4,"ngIf"],["disableRipple","","matTooltip","Some masterwork assumptions are in place. This means that you may have to masterwork items. Look at your advanced settings to see which ones are activated.",4,"ngIf"],["disableRipple","","matTooltip","Collection Exotic rolls will be included in the search.",4,"ngIf"],["disableRipple","","matTooltip","Currently available Vendor items will be included in the search.",4,"ngIf"],[1,"hint-text"],["aria-hidden","false","inline",""],["mat-table","","matSort","","matSortActive","Mods","matSortDirection","asc","multiTemplateDataRows","",1,"result-table",3,"dataSource"],["matColumnDef","mobility"],["mat-header-cell","","mat-sort-header","Mobility","matTooltip","The mobility of this armor combination.",4,"matHeaderCellDef"],["class","statColumn","mat-cell","",4,"matCellDef"],["matColumnDef","resilience"],["mat-header-cell","","mat-sort-header","Resilience","matTooltip","The resilience of this armor combination.",4,"matHeaderCellDef"],["matColumnDef","recovery"],["mat-header-cell","","mat-sort-header","Recovery","matTooltip","The recovery of this armor combination.",4,"matHeaderCellDef"],["matColumnDef","discipline"],["mat-header-cell","","mat-sort-header","Discipline","matTooltip","The discipline of this armor combination.",4,"matHeaderCellDef"],["matColumnDef","intellect"],["mat-header-cell","","mat-sort-header","Intellect","matTooltip","The intellect of this armor combination.",4,"matHeaderCellDef"],["matColumnDef","strength"],["mat-header-cell","","mat-sort-header","Strength","matTooltip","The strength of this armor combination.",4,"matHeaderCellDef"],["matColumnDef","mods"],["mat-header-cell","","mat-sort-header","Mods","matTooltip","The amount of mods required for each combination. Sorting after this takes the mod cost into account.",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","exotic"],["mat-header-cell","",4,"matHeaderCellDef"],["matColumnDef","source"],["matColumnDef","dropdown"],["matColumnDef","tiers"],["mat-header-cell","","mat-sort-header","Tiers","matTooltip","The amount of Tiers in this build. A tier is each successful 10-step of any stat.",4,"matHeaderCellDef"],["matColumnDef","potential_tiers"],["mat-header-cell","","mat-sort-header","Max Tiers","matTooltip","The potential reachable stat tiers with all N stat mods used. As of now, this does NOT take mod filters into consideration.",4,"matHeaderCellDef"],["matColumnDef","waste"],["mat-header-cell","","mat-sort-header","Waste","matTooltip","How many points are wasted. Any stat not ending in 0 adds to this value.",4,"matHeaderCellDef"],["matColumnDef","expandedDetail"],["mat-header-row","",4,"matHeaderRowDef"],["class","example-element-row","mat-row","",3,"example-expanded-row","click",4,"matRowDef","matRowDefColumns"],["class","example-detail-row","mat-row","",4,"matRowDef","matRowDefColumns"],["aria-label","Select page of periodic elements","pageSize","20","showFirstLastButtons","",3,"pageSizeOptions"],[1,"no-found-sadcat-container"],["src","assets/status/emoji/sadcat.png",1,"no-found-sadcat"],[1,"warning-none-found"],["matSuffix","",1,"report-problem-icon",3,"matTooltip"],["tooltip","matTooltip"],["disableRipple","","matTooltip","This setting enforces that all exotics are ignored."],["disableRipple","","matTooltip","This setting enforces that only one specific exotic is used."],["disableRipple","","matTooltip","The tool will try to fulfill your settings for all the selected exotics. If you select exotics in different slots then it will search for legendary items to allow hotswapping with the same stats."],["disableRipple","","matTooltip","You enforced that no stat mods are used."],["disableRipple","","matTooltip","The tool will add minor stat mods to reduce wasted stats."],["disableRipple","","matTooltip","This setting limits available stat mod types, like major Intellect or Recovery."],["disableRipple","","matTooltip","This setting enforces an specific armor perk or modslot for a specific armor slot."],["disableRipple","","matTooltip","This setting means that only builds with no wasted stats are shown.","selected",""],["disableRipple","","matTooltip","EVERY legendary is assumed to be artifice.","selected","","color","warn"],["inline","",2,"height","100%"],["disableRipple","","matTooltip","This setting means that only exotic armor pieces that are already masterworked are used.","selected",""],["disableRipple","","matTooltip","This setting means that only legendary armor pieces are already masterworked are used.","selected",""],["disableRipple","","matTooltip","Some masterwork assumptions are in place. This means that you may have to masterwork items. Look at your advanced settings to see which ones are activated."],["disableRipple","","matTooltip","Collection Exotic rolls will be included in the search."],["disableRipple","","matTooltip","Currently available Vendor items will be included in the search."],["mat-header-cell","","mat-sort-header","Mobility","matTooltip","The mobility of this armor combination."],["mat-cell","",1,"statColumn"],["alt","Mobility","src","https://www.bungie.net/common/destiny2_content/icons/e26e0e93a9daf4fdd21bf64eb9246340.png",1,"statIcon"],["mat-header-cell","","mat-sort-header","Resilience","matTooltip","The resilience of this armor combination."],["alt","Resilience","src","https://www.bungie.net/common/destiny2_content/icons/202ecc1c6febeb6b97dafc856e863140.png",1,"statIcon"],["mat-header-cell","","mat-sort-header","Recovery","matTooltip","The recovery of this armor combination."],["alt","Recovery","src","https://www.bungie.net/common/destiny2_content/icons/128eee4ee7fc127851ab32eac6ca91cf.png",1,"statIcon"],["mat-header-cell","","mat-sort-header","Discipline","matTooltip","The discipline of this armor combination."],["alt","Discipline","src","https://www.bungie.net/common/destiny2_content/icons/79be2d4adef6a19203f7385e5c63b45b.png",1,"statIcon"],["mat-header-cell","","mat-sort-header","Intellect","matTooltip","The intellect of this armor combination."],["alt","Intellect","src","https://www.bungie.net/common/destiny2_content/icons/d1c154469670e9a592c9d4cbdcae5764.png",1,"statIcon"],["mat-header-cell","","mat-sort-header","Strength","matTooltip","The strength of this armor combination."],["alt","Strength","src","https://www.bungie.net/common/destiny2_content/icons/ea5af04ccd6a3470a44fd7bb0f66e2f7.png",1,"statIcon"],["mat-header-cell","","mat-sort-header","Mods","matTooltip","The amount of mods required for each combination. Sorting after this takes the mod cost into account."],["mat-cell",""],[1,"modPreview",3,"mods","artifice"],["mat-header-cell",""],[4,"ngFor","ngForOf"],["class","itemIcon","src","https://www.bungie.net/common/destiny2_content/icons/b4d05ef69d0c3227a7d4f7f35bbc2848.png",4,"ngIf"],[1,"itemIcon",3,"matTooltip","src"],[1,"itemIconWatermark",3,"src"],["src","https://www.bungie.net/common/destiny2_content/icons/b4d05ef69d0c3227a7d4f7f35bbc2848.png",1,"itemIcon"],[1,"source-column"],["matTooltip","This build uses a collection exotic. You have to collect it before you can use it.","class","collectionIcon","src","https://www.bungie.net/common/destiny2_content/icons/1d01287dd47af97fef16fa6acbac23ba.png",4,"ngIf"],["matTooltip","This build uses a vendor item. You have to collect it before you can use it.","class","vendorIcon","src","https://www.bungie.net/common/destiny2_content/icons/8ef4b5bd32277dba9aee7c368404ad5d.jpg",4,"ngIf"],["matTooltip","This build uses a collection exotic. You have to collect it before you can use it.","src","https://www.bungie.net/common/destiny2_content/icons/1d01287dd47af97fef16fa6acbac23ba.png",1,"collectionIcon"],["matTooltip","This build uses a vendor item. You have to collect it before you can use it.","src","https://www.bungie.net/common/destiny2_content/icons/8ef4b5bd32277dba9aee7c368404ad5d.jpg",1,"vendorIcon"],["matTooltip","Click to show details for this build.",4,"ngIf"],["matTooltip","Click to hide details for this build.",4,"ngIf"],["aria-hidden","false","aria-label","Error","class","report-problem-icon","inline","","matTooltip","The stats of this build may be incorrect. Make sure that you remove every positive or negative stat modifier from the marked items.",4,"ngIf"],["matTooltip","Click to show details for this build."],["matTooltip","Click to hide details for this build."],["aria-hidden","false","aria-label","Error","inline","","matTooltip","The stats of this build may be incorrect. Make sure that you remove every positive or negative stat modifier from the marked items.",1,"report-problem-icon"],["mat-header-cell","","mat-sort-header","Tiers","matTooltip","The amount of Tiers in this build. A tier is each successful 10-step of any stat."],["mat-header-cell","","mat-sort-header","Max Tiers","matTooltip","The potential reachable stat tiers with all N stat mods used. As of now, this does NOT take mod filters into consideration."],["mat-header-cell","","mat-sort-header","Waste","matTooltip","How many points are wasted. Any stat not ending in 0 adds to this value."],[1,"example-element-detail"],[3,"element"],["mat-header-row",""],["mat-row","",1,"example-element-row",3,"click"],["mat-row","",1,"example-detail-row"],[1,"flex-spacer"],["mat-raised-button","","color","primary",3,"click"]],template:function(e,o){1&e&&(t.TgZ(0,"mat-card",0)(1,"mat-card-title"),t._uU(2,"Results"),t.qZA(),t.TgZ(3,"mat-card-subtitle"),t.YNc(4,He,3,0,"ng-container",1),t.YNc(5,We,8,0,"ng-container",1),t.qZA(),t.TgZ(6,"mat-card-content")(7,"div")(8,"div",2)(9,"mat-form-field",3)(10,"mat-label"),t._uU(11,"Items Used"),t.qZA(),t._UZ(12,"input",4),t.ALo(13,"number"),t.qZA(),t.TgZ(14,"mat-form-field",3)(15,"mat-label"),t._uU(16,"Combinations generated"),t.qZA(),t._UZ(17,"input",4),t.ALo(18,"number"),t.YNc(19,je,4,3,"mat-icon",5),t.YNc(20,ze,4,3,"mat-icon",5),t.qZA(),t.TgZ(21,"mat-form-field",3)(22,"mat-label"),t._uU(23,"Time required"),t.qZA(),t._UZ(24,"input",4),t.ALo(25,"number"),t.qZA()(),t.TgZ(26,"mat-form-field",6)(27,"mat-label"),t._uU(28,"Summary of important configuration choices"),t.qZA(),t._UZ(29,"input",7),t.TgZ(30,"mat-chip-list",8),t.YNc(31,Ge,3,0,"mat-chip",9),t.YNc(32,Ke,3,0,"mat-chip",10),t.YNc(33,$e,3,0,"mat-chip",11),t.YNc(34,Xe,3,0,"mat-chip",12),t.YNc(35,tn,3,0,"mat-chip",13),t.YNc(36,en,3,0,"mat-chip",14),t.YNc(37,nn,3,0,"mat-chip",15),t.YNc(38,on,3,0,"mat-chip",16),t.YNc(39,an,7,0,"mat-chip",17),t.YNc(40,sn,3,0,"mat-chip",18),t.YNc(41,rn,3,0,"mat-chip",19),t.YNc(42,ln,3,0,"mat-chip",20),t.YNc(43,cn,3,0,"mat-chip",21),t.YNc(44,mn,3,0,"mat-chip",22),t.qZA()(),t.TgZ(45,"div",23)(46,"mat-icon",24),t._uU(47,"info"),t.qZA(),t._uU(48," Note that you can change the sort column and order of the table by clicking on the headers. "),t.qZA(),t.TgZ(49,"table",25),t.ynx(50,26),t.YNc(51,dn,2,0,"th",27),t.YNc(52,un,3,1,"td",28),t.BQk(),t.ynx(53,29),t.YNc(54,pn,2,0,"th",30),t.YNc(55,gn,3,1,"td",28),t.BQk(),t.ynx(56,31),t.YNc(57,_n,2,0,"th",32),t.YNc(58,fn,3,1,"td",28),t.BQk(),t.ynx(59,33),t.YNc(60,hn,2,0,"th",34),t.YNc(61,xn,3,1,"td",28),t.BQk(),t.ynx(62,35),t.YNc(63,yn,2,0,"th",36),t.YNc(64,Tn,3,1,"td",28),t.BQk(),t.ynx(65,37),t.YNc(66,bn,2,0,"th",38),t.YNc(67,Cn,3,1,"td",28),t.BQk(),t.ynx(68,39),t.YNc(69,vn,2,0,"th",40),t.YNc(70,An,2,2,"td",41),t.BQk(),t.ynx(71,42),t.YNc(72,wn,2,0,"th",43),t.YNc(73,In,3,2,"td",41),t.BQk(),t.ynx(74,44),t.YNc(75,kn,2,0,"th",43),t.YNc(76,Dn,4,2,"td",41),t.BQk(),t.ynx(77,45),t.YNc(78,En,1,0,"th",43),t.YNc(79,Nn,4,3,"td",41),t.BQk(),t.ynx(80,46),t.YNc(81,qn,2,0,"th",47),t.YNc(82,Jn,2,1,"td",41),t.BQk(),t.ynx(83,48),t.YNc(84,Yn,2,0,"th",49),t.YNc(85,Ln,2,1,"td",41),t.BQk(),t.ynx(86,50),t.YNc(87,Fn,2,0,"th",51),t.YNc(88,Qn,2,1,"td",41),t.BQk(),t.ynx(89,52),t.YNc(90,Bn,3,3,"td",41),t.BQk(),t.YNc(91,Vn,1,0,"tr",53),t.YNc(92,Hn,1,2,"tr",54),t.YNc(93,Wn,1,0,"tr",55),t.qZA(),t._UZ(94,"mat-paginator",56),t.qZA()(),t.YNc(95,jn,4,0,"mat-card-actions",1),t.qZA()),2&e&&(t.xp6(4),t.Q6J("ngIf",o.totalResults>0),t.xp6(1),t.Q6J("ngIf",0===o.totalResults),t.xp6(7),t.s9C("value",t.lcZ(13,27,o.itemCount)),t.xp6(5),t.s9C("value",t.lcZ(18,29,o.totalResults)),t.xp6(2),t.Q6J("ngIf",o.parsedResults!==o.totalResults&&5e4===o.parsedResults),t.xp6(1),t.Q6J("ngIf",o.parsedResults!==o.totalResults&&1e6===o.parsedResults),t.xp6(4),t.MGl("value","",t.lcZ(25,31,o.totalTime),"ms"),t.xp6(7),t.Q6J("ngIf",o._config_selectedExotics.indexOf(-1)>-1),t.xp6(1),t.Q6J("ngIf",1===o._config_selectedExotics.length&&-1===o._config_selectedExotics.indexOf(-1)),t.xp6(1),t.Q6J("ngIf",o._config_selectedExotics.length>1&&-1===o._config_selectedExotics.indexOf(-1)),t.xp6(1),t.Q6J("ngIf",0===o._config_maximumStatMods),t.xp6(1),t.Q6J("ngIf",o._config_tryLimitWastedStats),t.xp6(1),t.Q6J("ngIf",o._config_modslotLimitation.length>0),t.xp6(1),t.Q6J("ngIf",o._config_armorPerkLimitation.length>0),t.xp6(1),t.Q6J("ngIf",o._config_onlyShowResultsWithNoWastedStats),t.xp6(1),t.Q6J("ngIf",o._config_assumeEveryLegendaryIsArtifice),t.xp6(1),t.Q6J("ngIf",o._config_onlyUseMasterworkedExotics),t.xp6(1),t.Q6J("ngIf",o._config_onlyUseMasterworkedLegendaries),t.xp6(1),t.Q6J("ngIf",!o._config_onlyUseMasterworkedExotics&&!o._config_onlyUseMasterworkedLegendaries&&(o._config_assumeLegendariesMasterworked||o._config_assumeExoticsMasterworked||o._config_assumeClassItemMasterworked)),t.xp6(1),t.Q6J("ngIf",o._config_includeCollectionRolls),t.xp6(1),t.Q6J("ngIf",o._config_includeVendorRolls),t.xp6(5),t.Q6J("dataSource",o.tableDataSource),t.xp6(42),t.Q6J("matHeaderRowDef",o.shownColumns),t.xp6(1),t.Q6J("matRowDefColumns",o.shownColumns),t.xp6(1),t.Q6J("matRowDefColumns",t.DdM(33,zn)),t.xp6(1),t.Q6J("pageSizeOptions",t.DdM(34,Gn)),t.xp6(1),t.Q6J("ngIf",o.totalResults>0))},styles:["#card-results[_ngcontent-%COMP%]{display:inline-block;vertical-align:top;white-space:normal;width:-moz-fit-content;width:fit-content;margin-left:3px}.statColumn[_ngcontent-%COMP%]{position:relative}.statIcon[_ngcontent-%COMP%]{position:absolute;height:22px;margin-left:2px;top:11px}.itemIcon[_ngcontent-%COMP%]{width:32px;height:32px;margin-right:3px}.itemIconWatermark[_ngcontent-%COMP%]{width:32px;height:32px;margin-right:3px;margin-left:-35px;pointer-events:none}.source-column[_ngcontent-%COMP%]{float:left}.source-column[_ngcontent-%COMP%] img[_ngcontent-%COMP%]:nth-of-type(2){margin-top:5px;margin-bottom:-3px}.collectionIcon[_ngcontent-%COMP%], .vendorIcon[_ngcontent-%COMP%]{width:32px;margin-left:3px;display:block}tr.example-element-row[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom-width:0}tr.example-detail-row[_ngcontent-%COMP%]{height:0!important}.example-element-detail[_ngcontent-%COMP%]{overflow:hidden;display:flex}.report-problem-icon[_ngcontent-%COMP%]{color:#f08080}.hint-text[_ngcontent-%COMP%]{font-size:small;color:#d5d5d5}[_nghost-%COMP%] .info-box .mat-form-field-wrapper{padding-bottom:5px!important;cursor:default}.hidden-input[_ngcontent-%COMP%]{display:none}.config-summary-box[_ngcontent-%COMP%]{width:100%}.result-table[_ngcontent-%COMP%] tr.example-element-row[_ngcontent-%COMP%]{cursor:pointer}.mat-row[_ngcontent-%COMP%]:nth-child(4n+3){background-color:#7474741a}.warning-none-found[_ngcontent-%COMP%]{color:red}.no-found-sadcat-container[_ngcontent-%COMP%]{width:20px;position:relative;display:inline-block}.no-found-sadcat[_ngcontent-%COMP%]{position:absolute;width:18px;top:-1px}.cdk-column-exotic[_ngcontent-%COMP%]{min-width:45px}.cdk-column-waste[_ngcontent-%COMP%]{padding-left:5px}"],data:{animation:[(0,F.X$)("detailExpand",[(0,F.SB)("collapsed, void",(0,F.oB)({height:"0px"})),(0,F.SB)("expanded",(0,F.oB)({height:"*"})),(0,F.eR)("expanded <=> collapsed",(0,F.jt)("225ms cubic-bezier(0.4, 0.0, 0.2, 1)")),(0,F.eR)("expanded <=> void",(0,F.jt)("225ms cubic-bezier(0.4, 0.0, 0.2, 1)"))])]}}),n})();const Kn={2:{shards:1,glimmer:500,core:0,prism:0,ascshard:0},3:{shards:1,glimmer:500,core:0,prism:0,ascshard:0},4:{shards:2,glimmer:500,core:0,prism:0,ascshard:0},5:{shards:2,glimmer:1e3,core:0,prism:0,ascshard:0},6:{shards:3,glimmer:1e3,core:1,prism:0,ascshard:0},7:{shards:3,glimmer:2500,core:2,prism:0,ascshard:0},8:{shards:4,glimmer:3e3,core:0,prism:1,ascshard:0},9:{shards:4,glimmer:3e3,core:0,prism:2,ascshard:0},10:{shards:5,glimmer:4e3,core:0,prism:0,ascshard:1}},$n={2:{shards:1,glimmer:500,core:0,prism:0,ascshard:0},3:{shards:2,glimmer:1e3,core:0,prism:0,ascshard:0},4:{shards:2,glimmer:1e3,core:0,prism:0,ascshard:0},5:{shards:3,glimmer:2500,core:0,prism:0,ascshard:0},6:{shards:3,glimmer:3e3,core:2,prism:0,ascshard:0},7:{shards:4,glimmer:3e3,core:3,prism:0,ascshard:0},8:{shards:4,glimmer:4e3,core:0,prism:2,ascshard:0},9:{shards:5,glimmer:4e3,core:0,prism:3,ascshard:0},10:{shards:6,glimmer:5e3,core:0,prism:0,ascshard:3}};var Vt=_(7009),Xn=_(1572),wt=_(4425),Nt=_(4080);const to={[E.Inventory]:"Inventory",[E.Collections]:"Collections",[E.Vendor]:"Vendor"};let eo=(()=>{class n{constructor(e){this.database=e}transform(e){var o=this;return(0,m.Z)(function*(){return(yield o.database.vendorNames.where("vendorId").equals(e).first())?.vendorName??"Unknown Vendor"})()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(et,16))},n.\u0275pipe=t.Yjl({name:"getVendorName",type:n,pure:!0}),n})(),no=(()=>{class n{constructor(){}transform(e){if(!e||!e.startsWith("v"))return-1;const o=parseInt(e.substring(1).split("-")[0]);return isNaN(o)?-1:o}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275pipe=t.Yjl({name:"getVendorIdFromItemId",type:n,pure:!0}),n})();function oo(n,i){if(1&n&&(t.TgZ(0,"tr")(1,"td"),t._uU(2,"Vendor"),t.qZA(),t.TgZ(3,"td",2),t._uU(4),t.ALo(5,"async"),t.ALo(6,"getVendorName"),t.ALo(7,"getVendorIdFromItemId"),t.qZA()()),2&n){const e=t.oxw();t.xp6(4),t.Oqu(t.lcZ(5,1,t.lcZ(6,3,t.lcZ(7,5,e.itemTooltip.itemInstanceId))))}}function io(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw().$implicit;t.xp6(1),t.Oqu(e)}}function ao(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw().$implicit;t.xp6(1),t.Oqu(e+2)}}function so(n,i){if(1&n&&(t.TgZ(0,"div",8),t._uU(1,"\xa0"),t.qZA()),2&n){const e=t.oxw(2);t.Udp("width",e.getWidth(2))}}function ro(n,i){if(1&n&&(t.TgZ(0,"tr")(1,"td"),t._uU(2),t.qZA(),t.TgZ(3,"td"),t.YNc(4,io,2,1,"span",3),t.YNc(5,ao,2,1,"span",3),t.qZA(),t.TgZ(6,"td")(7,"div",5)(8,"div",6),t._uU(9,"\xa0"),t.qZA(),t.YNc(10,so,2,2,"div",7),t.qZA()()()),2&n){const e=i.$implicit,o=i.index,a=t.oxw();t.xp6(2),t.Oqu(a.getArmorStatName(o)),t.xp6(2),t.Q6J("ngIf",!(null!=a.itemTooltip&&a.itemTooltip.masterworked)),t.xp6(1),t.Q6J("ngIf",null==a.itemTooltip?null:a.itemTooltip.masterworked),t.xp6(3),t.Udp("width",a.getWidth(e)),t.xp6(2),t.Q6J("ngIf",null==a.itemTooltip?null:a.itemTooltip.masterworked)}}let lo=(()=>{class n{constructor(){}getSourceText(){return this.itemTooltip?to[this.itemTooltip.source]:""}getArmorStatName(e){return r.Mi[e]}getWidth(e){return Math.min(100,e/32*100)+"%"}getTotalStats(){return this.itemTooltip?.stats.reduce((e,o)=>e+o,0)||0}get isVendorItem(){return this.itemTooltip?.source===E.Vendor}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-armor-tooltip-component"]],inputs:{itemTooltip:"itemTooltip"},decls:21,vars:5,consts:[[1,"tooltip-container"],["colspan","3"],["colspan","2"],[4,"ngIf"],[4,"ngFor","ngForOf"],[1,"stat-display"],[1,"stat-display-bar"],["class","stat-display-bar masterwork",3,"width",4,"ngIf"],[1,"stat-display-bar","masterwork"]],template:function(e,o){1&e&&(t.TgZ(0,"div")(1,"div",0)(2,"table")(3,"tr")(4,"td",1),t._uU(5),t.qZA()(),t.TgZ(6,"tr")(7,"td"),t._uU(8,"Source"),t.qZA(),t.TgZ(9,"td",2),t._uU(10),t.qZA()(),t.YNc(11,oo,8,7,"tr",3),t.TgZ(12,"tr")(13,"td"),t._uU(14,"Current stats:"),t.qZA()(),t.YNc(15,ro,11,6,"tr",4),t.TgZ(16,"tr")(17,"td"),t._uU(18,"Total base stats:"),t.qZA(),t.TgZ(19,"td"),t._uU(20),t.qZA()()()()()),2&e&&(t.xp6(5),t.Oqu(null==o.itemTooltip?null:o.itemTooltip.name),t.xp6(5),t.Oqu(o.getSourceText()),t.xp6(1),t.Q6J("ngIf",o.isVendorItem&&o.itemTooltip),t.xp6(4),t.Q6J("ngForOf",null==o.itemTooltip?null:o.itemTooltip.stats),t.xp6(5),t.hij(" ",o.getTotalStats()," "))},dependencies:[T.sg,T.O5,T.Ov,no,eo],styles:[".tooltip-container[_ngcontent-%COMP%]{border:1px solid gray;padding:1px 5px 4px;background:linear-gradient(#484848 0px,#2c2c2c 100%)}.stat-display[_ngcontent-%COMP%]{width:70px;height:20px;background-color:#2c2c2c}.stat-display-bar[_ngcontent-%COMP%]{height:100%;background-color:#a1a1a1;float:left}.masterwork[_ngcontent-%COMP%]{background-color:#eedb9e}"]}),n})();var pt=_(8184);let co=(()=>{class n{constructor(e,o,a){this._overlay=e,this._overlayPositionBuilder=o,this._elementRef=a,this.showToolTip=!0}ngOnInit(){if(!this.showToolTip)return;const e=this._overlayPositionBuilder.flexibleConnectedTo(this._elementRef).withPositions([{originX:"center",originY:"bottom",overlayX:"center",overlayY:"top",offsetY:5},{originX:"center",originY:"top",overlayX:"center",overlayY:"bottom",offsetY:-5}]);this._overlayRef=this._overlay.create({positionStrategy:e}),this._overlayRef.addPanelClass("overlay-no-pointer-event")}show(){this._overlayRef&&!this._overlayRef.hasAttached()&&(this._overlayRef.attach(new Nt.C5(lo)).instance.itemTooltip=this.itemTooltip)}hide(){this.closeToolTip()}ngOnDestroy(){this.closeToolTip()}closeToolTip(){this._overlayRef&&this._overlayRef.detach()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(pt.aV),t.Y36(pt.wJ),t.Y36(t.SBq))},n.\u0275dir=t.lG2({type:n,selectors:[["","itemTooltip",""]],hostBindings:function(e,o){1&e&&t.NdJ("mouseenter",function(){return o.show()})("mouseleave",function(){return o.hide()})},inputs:{showToolTip:"showToolTip",itemTooltip:"itemTooltip",contentTemplate:"contentTemplate"}}),n})(),de=(()=>{class n{constructor(e){this.db=e,this.itemLookup=new Map}getItemCached(e){var o=this;return(0,m.Z)(function*(){if(o.itemLookup.has(e))return o.itemLookup.get(e)||void 0;const a=yield o.db.manifestArmor.where("hash").equals(e).first();return o.itemLookup.set(e,a),a})()}getExoticPerkDescription(e){var o=this;return(0,m.Z)(function*(){return e.exoticPerkHash?(yield o.getItemCached(e.exoticPerkHash))??null:null})()}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(et))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function mo(n,i){if(1&n&&t._UZ(0,"img",6,7),2&n){const e=t.oxw(2);t.MGl("src","https://bungie.net/",e.item.icon,"",t.LSH),t.s9C("matTooltip",e.item.name)}}function uo(n,i){if(1&n&&t._UZ(0,"img",8),2&n){const e=t.oxw(2);t.MGl("src","https://bungie.net/",e.item.watermarkIcon,"",t.LSH)}}function po(n,i){if(1&n&&t._UZ(0,"div",9),2&n){const e=t.oxw(2);t.ekj("vendor-item",e.isFromVendor)("collection-item",e.isFromCollection)}}function go(n,i){1&n&&t._UZ(0,"div",10)}function _o(n,i){if(1&n&&(t.TgZ(0,"div",1),t.YNc(1,mo,2,2,"img",2),t.YNc(2,uo,1,1,"img",3),t.YNc(3,po,1,4,"div",4),t.YNc(4,go,1,0,"div",5),t.qZA()),2&n){const e=t.oxw();t.xp6(1),t.Q6J("ngIf",e.item.icon),t.xp6(1),t.Q6J("ngIf",e.item.watermarkIcon),t.xp6(1),t.Q6J("ngIf",e.isFromVendor||e.isFromCollection),t.xp6(1),t.Q6J("ngIf",e.masterworked)}}let Ht=(()=>{class n{constructor(e){this.iconService=e,this.itemHash=0,this.masterworked=!1,this.source=E.Inventory,this.isFromVendor=!1,this.isFromCollection=!1,this.item=void 0}ngAfterViewInit(){var e=this;return(0,m.Z)(function*(){e.item=yield e.iconService.getItemCached(e.itemHash),e.isFromVendor=e.source===E.Vendor,e.isFromCollection=e.source===E.Collections})()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(de))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-item-icon"]],inputs:{itemHash:"itemHash",masterworked:"masterworked",source:"source"},decls:1,vars:1,consts:[["class","item-icon-container",4,"ngIf"],[1,"item-icon-container"],["class","item-icon",3,"src","matTooltip",4,"ngIf"],["class","item-icon-overlay",3,"src",4,"ngIf"],["class","item-source-overlay",3,"vendor-item","collection-item",4,"ngIf"],["class","item-icon-masterwork-overlay",4,"ngIf"],[1,"item-icon",3,"src","matTooltip"],["tooltip","matTooltip"],[1,"item-icon-overlay",3,"src"],[1,"item-source-overlay"],[1,"item-icon-masterwork-overlay"]],template:function(e,o){1&e&&t.YNc(0,_o,5,4,"div",0),2&e&&t.Q6J("ngIf",o.item)},dependencies:[T.O5,N.gM],styles:["[_nghost-%COMP%]{height:22px;width:22px;display:block}.item-icon-masterwork-overlay[_ngcontent-%COMP%]{pointer-events:none;box-sizing:border-box;top:-1px;left:-1px;border-width:0;height:24px;width:24px;position:absolute;background-repeat:no-repeat;background-position:center;background-size:22px 22px;background-image:url(data:image/png;base64,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)}.item-icon-container[_ngcontent-%COMP%]{position:relative;transition:opacity .2s,transform .2s;width:100%;--icon-size: 22px}.item-icon-overlay[_ngcontent-%COMP%], .item-icon[_ngcontent-%COMP%]{position:absolute;left:0;top:0;width:100%;pointer-events:none}.item-source-overlay[_ngcontent-%COMP%]{position:absolute;left:0;top:0;width:0;pointer-events:none;border-top:calc(var(--icon-size) / 2) solid transparent;border-right:calc(var(--icon-size) / 2) solid transparent}.item-source-overlay.vendor-item[_ngcontent-%COMP%]{border-top-color:#00f}.item-source-overlay.collection-item[_ngcontent-%COMP%]{border-top-color:#90ee90}"]}),n})();function fo(n,i){if(1&n&&t._UZ(0,"img",5),2&n){const e=t.oxw(2);t.s9C("src",e.url,t.LSH)}}function ho(n,i){if(1&n&&(t.ynx(0),t._UZ(1,"img",2,3),t.YNc(3,fo,1,1,"img",4),t.BQk()),2&n){const e=t.oxw();t.xp6(1),t.s9C("matTooltip",e.name),t.xp6(2),t.Q6J("ngIf",e.customIconMods.indexOf(e.perk)>-1)}}function xo(n,i){if(1&n&&(t.ynx(0),t._UZ(1,"img",6,3),t.BQk()),2&n){const e=t.oxw();t.xp6(1),t.s9C("matTooltip",e.name),t.s9C("src",e.url,t.LSH)}}let Wt=(()=>{class n{constructor(){this.ArmorPerkOrSlot=r.Pn,this.customIconMods=[r.Pn.SlotCrotasEnd,r.Pn.SlotRootOfNightmares,r.Pn.SlotKingsFall,r.Pn.SlotVowOfTheDisciple,r.Pn.SlotArtifice],this.perk=r.Pn.None}get name(){return r.cM[this.perk]}get url(){return r.X9[this.perk]}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-armor-perk-icon"]],inputs:{perk:"perk"},decls:3,vars:2,consts:[[1,"overlay-icon-container"],[4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/b4d05ef69d0c3227a7d4f7f35bbc2848.png",1,"element-icon",3,"matTooltip"],["tooltip","matTooltip"],["class","overlay-icon",3,"src",4,"ngIf"],[1,"overlay-icon",3,"src"],[1,"element-icon",3,"matTooltip","src"]],template:function(e,o){1&e&&(t.TgZ(0,"span",0),t.YNc(1,ho,4,2,"ng-container",1),t.YNc(2,xo,3,2,"ng-container",1),t.qZA()),2&e&&(t.xp6(1),t.Q6J("ngIf",o.customIconMods.indexOf(o.perk)>-1),t.xp6(1),t.Q6J("ngIf",-1===o.customIconMods.indexOf(o.perk)))},dependencies:[T.O5,N.gM],styles:[".element-icon[_ngcontent-%COMP%]{height:100%;width:100%}.element-icon.disabled[_ngcontent-%COMP%]{opacity:.5;cursor:default;pointer-events:none}.overlay-icon-container[_ngcontent-%COMP%]{position:relative}.overlay-icon-container[_ngcontent-%COMP%] .overlay-icon[_ngcontent-%COMP%]{width:66%;position:absolute;left:17%;top:17%;pointer-events:none}[_nghost-%COMP%]{display:inline-flex;height:30px;width:30px}"]}),n})(),ue=(()=>{class n{transform(e,o=null){return e.filter(a=>null==o||a==o).length}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275pipe=t.Yjl({name:"count",type:n,pure:!0}),n})();function yo(n,i){1&n&&(t.TgZ(0,"mat-toolbar",24),t._uU(1," Warning: The stats of one or more items used for this build may be invalid."),t._UZ(2,"br"),t._uU(3," Please remove all negative/positive stat modifiers from the marked items. "),t.qZA())}function To(n,i){if(1&n&&(t.TgZ(0,"u",34,35),t._uU(2),t.qZA()),2&n){const e=t.oxw().$implicit;t.xp6(2),t.Oqu(e.name)}}function bo(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw().$implicit;t.xp6(1),t.Oqu(e.name)}}function Co(n,i){if(1&n&&(t.ynx(0),t.TgZ(1,"td",36)(2,"span",37),t._uU(3),t.qZA()(),t.TgZ(4,"td",36)(5,"span",37),t._uU(6),t.qZA()(),t.TgZ(7,"td",36)(8,"span",37),t._uU(9),t.qZA()(),t.TgZ(10,"td",36)(11,"span",37),t._uU(12),t.qZA()(),t.TgZ(13,"td",36)(14,"span",37),t._uU(15),t.qZA()(),t.TgZ(16,"td",36)(17,"span",37),t._uU(18),t.qZA()(),t.BQk()),2&n){const e=i.ngVar,o=t.oxw().$implicit,a=t.oxw(2);t.xp6(2),t.ekj("text-mw",o.masterworked),t.xp6(1),t.Oqu(o.stats[a.ArmorStat.Mobility]+e),t.xp6(2),t.ekj("text-mw",o.masterworked),t.xp6(1),t.Oqu(o.stats[a.ArmorStat.Resilience]+e),t.xp6(2),t.ekj("text-mw",o.masterworked),t.xp6(1),t.Oqu(o.stats[a.ArmorStat.Recovery]+e),t.xp6(2),t.ekj("text-mw",o.masterworked),t.xp6(1),t.Oqu(o.stats[a.ArmorStat.Discipline]+e),t.xp6(2),t.ekj("text-mw",o.masterworked),t.xp6(1),t.Oqu(o.stats[a.ArmorStat.Intellect]+e),t.xp6(2),t.ekj("text-mw",o.masterworked),t.xp6(1),t.Oqu(o.stats[a.ArmorStat.Strength]+e)}}function vo(n,i){1&n&&(t.TgZ(0,"td",27),t._UZ(1,"mat-progress-spinner",38),t.qZA())}function Ao(n,i){1&n&&(t.TgZ(0,"td")(1,"mat-icon",39,35),t._uU(3," check_circle_outline "),t.qZA()())}function wo(n,i){1&n&&(t.TgZ(0,"td")(1,"mat-icon",40,35),t._uU(3," error_outline "),t.qZA()())}function Zo(n,i){1&n&&(t.TgZ(0,"td")(1,"mat-icon",41,35),t._uU(3," report_problem "),t.qZA()())}function So(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"tr")(1,"td"),t.YNc(2,To,3,1,"u",26),t.YNc(3,bo,2,1,"span",3),t.qZA(),t.YNc(4,Co,19,18,"ng-container",8),t.TgZ(5,"td",27)(6,"div",28),t._UZ(7,"app-item-icon",29),t.qZA()(),t.TgZ(8,"td",27)(9,"div",30),t._UZ(10,"app-armor-perk-icon",31),t.qZA()(),t.TgZ(11,"td",27)(12,"button",32),t.NdJ("click",function(){const s=t.CHM(e).$implicit,l=t.oxw(2);return t.KtG(l.disableItem(s.itemInstanceId))}),t.TgZ(13,"mat-icon"),t._uU(14,"block"),t.qZA()()(),t.YNc(15,vo,2,0,"td",33),t.YNc(16,Ao,4,0,"td",3),t.YNc(17,wo,4,0,"td",3),t.YNc(18,Zo,4,0,"td",3),t.qZA()}if(2&n){const e=i.$implicit,o=t.oxw().$implicit,a=t.oxw();t.ekj("highlight-row",o[0].slot%2==0),t.xp6(2),t.Q6J("ngIf",e.masterworked),t.xp6(1),t.Q6J("ngIf",!e.masterworked),t.xp6(1),t.Q6J("ngVar",e.masterworked||!e.exotic&&a.config_assumeLegendariesMasterworked||e.exotic&&a.config_assumeExoticsMasterworked?2:0),t.xp6(2),t.Q6J("itemTooltip",e),t.xp6(1),t.Q6J("itemHash",e.hash)("masterworked",e.masterworked)("source",e.source),t.xp6(3),t.Q6J("perk",e.perk||0),t.xp6(5),t.Q6J("ngIf",1===e.transferState||2===e.transferState),t.xp6(1),t.Q6J("ngIf",3===e.transferState),t.xp6(1),t.Q6J("ngIf",4===e.transferState),t.xp6(1),t.Q6J("ngIf",e.mayBeBugged)}}function Io(n,i){if(1&n&&(t.ynx(0),t.YNc(1,So,19,14,"tr",25),t.BQk()),2&n){const e=i.$implicit;t.xp6(1),t.Q6J("ngForOf",e)}}function ko(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"tr")(1,"td",42,35),t._uU(3,"Any Class Item"),t.qZA(),t.TgZ(4,"td",43),t._uU(5),t.qZA(),t.TgZ(6,"td",43),t._uU(7),t.qZA(),t.TgZ(8,"td",43),t._uU(9),t.qZA(),t.TgZ(10,"td",43),t._uU(11),t.qZA(),t.TgZ(12,"td",43),t._uU(13),t.qZA(),t.TgZ(14,"td",43),t._uU(15),t.qZA(),t._UZ(16,"td"),t.TgZ(17,"td")(18,"div",30),t._UZ(19,"app-armor-perk-icon",31),t.qZA()(),t.TgZ(20,"td")(21,"button",44),t.NdJ("click",function(){t.CHM(e);const a=t.oxw();return t.KtG(a.disableAllItems())}),t.TgZ(22,"mat-icon"),t._uU(23,"block"),t.qZA()()()()}if(2&n){const e=t.oxw();t.xp6(5),t.Oqu(2),t.xp6(2),t.Oqu(2),t.xp6(2),t.Oqu(2),t.xp6(2),t.Oqu(2),t.xp6(2),t.Oqu(2),t.xp6(2),t.Oqu(2),t.xp6(4),t.Q6J("perk",(null==e.element||null==e.element.classItem?null:e.element.classItem.perk)||0)}}function Oo(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"tr")(1,"td"),t._uU(2,"Any Class Item"),t.qZA(),t.TgZ(3,"td",45),t._uU(4,"You chose to use non-masterworked class items."),t.qZA(),t._UZ(5,"td")(6,"td"),t.TgZ(7,"td")(8,"button",44),t.NdJ("click",function(){t.CHM(e);const a=t.oxw();return t.KtG(a.disableAllItems())}),t.TgZ(9,"mat-icon"),t._uU(10,"block"),t.qZA()()()()}}function Mo(n,i){if(1&n&&(t.TgZ(0,"td"),t._uU(1),t._UZ(2,"img",47),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw();t.xp6(1),t.hij(" ",e[o.ArmorStat.Mobility]," ")}}function Do(n,i){if(1&n&&(t.TgZ(0,"td"),t._uU(1),t._UZ(2,"img",48),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw();t.xp6(1),t.hij(" ",e[o.ArmorStat.Resilience]," ")}}function Eo(n,i){if(1&n&&(t.TgZ(0,"td"),t._uU(1),t._UZ(2,"img",49),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw();t.xp6(1),t.hij(" ",e[o.ArmorStat.Recovery]," ")}}function Uo(n,i){if(1&n&&(t.TgZ(0,"td"),t._uU(1),t._UZ(2,"img",50),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw();t.xp6(1),t.hij(" ",e[o.ArmorStat.Discipline]," ")}}function Po(n,i){if(1&n&&(t.TgZ(0,"td"),t._uU(1),t._UZ(2,"img",51),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw();t.xp6(1),t.hij(" ",e[o.ArmorStat.Intellect]," ")}}function Ro(n,i){if(1&n&&(t.TgZ(0,"td"),t._uU(1),t._UZ(2,"img",52),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw();t.xp6(1),t.hij(" ",e[o.ArmorStat.Strength]," ")}}function No(n,i){if(1&n&&(t.TgZ(0,"tr",46)(1,"td"),t._uU(2,"Total (armor)"),t.qZA(),t.YNc(3,Mo,3,1,"td",3),t.YNc(4,Do,3,1,"td",3),t.YNc(5,Eo,3,1,"td",3),t.YNc(6,Uo,3,1,"td",3),t.YNc(7,Po,3,1,"td",3),t.YNc(8,Ro,3,1,"td",3),t.qZA()),2&n){const e=i.ngVar;t.xp6(3),t.Q6J("ngIf",!!e),t.xp6(1),t.Q6J("ngIf",!!e),t.xp6(1),t.Q6J("ngIf",!!e),t.xp6(1),t.Q6J("ngIf",!!e),t.xp6(1),t.Q6J("ngIf",!!e),t.xp6(1),t.Q6J("ngIf",!!e)}}function qo(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"+"),t.qZA())}function Jo(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,qo,2,0,"span",3),t._uU(2),t.qZA()),2&n){const e=t.oxw();t.Tol(e.configValues[e.ArmorStat.Mobility]>0?"positive":"negative"),t.xp6(1),t.Q6J("ngIf",e.configValues[e.ArmorStat.Mobility]>0),t.xp6(1),t.hij("",e.configValues[e.ArmorStat.Mobility]," ")}}function Yo(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"+"),t.qZA())}function Lo(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,Yo,2,0,"span",3),t._uU(2),t.qZA()),2&n){const e=t.oxw();t.Tol(e.configValues[e.ArmorStat.Resilience]>0?"positive":"negative"),t.xp6(1),t.Q6J("ngIf",e.configValues[e.ArmorStat.Resilience]>0),t.xp6(1),t.hij("",e.configValues[e.ArmorStat.Resilience]," ")}}function Fo(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"+"),t.qZA())}function Qo(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,Fo,2,0,"span",3),t._uU(2),t.qZA()),2&n){const e=t.oxw();t.Tol(e.configValues[e.ArmorStat.Recovery]>0?"positive":"negative"),t.xp6(1),t.Q6J("ngIf",e.configValues[e.ArmorStat.Recovery]>0),t.xp6(1),t.hij("",e.configValues[e.ArmorStat.Recovery]," ")}}function Bo(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"+"),t.qZA())}function Vo(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,Bo,2,0,"span",3),t._uU(2),t.qZA()),2&n){const e=t.oxw();t.Tol(e.configValues[e.ArmorStat.Discipline]>0?"positive":"negative"),t.xp6(1),t.Q6J("ngIf",e.configValues[e.ArmorStat.Discipline]>0),t.xp6(1),t.hij("",e.configValues[e.ArmorStat.Discipline]," ")}}function Ho(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"+"),t.qZA())}function Wo(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,Ho,2,0,"span",3),t._uU(2),t.qZA()),2&n){const e=t.oxw();t.Tol(e.configValues[e.ArmorStat.Intellect]>0?"positive":"negative"),t.xp6(1),t.Q6J("ngIf",e.configValues[e.ArmorStat.Intellect]>0),t.xp6(1),t.hij("",e.configValues[e.ArmorStat.Intellect]," ")}}function jo(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"+"),t.qZA())}function zo(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,jo,2,0,"span",3),t._uU(2),t.qZA()),2&n){const e=t.oxw();t.Tol(e.configValues[e.ArmorStat.Strength]>0?"positive":"negative"),t.xp6(1),t.Q6J("ngIf",e.configValues[e.ArmorStat.Strength]>0),t.xp6(1),t.hij("",e.configValues[e.ArmorStat.Strength]," ")}}function Go(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd75")}}function Ko(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,Go,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function $o(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd75")}}function Xo(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,$o,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function ti(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd75")}}function ei(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,ti,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function ni(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd75")}}function oi(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,ni,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function ii(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd75")}}function ai(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,ii,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function si(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd75")}}function ri(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,si,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function li(n,i){if(1&n&&(t.TgZ(0,"tr",53)(1,"td"),t._uU(2,"Minor Mods"),t.qZA(),t.YNc(3,Ko,2,1,"td",8),t.ALo(4,"count"),t.YNc(5,Xo,2,1,"td",8),t.ALo(6,"count"),t.YNc(7,ei,2,1,"td",8),t.ALo(8,"count"),t.YNc(9,oi,2,1,"td",8),t.ALo(10,"count"),t.YNc(11,ai,2,1,"td",8),t.ALo(12,"count"),t.YNc(13,ri,2,1,"td",8),t.ALo(14,"count"),t.qZA()),2&n){const e=i.ngVar,o=t.oxw();t.xp6(3),t.Q6J("ngVar",t.xi3(4,6,e,o.StatModifier.MINOR_MOBILITY)),t.xp6(2),t.Q6J("ngVar",t.xi3(6,9,e,o.StatModifier.MINOR_RESILIENCE)),t.xp6(2),t.Q6J("ngVar",t.xi3(8,12,e,o.StatModifier.MINOR_RECOVERY)),t.xp6(2),t.Q6J("ngVar",t.xi3(10,15,e,o.StatModifier.MINOR_DISCIPLINE)),t.xp6(2),t.Q6J("ngVar",t.xi3(12,18,e,o.StatModifier.MINOR_INTELLECT)),t.xp6(2),t.Q6J("ngVar",t.xi3(14,21,e,o.StatModifier.MINOR_STRENGTH))}}function ci(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd710")}}function mi(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,ci,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function di(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd710")}}function ui(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,di,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function pi(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd710")}}function gi(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,pi,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function _i(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd710")}}function fi(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,_i,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function hi(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd710")}}function xi(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,hi,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function yi(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd710")}}function Ti(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,yi,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function bi(n,i){if(1&n&&(t.TgZ(0,"tr")(1,"td"),t._uU(2,"Major Mods"),t.qZA(),t.YNc(3,mi,2,1,"td",8),t.ALo(4,"count"),t.YNc(5,ui,2,1,"td",8),t.ALo(6,"count"),t.YNc(7,gi,2,1,"td",8),t.ALo(8,"count"),t.YNc(9,fi,2,1,"td",8),t.ALo(10,"count"),t.YNc(11,xi,2,1,"td",8),t.ALo(12,"count"),t.YNc(13,Ti,2,1,"td",8),t.ALo(14,"count"),t.qZA()),2&n){const e=i.ngVar,o=t.oxw();t.xp6(3),t.Q6J("ngVar",t.xi3(4,6,e,o.StatModifier.MAJOR_MOBILITY)),t.xp6(2),t.Q6J("ngVar",t.xi3(6,9,e,o.StatModifier.MAJOR_RESILIENCE)),t.xp6(2),t.Q6J("ngVar",t.xi3(8,12,e,o.StatModifier.MAJOR_RECOVERY)),t.xp6(2),t.Q6J("ngVar",t.xi3(10,15,e,o.StatModifier.MAJOR_DISCIPLINE)),t.xp6(2),t.Q6J("ngVar",t.xi3(12,18,e,o.StatModifier.MAJOR_INTELLECT)),t.xp6(2),t.Q6J("ngVar",t.xi3(14,21,e,o.StatModifier.MAJOR_STRENGTH))}}function Ci(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd73")}}function vi(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,Ci,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function Ai(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd73")}}function wi(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,Ai,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function Zi(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd73")}}function Si(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,Zi,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function Ii(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd73")}}function ki(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,Ii,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function Oi(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd73")}}function Mi(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,Oi,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function Di(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd73")}}function Ei(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,Di,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function Ui(n,i){if(1&n&&(t.ynx(0),t.TgZ(1,"tr")(2,"td"),t._uU(3,"Artifice Mods"),t.qZA(),t.YNc(4,vi,2,1,"td",8),t.ALo(5,"count"),t.YNc(6,wi,2,1,"td",8),t.ALo(7,"count"),t.YNc(8,Si,2,1,"td",8),t.ALo(9,"count"),t.YNc(10,ki,2,1,"td",8),t.ALo(11,"count"),t.YNc(12,Mi,2,1,"td",8),t.ALo(13,"count"),t.YNc(14,Ei,2,1,"td",8),t.ALo(15,"count"),t.qZA(),t.BQk()),2&n){const e=i.ngVar,o=t.oxw();t.xp6(4),t.Q6J("ngVar",t.xi3(5,6,e,o.StatModifier.ARTIFICE_MOBILITY)),t.xp6(2),t.Q6J("ngVar",t.xi3(7,9,e,o.StatModifier.ARTIFICE_RESILIENCE)),t.xp6(2),t.Q6J("ngVar",t.xi3(9,12,e,o.StatModifier.ARTIFICE_RECOVERY)),t.xp6(2),t.Q6J("ngVar",t.xi3(11,15,e,o.StatModifier.ARTIFICE_DISCIPLINE)),t.xp6(2),t.Q6J("ngVar",t.xi3(13,18,e,o.StatModifier.ARTIFICE_INTELLECT)),t.xp6(2),t.Q6J("ngVar",t.xi3(15,21,e,o.StatModifier.ARTIFICE_STRENGTH))}}function Pi(n,i){if(1&n&&(t.TgZ(0,"tr",56)(1,"td"),t._uU(2,"Total"),t.qZA(),t.TgZ(3,"td"),t._uU(4),t._UZ(5,"img",47),t.qZA(),t.TgZ(6,"td"),t._uU(7),t._UZ(8,"img",48),t.qZA(),t.TgZ(9,"td"),t._uU(10),t._UZ(11,"img",49),t.qZA(),t.TgZ(12,"td"),t._uU(13),t._UZ(14,"img",50),t.qZA(),t.TgZ(15,"td"),t._uU(16),t._UZ(17,"img",51),t.qZA(),t.TgZ(18,"td"),t._uU(19),t._UZ(20,"img",52),t.qZA()()),2&n){const e=i.ngVar,o=t.oxw();t.xp6(4),t.hij(" ",e[o.ArmorStat.Mobility]," "),t.xp6(3),t.hij(" ",e[o.ArmorStat.Resilience]," "),t.xp6(3),t.hij(" ",e[o.ArmorStat.Recovery]," "),t.xp6(3),t.hij(" ",e[o.ArmorStat.Discipline]," "),t.xp6(3),t.hij(" ",e[o.ArmorStat.Intellect]," "),t.xp6(3),t.hij(" ",e[o.ArmorStat.Strength]," ")}}function Ri(n,i){if(1&n&&(t.TgZ(0,"span",64),t._UZ(1,"img",65),t._uU(2),t.ALo(3,"number"),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(2),t.hij(" ",t.lcZ(3,1,e.glimmer)," ")}}function Ni(n,i){if(1&n&&(t.TgZ(0,"span",66),t._UZ(1,"img",67),t._uU(2),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(2),t.hij(" ",e.shards," ")}}function qi(n,i){if(1&n&&(t.TgZ(0,"span",68),t._UZ(1,"img",69),t._uU(2),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(2),t.hij(" ",e.core," ")}}function Ji(n,i){if(1&n&&(t.TgZ(0,"span",70),t._UZ(1,"img",71),t._uU(2),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(2),t.hij(" ",e.prism," ")}}function Yi(n,i){if(1&n&&(t.TgZ(0,"span",72),t._UZ(1,"img",73),t._uU(2),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(2),t.hij(" ",e.ascshard," ")}}function Li(n,i){if(1&n&&(t.TgZ(0,"div",58),t._uU(1," Total material cost: "),t.YNc(2,Ri,4,3,"span",59),t.YNc(3,Ni,3,1,"span",60),t.YNc(4,qi,3,1,"span",61),t.YNc(5,Ji,3,1,"span",62),t.YNc(6,Yi,3,1,"span",63),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(2),t.Q6J("ngIf",e.glimmer>0),t.xp6(1),t.Q6J("ngIf",e.shards>0),t.xp6(1),t.Q6J("ngIf",e.core>0),t.xp6(1),t.Q6J("ngIf",e.prism>0),t.xp6(1),t.Q6J("ngIf",e.ascshard>0)}}function Fi(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Li,7,5,"div",57),t.BQk()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e.total>0)}}function Qi(n,i){if(1&n){const e=t.EpF();t.ynx(0),t.TgZ(1,"button",74),t.NdJ("click",function(){t.CHM(e);const a=t.oxw();return t.KtG(a.openSnackBar("Copied the DIM search query to your clipboard."))}),t._uU(2," Copy DIM query to clipboard "),t.qZA(),t.BQk()}if(2&n){const e=i.ngVar;t.xp6(1),t.Q6J("cdkCopyToClipboard",e)}}function Bi(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1," and use a masterworked class item"),t.qZA())}function Vi(n,i){if(1&n&&(t.TgZ(0,"li"),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.hij(" ",e.name," ")}}function Hi(n,i){if(1&n&&(t.TgZ(0,"li"),t._uU(1," Masterwork these items: "),t.TgZ(2,"ul"),t.YNc(3,Vi,2,1,"li",2),t.qZA()()),2&n){const e=t.oxw().ngVar;t.xp6(3),t.Q6J("ngForOf",e)}}function Wi(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Hi,4,1,"li",3),t.BQk()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e.length>0)}}function ji(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(3).ngVar;t.xp6(1),t.hij("",e," minor")}}function zi(n,i){1&n&&(t.ynx(0),t._uU(1," and"),t.BQk())}function Gi(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(1),t.hij(" ",e," major ")}}function Ki(n,i){1&n&&(t.ynx(0),t._uU(1,"s"),t.BQk())}function $i(n,i){if(1&n&&(t.TgZ(0,"li",55),t.YNc(1,ji,2,1,"span",3),t.YNc(2,zi,2,0,"ng-container",3),t.YNc(3,Gi,2,1,"span",3),t._uU(4," Mobility Mod"),t.YNc(5,Ki,2,0,"ng-container",3),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o>0),t.xp6(1),t.Q6J("ngIf",o>0&&e>0),t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(2),t.Q6J("ngIf",o+e>1)}}function Xi(n,i){if(1&n&&(t.ynx(0),t.YNc(1,$i,6,4,"li",54),t.BQk()),2&n){const e=i.ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o+e>0)}}function ta(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Xi,2,1,"ng-container",8),t.ALo(2,"count"),t.BQk()),2&n){const e=t.oxw().ngVar,o=t.oxw(2);t.xp6(1),t.Q6J("ngVar",t.xi3(2,1,e,o.StatModifier.MAJOR_MOBILITY))}}function ea(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(3).ngVar;t.xp6(1),t.hij("",e," minor")}}function na(n,i){1&n&&(t.ynx(0),t._uU(1," and"),t.BQk())}function oa(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(1),t.hij(" ",e," major ")}}function ia(n,i){1&n&&(t.ynx(0),t._uU(1,"s"),t.BQk())}function aa(n,i){if(1&n&&(t.TgZ(0,"li",55),t.YNc(1,ea,2,1,"span",3),t.YNc(2,na,2,0,"ng-container",3),t.YNc(3,oa,2,1,"span",3),t._uU(4," Resilience Mod"),t.YNc(5,ia,2,0,"ng-container",3),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o>0),t.xp6(1),t.Q6J("ngIf",o>0&&e>0),t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(2),t.Q6J("ngIf",o+e>1)}}function sa(n,i){if(1&n&&(t.ynx(0),t.YNc(1,aa,6,4,"li",54),t.BQk()),2&n){const e=i.ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o+e>0)}}function ra(n,i){if(1&n&&(t.ynx(0),t.YNc(1,sa,2,1,"ng-container",8),t.ALo(2,"count"),t.BQk()),2&n){const e=t.oxw().ngVar,o=t.oxw(2);t.xp6(1),t.Q6J("ngVar",t.xi3(2,1,e,o.StatModifier.MAJOR_RESILIENCE))}}function la(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(3).ngVar;t.xp6(1),t.hij("",e," minor")}}function ca(n,i){1&n&&(t.ynx(0),t._uU(1," and"),t.BQk())}function ma(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(1),t.hij(" ",e," major ")}}function da(n,i){1&n&&(t.ynx(0),t._uU(1,"s"),t.BQk())}function ua(n,i){if(1&n&&(t.TgZ(0,"li",55),t.YNc(1,la,2,1,"span",3),t.YNc(2,ca,2,0,"ng-container",3),t.YNc(3,ma,2,1,"span",3),t._uU(4," Recovery Mod"),t.YNc(5,da,2,0,"ng-container",3),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o>0),t.xp6(1),t.Q6J("ngIf",o>0&&e>0),t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(2),t.Q6J("ngIf",o+e>1)}}function pa(n,i){if(1&n&&(t.ynx(0),t.YNc(1,ua,6,4,"li",54),t.BQk()),2&n){const e=i.ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o+e>0)}}function ga(n,i){if(1&n&&(t.ynx(0),t.YNc(1,pa,2,1,"ng-container",8),t.ALo(2,"count"),t.BQk()),2&n){const e=t.oxw().ngVar,o=t.oxw(2);t.xp6(1),t.Q6J("ngVar",t.xi3(2,1,e,o.StatModifier.MAJOR_RECOVERY))}}function _a(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(3).ngVar;t.xp6(1),t.hij("",e," minor")}}function fa(n,i){1&n&&(t.ynx(0),t._uU(1," and"),t.BQk())}function ha(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(1),t.hij(" ",e," major ")}}function xa(n,i){1&n&&(t.ynx(0),t._uU(1,"s"),t.BQk())}function ya(n,i){if(1&n&&(t.TgZ(0,"li",55),t.YNc(1,_a,2,1,"span",3),t.YNc(2,fa,2,0,"ng-container",3),t.YNc(3,ha,2,1,"span",3),t._uU(4," Discipline Mod"),t.YNc(5,xa,2,0,"ng-container",3),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o>0),t.xp6(1),t.Q6J("ngIf",o>0&&e>0),t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(2),t.Q6J("ngIf",o+e>1)}}function Ta(n,i){if(1&n&&(t.ynx(0),t.YNc(1,ya,6,4,"li",54),t.BQk()),2&n){const e=i.ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o+e>0)}}function ba(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Ta,2,1,"ng-container",8),t.ALo(2,"count"),t.BQk()),2&n){const e=t.oxw().ngVar,o=t.oxw(2);t.xp6(1),t.Q6J("ngVar",t.xi3(2,1,e,o.StatModifier.MAJOR_DISCIPLINE))}}function Ca(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(3).ngVar;t.xp6(1),t.hij("",e," minor")}}function va(n,i){1&n&&(t.ynx(0),t._uU(1," and"),t.BQk())}function Aa(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(1),t.hij(" ",e," major ")}}function wa(n,i){1&n&&(t.ynx(0),t._uU(1,"s"),t.BQk())}function Za(n,i){if(1&n&&(t.TgZ(0,"li",55),t.YNc(1,Ca,2,1,"span",3),t.YNc(2,va,2,0,"ng-container",3),t.YNc(3,Aa,2,1,"span",3),t._uU(4," Intellect Mod"),t.YNc(5,wa,2,0,"ng-container",3),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o>0),t.xp6(1),t.Q6J("ngIf",o>0&&e>0),t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(2),t.Q6J("ngIf",o+e>1)}}function Sa(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Za,6,4,"li",54),t.BQk()),2&n){const e=i.ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o+e>0)}}function Ia(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Sa,2,1,"ng-container",8),t.ALo(2,"count"),t.BQk()),2&n){const e=t.oxw().ngVar,o=t.oxw(2);t.xp6(1),t.Q6J("ngVar",t.xi3(2,1,e,o.StatModifier.MAJOR_INTELLECT))}}function ka(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(3).ngVar;t.xp6(1),t.hij("",e," minor")}}function Oa(n,i){1&n&&(t.ynx(0),t._uU(1," and"),t.BQk())}function Ma(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(1),t.hij(" ",e," major ")}}function Da(n,i){1&n&&(t.ynx(0),t._uU(1,"s"),t.BQk())}function Ea(n,i){if(1&n&&(t.TgZ(0,"li",55),t.YNc(1,ka,2,1,"span",3),t.YNc(2,Oa,2,0,"ng-container",3),t.YNc(3,Ma,2,1,"span",3),t._uU(4," Strength Mod"),t.YNc(5,Da,2,0,"ng-container",3),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o>0),t.xp6(1),t.Q6J("ngIf",o>0&&e>0),t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(2),t.Q6J("ngIf",o+e>1)}}function Ua(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Ea,6,4,"li",54),t.BQk()),2&n){const e=i.ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o+e>0)}}function Pa(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Ua,2,1,"ng-container",8),t.ALo(2,"count"),t.BQk()),2&n){const e=t.oxw().ngVar,o=t.oxw(2);t.xp6(1),t.Q6J("ngVar",t.xi3(2,1,e,o.StatModifier.MAJOR_STRENGTH))}}function Ra(n,i){if(1&n&&(t.TgZ(0,"ul"),t.YNc(1,ta,3,4,"ng-container",8),t.ALo(2,"count"),t.YNc(3,ra,3,4,"ng-container",8),t.ALo(4,"count"),t.YNc(5,ga,3,4,"ng-container",8),t.ALo(6,"count"),t.YNc(7,ba,3,4,"ng-container",8),t.ALo(8,"count"),t.YNc(9,Ia,3,4,"ng-container",8),t.ALo(10,"count"),t.YNc(11,Pa,3,4,"ng-container",8),t.ALo(12,"count"),t.qZA()),2&n){const e=i.ngVar,o=t.oxw(2);t.xp6(1),t.Q6J("ngVar",t.xi3(2,6,e,o.StatModifier.MINOR_MOBILITY)),t.xp6(2),t.Q6J("ngVar",t.xi3(4,9,e,o.StatModifier.MINOR_RESILIENCE)),t.xp6(2),t.Q6J("ngVar",t.xi3(6,12,e,o.StatModifier.MINOR_RECOVERY)),t.xp6(2),t.Q6J("ngVar",t.xi3(8,15,e,o.StatModifier.MINOR_DISCIPLINE)),t.xp6(2),t.Q6J("ngVar",t.xi3(10,18,e,o.StatModifier.MINOR_INTELLECT)),t.xp6(2),t.Q6J("ngVar",t.xi3(12,21,e,o.StatModifier.MINOR_STRENGTH))}}function Na(n,i){if(1&n&&(t.TgZ(0,"li"),t._uU(1,"Equip the following stat mods: "),t.YNc(2,Ra,13,24,"ul",8),t.qZA()),2&n){const e=t.oxw();t.xp6(2),t.Q6J("ngVar",null==e.element?null:e.element.mods)}}function qa(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1," Arc "),t.qZA())}function Ja(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1," Solar "),t.qZA())}function Ya(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1," Void "),t.qZA())}function La(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1," Stasis "),t.qZA())}function Fa(n,i){if(1&n&&t._UZ(0,"img",76,35),2&n){const e=t.oxw(3).ngVar,o=t.oxw(3);t.MGl("matTooltip","",o.getAffinityName(e.requiredArmorAffinity)," affinity"),t.Q6J("src",o.getAffinityUrl(e.requiredArmorAffinity),t.LSH)}}function Qa(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.YNc(2,qa,2,0,"span",3),t.YNc(3,Ja,2,0,"span",3),t.YNc(4,Ya,2,0,"span",3),t.YNc(5,La,2,0,"span",3),t.YNc(6,Fa,2,2,"img",75),t._uU(7," ) "),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(1),t.hij(" ( ",e.cost," "),t.xp6(1),t.Q6J("ngIf",1===e.requiredArmorAffinity),t.xp6(1),t.Q6J("ngIf",2===e.requiredArmorAffinity),t.xp6(1),t.Q6J("ngIf",3===e.requiredArmorAffinity),t.xp6(1),t.Q6J("ngIf",6===e.requiredArmorAffinity),t.xp6(1),t.Q6J("ngIf",0!==e.requiredArmorAffinity)}}function Ba(n,i){if(1&n&&(t.TgZ(0,"li"),t._uU(1),t.YNc(2,Qa,8,6,"span",3),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij(" Equip the mod ",e.name," "),t.xp6(1),t.Q6J("ngIf",0!==e.requiredArmorAffinity)}}function Va(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Ba,3,2,"li",3),t.BQk()),2&n){const e=i.ngVar,o=t.oxw(3);t.xp6(1),t.Q6J("ngIf",e.type===o.ModifierType.CombatStyleMod)}}function Ha(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Va,2,1,"ng-container",8),t.BQk()),2&n){const e=i.$implicit,o=t.oxw(2);t.xp6(1),t.Q6J("ngVar",o.ModInformation[e])}}function Wa(n,i){if(1&n&&(t.TgZ(0,"li"),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij(" Equip the stasis fragment ",e.name," ")}}function ja(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Wa,2,1,"li",3),t.BQk()),2&n){const e=i.ngVar,o=t.oxw(3);t.xp6(1),t.Q6J("ngIf",e.type===o.ModifierType.Stasis)}}function za(n,i){if(1&n&&(t.ynx(0),t.YNc(1,ja,2,1,"ng-container",8),t.BQk()),2&n){const e=i.$implicit,o=t.oxw(2);t.xp6(1),t.Q6J("ngVar",o.ModInformation[e])}}function Ga(n,i){if(1&n&&(t.TgZ(0,"li"),t._uU(1," Equip any mods and fragments that you enabled in the configuration: "),t.TgZ(2,"ul"),t.YNc(3,Ha,2,1,"ng-container",2),t.YNc(4,za,2,1,"ng-container",2),t.qZA()()),2&n){const e=t.oxw();t.xp6(3),t.Q6J("ngForOf",e.config_enabledMods),t.xp6(1),t.Q6J("ngForOf",e.config_enabledMods)}}function Ka(n,i){if(1&n&&t._UZ(0,"div",80),2&n){const e=t.oxw().$implicit;t.Tol(e)}}function $a(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,Ka,1,2,"div",79),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.Q6J("ngIf",!!e)}}function Xa(n,i){if(1&n&&(t.TgZ(0,"tr")(1,"td"),t._uU(2),t.qZA(),t.TgZ(3,"td"),t._UZ(4,"img",77),t.qZA(),t.YNc(5,$a,2,1,"td",2),t.TgZ(6,"td",78),t._uU(7),t.qZA()()),2&n){const e=i.$implicit,o=t.oxw();t.xp6(2),t.Oqu(o.ArmorStatNames[e]),t.xp6(2),t.s9C("alt",o.ArmorStatNames[e]),t.s9C("src",o.ArmorStatIconUrls[e],t.LSH),t.xp6(1),t.Q6J("ngForOf",o.getColumnForStat(e)),t.xp6(2),t.Oqu(o.getTiersForStat(e))}}function ts(n,i){if(1&n&&(t.TgZ(0,"tr")(1,"td"),t._uU(2,"Exotic:"),t.qZA(),t.TgZ(3,"td",81),t._uU(4),t.qZA(),t.TgZ(5,"td",82)(6,"div",83),t._UZ(7,"img",84)(8,"img",85),t.qZA()()()),2&n){const e=t.oxw().ngVar;t.xp6(4),t.Oqu(e[0].name),t.xp6(3),t.MGl("src","https://bungie.net/",e[0].icon,"",t.LSH),t.xp6(1),t.MGl("src","https://bungie.net/",e[0].watermark,"",t.LSH)}}function es(n,i){if(1&n&&(t.ynx(0),t.YNc(1,ts,9,3,"tr",3),t.BQk()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e[0])}}let ns=(()=>{class n{constructor(e,o,a,s){this.config=e,this._snackBar=o,this.bungieApi=a,this.membership=s,this.armorStatIds=[0,1,2,3,4,5],this.ModifierType=h.O,this.ModInformation=ut,this.ArmorStatNames=r.Mi,this.ArmorStatIconUrls=r.lp,this.ArmorStat=r.WB,this.StatModifier=r.iV,this.config_characterClass=0,this.config_assumeLegendariesMasterworked=!1,this.config_assumeExoticsMasterworked=!1,this.config_assumeClassItemMasterworked=!1,this.config_enabledMods=[],this.DIMUrl="",this.configValues=[0,0,0,0,0,0],this.element=null,this.ngUnsubscribe=new nt.xQ}buildItemIdString(e){let o=e?.items.flat().map(s=>`id:'${s.itemInstanceId}'`).join(" or "),a=["is:classitem"];return e?.classItem.perk!=r.Pn.None&&e?.classItem.perk!=r.Pn.COUNT&&a.push(r.ID[e?.classItem.perk||0]),a.length>1&&(o+=` or (${a.join(" ")})`),o}openSnackBar(e){this._snackBar.open(e,"",{duration:2500,politeness:"polite"})}ngOnInit(){this.config.configuration.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(e=>{this.config_characterClass=e.characterClass,this.config_assumeLegendariesMasterworked=e.assumeLegendariesMasterworked,this.config_assumeExoticsMasterworked=e.assumeExoticsMasterworked,this.config_assumeClassItemMasterworked=e.assumeClassItemMasterworked,this.config_enabledMods=e.enabledMods,this.configValues=e.enabledMods.reduce((o,a)=>o.concat(ut[a].bonus),[]).reduce((o,a)=>(a.stat==r.AR.ClassAbilityRegenerationStat?o[[1,0,2][e.characterClass]]+=a.value:o[a.stat]+=a.value,o),[0,0,0,0,0,0]),this.DIMUrl=this.generateDIMLink(e)})}disableAllItems(){this.config.modifyConfiguration(e=>{for(let o of this.element?.items.flat())e.disabledItems.push(o.itemInstanceId)})}disableItem(e){this.config.modifyConfiguration(o=>{o.disabledItems.push(e)})}get mayAnyItemBeBugged(){return(this.element?.items.flat().filter(e=>e.mayBeBugged).length||0)>0}getCharacterId(){var e=this;return(0,m.Z)(function*(){let o=yield e.membership.getCharacters();return o=o.filter(a=>a.clazz==e.config_characterClass),0==o.length?(e.openSnackBar("Error: Could not find a character to move the items to."),null):o[0].characterId})()}moveItems(e=!1){var o=this;return(0,m.Z)(function*(){for(let d of(o.element?.items||[]).flat())d.transferState=ht.WAITING_FOR_TRANSFER;let a=yield o.getCharacterId();if(!a)return;let s=!0,l=(o.element?.items||[]).flat().sort(d=>d.exotic?1:-1);for(let d of l){d.transferState=ht.TRANSFERRING;let u=yield o.bungieApi.transferItem(d.itemInstanceId,a,e);d.transferState=u?ht.TRANSFERRED:ht.ERROR_DURING_TRANSFER,u||(s=!1)}o.openSnackBar(s?"Success! Moved all the items.":"Some of the items could not be moved. Make sure that there is enough space in the specific slot. This tool will not move items out of your inventory.")})()}getItemsThatMustBeMasterworked(){return this.element?.items.flat().filter(e=>!(e.masterworked||e.exotic&&!this.config_assumeExoticsMasterworked||!e.exotic&&!this.config_assumeLegendariesMasterworked))}calculateRequiredMasterworkCost(){let e={shards:0,glimmer:0,core:0,prism:0,ascshard:0,total:0},o=this.element?.items.flat()||[];o=o.filter(a=>a.energyLevel<10&&(a.exotic&&this.config_assumeExoticsMasterworked||!a.exotic&&this.config_assumeLegendariesMasterworked));for(let a of o){let s=a.exotic?$n:Kn;for(let l=a.energyLevel;l<10;l++)for(let d in s[l+1])e[d]+=s[l+1][d],e.total++}return e}generateDIMLink(e){const o=[],a=[];for(let p of this.config_enabledMods){const b=ut[p];b.type===h.O.CombatStyleMod?o.push(b.hash):a.push(b.hash)}if(this.element){for(let p of this.element?.mods||[])o.push(r.K9[p][3]);for(let p of this.element?.artifice||[])o.push(r.K9[p][3])}var s={statConstraints:[{statHash:2996146975,minTier:e.minimumStatTiers[r.WB.Mobility].value,maxTier:e.minimumStatTiers[r.WB.Mobility].fixed?e.minimumStatTiers[r.WB.Mobility].value:10},{statHash:392767087,minTier:e.minimumStatTiers[r.WB.Resilience].value,maxTier:e.minimumStatTiers[r.WB.Resilience].fixed?e.minimumStatTiers[r.WB.Resilience].value:10},{statHash:1943323491,minTier:e.minimumStatTiers[r.WB.Recovery].value,maxTier:e.minimumStatTiers[r.WB.Recovery].fixed?e.minimumStatTiers[r.WB.Recovery].value:10},{statHash:1735777505,minTier:e.minimumStatTiers[r.WB.Discipline].value,maxTier:e.minimumStatTiers[r.WB.Recovery].fixed?e.minimumStatTiers[r.WB.Recovery].value:10},{statHash:144602215,minTier:e.minimumStatTiers[r.WB.Intellect].value,maxTier:e.minimumStatTiers[r.WB.Intellect].fixed?e.minimumStatTiers[r.WB.Intellect].value:10},{statHash:4244567218,minTier:e.minimumStatTiers[r.WB.Strength].value,maxTier:e.minimumStatTiers[r.WB.Strength].fixed?e.minimumStatTiers[r.WB.Strength].value:10}],mods:o,assumeArmorMasterwork:e.assumeLegendariesMasterworked?e.assumeExoticsMasterworked?3:2:1};if(1==e.selectedExotics.length)s.exoticArmorHash=e.selectedExotics[0];else{var l=this.element?.exotic;if(l&&1==l.length){var d=l[0].hash;d&&(s.exoticArmorHash=parseInt(d,10))}}const u={id:"d2ap",name:"D2ArmorPicker Loadout",classType:e.characterClass,parameters:s,equipped:(this.element?.items||[]).map(([p])=>({id:p.itemInstanceId,hash:p.hash})),unequipped:[],clearSpace:!1};if(a.length){const p=a.reduce((M,k,U)=>(M[U+7]=k,M),{}),Z={[D.Hunter]:{[h.O.Stasis]:873720784,[h.O.Void]:2453351420,[h.O.Solar]:2240888816,[h.O.Arc]:2328211300,[h.O.Strand]:3785442599},[D.Titan]:{[h.O.Stasis]:613647804,[h.O.Void]:2842471112,[h.O.Solar]:2550323932,[h.O.Arc]:2932390016,[h.O.Strand]:242419885},[D.Warlock]:{[h.O.Stasis]:3291545503,[h.O.Void]:2849050827,[h.O.Solar]:3941205951,[h.O.Arc]:3168997075,[h.O.Strand]:4204413574}}[e.characterClass]?.[e.selectedModElement];Z&&u.equipped.push({id:"12345",hash:Z,socketOverrides:p})}return"https://app.destinyitemmanager.com/loadouts?loadout="+encodeURIComponent(JSON.stringify(u))}goToDIM(){window.open(this.DIMUrl,"blank")}getTiersForStat(e){return Math.floor((this.element?.stats[e]||0)/10)}getColumnForStat(e){var o=Math.floor(this.configValues[e]/10);let a=[],s=0,l=Math.ceil((5*(this.element?.mods.filter(u=>u==1+2*e)||[]).length+10*(this.element?.mods.filter(u=>u==2+2*e)||[]).length)/10);var d=this.getTiersForStat(e)-o-l;for(let u=0;u10?" over100":""));for(let u=0;u10?" over100":""));for(let u=0;u10?" over100":""));for(;s++<10;)a.push("");return a}getRequiredMasterworkBonus(){return 2*(this.element?.items.filter(e=>!e[0].masterworked&&!e[0].exotic&&this.config_assumeLegendariesMasterworked||e[0].exotic&&this.config_assumeExoticsMasterworked)||[]).length}getAffinityName(e){return r.vr[e]}getAffinityUrl(e){return r.Sy[e]}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(B),t.Y36(Vt.ux),t.Y36(Qt),t.Y36(Pt))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-expanded-result-content"]],inputs:{element:"element"},decls:124,vars:26,consts:[["class","invalid-item-box mat-elevation-z4","color","warn",4,"ngIf"],[1,"specificStatTable"],[4,"ngFor","ngForOf"],[4,"ngIf"],["class","result-total-gear result-total highlight-row",4,"ngVar"],[1,"result-config"],[3,"class",4,"ngIf"],["class","highlight-row",4,"ngVar"],[4,"ngVar"],["class","result-total-all result-total highlight-row",4,"ngVar"],[1,"buttonContainer"],["color","primary","mat-raised-button","","matTooltip","Use this button to open this build as a DIM Loadout.",3,"click"],["mat-stroked-button","","matTooltip","Click this button to move Items to your inventory. Make sure that you have enough space in your inventory. This tool will not move any items out of your inventory.",3,"click"],["mat-stroked-button","","matTooltip","Click this button to equip the Items. Make sure that you have enough space in your inventory. This tool will not move any items out of your inventory.",3,"click"],[1,"mat-elevation-z6"],[1,"stat-preview"],["colspan","2"],[1,"tier-column"],[1,"legend"],[1,"energy-bar","normal"],["colspan","3"],[1,"energy-bar","mod"],["colspan","4"],[1,"energy-bar","config"],["color","warn",1,"invalid-item-box","mat-elevation-z4"],[3,"highlight-row",4,"ngFor","ngForOf"],["class","item-name-mw","matTooltip","This item is already masterworked.",4,"ngIf"],[1,"icon-column"],[1,"item-icon-container",3,"itemTooltip"],[1,"item-icon",3,"itemHash","masterworked","source"],[2,"position","relative","width","25px"],[3,"perk"],["mat-icon-button","","matTooltip","Disable this item from the results. It will not be used to generate results anymore, but you can always undo this.",1,"item-info-menu-btn",3,"click"],["class","icon-column",4,"ngIf"],["matTooltip","This item is already masterworked.",1,"item-name-mw"],["tooltip","matTooltip"],[1,"item-stat-container"],[1,"item-stat-value"],["color","primary","diameter","22","mode","indeterminate",1,"item-loading-spinner"],["aria-hidden","false","aria-label","Success","inline","","matTooltip","Item successfully moved to inventory.",1,"item-moved-icon"],["aria-hidden","false","aria-label","Error","inline","","matTooltip","This item could not be moved. Make sure that there is enough space on your character. This tool will not move items out of your inventory.",1,"report-problem-icon"],["aria-hidden","false","aria-label","Error","inline","","matTooltip","The stats of this item may be incorrect. Make sure that you remove every positive or negative stat modifier from this item.",1,"report-problem-icon"],["matTooltip","Class item should be masterworked.",1,"item-name-mw"],[1,"text-mw"],["mat-icon-button","","matTooltip","Disable all four items above from the results. They will not be used to generate results anymore, but you can always undo this.",1,"item-info-menu-btn","report-problem-icon",3,"click"],["colspan","6",1,"text-centered"],[1,"result-total-gear","result-total","highlight-row"],["alt","Mobility","src","https://www.bungie.net/common/destiny2_content/icons/e26e0e93a9daf4fdd21bf64eb9246340.png",1,"statIcon"],["alt","Resilience","src","https://www.bungie.net/common/destiny2_content/icons/202ecc1c6febeb6b97dafc856e863140.png",1,"statIcon"],["alt","Recovery","src","https://www.bungie.net/common/destiny2_content/icons/128eee4ee7fc127851ab32eac6ca91cf.png",1,"statIcon"],["alt","Discipline","src","https://www.bungie.net/common/destiny2_content/icons/79be2d4adef6a19203f7385e5c63b45b.png",1,"statIcon"],["alt","Intellect","src","https://www.bungie.net/common/destiny2_content/icons/d1c154469670e9a592c9d4cbdcae5764.png",1,"statIcon"],["alt","Strength","src","https://www.bungie.net/common/destiny2_content/icons/ea5af04ccd6a3470a44fd7bb0f66e2f7.png",1,"statIcon"],[1,"highlight-row"],["class","positive",4,"ngIf"],[1,"positive"],[1,"result-total-all","result-total","highlight-row"],["style","margin-top: 10px",4,"ngIf"],[2,"margin-top","10px"],["class","currency-icon-container","matTooltip","Glimmer",4,"ngIf"],["class","currency-icon-container","matTooltip","Legendary Shards",4,"ngIf"],["class","currency-icon-container","matTooltip","Enhancement Cores",4,"ngIf"],["class","currency-icon-container","matTooltip","Enhancement Prism",4,"ngIf"],["class","currency-icon-container","matTooltip","Ascendant Shard",4,"ngIf"],["matTooltip","Glimmer",1,"currency-icon-container"],["alt","Glimmer","src","https://www.bungie.net/common/destiny2_content/icons/88993eaeedad32f42072df6f77f47311.png",1,"currency-icon"],["matTooltip","Legendary Shards",1,"currency-icon-container"],["alt","Legendary Shards","src","https://www.bungie.net/common/destiny2_content/icons/18ddd0bdac721b8eb8e6f8ec2b3e813c.png",1,"currency-icon"],["matTooltip","Enhancement Cores",1,"currency-icon-container"],["alt","Enhancement Cores","src","https://www.bungie.net/common/destiny2_content/icons/0a4eb695ed55b4e720ddc401460cc0f9.jpg",1,"currency-icon"],["matTooltip","Enhancement Prism",1,"currency-icon-container"],["alt","Enhancement Prism","src","https://www.bungie.net/common/destiny2_content/icons/dea2a35badf7466d4c2c2697ce6e8d87.jpg",1,"currency-icon"],["matTooltip","Ascendant Shard",1,"currency-icon-container"],["alt","Ascendant Shard","src","https://www.bungie.net/common/destiny2_content/icons/0271d214fc3ec91b3def799a4b286b46.jpg",1,"currency-icon"],["color","primary","mat-raised-button","","matTooltip","Use this button to copy a DIM search query to your clip board. It allows you to search the given items in DIM.",3,"cdkCopyToClipboard","click"],["class","element-icon-mini",3,"src","matTooltip",4,"ngIf"],[1,"element-icon-mini",3,"src","matTooltip"],[2,"height","18px",3,"alt","src"],[1,"sum-tiers"],["class","energy-bar",3,"class",4,"ngIf"],[1,"energy-bar"],["colspan","10"],["colspan","1"],[1,"item-icon-container"],[1,"item-icon",3,"src"],[1,"item-icon-overlay",3,"src"]],template:function(e,o){1&e&&(t.TgZ(0,"div"),t.YNc(1,yo,4,0,"mat-toolbar",0),t._uU(2," This table shows you the expected stats of any item: "),t.TgZ(3,"table",1)(4,"thead")(5,"tr")(6,"th"),t._uU(7,"Name"),t.qZA(),t.TgZ(8,"th"),t._uU(9,"Mobility"),t.qZA(),t.TgZ(10,"th"),t._uU(11,"Resilience"),t.qZA(),t.TgZ(12,"th"),t._uU(13,"Recovery"),t.qZA(),t.TgZ(14,"th"),t._uU(15,"Discipline"),t.qZA(),t.TgZ(16,"th"),t._uU(17,"Intellect"),t.qZA(),t.TgZ(18,"th"),t._uU(19,"Strength"),t.qZA(),t._UZ(20,"th")(21,"th"),t.qZA()(),t.YNc(22,Io,2,1,"ng-container",2),t.YNc(23,ko,24,7,"tr",3),t.YNc(24,Oo,11,0,"tr",3),t.YNc(25,No,9,6,"tr",4),t.TgZ(26,"tr",5)(27,"td"),t._uU(28,"Configuration"),t.qZA(),t.TgZ(29,"td"),t.YNc(30,Jo,3,4,"span",6),t.qZA(),t.TgZ(31,"td"),t.YNc(32,Lo,3,4,"span",6),t.qZA(),t.TgZ(33,"td"),t.YNc(34,Qo,3,4,"span",6),t.qZA(),t.TgZ(35,"td"),t.YNc(36,Vo,3,4,"span",6),t.qZA(),t.TgZ(37,"td"),t.YNc(38,Wo,3,4,"span",6),t.qZA(),t.TgZ(39,"td"),t.YNc(40,zo,3,4,"span",6),t.qZA()(),t.YNc(41,li,15,24,"tr",7),t.YNc(42,bi,15,24,"tr",8),t.YNc(43,Ui,16,24,"ng-container",8),t.YNc(44,Pi,21,6,"tr",9),t.qZA()(),t.YNc(45,Fi,2,1,"ng-container",8),t.TgZ(46,"div",10),t.YNc(47,Qi,3,1,"ng-container",8),t.TgZ(48,"button",11),t.NdJ("click",function(){return o.goToDIM()}),t._uU(49," Open Loadout in DIM "),t.qZA(),t._UZ(50,"br"),t.TgZ(51,"small"),t._uU(52,"The following two buttons may not work for some at the moment:"),t.qZA(),t._UZ(53,"br"),t.TgZ(54,"button",12),t.NdJ("click",function(){return o.moveItems()}),t._uU(55," Move items to inventory (beta) "),t.qZA(),t.TgZ(56,"button",13),t.NdJ("click",function(){return o.moveItems(!0)}),t._uU(57," Equip Items (beta) "),t.qZA()(),t.TgZ(58,"mat-accordion")(59,"mat-expansion-panel",14)(60,"mat-expansion-panel-header")(61,"mat-panel-title"),t._uU(62," What to do now? "),t.qZA(),t.TgZ(63,"mat-panel-description"),t._uU(64," Detailed Instructions of to get your loadout ready. "),t.qZA()(),t.TgZ(65,"div")(66,"ol")(67,"li"),t._uU(68," Move all related items into your inventory "),t.YNc(69,Bi,2,0,"span",3),t._uU(70,". "),t.qZA(),t.YNc(71,Wi,2,1,"ng-container",8),t.YNc(72,Na,3,1,"li",3),t.ALo(73,"count"),t.YNc(74,Ga,5,2,"li",3),t.qZA()()(),t.TgZ(75,"mat-expansion-panel",14)(76,"mat-expansion-panel-header")(77,"mat-panel-title"),t._uU(78," Stat overview "),t.qZA(),t.TgZ(79,"mat-panel-description"),t._uU(80," Shows a summary of all the stats and where they come from. "),t.qZA()(),t.TgZ(81,"table",15)(82,"tr")(83,"td",16),t._uU(84,"Stat"),t.qZA(),t.TgZ(85,"td",17),t._uU(86,"1"),t.qZA(),t.TgZ(87,"td",17),t._uU(88,"2"),t.qZA(),t.TgZ(89,"td",17),t._uU(90,"3"),t.qZA(),t.TgZ(91,"td",17),t._uU(92,"4"),t.qZA(),t.TgZ(93,"td",17),t._uU(94,"5"),t.qZA(),t.TgZ(95,"td",17),t._uU(96,"6"),t.qZA(),t.TgZ(97,"td",17),t._uU(98,"7"),t.qZA(),t.TgZ(99,"td",17),t._uU(100,"8"),t.qZA(),t.TgZ(101,"td",17),t._uU(102,"9"),t.qZA(),t.TgZ(103,"td",17),t._uU(104,"10"),t.qZA(),t.TgZ(105,"td"),t._uU(106,"Tiers"),t.qZA()(),t.YNc(107,Xa,8,5,"tr",2),t.TgZ(108,"tr",18)(109,"td",16),t._uU(110,"Armor"),t.qZA(),t.TgZ(111,"td"),t._UZ(112,"div",19),t.qZA(),t.TgZ(113,"td",20),t._uU(114,"Stat Mod"),t.qZA(),t.TgZ(115,"td"),t._UZ(116,"div",21),t.qZA(),t.TgZ(117,"td",22),t._uU(118,"Fragments & Mods"),t.qZA(),t.TgZ(119,"td"),t._UZ(120,"div",23),t.qZA()(),t.YNc(121,es,2,1,"ng-container",8),t.qZA()()(),t._UZ(122,"br")(123,"br")),2&e&&(t.xp6(1),t.Q6J("ngIf",o.mayAnyItemBeBugged),t.xp6(21),t.Q6J("ngForOf",null==o.element?null:o.element.items),t.xp6(1),t.Q6J("ngIf",o.config_assumeClassItemMasterworked),t.xp6(1),t.Q6J("ngIf",!o.config_assumeClassItemMasterworked),t.xp6(1),t.Q6J("ngVar",null==o.element?null:o.element.statsNoMods),t.xp6(5),t.Q6J("ngIf",0!==o.configValues[o.ArmorStat.Mobility]),t.xp6(2),t.Q6J("ngIf",0!==o.configValues[o.ArmorStat.Resilience]),t.xp6(2),t.Q6J("ngIf",0!==o.configValues[o.ArmorStat.Recovery]),t.xp6(2),t.Q6J("ngIf",0!==o.configValues[o.ArmorStat.Discipline]),t.xp6(2),t.Q6J("ngIf",0!==o.configValues[o.ArmorStat.Intellect]),t.xp6(2),t.Q6J("ngIf",0!==o.configValues[o.ArmorStat.Strength]),t.xp6(1),t.Q6J("ngVar",null==o.element?null:o.element.mods),t.xp6(1),t.Q6J("ngVar",null==o.element?null:o.element.mods),t.xp6(1),t.Q6J("ngVar",null==o.element?null:o.element.artifice),t.xp6(1),t.Q6J("ngVar",null==o.element?null:o.element.stats),t.xp6(1),t.Q6J("ngVar",o.calculateRequiredMasterworkCost()),t.xp6(2),t.Q6J("ngVar",o.buildItemIdString(o.element)),t.xp6(22),t.Q6J("ngIf",o.config_assumeClassItemMasterworked),t.xp6(2),t.Q6J("ngVar",o.getItemsThatMustBeMasterworked()),t.xp6(1),t.Q6J("ngIf",(null==o.element?null:o.element.mods).length>0&&t.xi3(73,23,null==o.element?null:o.element.mods,o.StatModifier.NONE)<5),t.xp6(2),t.Q6J("ngIf",o.config_enabledMods.length>0),t.xp6(33),t.Q6J("ngForOf",o.armorStatIds),t.xp6(14),t.Q6J("ngVar",null==o.element?null:o.element.exotic))},dependencies:[T.sg,T.O5,g.lW,N.gM,j.Hw,W.Ye,J.pp,J.ib,J.yz,J.yK,J.u4,Xn.Ou,wt.i3,Ct,co,Ht,Wt,T.JJ,ue],styles:[".element-icon[_ngcontent-%COMP%]{width:22px}.element-icon-mini[_ngcontent-%COMP%]{height:12px}.item-loading-spinner[_ngcontent-%COMP%]{width:22px;height:22px;margin-bottom:6px}.item-icon[_ngcontent-%COMP%]{width:22px}.item-icon-overlay[_ngcontent-%COMP%]{width:22px;margin-left:-22px}.item-icon-container[_ngcontent-%COMP%]{position:relative;contain:layout paint style;box-sizing:border-box;width:var(--item-size);transition:opacity .2s,transform .2s;margin-top:-4px}.item-icon-masterwork-overlay[_ngcontent-%COMP%]{pointer-events:none;box-sizing:border-box;top:-1px;left:-1px;border-width:0;height:24px;width:24px;position:absolute;background-repeat:no-repeat;background-position:center;background-size:22px 22px;background-image:url(data:image/png;base64,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)}.negative[_ngcontent-%COMP%]{color:#f08080}.positive[_ngcontent-%COMP%]{color:#6495ed}table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{text-align:right}table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:not(:last-child) td[_ngcontent-%COMP%]{border-bottom:rgba(240,248,255,.08) solid .5px}.result-total-gear[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:aliceblue solid 1px!important}.result-total-all[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .result-total-gear[_ngcontent-%COMP%] > td[_ngcontent-%COMP%]{border-top:aliceblue double}.buttonContainer[_ngcontent-%COMP%]{margin-top:10px;margin-bottom:10px}.buttonContainer[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:not(:last-of-type){margin-right:6px;margin-bottom:3px}.result-total[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{position:relative;padding-right:14px}.statIcon[_ngcontent-%COMP%]{position:absolute;height:14px;margin-left:2px;top:3px}.item-info-menu-btn[_ngcontent-%COMP%]{height:22px!important;width:22px!important;line-height:22px!important;top:-4px;left:-4px}.item-info-menu-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:22px}.item-moved-icon[_ngcontent-%COMP%]{color:#7fffd4}.report-problem-icon[_ngcontent-%COMP%]{color:#f08080}.invalid-item-box[_ngcontent-%COMP%]{text-align:center;margin-right:auto;margin-left:auto;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;font-size:15px;line-height:20px}.text-centered[_ngcontent-%COMP%]{text-align:center!important}.specificStatTable[_ngcontent-%COMP%]{border-collapse:separate;border-spacing:0 0}.highlight-row[_ngcontent-%COMP%]{background-color:#6e6e6e21}tr.legend[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding-top:3px}.tier-column[_ngcontent-%COMP%]{min-width:27px}.energy-bar[_ngcontent-%COMP%]{width:25px;height:10px;border:white solid 2px;position:relative}.energy-bar.normal[_ngcontent-%COMP%]{background-color:#fff}.energy-bar.mod[_ngcontent-%COMP%]{background-color:gray;border:white ridge 2px}.energy-bar.config[_ngcontent-%COMP%]{background-color:#a3b1c2;border:white ridge 2px}.energy-bar.over100[_ngcontent-%COMP%]{border-color:#ff5e5e;width:10px}.item-stat-container[_ngcontent-%COMP%]{position:relative}.item-stat-bonus[_ngcontent-%COMP%]{position:absolute;right:20px;font-size:x-small}.item-name-mw[_ngcontent-%COMP%]{text-decoration:underline;-webkit-text-decoration-color:#ffbc00;text-decoration-color:#ffbc00}.text-mw[_ngcontent-%COMP%], .item-stat-bonus[_ngcontent-%COMP%]{color:#ffd86a}app-armor-perk-icon[_ngcontent-%COMP%]{width:23px;height:23px;position:absolute;top:-14px;left:0}td.sum-tiers[_ngcontent-%COMP%]{text-align:center!important;border-left:#6e6e6e solid 1px}.currency-icon[_ngcontent-%COMP%]{width:16px;position:absolute;left:0}.currency-icon-container[_ngcontent-%COMP%]{position:relative;padding-left:19px;padding-right:10px}.icon-column[_ngcontent-%COMP%]{padding-left:4px}"]}),n})();var pe=_(3238),os=_(8729);function is(n,i){1&n&&(t.TgZ(0,"mat-icon",6),t._uU(1,"add_circle_outline "),t.qZA())}function as(n,i){1&n&&(t.TgZ(0,"mat-icon",7),t._uU(1,"remove_circle_outline "),t.qZA())}function ss(n,i){1&n&&(t.TgZ(0,"mat-icon",8),t._uU(1,"change_history "),t.qZA())}function rs(n,i){if(1&n&&(t.TgZ(0,"mat-list-item"),t.YNc(1,is,2,0,"mat-icon",2),t.YNc(2,as,2,0,"mat-icon",3),t.YNc(3,ss,2,0,"mat-icon",4),t.TgZ(4,"div",5)(5,"p"),t._uU(6),t.qZA()()()),2&n){const e=i.$implicit;t.xp6(1),t.Q6J("ngIf",0===e.type),t.xp6(1),t.Q6J("ngIf",1===e.type),t.xp6(1),t.Q6J("ngIf",2===e.type),t.xp6(3),t.Oqu(e.text)}}function ls(n,i){if(1&n&&(t.ynx(0),t.TgZ(1,"div",1),t._uU(2),t.qZA(),t.YNc(3,rs,7,4,"mat-list-item",0),t.TgZ(4,"mat-list-item"),t._UZ(5,"br")(6,"mat-divider"),t.qZA(),t.BQk()),2&n){const e=i.$implicit;t.xp6(2),t.AsE("",e.version,", released on ",e.date,""),t.xp6(1),t.Q6J("ngForOf",e.entries)}}let ge=(()=>{class n{constructor(e){this.changelog=e}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(Rt))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-changelog-list"]],decls:2,vars:1,consts:[[4,"ngFor","ngForOf"],["mat-subheader","",1,"title"],["mat-list-icon","","matTooltip","A new function has been added.",4,"ngIf"],["mat-list-icon","","matTooltip","A function has been removed.",4,"ngIf"],["mat-list-icon","","matTooltip","Something has been modified.",4,"ngIf"],["mat-line","",1,"e"],["mat-list-icon","","matTooltip","A new function has been added."],["mat-list-icon","","matTooltip","A function has been removed."],["mat-list-icon","","matTooltip","Something has been modified."]],template:function(e,o){1&e&&(t.TgZ(0,"mat-list"),t.YNc(1,ls,7,3,"ng-container",0),t.qZA()),2&e&&(t.xp6(1),t.Q6J("ngForOf",o.changelog.changelogData))},dependencies:[T.sg,T.O5,N.gM,j.Hw,bt.i$,bt.Tg,pe.X2,bt.Nh,bt.gs,os.d],styles:["[_nghost-%COMP%] .mat-line{word-wrap:break-word!important;white-space:pre-wrap!important}[_nghost-%COMP%] .mat-list .mat-list-item{height:initial!important}.title[_ngcontent-%COMP%]{text-decoration:underline;font-size:20px}.e[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]:first-child{padding-top:12px}"]}),n})();function cs(n,i){if(1&n&&(t.TgZ(0,"li"),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.Oqu(e)}}let ms=(()=>{class n{constructor(){this.knownIssues=["When you click buttons on the page too fast are able to select an invalid state with no results. Just undo your changed settings. And be patient - the calculation is an expensive task.","Sometimes duplicate results are given. This happens when the inventory got updated twice (Race Condition). Only reported once, and not really a problem."],this.changelog=se}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-help-page"]],decls:116,vars:1,consts:[["id","help-container"],["color","primary","fxShow","false","fxShow.lt-md","true","mat-raised-button","","routerLink","/",1,"returnbutton"],["href","https://twitter.com/MijagoCoding/","target","_blank","matTooltip","Birb App"],["alt","Me on twitter","src","assets/logo-twitter.png",1,"logo-twitter"],["href","https://ko-fi.com/mijago","target","_blank","matTooltip","If you like my work, you can always buy me a coffee!"],["alt","Ko-Fi","src","assets/logo-kofi.png",1,"logo-twitter"],["href","http://discord.d2armorpicker.com/","target","_blank","matTooltip","Visit me at the development & support discord."],["alt","Discord","src","assets/logo-discord.png",1,"logo-twitter"],["href","https://github.com/Mijago/D2-Gear-Calculator","target","_blank"],["href","https://mijago.github.io/D2GearCalculator/","target","_blank"],["href","https://twitter.com/MijagoCoding/","target","_blank"],["href","https://ko-fi.com/mijago","target","_blank"],[1,"preview-image-container"],["alt","Preview of the results table","src","assets/armor-images/preview_result_details.png",1,"preview-image"],["fxLayout","row","id","armor-image-container"],["src","assets/armor-images/kabrs_battlecage.png"],["src","assets/armor-images/lightkin_gauntlets.png"],["src","assets/armor-images/phobos_warden_helm.png"],["src","assets/armor-images/wild_hunt_vest.png"],[4,"ngFor","ngForOf"],[1,"changelog-table-container"]],template:function(e,o){1&e&&(t.TgZ(0,"div",0)(1,"a",1),t._uU(2," Return to D2ArmorPicker "),t.qZA(),t.TgZ(3,"mat-card")(4,"mat-card-title")(5,"span"),t._uU(6,"About D2ArmorPicker "),t.TgZ(7,"small"),t._uU(8," by Mijago"),t.qZA(),t.TgZ(9,"a",2),t._UZ(10,"img",3),t.qZA(),t.TgZ(11,"a",4),t._UZ(12,"img",5),t.qZA(),t.TgZ(13,"a",6),t._UZ(14,"img",7),t.qZA()()(),t.TgZ(15,"mat-card-content"),t._uU(16," D2ArmorPicker (or short D2AP) is a small web-app to quickly find armor that fits your desired stat requirements. It uses the armor in your vault, inventory and postmaster, calculates every possible variation and shows only those that fulfill the given requirements. "),t._UZ(17,"br")(18,"br"),t._uU(19," As I raided a lot and I mainly play meme builds, I wanted to be able to switch exotics and have decent stats without being a burden on my team. That's why I developed the "),t.TgZ(20,"a",8),t._uU(21,"first version of this tool"),t.qZA(),t._uU(22," in Python. After a few days I started to translate this tool "),t.TgZ(23,"a",9),t._uU(24,"into a webpage"),t.qZA(),t._uU(25,". My friends liked it, but it didn't have API access. Thus I created the first version of D2ArmorPicker, and after people started using and liking it, I started to completely rewrite it - that's Version\xa02! "),t._UZ(26,"br")(27,"br"),t._uU(28," I keep updating and improving this tool, but beware that it takes a bit, as I work on it on my spare time. Feel free to follow me on Twitter "),t.TgZ(29,"a",10),t._UZ(30,"img",3),t.qZA(),t._uU(31,", I occasionally post updates there. If you like my tools and want to support me, head to "),t.TgZ(32,"a",11),t._uU(33,"ko-fi.com"),t.qZA(),t._uU(34," and buy me a coffee! \u2764 "),t.qZA()(),t.TgZ(35,"mat-card")(36,"mat-card-title"),t._uU(37," How do I use D2ArmorPicker? "),t.qZA(),t.TgZ(38,"mat-card-content"),t._uU(39," Follow these few steps: "),t.TgZ(40,"ol")(41,"li"),t._uU(42,"Login. You already did this!"),t.qZA(),t.TgZ(43,"li"),t._uU(44," [Optional] Pick an exotic you want to use. The tool will only display results for this exotic. You can always undo this. "),t.qZA(),t.TgZ(45,"li"),t._uU(46," [Optional] Select additional mods/fragments that give a bonus (or penalty). These are important if you want certain stat combinations even if you have penalties on your gear. "),t.qZA(),t.TgZ(47,"li"),t._uU(48," Select the stat distribution you seek. This is the heart of D2ArmorPicker. You just click 100 recovery and it will display you builds that have 100 recovery. "),t.TgZ(49,"i"),t._uU(50,"Note that it automatically adds stat mods if necessary."),t.qZA()(),t.TgZ(51,"li"),t._uU(52," Now look to the result table. On a normal desktop it should be on the right, on smaller devices it might move below the configuration. The table lists multiple results and you can sort it by your requirements."),t._UZ(53,"br"),t.TgZ(54,"b"),t._uU(55,"Click"),t.qZA(),t._uU(56," on an entry to open look the detailed view: "),t.TgZ(57,"div",12),t._UZ(58,"img",13),t.qZA(),t._uU(59," The example above shows a build that utilizes Dunemarchers and a zero-waste-build. To achieve it, I have to move all the items in my inventory and equip them. After this, I "),t.TgZ(60,"i"),t._uU(61,"masterwork"),t.qZA(),t._uU(62," them and "),t.TgZ(63,"i"),t._uU(64,"add the mods"),t.qZA(),t._uU(65," as the table displays them: "),t.TgZ(66,"ul")(67,"li")(68,"b"),t._uU(69,"Discipline:"),t.qZA(),t._uU(70," One major mod, one minor mod;"),t.qZA(),t.TgZ(71,"li")(72,"b"),t._uU(73,"Intellect:"),t.qZA(),t._uU(74," One major mod, one minor mod;"),t.qZA(),t.TgZ(75,"li")(76,"b"),t._uU(77,"Strength:"),t.qZA(),t._uU(78," One major mod;"),t.qZA(),t.TgZ(79,"li"),t._uU(80,"I also add Powerful Friends and Radiant Light, as I chose them in the configuration."),t.qZA()()()()()(),t.TgZ(81,"mat-card")(82,"mat-card-title"),t._uU(83," Where can I grind high stat armor? "),t.qZA(),t.TgZ(84,"mat-card-content"),t._uU(85," There are many spots that give you mediocre armor, but for the really good builds you need the correct armor. Here I provide a list of high-stat armor sources. It may not be complete, but a good starting point. "),t.TgZ(86,"i"),t._uU(87,"Last updated February 8, 2022."),t.qZA(),t.TgZ(88,"ul")(89,"li"),t._uU(90," Farm legendary Dares!"),t.qZA(),t.TgZ(91,"li"),t._uU(92," Clear Pit of Heresy Dungeon, the boss drop guarantees two stats to be 16 (or higher)."),t.qZA(),t.TgZ(93,"li"),t._uU(94," Farm a bunch of Spoils, go into Master Vault of Glass and buy armor at the final chest."),t.qZA(),t.TgZ(95,"li"),t._uU(96," The list will be extended sometime in Witch Queen!"),t.qZA()(),t._uU(97," Some good armor rolls may look like these: "),t.TgZ(98,"div",14),t._UZ(99,"img",15)(100,"img",16)(101,"img",17)(102,"img",18),t.qZA()()(),t.TgZ(103,"mat-card")(104,"mat-card-title"),t._uU(105,"Known Issues"),t.qZA(),t.TgZ(106,"mat-card-content")(107,"ul"),t.YNc(108,cs,2,1,"li",19),t.qZA()()(),t.TgZ(109,"mat-card")(110,"mat-card-title"),t._uU(111,"Changelog"),t.qZA(),t.TgZ(112,"mat-card-content",20),t._UZ(113,"app-changelog-list"),t.qZA()(),t.TgZ(114,"a",1),t._uU(115," Return to D2ArmorPicker "),t.qZA()()),2&e&&(t.xp6(108),t.Q6J("ngForOf",o.knownIssues))},dependencies:[T.sg,Y.xw,H.b8,g.zs,A.a8,A.dn,A.n5,N.gM,I.yS,ge],styles:["#help-container[_ngcontent-%COMP%]{max-width:800px;margin-left:auto;margin-right:auto}.changelog-table-container[_ngcontent-%COMP%]{max-height:700px;overflow-y:scroll}mat-card[_ngcontent-%COMP%]{margin-bottom:8px}#armor-image-container[_ngcontent-%COMP%]{overflow:auto}#armor-image-container[_ngcontent-%COMP%] > img[_ngcontent-%COMP%]:not(:last-of-type){margin-right:20px}#armor-image-container[_ngcontent-%COMP%] > img[_ngcontent-%COMP%]{max-height:300px}.preview-image-container[_ngcontent-%COMP%]{max-width:600px}.preview-image[_ngcontent-%COMP%]{max-width:100%}.returnbutton[_ngcontent-%COMP%]{margin-top:5px;margin-bottom:15px;width:100%}.changelog-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-of-type{min-width:80px}.changelog-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:nth-of-type(2){min-width:40px}.changelog-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-top:#6e6e6e solid 1px}a[_ngcontent-%COMP%]{color:#99afe3}a[_ngcontent-%COMP%]:visited{color:#7294dc}"]}),n})();var V=_(4006),Zt=_(455),vt=_(3217),it=_(811);function ps(n,i){if(1&n&&(t.TgZ(0,"th",5),t._uU(1),t.qZA()),2&n){const e=t.oxw();t.xp6(1),t.hij("\u2206 Tier ",e.differenceTier,"")}}function gs(n,i){if(1&n&&t._UZ(0,"img",9),2&n){const e=t.oxw(3).$implicit;t.MGl("src","https://www.bungie.net/",e.icon,"",t.LSH)}}function _s(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=i.ngVar,o=t.oxw(6).$implicit,a=t.oxw();t.ekj("good",a.differenceTiera.tier),t.xp6(1),t.AsE(" ",e>0?"+":"","",a.formatEntry(o,e)," ")}}function fs(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,_s,2,6,"span",10),t.qZA()),2&n){const e=t.oxw(2).ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngVar",-(e-o))}}function hs(n,i){if(1&n&&(t.TgZ(0,"td")(1,"span"),t._uU(2),t.ALo(3,"number"),t.qZA()()),2&n){const e=t.oxw().ngVar,o=t.oxw(5);t.xp6(1),t.ekj("good",o.differenceTiero.tier),t.xp6(1),t.AsE(" (",e>0?"+":"","",t.xi3(3,6,100*e,"1.0-0"),"%) ")}}function xs(n,i){if(1&n&&(t.ynx(0),t.YNc(1,fs,2,1,"td",6),t.YNc(2,hs,4,9,"td",6),t.BQk()),2&n){const e=t.oxw(5);t.xp6(1),t.Q6J("ngIf",e.differenceTier!==e.tier),t.xp6(1),t.Q6J("ngIf",e.differenceTier!==e.tier)}}function ys(n,i){if(1&n&&(t.ynx(0),t.YNc(1,xs,3,2,"ng-container",7),t.BQk()),2&n){const e=i.ngVar,o=t.oxw().ngVar,a=t.oxw(3);t.xp6(1),t.Q6J("ngVar",a.getPercentageDifference(o,e))}}function Ts(n,i){if(1&n&&(t.ynx(0),t._UZ(1,"app-item-icon",11),t.BQk()),2&n){const e=i.$implicit;t.xp6(1),t.Q6J("itemHash",e)}}function bs(n,i){if(1&n&&(t.ynx(0),t.TgZ(1,"td"),t.YNc(2,gs,1,1,"img",8),t._uU(3),t.qZA(),t.TgZ(4,"td"),t._uU(5),t.qZA(),t.YNc(6,ys,2,1,"ng-container",7),t.TgZ(7,"td"),t.YNc(8,Ts,2,1,"ng-container",4),t._uU(9),t.qZA(),t.BQk()),2&n){const e=i.ngVar,o=t.oxw(2).$implicit,a=t.oxw();t.xp6(2),t.Q6J("ngIf",o.icon),t.xp6(1),t.hij(" ",o.name," "),t.xp6(2),t.Oqu(a.formatEntry(o,e)),t.xp6(1),t.Q6J("ngVar",a.valueFunction(o,a.differenceTier)),t.xp6(2),t.Q6J("ngForOf",o.overrideIcons),t.xp6(1),t.hij(" ",o.description," ")}}function Cs(n,i){if(1&n&&(t.TgZ(0,"tr"),t.YNc(1,bs,10,6,"ng-container",7),t.qZA()),2&n){const e=t.oxw().$implicit,o=t.oxw();t.xp6(1),t.Q6J("ngVar",o.valueFunction(e,o.tier))}}function vs(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Cs,2,1,"tr",6),t.BQk()),2&n){const e=i.$implicit,o=t.oxw();t.xp6(1),t.Q6J("ngIf",null==e.description||!!e.description[o.characterClass])}}let Ss=(()=>{class n{constructor(e,o){this.config=e,this.characterStats=o,this.ArmorStatNames=r.Mi,this.tier=0,this.differenceTier=0,this.stat=r.WB.Mobility,this.entries=[]}get characterClass(){return this.config.readonlyConfigurationSnapshot.characterClass}ngOnInit(){this.entries=this.characterStats.get(r.Mi[this.stat],this.config.readonlyConfigurationSnapshot.characterClass,this.config.readonlyConfigurationSnapshot.selectedModElement,this.config.readonlyConfigurationSnapshot.selectedExotics)}formatEntry(e,o){return o=parseFloat(o.toFixed(2)),e.valueType===R.Speed?(n=>(Math.round(100*n)/100).toFixed(2)+"m/s")(o):e.valueType===R.Percentage?`${o}%`:e.valueType===R.PercentagePerSecond?`${o}%/s`:e.valueType===R.TimeMMSS?function ws(n){var i=function ds(n){n=Math.abs(n),Math.floor(10*n%10);var e=Math.floor(n/60),o=Math.floor(n-60*e);return`${e}:${o<10?"0":""}${o}`}(n);return n<0&&(i="- "+i),i}(o):e.valueType===R.Time?function Zs(n){var i=function us(n){n=Math.abs(n);var i=Math.floor(10*n%10),e=Math.floor(n/60),o=Math.floor(n-60*e);let a=`${o}s`;return i>0&&(a=`${o}.${i}s`),e>0&&(a=`${e}m ${a}`),a}(n);return n<0&&(i="- "+i),i}(o):o}valueFunction(e,o){return e.values[o]}getPercentageDifference(e,o){return(e-o)/Math.max(1,o)}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(B),t.Y36(ae))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-stat-cooldown-tooltip"]],inputs:{tier:"tier",differenceTier:"differenceTier",stat:"stat"},decls:13,vars:5,consts:[[1,"tooltip-container"],["colspan","3",1,"exotic-name"],[2,"min-width","50px"],["style","min-width: 50px","colspan","2",4,"ngIf"],[4,"ngFor","ngForOf"],["colspan","2",2,"min-width","50px"],[4,"ngIf"],[4,"ngVar"],[3,"src",4,"ngIf"],[3,"src"],[3,"good","bad",4,"ngVar"],[3,"itemHash"]],template:function(e,o){1&e&&(t.TgZ(0,"div")(1,"div",0)(2,"table")(3,"tr")(4,"td",1),t._uU(5),t.qZA()(),t.TgZ(6,"tr")(7,"th",2),t._uU(8,"Stat"),t.qZA(),t.TgZ(9,"th",2),t._uU(10),t.qZA(),t.YNc(11,ps,2,1,"th",3),t.qZA(),t.YNc(12,vs,2,1,"ng-container",4),t.qZA()()()),2&e&&(t.xp6(5),t.AsE("",o.ArmorStatNames[o.stat]," at Tier ",o.tier,""),t.xp6(5),t.hij("Tier ",o.tier,""),t.xp6(1),t.Q6J("ngIf",o.differenceTier!==o.tier),t.xp6(1),t.Q6J("ngForOf",o.entries))},dependencies:[T.sg,T.O5,Ct,Ht,T.JJ],styles:["[_nghost-%COMP%]{max-width:420px}.tooltip-container[_ngcontent-%COMP%]{border:1px solid gray;padding:1px 5px 4px;background:linear-gradient(#484848 0px,#2c2c2c 100%)}.exotic-name[_ngcontent-%COMP%]{color:#eedb9e}.good[_ngcontent-%COMP%]{color:#58b458}.bad[_ngcontent-%COMP%]{color:#ff6b6b}table[_ngcontent-%COMP%]{border-collapse:separate;border-spacing:7px 3px}th[_ngcontent-%COMP%]{white-space:nowrap}img[_ngcontent-%COMP%]{width:24px;height:24px;float:left;margin-right:3px}tr[_ngcontent-%COMP%]{line-height:24px}"]}),n})(),Is=(()=>{class n{constructor(e,o,a){this._overlay=e,this._overlayPositionBuilder=o,this._elementRef=a,this.showToolTip=!0,this.tooltipTier=0,this.tooltipStat=r.WB.Mobility,this.tooltipDifferenceTier=0}ngOnInit(){if(!this.showToolTip)return;const e=this._overlayPositionBuilder.flexibleConnectedTo(this._elementRef).withPositions([{originX:"center",originY:"bottom",overlayX:"center",overlayY:"top",offsetY:5},{originX:"center",originY:"top",overlayX:"center",overlayY:"bottom",offsetY:-5}]);this._overlayRef=this._overlay.create({positionStrategy:e}),this._overlayRef.addPanelClass("overlay-no-pointer-event")}show(){if(this._overlayRef&&!this._overlayRef.hasAttached()){const e=this._overlayRef.attach(new Nt.C5(Ss));e.instance.tier=this.tooltipTier,e.instance.differenceTier=this.tooltipDifferenceTier,e.instance.stat=this.tooltipStat}}hide(){this.closeToolTip()}ngOnDestroy(){this.closeToolTip()}closeToolTip(){this._overlayRef&&this._overlayRef.detach()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(pt.aV),t.Y36(pt.wJ),t.Y36(t.SBq))},n.\u0275dir=t.lG2({type:n,selectors:[["","statCooldownTooltip",""]],hostBindings:function(e,o){1&e&&t.NdJ("mouseenter",function(){return o.show()})("mouseleave",function(){return o.hide()})},inputs:{showToolTip:"showToolTip",tooltipTier:"tooltipTier",tooltipStat:"tooltipStat",tooltipDifferenceTier:"tooltipDifferenceTier",contentTemplate:"contentTemplate"}}),n})();function ks(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"mat-button-toggle",4),t.NdJ("click",function(){const s=t.CHM(e).index,l=t.oxw();return t.KtG(l.setValue(s))}),t.TgZ(1,"div",5),t._uU(2),t.qZA()()}if(2&n){const e=i.index,o=t.oxw();t.ekj("isFromMod",o.isAddedByConfigMods(e))("mat-button-toggle-checked",o.selectedTier>=e)("not-checked",o.selectedTier{class n{constructor(){this.TierRange=new Array(11),this.stat=r.WB.Mobility,this.statsByMods=0,this.maximumAvailableTier=10,this.selectedTier=0,this.locked=!1,this.selectedTierChange=new t.vpe,this.lockedChange=new t.vpe}setValue(e){e<=this.maximumAvailableTier&&(this.selectedTier=e,this.selectedTierChange.emit(e))}isAddedByConfigMods(e){return e>0&&(this.selectedTier-e>=0&&this.selectedTier-e{class n{constructor(e,o){this.config=e,this.inventory=o,this.minimumStatTiers=zt(1),this.maximumPossibleTiers=[10,10,10,10,10,10],this.statsByMods=[0,0,0,0,0,0],this._statCombo4x100=[],this._statCombo3x100=[],this.config_zero_waste=!1,this.config_mod_strategy=Tt.None,this.config_reduce_waste=!1,this.ngUnsubscribe=new nt.xQ,this.stats=Object.keys(r.WB).filter(a=>!isNaN(Number(a))).map(a=>({name:r.WB[a],value:+a}))}ngOnInit(){this.config.configuration.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(e=>{const o=[0,0,0,0,0,0];for(let a of e.enabledMods)for(let s of ut[a].bonus)o[s.stat]+=s.value/10;this.statsByMods=o,this.minimumStatTiers=e.minimumStatTiers,this.config_zero_waste=e.onlyShowResultsWithNoWastedStats,this.config_mod_strategy=e.modOptimizationStrategy,this.config_reduce_waste=e.tryLimitWastedStats}),this.inventory.armorResults.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(e=>{const o=e.maximumPossibleTiers||[10,10,10,10,10,10];console.log("d.maximumPossibleTiers",o),o.filter(a=>0==a).length<6&&(this.maximumPossibleTiers=o),this._statCombo3x100=(e.statCombo3x100||[]).sort((a,s)=>_e(s)-_e(a)),this._statCombo4x100=e.statCombo4x100||[]})}setSelectedTier(e,o){this.config.modifyConfiguration(a=>{a.minimumStatTiers[e].value=o})}clearStatSelection(){this.config.modifyConfiguration(e=>{for(let o=0;o<6;o++)e.minimumStatTiers[o]={fixed:!1,value:0}})}useStatPreset(e){0!=e.filter(o=>10!=this.config.readonlyConfigurationSnapshot.minimumStatTiers[o].value).length&&this.config.modifyConfiguration(o=>{for(let a of e)o.minimumStatTiers[a].value=10})}setLockState(e,o){this.config.modifyConfiguration(a=>{a.minimumStatTiers[e].fixed=o})}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}setModOptimizationStrategy(){this.config.modifyConfiguration(e=>{e.modOptimizationStrategy=this.config_mod_strategy})}toggleReduceWaste(){this.config.modifyConfiguration(e=>{e.tryLimitWastedStats=!this.config_reduce_waste})}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(B),t.Y36(K))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-desired-stat-selection"]],decls:41,vars:12,consts:[[4,"ngFor","ngForOf"],["id","tierSelectButtonContainer"],[1,"tierSelectButton"],["mat-stroked-button","","color","warn","id","clearStatButton",3,"click"],["mat-stroked-button","","aria-label","Select builds with three stats at tier 10.",1,"selectStatDistributionButton",3,"matMenuTriggerFor","disabled"],["menu",""],["menu1","matMenu"],["mat-menu-item","",3,"click",4,"ngFor","ngForOf"],["mat-stroked-button","","aria-label","Select builds with four stats at tier 10.",3,"matMenuTriggerFor","disabled"],["menu2","matMenu"],[3,"ngModel","ngModelChange","change"],["matTooltip","Fast. Will result in good and fast results. Some better results *may* be skipped.",3,"value"],["matTooltip","Slower. Reduces the amount of used mods. This means that it will try to give you 4 mods instead of 5 whenever possible.",3,"value"],["matTooltip","Slower. Reduces the total cost of mods. This will result in less Intellect mods, for example.",3,"value"],["color","primary",3,"checked","change"],[1,"statContainerWrapper"],["src","https://www.bungie.net/common/destiny2_content/icons/e26e0e93a9daf4fdd21bf64eb9246340.png","alt","Mobility","class","dialogStatIcon",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/202ecc1c6febeb6b97dafc856e863140.png","alt","Resilience","class","dialogStatIcon",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/128eee4ee7fc127851ab32eac6ca91cf.png","alt","Recovery","class","dialogStatIcon",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/79be2d4adef6a19203f7385e5c63b45b.png","alt","Discipline","class","dialogStatIcon",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/d1c154469670e9a592c9d4cbdcae5764.png","alt","Intellect","class","dialogStatIcon",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/ea5af04ccd6a3470a44fd7bb0f66e2f7.png","alt","Strength","class","dialogStatIcon",4,"ngIf"],[3,"stat","statsByMods","maximumAvailableTier","selectedTier","locked","selectedTierChange","lockedChange"],["src","https://www.bungie.net/common/destiny2_content/icons/e26e0e93a9daf4fdd21bf64eb9246340.png","alt","Mobility",1,"dialogStatIcon"],["src","https://www.bungie.net/common/destiny2_content/icons/202ecc1c6febeb6b97dafc856e863140.png","alt","Resilience",1,"dialogStatIcon"],["src","https://www.bungie.net/common/destiny2_content/icons/128eee4ee7fc127851ab32eac6ca91cf.png","alt","Recovery",1,"dialogStatIcon"],["src","https://www.bungie.net/common/destiny2_content/icons/79be2d4adef6a19203f7385e5c63b45b.png","alt","Discipline",1,"dialogStatIcon"],["src","https://www.bungie.net/common/destiny2_content/icons/d1c154469670e9a592c9d4cbdcae5764.png","alt","Intellect",1,"dialogStatIcon"],["src","https://www.bungie.net/common/destiny2_content/icons/ea5af04ccd6a3470a44fd7bb0f66e2f7.png","alt","Strength",1,"dialogStatIcon"],["mat-menu-item","",3,"click"],["class","statContainerWrapper",4,"ngFor","ngForOf"]],template:function(e,o){if(1&e&&(t.TgZ(0,"table"),t.YNc(1,Js,12,12,"tr",0),t.qZA(),t.TgZ(2,"span",1)(3,"span",2)(4,"button",3),t.NdJ("click",function(){return o.clearStatSelection()}),t._uU(5,"Clear"),t.qZA()(),t.TgZ(6,"span",2)(7,"button",4)(8,"mat-icon"),t._uU(9,"expand_more"),t.qZA(),t._uU(10," Select 3x T10 Builds "),t.qZA(),t.TgZ(11,"mat-menu",5,6),t.YNc(13,Ws,2,1,"button",7),t.qZA()(),t.TgZ(14,"span",2)(15,"button",8)(16,"mat-icon"),t._uU(17,"expand_more"),t.qZA(),t._uU(18," Select 4x T10 Builds "),t.qZA(),t.TgZ(19,"mat-menu",null,9),t.YNc(21,er,2,1,"button",7),t.qZA()()(),t._UZ(22,"br")(23,"br"),t.TgZ(24,"div")(25,"div")(26,"b"),t._uU(27,"Mod optimization strategy:"),t.qZA()(),t.TgZ(28,"div"),t._uU(29,"You can choose if the algorithm should keep an eye on amount or the cost of mods."),t.qZA(),t.TgZ(30,"mat-button-toggle-group",10),t.NdJ("ngModelChange",function(s){return o.config_mod_strategy=s})("change",function(){return o.setModOptimizationStrategy()}),t.TgZ(31,"mat-button-toggle",11),t._uU(32,"No extra logic (fast)"),t.qZA(),t.TgZ(33,"mat-button-toggle",12),t._uU(34,"Fewer mods, high cost (slow)"),t.qZA(),t.TgZ(35,"mat-button-toggle",13),t._uU(36,"Many mods, low cost (slow)"),t.qZA()()(),t._UZ(37,"br"),t.TgZ(38,"div")(39,"mat-slide-toggle",14),t.NdJ("change",function(){return o.toggleReduceWaste()}),t._uU(40," Add mods to reduce wasted stats (slower) "),t.qZA()()),2&e){const a=t.MAs(12),s=t.MAs(20);t.xp6(1),t.Q6J("ngForOf",o.stats),t.xp6(6),t.Q6J("matMenuTriggerFor",a)("disabled",0===o._statCombo3x100.length),t.xp6(6),t.Q6J("ngForOf",o._statCombo3x100),t.xp6(2),t.Q6J("matMenuTriggerFor",s)("disabled",0===o._statCombo4x100.length),t.xp6(6),t.Q6J("ngForOf",o._statCombo4x100),t.xp6(9),t.Q6J("ngModel",o.config_mod_strategy),t.xp6(1),t.Q6J("value",0),t.xp6(2),t.Q6J("value",1),t.xp6(2),t.Q6J("value",2),t.xp6(4),t.Q6J("checked",o.config_reduce_waste)}},dependencies:[T.sg,T.O5,V.JJ,V.On,g.lW,Zt.Rr,N.gM,j.Hw,vt.VK,vt.OP,vt.p6,it.A9,it.Yi,Ds],styles:["#tierSelectButtonContainer[_ngcontent-%COMP%] > .tierSelectButton[_ngcontent-%COMP%]:not(:last-child){margin-right:5px}.dialogStatIcon[_ngcontent-%COMP%]{height:35px}.warn[_ngcontent-%COMP%]{background-color:#8b0000;padding-left:15px;padding-right:15px}"]}),n})();function or(n,i){if(1&n&&(t.TgZ(0,"div")(1,"div",22),t._UZ(2,"img",23)(3,"img",24),t.O4$(),t.TgZ(4,"svg",25)(5,"text",26),t._uU(6,"3"),t.qZA()(),t.TgZ(7,"svg",27)(8,"text",26),t._uU(9,"1"),t.qZA()(),t.kcU(),t._UZ(10,"div",28),t.qZA(),t.TgZ(11,"div",22),t._UZ(12,"img",29)(13,"img",30),t.O4$(),t.TgZ(14,"svg",25)(15,"text",26),t._uU(16,"4"),t.qZA()(),t.TgZ(17,"svg",27)(18,"text",26),t._uU(19,"2"),t.qZA()(),t.kcU(),t._UZ(20,"div",28),t.qZA(),t.TgZ(21,"div",22),t._UZ(22,"img",31)(23,"img",32),t.O4$(),t.TgZ(24,"svg",25)(25,"text",26),t._uU(26,"3"),t.qZA()(),t.TgZ(27,"svg",27)(28,"text",26),t._uU(29,"1"),t.qZA()(),t.kcU(),t._UZ(30,"div",28),t.qZA(),t.TgZ(31,"div",22),t._UZ(32,"img",33)(33,"img",34),t.O4$(),t.TgZ(34,"svg",25)(35,"text",26),t._uU(36,"3"),t.qZA()(),t.TgZ(37,"svg",27)(38,"text",26),t._uU(39,"1"),t.qZA()(),t.kcU(),t._UZ(40,"div",28),t.qZA(),t.TgZ(41,"div",22),t._UZ(42,"img",35)(43,"img",36),t.O4$(),t.TgZ(44,"svg",25)(45,"text",26),t._uU(46,"4"),t.qZA()(),t.TgZ(47,"svg",27)(48,"text",26),t._uU(49,"2"),t.qZA()(),t.kcU(),t._UZ(50,"div",28),t.qZA(),t.TgZ(51,"div",22),t._UZ(52,"img",37)(53,"img",38),t.O4$(),t.TgZ(54,"svg",25)(55,"text",26),t._uU(56,"4"),t.qZA()(),t.TgZ(57,"svg",27)(58,"text",26),t._uU(59,"2"),t.qZA()(),t.kcU(),t._UZ(60,"div",28),t.qZA()()),2&n){const e=i.ngVar;t.xp6(1),t.ekj("major",e>=3)("minor",e>=1&&e<3),t.xp6(10),t.ekj("major",e>=4)("minor",e>=2&&e<4),t.xp6(10),t.ekj("major",e>=3)("minor",e>=1&&e<3),t.xp6(10),t.ekj("major",e>=3)("minor",e>=1&&e<3),t.xp6(10),t.ekj("major",e>=4)("minor",e>=2&&e<4),t.xp6(10),t.ekj("major",e>=4)("minor",e>=2&&e<4)}}function ir(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"mat-button-toggle",39),t.NdJ("click",function(){const s=t.CHM(e).index,l=t.oxw();return t.KtG(l.setValue(s))}),t._uU(1),t.qZA()}if(2&n){const e=i.index,o=t.oxw();t.Gre("select-button ",o.selection>=e?"mat-button-toggle-checked":"",""),t.Q6J("value",e),t.xp6(1),t.Oqu(e)}}function ar(n,i){1&n&&(t.TgZ(0,"mat-icon"),t._uU(1,"lock_open"),t.qZA())}function sr(n,i){1&n&&(t.TgZ(0,"mat-icon"),t._uU(1,"lock"),t.qZA())}function rr(n,i){if(1&n){const e=t.EpF();t.ynx(0),t.TgZ(1,"button",40),t.NdJ("click",function(){const s=t.CHM(e).$implicit,l=t.oxw();return t.KtG(l.setArmorPerk(s))}),t._UZ(2,"app-armor-perk-icon",41),t.TgZ(3,"span",42),t._uU(4),t.qZA()(),t.BQk()}if(2&n){const e=i.$implicit,o=t.oxw();t.xp6(1),t.ekj("selected-menu",e===o.armorPerk),t.xp6(1),t.Q6J("perk",e),t.xp6(2),t.Oqu(o.ArmorPerkOrSlotNames[e])}}function lr(n,i){if(1&n&&t._UZ(0,"img",43,44),2&n){const e=t.oxw();t.MGl("matTooltip","If you enable the lock on the settings on the right they will be forced to exist on a ",e.slotName,".")}}function cr(n,i){if(1&n&&t._UZ(0,"img",45,44),2&n){const e=t.oxw();t.MGl("matTooltip","If you enable the lock on the settings on the right they will be forced to exist on a ",e.slotName,".")}}function mr(n,i){if(1&n&&t._UZ(0,"img",46,44),2&n){const e=t.oxw();t.MGl("matTooltip","If you enable the lock on the settings on the right they will be forced to exist on a ",e.slotName,".")}}function dr(n,i){if(1&n&&t._UZ(0,"img",47,44),2&n){const e=t.oxw();t.MGl("matTooltip","If you enable the lock on the settings on the right they will be forced to exist on a ",e.slotName,".")}}function ur(n,i){if(1&n&&t._UZ(0,"img",48,44),2&n){const e=t.oxw();t.MGl("matTooltip","If you enable the lock on the settings on the right they will be forced to exist on a ",e.slotName,".")}}let pr=(()=>{class n{constructor(e,o,a){this.config=e,this.inventory=o,this.db=a,this.featureDisabled=!S_featureFlags_enableModslotLimitation,this.ArmorSlot=C.y,this.ArmorPerkOrSlotNames=r.cM,this.ArmorPerkOrSlot=r.Pn,this.ModRange=new Array(6),this.selection=5,this.slot=C.y.ArmorSlotHelmet,this.possible=new t.vpe,this.isPossible=!0,this.configSelectedClass=0,this.armorPerk=r.Pn.None,this.armorPerkLock=!1,this.maximumModSlots=5,this.hoveredSlot=-1,this.disabled=!1,this.availableArmorPerks=[r.Pn.None,r.Pn.PerkAscendantProtector,r.Pn.SlotCrotasEnd,r.Pn.SlotRootOfNightmares,r.Pn.SlotKingsFall,r.Pn.SlotVowOfTheDisciple,r.Pn.SlotVaultOfGlass,r.Pn.SlotDeepStoneCrypt,r.Pn.SlotGardenOfSalvation,r.Pn.SlotLastWish,r.Pn.SlotArtifice,r.Pn.PerkIronBanner,r.Pn.SlotNightmare,r.Pn.PerkExhumedExcess,r.Pn.SonarAmplifier,r.Pn.PerkQueensFavor,r.Pn.PerkSeraphSensorArray,r.Pn.PerkPlunderersTrappings,r.Pn.PerkUniformedOfficer],this.ngUnsubscribe=new nt.xQ}runPossibilityCheck(){var e=this;return(0,m.Z)(function*(){if(e.armorPerkLock&&e.armorPerk!=r.Pn.None){var a=yield e.db.inventoryArmor.where("clazz").equals(e.configSelectedClass).and(s=>s.slot==e.slot).and(s=>s.perk==e.armorPerk).count();e.isPossible=a>0}else e.isPossible=!0;e.possible.next(e.isPossible)})()}get slotName(){switch(this.slot){case C.y.ArmorSlotHelmet:return"Helmet";case C.y.ArmorSlotGauntlet:return"Gauntlet";case C.y.ArmorSlotChest:return"Chest";case C.y.ArmorSlotLegs:return"Leg";case C.y.ArmorSlotClass:return"Class Item";default:return""}}ngOnInit(){var e=this;this.config.configuration.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(function(){var o=(0,m.Z)(function*(a){var s=e.configSelectedClass!=a.characterClass||e.selection!=a.maximumModSlots[e.slot].value||e.armorPerk!=a.armorPerks[e.slot].value||e.armorPerkLock!=a.armorPerks[e.slot].fixed||e.maximumModSlots!=a.maximumModSlots[e.slot].value;e.configSelectedClass=a.characterClass,e.selection=a.maximumModSlots[e.slot].value,e.armorPerk=a.armorPerks[e.slot].value,e.armorPerkLock=a.armorPerks[e.slot].fixed,e.maximumModSlots=a.maximumModSlots[e.slot].value,e.disabled=(yield e.inventory.getExoticsForClass(a.characterClass)).filter(l=>a.selectedExotics.indexOf(l.item.hash)>-1).map(l=>l.item.slot).indexOf(e.slot)>-1,s&&(yield e.runPossibilityCheck())});return function(a){return o.apply(this,arguments)}}())}ngAfterViewInit(){S_featureFlags_enableGuardianGamesFeatures&&this.slot===C.y.ArmorSlotClass&&this.availableArmorPerks.splice(1,0,r.Pn.GuardianGamesClassItem)}toggleArmorPerkLock(){this.config.modifyConfiguration(e=>{e.armorPerks[this.slot].fixed=!e.armorPerks[this.slot].fixed})}setArmorPerk(e){this.armorPerk!=e&&this.config.modifyConfiguration(o=>{o.armorPerks[this.slot].value=e})}setValue(e){this.featureDisabled||this.maximumModSlots!=e&&(this.maximumModSlots=e,this.config.modifyConfiguration(o=>o.maximumModSlots[this.slot].value=e))}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(B),t.Y36(K),t.Y36(et))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-slot-limitation-selection"]],inputs:{slot:"slot"},outputs:{possible:"possible"},decls:35,vars:58,consts:[[1,"container"],[1,"energy"],[1,"energy-container",3,"mouseout"],[1,"energy-bar","blocked",3,"click","mouseover"],[1,"energy-bar",3,"click","mouseover"],[4,"ngVar"],["appearance","standard","name","fontStyle",2,"display","none"],[3,"value","class","click",4,"ngFor","ngForOf"],[1,"selector-slots"],["value","bold",3,"matMenuTriggerFor"],[3,"perk"],["disabled","",3,"disabled","matTooltip","click"],[4,"ngIf"],[1,"modslot-select-scroll-menu"],["dropdownArmorModslot","matMenu"],[4,"ngFor","ngForOf"],[1,"slot-icon-container"],["class","slot-icon","src","data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 51'%3e%3cpath d='M24.77 7.03c-8.15.38-14.42 7.41-14.42 15.57v16.06c0 .23.13.44.34.53l10.33 4.68c.78.35 1.66-.22 1.66-1.07V31.9c0-.39-.19-.75-.52-.97l-5.39-3.64c-.87-.52-1.43-1.5-1.34-2.61.13-1.46 1.46-2.52 2.93-2.52h4.36c.65 0 1.17.53 1.17 1.17v6.71s0 .61 1.61.61 1.61-.61 1.61-.61v-6.71c0-.65.52-1.17 1.17-1.17h4.36c1.47 0 2.8 1.06 2.93 2.52.1 1.11-.47 2.09-1.34 2.61l-5.39 3.64c-.32.22-.52.58-.52.97v10.91c0 .85.88 1.42 1.66 1.07l10.33-4.68c.21-.1.34-.3.34-.53v-16.5c.01-8.61-7.18-15.55-15.88-15.14z'/%3e%3c/svg%3e",3,"matTooltip",4,"ngIf"],["class","slot-icon","src","data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 51'%3e%3cpath d='M40.1 30.03c.39-.47.59-1.11.42-1.8-.18-.76-.81-1.39-1.58-1.55-.81-.17-1.54.14-2.01.68 0 0-.03.04-.05.07l-.12.15c-.47.61-1.95 2.37-3.29 2.45-1.62.1 2.51-16.14 2.51-16.14h-.01c.04-.15.07-.31.07-.48 0-.98-.79-1.77-1.77-1.77-.81 0-1.49.55-1.69 1.29h-.01s-.01.03-.01.05l-.03.15c-.24 1.21-1.68 8.2-2.81 8.89-1.24.75-1.22-13.23-1.22-13.23 0-.98-.79-1.77-1.77-1.77s-1.77.79-1.77 1.77c0 0-.35 12.85-1.73 12.73-1.37-.12-2.47-10.67-2.47-10.67 0-.98-.79-1.77-1.77-1.77s-1.77.79-1.77 1.77c0 .15.02.28.06.42.27 2.06 1.36 11.12-.06 11.12-1.6 0-3.68-6.35-3.68-6.35a1.62 1.62 0 0 0-3.14.56c0 .09.01.17.03.25l-.03.01s.02.07.07.19c.02.09.05.17.09.25.99 2.71 6.28 17.46 7.26 26.23.03.25.24.44.49.44H30.5a.5.5 0 0 0 .5-.45c.1-1.04.52-3.68 2.09-5.54 1.8-2.14 6.06-6.89 6.86-7.79.02-.02.03-.04.05-.06.07-.06.11-.1.1-.1z'/%3e%3c/svg%3e",3,"matTooltip",4,"ngIf"],["class","slot-icon","src","data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 51'%3e%3cpath d='M42.49 13.55c-1.06-1.51-4.05-5.05-9.52-6.49a.635.635 0 0 0-.78.5c-.35 2.04-1.78 8.08-6.69 8.08s-6.34-6.04-6.69-8.08a.635.635 0 0 0-.78-.5c-5.47 1.44-8.46 4.98-9.52 6.49-.24.34-.09.8.3.94 2.01.7 7.34 2.94 7.34 7.01 0 4.24-4.47 6.89-5.87 7.61-.25.13-.38.4-.33.67 1.44 7.62 7.55 13.09 8.67 14.04.11.1.25.15.4.15h12.94c.15 0 .29-.05.4-.15 1.12-.95 7.23-6.42 8.67-14.04a.624.624 0 0 0-.33-.67c-1.4-.72-5.87-3.37-5.87-7.61 0-4.08 5.33-6.32 7.34-7.01.41-.14.56-.61.32-.94z'/%3e%3c/svg%3e",3,"matTooltip",4,"ngIf"],["class","slot-icon","src","data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 51'%3e%3cpath d='M13 7.6h13.96c1.73 0 2.99 1.64 2.54 3.32l-5.44 20.46c-.07.28.03.57.28.72.99.62 4.64 2.57 8.15 5.78.12.11 2.92-.03 3.09-.01 2.31.2 3.97-.08 5.05 4.7.09.42-.21.82-.64.82H11.82c-.34 0-.63-.26-.66-.61-.15-1.82-.4-7.23 1.74-9.32a.62.62 0 0 0 .2-.6c-.39-1.74-2.09-9.83-2.74-22.48-.07-1.5 1.12-2.78 2.64-2.78z'/%3e%3c/svg%3e",3,"matTooltip",4,"ngIf"],["class","slot-icon","src","data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 51'%3e%3cpath d='M43.12 7.12c-4.13 2.33-17.62 1.9-17.62 1.9s-13.49.43-17.62-1.9c-.37-.21-.85-.03-.94.39-.36 1.49-.87 4.42.09 5.86.09.13.22.21.38.25 1.23.3 7.36 1.65 18.09 1.65s16.86-1.35 18.09-1.65c.15-.04.29-.12.38-.25.96-1.44.45-4.37.1-5.86-.1-.42-.58-.6-.95-.39zM9.27 28.34s0 2.34 2.27 2.34 2.27-2.34 2.27-2.34V15.73c-1.93-.22-3.45-.45-4.55-.65v13.26zM16.3 34.8s0 2.34 2.27 2.34 2.27-2.34 2.27-2.34V16.24c-1.66-.06-3.18-.16-4.55-.27V34.8zM37.18 28.34s0 2.34 2.27 2.34 2.27-2.34 2.27-2.34V15.08c-1.09.2-2.61.44-4.55.65v12.61zM30.15 34.8s0 2.34 2.27 2.34 2.27-2.34 2.27-2.34V15.97c-1.36.11-2.88.21-4.55.27V34.8zM23.23 16.31v25.31s0 2.34 2.27 2.34 2.27-2.34 2.27-2.34V16.31c-.74.01-1.49.02-2.27.02-.78.01-1.54 0-2.27-.02z'/%3e%3c/svg%3e",3,"matTooltip",4,"ngIf"],[1,"mod-info"],["src","https://www.bungie.net/common/destiny2_content/icons/8861e73c6701b8347cef025d400cd3dc.png",1,"mod-icon","mod-major"],["src","https://www.bungie.net/common/destiny2_content/icons/a6694a4ff65d371d19330fb10415b315.png",1,"mod-icon","mod-minor"],["viewBox","0 0 100 100",1,"mod-number","mod-major"],["font-size","25px","text-anchor","end","x","87","y","30"],["viewBox","0 0 100 100",1,"mod-number","mod-minor"],[1,"overlay"],["src","https://www.bungie.net/common/destiny2_content/icons/b2228e67e72fad2eb37735a33e0d0116.png",1,"mod-icon","mod-major"],["src","https://www.bungie.net/common/destiny2_content/icons/ab1ffe5128806c3639e531f89a2d72d1.png",1,"mod-icon","mod-minor"],["src","https://www.bungie.net/common/destiny2_content/icons/3a5a2d6ee50b2611ebc4d4806d29301a.png",1,"mod-icon","mod-major"],["src","https://www.bungie.net/common/destiny2_content/icons/f841f379751b7672fca0e5f231e92638.png",1,"mod-icon","mod-minor"],["src","https://www.bungie.net/common/destiny2_content/icons/7b64c0b8014a57c6c297babb18c2239e.png",1,"mod-icon","mod-major"],["src","https://www.bungie.net/common/destiny2_content/icons/dbd1615501778b66bca2764b9a561044.png",1,"mod-icon","mod-minor"],["src","https://www.bungie.net/common/destiny2_content/icons/4251f77e3b24900e262f16d5587980ef.png",1,"mod-icon","mod-major"],["src","https://www.bungie.net/common/destiny2_content/icons/e0fc8c022c2ab49ef92caff5843db7da.png",1,"mod-icon","mod-minor"],["src","https://www.bungie.net/common/destiny2_content/icons/98408051297c26cb033cb761ab955fac.png",1,"mod-icon","mod-major"],["src","https://www.bungie.net/common/destiny2_content/icons/f26479a3462676d613f135657ecad45a.png",1,"mod-icon","mod-minor"],[3,"value","click"],["mat-menu-item","",3,"click"],[1,"menuArmorIcon",3,"perk"],[1,"menuArmorText"],["src","data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 51'%3e%3cpath d='M24.77 7.03c-8.15.38-14.42 7.41-14.42 15.57v16.06c0 .23.13.44.34.53l10.33 4.68c.78.35 1.66-.22 1.66-1.07V31.9c0-.39-.19-.75-.52-.97l-5.39-3.64c-.87-.52-1.43-1.5-1.34-2.61.13-1.46 1.46-2.52 2.93-2.52h4.36c.65 0 1.17.53 1.17 1.17v6.71s0 .61 1.61.61 1.61-.61 1.61-.61v-6.71c0-.65.52-1.17 1.17-1.17h4.36c1.47 0 2.8 1.06 2.93 2.52.1 1.11-.47 2.09-1.34 2.61l-5.39 3.64c-.32.22-.52.58-.52.97v10.91c0 .85.88 1.42 1.66 1.07l10.33-4.68c.21-.1.34-.3.34-.53v-16.5c.01-8.61-7.18-15.55-15.88-15.14z'/%3e%3c/svg%3e",1,"slot-icon",3,"matTooltip"],["tooltip","matTooltip"],["src","data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 51'%3e%3cpath d='M40.1 30.03c.39-.47.59-1.11.42-1.8-.18-.76-.81-1.39-1.58-1.55-.81-.17-1.54.14-2.01.68 0 0-.03.04-.05.07l-.12.15c-.47.61-1.95 2.37-3.29 2.45-1.62.1 2.51-16.14 2.51-16.14h-.01c.04-.15.07-.31.07-.48 0-.98-.79-1.77-1.77-1.77-.81 0-1.49.55-1.69 1.29h-.01s-.01.03-.01.05l-.03.15c-.24 1.21-1.68 8.2-2.81 8.89-1.24.75-1.22-13.23-1.22-13.23 0-.98-.79-1.77-1.77-1.77s-1.77.79-1.77 1.77c0 0-.35 12.85-1.73 12.73-1.37-.12-2.47-10.67-2.47-10.67 0-.98-.79-1.77-1.77-1.77s-1.77.79-1.77 1.77c0 .15.02.28.06.42.27 2.06 1.36 11.12-.06 11.12-1.6 0-3.68-6.35-3.68-6.35a1.62 1.62 0 0 0-3.14.56c0 .09.01.17.03.25l-.03.01s.02.07.07.19c.02.09.05.17.09.25.99 2.71 6.28 17.46 7.26 26.23.03.25.24.44.49.44H30.5a.5.5 0 0 0 .5-.45c.1-1.04.52-3.68 2.09-5.54 1.8-2.14 6.06-6.89 6.86-7.79.02-.02.03-.04.05-.06.07-.06.11-.1.1-.1z'/%3e%3c/svg%3e",1,"slot-icon",3,"matTooltip"],["src","data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 51'%3e%3cpath d='M42.49 13.55c-1.06-1.51-4.05-5.05-9.52-6.49a.635.635 0 0 0-.78.5c-.35 2.04-1.78 8.08-6.69 8.08s-6.34-6.04-6.69-8.08a.635.635 0 0 0-.78-.5c-5.47 1.44-8.46 4.98-9.52 6.49-.24.34-.09.8.3.94 2.01.7 7.34 2.94 7.34 7.01 0 4.24-4.47 6.89-5.87 7.61-.25.13-.38.4-.33.67 1.44 7.62 7.55 13.09 8.67 14.04.11.1.25.15.4.15h12.94c.15 0 .29-.05.4-.15 1.12-.95 7.23-6.42 8.67-14.04a.624.624 0 0 0-.33-.67c-1.4-.72-5.87-3.37-5.87-7.61 0-4.08 5.33-6.32 7.34-7.01.41-.14.56-.61.32-.94z'/%3e%3c/svg%3e",1,"slot-icon",3,"matTooltip"],["src","data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 51'%3e%3cpath d='M13 7.6h13.96c1.73 0 2.99 1.64 2.54 3.32l-5.44 20.46c-.07.28.03.57.28.72.99.62 4.64 2.57 8.15 5.78.12.11 2.92-.03 3.09-.01 2.31.2 3.97-.08 5.05 4.7.09.42-.21.82-.64.82H11.82c-.34 0-.63-.26-.66-.61-.15-1.82-.4-7.23 1.74-9.32a.62.62 0 0 0 .2-.6c-.39-1.74-2.09-9.83-2.74-22.48-.07-1.5 1.12-2.78 2.64-2.78z'/%3e%3c/svg%3e",1,"slot-icon",3,"matTooltip"],["src","data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 51'%3e%3cpath d='M43.12 7.12c-4.13 2.33-17.62 1.9-17.62 1.9s-13.49.43-17.62-1.9c-.37-.21-.85-.03-.94.39-.36 1.49-.87 4.42.09 5.86.09.13.22.21.38.25 1.23.3 7.36 1.65 18.09 1.65s16.86-1.35 18.09-1.65c.15-.04.29-.12.38-.25.96-1.44.45-4.37.1-5.86-.1-.42-.58-.6-.95-.39zM9.27 28.34s0 2.34 2.27 2.34 2.27-2.34 2.27-2.34V15.73c-1.93-.22-3.45-.45-4.55-.65v13.26zM16.3 34.8s0 2.34 2.27 2.34 2.27-2.34 2.27-2.34V16.24c-1.66-.06-3.18-.16-4.55-.27V34.8zM37.18 28.34s0 2.34 2.27 2.34 2.27-2.34 2.27-2.34V15.08c-1.09.2-2.61.44-4.55.65v12.61zM30.15 34.8s0 2.34 2.27 2.34 2.27-2.34 2.27-2.34V15.97c-1.36.11-2.88.21-4.55.27V34.8zM23.23 16.31v25.31s0 2.34 2.27 2.34 2.27-2.34 2.27-2.34V16.31c-.74.01-1.49.02-2.27.02-.78.01-1.54 0-2.27-.02z'/%3e%3c/svg%3e",1,"slot-icon",3,"matTooltip"]],template:function(e,o){if(1&e&&(t.TgZ(0,"div",0)(1,"div",1)(2,"div",2),t.NdJ("mouseout",function(){return o.hoveredSlot=-1}),t.TgZ(3,"div",3),t.NdJ("click",function(){return o.setValue(5)})("mouseover",function(){return o.hoveredSlot=0}),t.qZA(),t.TgZ(4,"div",3),t.NdJ("click",function(){return o.setValue(5)})("mouseover",function(){return o.hoveredSlot=0}),t.qZA(),t.TgZ(5,"div",3),t.NdJ("click",function(){return o.setValue(5)})("mouseover",function(){return o.hoveredSlot=0}),t.qZA(),t.TgZ(6,"div",3),t.NdJ("click",function(){return o.setValue(5)})("mouseover",function(){return o.hoveredSlot=0}),t.qZA(),t.TgZ(7,"div",3),t.NdJ("click",function(){return o.setValue(5)})("mouseover",function(){return o.hoveredSlot=0}),t.qZA(),t.TgZ(8,"div",4),t.NdJ("click",function(){return o.setValue(4)})("mouseover",function(){return o.hoveredSlot=1}),t.qZA(),t.TgZ(9,"div",4),t.NdJ("click",function(){return o.setValue(3)})("mouseover",function(){return o.hoveredSlot=2}),t.qZA(),t.TgZ(10,"div",4),t.NdJ("click",function(){return o.setValue(2)})("mouseover",function(){return o.hoveredSlot=3}),t.qZA(),t.TgZ(11,"div",4),t.NdJ("click",function(){return o.setValue(1)})("mouseover",function(){return o.hoveredSlot=4}),t.qZA(),t.TgZ(12,"div",4),t.NdJ("click",function(){return o.setValue(0)})("mouseover",function(){return o.hoveredSlot=5}),t.qZA()(),t._UZ(13,"br"),t.YNc(14,or,61,24,"div",5),t.qZA(),t.TgZ(15,"mat-button-toggle-group",6),t.YNc(16,ir,2,5,"mat-button-toggle",7),t.qZA(),t.TgZ(17,"div",8)(18,"mat-button-toggle-group")(19,"mat-button-toggle",9),t._UZ(20,"app-armor-perk-icon",10),t.TgZ(21,"mat-icon"),t._uU(22,"arrow_drop_down"),t.qZA()(),t.TgZ(23,"mat-button-toggle",11),t.NdJ("click",function(s){return o.toggleArmorPerkLock(),s.stopPropagation()}),t.YNc(24,ar,2,0,"mat-icon",12),t.YNc(25,sr,2,0,"mat-icon",12),t.qZA()(),t.TgZ(26,"mat-menu",13,14),t.YNc(28,rr,5,4,"ng-container",15),t.qZA()(),t.TgZ(29,"span",16),t.YNc(30,lr,2,1,"img",17),t.YNc(31,cr,2,1,"img",18),t.YNc(32,mr,2,1,"img",19),t.YNc(33,dr,2,1,"img",20),t.YNc(34,ur,2,1,"img",21),t.qZA()()),2&e){const a=t.MAs(27);t.ekj("disabled",o.disabled),t.xp6(8),t.ekj("active",5-o.maximumModSlots>=1)("hovered-higher",o.hoveredSlot>-1&&o.hoveredSlot<1)("hovered",o.hoveredSlot>=1)("blocked",o.featureDisabled),t.xp6(1),t.ekj("active",5-o.maximumModSlots>=2)("hovered-higher",o.hoveredSlot>-1&&o.hoveredSlot<2)("hovered",o.hoveredSlot>=2)("blocked",o.featureDisabled),t.xp6(1),t.ekj("active",5-o.maximumModSlots>=3)("hovered-higher",o.hoveredSlot>-1&&o.hoveredSlot<3)("hovered",o.hoveredSlot>=3)("blocked",o.featureDisabled),t.xp6(1),t.ekj("active",5-o.maximumModSlots>=4)("hovered-higher",o.hoveredSlot>-1&&o.hoveredSlot<4)("hovered",o.hoveredSlot>=4)("blocked",o.featureDisabled),t.xp6(1),t.ekj("active",5-o.maximumModSlots==5)("hovered-higher",o.hoveredSlot>-1&&o.hoveredSlot<5)("hovered",5===o.hoveredSlot)("blocked",o.featureDisabled),t.xp6(2),t.Q6J("ngVar",o.hoveredSlot>-1?5-o.hoveredSlot:o.maximumModSlots),t.xp6(2),t.Q6J("ngForOf",o.ModRange),t.xp6(2),t.ekj("impossible",!o.isPossible),t.xp6(1),t.Q6J("matMenuTriggerFor",a),t.xp6(1),t.Q6J("perk",o.armorPerk),t.xp6(3),t.MGl("matTooltip","Force the selected perk or slot to be on a ",o.slotName,"."),t.Q6J("disabled",o.disabled),t.xp6(1),t.Q6J("ngIf",!o.armorPerkLock),t.xp6(1),t.Q6J("ngIf",o.armorPerkLock),t.xp6(3),t.Q6J("ngForOf",o.availableArmorPerks),t.xp6(2),t.Q6J("ngIf",o.slot===o.ArmorSlot.ArmorSlotHelmet),t.xp6(1),t.Q6J("ngIf",o.slot===o.ArmorSlot.ArmorSlotGauntlet),t.xp6(1),t.Q6J("ngIf",o.slot===o.ArmorSlot.ArmorSlotChest),t.xp6(1),t.Q6J("ngIf",o.slot===o.ArmorSlot.ArmorSlotLegs),t.xp6(1),t.Q6J("ngIf",o.slot===o.ArmorSlot.ArmorSlotClass)}},dependencies:[T.sg,T.O5,N.gM,j.Hw,vt.VK,vt.OP,vt.p6,it.A9,it.Yi,Ct,Wt],styles:[".slot-icon-container[_ngcontent-%COMP%]{float:right;position:relative}.slot-icon-container[_ngcontent-%COMP%] .slot-icon[_ngcontent-%COMP%]{height:30px;position:absolute;left:-30px;filter:invert(1) drop-shadow(1px 1px 3px rgba(0,0,0,.25))!important}.container[_ngcontent-%COMP%]{height:60px}.select-button[_ngcontent-%COMP%]{min-width:40px}.selector-element[_ngcontent-%COMP%]{position:relative;float:right;width:90px;height:70px;top:-21px}.selector-element[_ngcontent-%COMP%] .lock[_ngcontent-%COMP%]{position:absolute;bottom:2px;left:60px}.selector-element[_ngcontent-%COMP%] .element-list[_ngcontent-%COMP%]{float:left;width:70px;padding-left:5px}.selector-element[_ngcontent-%COMP%] .element-list[_ngcontent-%COMP%] .element-icon[_ngcontent-%COMP%]{border:rgba(0,0,0,0) solid 2px;height:26px;width:26px;margin-right:1px;margin-bottom:1px;margin-top:1px;cursor:pointer;filter:grayscale(.4)}.selector-element[_ngcontent-%COMP%] .element-list[_ngcontent-%COMP%] .element-icon[_ngcontent-%COMP%]:hover{filter:grayscale(.2)}.selector-element[_ngcontent-%COMP%] .element-list[_ngcontent-%COMP%] .element-icon.selected[_ngcontent-%COMP%]{filter:grayscale(0)}[_nghost-%COMP%] .selector-slots .mat-button-toggle{background-color:inherit}.modslot-selection[_ngcontent-%COMP%]{width:180px}.selector-slots[_ngcontent-%COMP%]{position:relative;float:right;top:-10px}.selector-slots[_ngcontent-%COMP%] .lock[_ngcontent-%COMP%]{position:absolute;bottom:2px;left:140px}.selector-slots[_ngcontent-%COMP%] .element-list[_ngcontent-%COMP%]{float:left;height:70px;width:175px;padding-left:5px}.selector-slots[_ngcontent-%COMP%] .element-list[_ngcontent-%COMP%] .element-icon[_ngcontent-%COMP%]{height:30px;width:30px;border:rgba(0,0,0,0) solid 2px;margin-right:1px;margin-top:-2px;cursor:pointer}.selector-slots[_ngcontent-%COMP%] .element-list[_ngcontent-%COMP%] .element-icon.disabled[_ngcontent-%COMP%]{opacity:.5;cursor:default;border:rgba(0,0,0,0) solid 2px!important}.impossible[_ngcontent-%COMP%]{background-color:#ff00004d;cursor:help}.left_line[_ngcontent-%COMP%]{pointer-events:none;height:15px;width:100%;border-left:1px solid white;border-bottom:1px solid white;position:absolute;bottom:0px;left:0}.overlay-icon-container[_ngcontent-%COMP%]{position:relative}.overlay-icon-container[_ngcontent-%COMP%] .overlay-icon[_ngcontent-%COMP%]{width:20px;position:absolute;left:7px;bottom:11px;pointer-events:none}.element-icon[_ngcontent-%COMP%]:hover{border:cornflowerblue solid 2px!important}.selected[_ngcontent-%COMP%], .selected[_ngcontent-%COMP%]:hover{background-color:#89b2ff3d;border:#0059ff solid 2px!important}.energy-container[_ngcontent-%COMP%] .energy-bar[_ngcontent-%COMP%]{float:left;margin-right:3px;width:20px;height:10px;border:white solid 2px;cursor:pointer}.energy-container[_ngcontent-%COMP%] .energy-bar.none[_ngcontent-%COMP%]{border:indianred solid 2px}.energy-container[_ngcontent-%COMP%] .energy-bar[_ngcontent-%COMP%]:hover, .energy-container[_ngcontent-%COMP%] .hovered[_ngcontent-%COMP%]{background-color:#6e6e6e}.energy-container[_ngcontent-%COMP%] .hovered-higher[_ngcontent-%COMP%]{background-color:#0000!important}.energy-container[_ngcontent-%COMP%] .energy-bar.active[_ngcontent-%COMP%]{background-color:#fff}.energy-container[_ngcontent-%COMP%] .energy-bar.blocked[_ngcontent-%COMP%]{border:#606060 solid 2px;background-color:#6e6e6e}.mod-info[_ngcontent-%COMP%]{position:relative;float:left;height:40px;width:40px;margin-right:5px}.mod-info[_ngcontent-%COMP%] .mod-number[_ngcontent-%COMP%]{position:absolute;top:1px;bottom:1px;right:1px;left:1px;pointer-events:none;fill:#e0e0e0}.mod-info[_ngcontent-%COMP%] .mod-minor[_ngcontent-%COMP%]{display:none}.mod-info[_ngcontent-%COMP%] .overlay[_ngcontent-%COMP%]{position:absolute;top:0px;width:100%;height:100%;background:linear-gradient(to top left,rgba(0,0,0,0) 0%,rgba(0,0,0,0) calc(50% - .8px),rgb(0,0,0) 50%,rgba(0,0,0,0) calc(50% + .8px),rgba(0,0,0,0) 100%),linear-gradient(to top right,rgba(0,0,0,0) 0%,rgba(0,0,0,0) calc(50% - .8px),rgb(0,0,0) 50%,rgba(0,0,0,0) calc(50% + .8px),rgba(0,0,0,0) 100%)}.mod-info[_ngcontent-%COMP%] .mod-icon[_ngcontent-%COMP%]{width:40px;height:40px}.mod-info[_ngcontent-%COMP%] .mod-minor[_ngcontent-%COMP%]{border:rgba(0,0,0,0) solid 3px;width:34px;height:34px}.mod-info.major[_ngcontent-%COMP%] .overlay[_ngcontent-%COMP%], .mod-info.minor[_ngcontent-%COMP%] .overlay[_ngcontent-%COMP%]{display:none}.mod-info.minor[_ngcontent-%COMP%] .mod-minor[_ngcontent-%COMP%]{display:block}.mod-info.minor[_ngcontent-%COMP%] .mod-major[_ngcontent-%COMP%]{display:none}.menuArmorIcon[_ngcontent-%COMP%]{position:absolute;top:8px}.menuArmorText[_ngcontent-%COMP%]{padding-left:35px}.selected-menu[_ngcontent-%COMP%]{background-color:#89b2ff3d}.selected-menu[_ngcontent-%COMP%]:hover{background-color:#89b2ff4d} .modslot-select-scroll-menu{overflow-y:auto;max-height:250px!important}"]}),n})(),gr=(()=>{class n{constructor(){}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-slot-limitation-title"]],decls:5,vars:0,consts:[[1,"energy"],[1,"selector-slots"]],template:function(e,o){1&e&&(t.TgZ(0,"div")(1,"div",0),t._uU(2," Energy "),t.qZA(),t.TgZ(3,"span",1),t._uU(4," Modslots "),t.qZA()())},styles:[".energy[_ngcontent-%COMP%]{border-bottom:#a1a1a1 1px solid;margin-bottom:6px}.selector-element[_ngcontent-%COMP%]{position:relative;float:right;width:90px;top:-26px}.selector-slots[_ngcontent-%COMP%]{position:relative;float:right;width:155px;top:-26px;text-align:center}"]}),n})();function _r(n,i){1&n&&(t.TgZ(0,"mat-toolbar",13),t._uU(1," Some of your chosen limitations contain no armor pieces and will yield no results.\n"),t.qZA())}function fr(n,i){1&n&&(t.TgZ(0,"mat-toolbar",13),t._uU(1," The mod cost limitation is currently disabled. Modslot filtering still works.\n"),t.qZA())}let hr=(()=>{class n{constructor(e){this.config=e,this.ArmorSlot=C.y,this.ArmorPerkOrSlot=r.Pn,this.possibilityList=[!0,!0,!0,!0,!0],this.allPossible=!0,this.disabledSlotLimitation=!S_featureFlags_enableModslotLimitation}updatePossibility(e,o){this.possibilityList[e]=o,this.allPossible=5==this.possibilityList.filter(a=>!!a).length}clear(){this.config.modifyConfiguration(e=>{for(let o=0;o<5;o++)e.armorPerks[o+1]={fixed:!0,value:0},e.maximumModSlots[o+1]={fixed:!0,value:5}})}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(B))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-desired-mod-selection"]],decls:129,vars:16,consts:[["color","warn","class","mat-elevation-z4 impossible-container",4,"ngIf"],[1,"container"],[3,"slot","possible"],["id","clear-container"],["color","warn","mat-stroked-button","",3,"click"],[1,"minispace"],[1,"mat-elevation-z6"],["aria-hidden","false","inline",""],["id","explanation-description"],[1,"text-highlight"],[1,"example-usecase"],[1,"modslot-legend"],[3,"perk"],["color","warn",1,"mat-elevation-z4","impossible-container"]],template:function(e,o){1&e&&(t.YNc(0,_r,2,0,"mat-toolbar",0),t.TgZ(1,"div",1),t._UZ(2,"app-slot-limitation-title"),t.TgZ(3,"app-slot-limitation-selection",2),t.NdJ("possible",function(s){return o.updatePossibility(0,s)}),t.qZA(),t._UZ(4,"br"),t.TgZ(5,"app-slot-limitation-selection",2),t.NdJ("possible",function(s){return o.updatePossibility(1,s)}),t.qZA(),t._UZ(6,"br"),t.TgZ(7,"app-slot-limitation-selection",2),t.NdJ("possible",function(s){return o.updatePossibility(2,s)}),t.qZA(),t._UZ(8,"br"),t.TgZ(9,"app-slot-limitation-selection",2),t.NdJ("possible",function(s){return o.updatePossibility(3,s)}),t.qZA(),t._UZ(10,"br"),t.TgZ(11,"app-slot-limitation-selection",2),t.NdJ("possible",function(s){return o.updatePossibility(4,s)}),t.qZA()(),t.TgZ(12,"div",3)(13,"button",4),t.NdJ("click",function(){return o.clear()}),t._uU(14,"Clear the whole selection"),t.qZA()(),t._UZ(15,"div",5),t.YNc(16,fr,2,0,"mat-toolbar",0),t._UZ(17,"div",5),t.TgZ(18,"mat-accordion")(19,"mat-expansion-panel",6)(20,"mat-expansion-panel-header")(21,"mat-panel-title")(22,"mat-icon",7),t._uU(23,"info"),t.qZA(),t._uU(24," Explanation "),t.qZA(),t.TgZ(25,"mat-panel-description"),t._uU(26," Detailed instructions for this section. "),t.qZA()(),t.TgZ(27,"div",8),t._uU(28," This section allows you to further finetune the results to your requirements."),t._UZ(29,"br")(30,"div",5),t.TgZ(31,"u"),t._uU(32,"Limitation of available stat mod types"),t.qZA(),t._UZ(33,"br"),t._uU(34," First off, you are able to "),t.TgZ(35,"span",9),t._uU(36,"select the kind and amount of stat mods"),t.qZA(),t._uU(37," you want. By filling the bars you "),t.TgZ(38,"span",9),t._uU(39,"specify how many modslots are already occupied"),t.qZA(),t._uU(40," and thus the tool knows how much space it is able to use for your builds. Hover over the bars, it will show you which mods are available after you changed your selection. "),t._UZ(41,"div",5),t.TgZ(42,"div",10),t._uU(43,' Example Use Case: "On one item I can only use up to four recovery mods, no major intellect mod. One item can not hold any mods". In this scenario you would set one slot to 10 used slots, and the rest to 6. '),t.qZA(),t._UZ(44,"br"),t.TgZ(45,"u"),t._uU(46,"Filter for Elemental Affinity and Armor Perk/Slot"),t.qZA(),t._UZ(47,"br"),t._uU(48," This allows you to super-finetune your elemental and armor-perk requirements. You can change the settings for "),t.TgZ(49,"span",9),t._uU(50,"each armor slot"),t.qZA(),t._uU(51,". There are two modes per armor slot: "),t.TgZ(52,"span",9),t._uU(53,"Locked"),t.qZA(),t._uU(54," and "),t.TgZ(55,"span",9),t._uU(56,"Unlocked"),t.qZA(),t._uU(57,". Per default each entry is in the "),t.TgZ(58,"span",9),t._uU(59,"Locked"),t.qZA(),t._uU(60," mode. "),t._UZ(61,"div",5),t.TgZ(62,"span",9),t._uU(63,"Locked"),t.qZA(),t._uU(64," means that "),t.TgZ(65,"span",9),t._uU(66,"this armor slot must have"),t.qZA(),t._uU(67," the selected element or perk. "),t._UZ(68,"div",5),t.TgZ(69,"span",9),t._uU(70,"Unlocked"),t.qZA(),t._uU(71," means that the perk must exist, but "),t.TgZ(72,"span",9),t._uU(73,"the exact armor slot is irrelevant"),t.qZA(),t._uU(74,". That means that the tool can decide where it puts the desired element or perk. "),t._UZ(75,"div",5),t.TgZ(76,"div",10),t._uU(77,' Example Use Case: "The Class Item and Gauntlet '),t.TgZ(78,"span",9),t._uU(79,"must be stasis"),t.qZA(),t._uU(80,'. Oh, and I need two solar and one arc modslots, but the position does not matter". In this scenario, Class Item and Gauntlet would be '),t.TgZ(81,"span",9),t._uU(82,"Locked"),t.qZA(),t._uU(83," and the rest would be "),t.TgZ(84,"span",9),t._uU(85,"Unlocked"),t.qZA(),t._uU(86,". "),t.qZA(),t._UZ(87,"br"),t._uU(88," Legend: "),t.TgZ(89,"table",11)(90,"tr")(91,"td"),t._UZ(92,"app-armor-perk-icon",12),t.qZA(),t.TgZ(93,"td"),t._uU(94,"Vault of Glass"),t.qZA(),t.TgZ(95,"td"),t._UZ(96,"app-armor-perk-icon",12),t.qZA(),t.TgZ(97,"td"),t._uU(98,"Deep Stone Crypt"),t.qZA(),t.TgZ(99,"td"),t._UZ(100,"app-armor-perk-icon",12),t.qZA(),t.TgZ(101,"td"),t._uU(102,"Garden of Salvation"),t.qZA()(),t.TgZ(103,"tr")(104,"td"),t._UZ(105,"app-armor-perk-icon",12),t.qZA(),t.TgZ(106,"td"),t._uU(107,"Last Wish"),t.qZA(),t.TgZ(108,"td"),t._UZ(109,"app-armor-perk-icon",12),t.qZA(),t.TgZ(110,"td"),t._uU(111,"Vow of the Disciple"),t.qZA(),t.TgZ(112,"td"),t._UZ(113,"app-armor-perk-icon",12),t.qZA(),t.TgZ(114,"td"),t._uU(115,"Nightmare Modslot"),t.qZA()(),t.TgZ(116,"tr")(117,"td"),t._UZ(118,"app-armor-perk-icon",12),t.qZA(),t.TgZ(119,"td"),t._uU(120,"Artifice Modslot"),t.qZA(),t.TgZ(121,"td"),t._UZ(122,"app-armor-perk-icon",12),t.qZA(),t.TgZ(123,"td"),t._uU(124,"Iron Banner Perk"),t.qZA(),t.TgZ(125,"td"),t._UZ(126,"app-armor-perk-icon",12),t.qZA(),t.TgZ(127,"td"),t._uU(128,"Uniformed Officer Perk"),t.qZA()()()()()()),2&e&&(t.Q6J("ngIf",!o.allPossible),t.xp6(3),t.Q6J("slot",o.ArmorSlot.ArmorSlotHelmet),t.xp6(2),t.Q6J("slot",o.ArmorSlot.ArmorSlotGauntlet),t.xp6(2),t.Q6J("slot",o.ArmorSlot.ArmorSlotChest),t.xp6(2),t.Q6J("slot",o.ArmorSlot.ArmorSlotLegs),t.xp6(2),t.Q6J("slot",o.ArmorSlot.ArmorSlotClass),t.xp6(5),t.Q6J("ngIf",o.disabledSlotLimitation),t.xp6(76),t.Q6J("perk",o.ArmorPerkOrSlot.SlotVaultOfGlass),t.xp6(4),t.Q6J("perk",o.ArmorPerkOrSlot.SlotDeepStoneCrypt),t.xp6(4),t.Q6J("perk",o.ArmorPerkOrSlot.SlotGardenOfSalvation),t.xp6(5),t.Q6J("perk",o.ArmorPerkOrSlot.SlotLastWish),t.xp6(4),t.Q6J("perk",o.ArmorPerkOrSlot.SlotVowOfTheDisciple),t.xp6(4),t.Q6J("perk",o.ArmorPerkOrSlot.SlotNightmare),t.xp6(5),t.Q6J("perk",o.ArmorPerkOrSlot.SlotArtifice),t.xp6(4),t.Q6J("perk",o.ArmorPerkOrSlot.PerkIronBanner),t.xp6(4),t.Q6J("perk",o.ArmorPerkOrSlot.PerkUniformedOfficer))},dependencies:[T.O5,g.lW,j.Hw,W.Ye,J.pp,J.ib,J.yz,J.yK,J.u4,pr,Wt,gr],styles:[".container[_ngcontent-%COMP%]{margin-bottom:10px}.impossible-container[_ngcontent-%COMP%]{text-align:center;margin-right:auto;margin-left:auto;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;font-size:15px;line-height:20px;margin-bottom:10px}.element-icon[_ngcontent-%COMP%]{height:30px;width:30px}.element-icon.disabled[_ngcontent-%COMP%]{opacity:.5;cursor:default;pointer-events:none}.overlay-icon-container[_ngcontent-%COMP%]{position:relative}.overlay-icon-container[_ngcontent-%COMP%] .overlay-icon[_ngcontent-%COMP%]{width:20px;position:absolute;left:5px;bottom:9px;pointer-events:none}.modslot-legend[_ngcontent-%COMP%]{border-collapse:separate;border-spacing:0 0;width:100%}.modslot-legend[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:0}#explanation-description[_ngcontent-%COMP%]{width:520px}.minispace[_ngcontent-%COMP%]{height:7px}.text-highlight[_ngcontent-%COMP%]{color:#cddcef}.example-usecase[_ngcontent-%COMP%]{font-size:small;line-height:normal}"]}),n})();function xr(n,i){if(1&n&&t._UZ(0,"img",6),2&n){const e=t.oxw();t.s9C("alt",e.exoticPerk.name),t.MGl("src","https://bungie.net/",e.exoticPerk.icon,"",t.LSH)}}function yr(n,i){1&n&&(t.TgZ(0,"tr")(1,"td"),t._uU(2,"Loading exotic perk.."),t.qZA()())}function Tr(n,i){1&n&&(t.TgZ(0,"tr")(1,"td"),t._uU(2,"No (fixed) exotic perk available."),t.qZA()())}function br(n,i){if(1&n&&(t.TgZ(0,"tr")(1,"td")(2,"span"),t._uU(3),t.qZA()()()),2&n){const e=t.oxw();t.xp6(3),t.Oqu(e.exoticPerk.name)}}function Cr(n,i){if(1&n&&(t.TgZ(0,"tr")(1,"td",7),t._uU(2),t.qZA()()),2&n){const e=t.oxw();t.xp6(2),t.hij(" ",e.exoticPerk.description," ")}}function vr(n,i){1&n&&(t.ynx(0),t._uU(1," and "),t.BQk())}function Ar(n,i){if(1&n&&(t.ynx(0),t._uU(1," in your collection "),t.YNc(2,vr,2,0,"ng-container",4),t.BQk()),2&n){const e=t.oxw(2);t.xp6(2),t.Q6J("ngIf",e.vendor)}}function wr(n,i){1&n&&(t.ynx(0),t._uU(1,"available at a vendor"),t.BQk())}function Zr(n,i){if(1&n&&(t.TgZ(0,"tr",8)(1,"td",7),t._uU(2," This exotic is not in your inventory but it is "),t.YNc(3,Ar,3,1,"ng-container",4),t.YNc(4,wr,2,0,"ng-container",4),t._uU(5,". You can still generate a loadout with this exotic, but you will have to grab it by yourself. "),t.qZA()()),2&n){const e=t.oxw();t.xp6(3),t.Q6J("ngIf",e.collection),t.xp6(1),t.Q6J("ngIf",e.vendor)}}let Sr=(()=>{class n{constructor(e,o){this.inv=e,this.iconService=o,this.vendor=!1,this.collection=!1,this.exoticPerkNotThere=!1}ngOnInit(){var e=this;return(0,m.Z)(function*(){e.exoticPerk=yield e.iconService.getItemCached(e.armor?.exoticPerkHash??0),e.exoticPerkNotThere=null==e.exoticPerk})()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(K),t.Y36(de))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-exotic-perk-tooltip"]],inputs:{armor:"armor",vendor:"vendor",collection:"collection"},decls:13,vars:7,consts:[[1,"tooltip-container"],["rowspan","2",1,"perk-icon-col"],["class","perk-icon",3,"alt","src",4,"ngIf"],[1,"exotic-name"],[4,"ngIf"],["class","collection-roll-info",4,"ngIf"],[1,"perk-icon",3,"alt","src"],["colspan","2"],[1,"collection-roll-info"]],template:function(e,o){1&e&&(t.TgZ(0,"div")(1,"div",0)(2,"table")(3,"tr")(4,"td",1),t.YNc(5,xr,1,2,"img",2),t.qZA(),t.TgZ(6,"td",3),t._uU(7),t.qZA()(),t.YNc(8,yr,3,0,"tr",4),t.YNc(9,Tr,3,0,"tr",4),t.YNc(10,br,4,1,"tr",4),t.YNc(11,Cr,3,1,"tr",4),t.YNc(12,Zr,6,2,"tr",5),t.qZA()()()),2&e&&(t.xp6(5),t.Q6J("ngIf",o.exoticPerk),t.xp6(2),t.Oqu(null==o.armor?null:o.armor.name),t.xp6(1),t.Q6J("ngIf",!o.exoticPerk&&!o.exoticPerkNotThere),t.xp6(1),t.Q6J("ngIf",!o.exoticPerk&&o.exoticPerkNotThere),t.xp6(1),t.Q6J("ngIf",o.exoticPerk),t.xp6(1),t.Q6J("ngIf",o.exoticPerk),t.xp6(1),t.Q6J("ngIf",o.collection||o.vendor))},dependencies:[T.O5],styles:["[_nghost-%COMP%]{width:350px}.tooltip-container[_ngcontent-%COMP%]{border:1px solid gray;padding:1px 5px 4px;background:linear-gradient(#484848 0px,#2c2c2c 100%)}.perk-icon[_ngcontent-%COMP%]{width:50px;height:50px}.perk-icon-col[_ngcontent-%COMP%]{width:55px}.exotic-name[_ngcontent-%COMP%]{color:#eedb9e}.collection-roll-info[_ngcontent-%COMP%]{color:#5cc3ec;font-size:12px;margin-top:5px}"]}),n})(),Ir=(()=>{class n{constructor(e,o,a){this._overlay=e,this._overlayPositionBuilder=o,this._elementRef=a,this.showToolTip=!0,this.exoticTooltipInVendor=!1,this.exoticTooltipInCollection=!1}ngOnInit(){if(!this.showToolTip)return;const e=this._overlayPositionBuilder.flexibleConnectedTo(this._elementRef).withPositions([{originX:"center",originY:"bottom",overlayX:"center",overlayY:"top",offsetY:5},{originX:"center",originY:"top",overlayX:"center",overlayY:"bottom",offsetY:-5}]);this._overlayRef=this._overlay.create({positionStrategy:e}),this._overlayRef.addPanelClass("overlay-no-pointer-event")}show(){if(this._overlayRef&&!this._overlayRef.hasAttached()){const e=this._overlayRef.attach(new Nt.C5(Sr));e.instance.collection=this.exoticTooltipInCollection,e.instance.vendor=this.exoticTooltipInVendor,e.instance.armor=this.exoticTooltip}}hide(){this.closeToolTip()}ngOnDestroy(){this.closeToolTip()}closeToolTip(){this._overlayRef&&this._overlayRef.detach()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(pt.aV),t.Y36(pt.wJ),t.Y36(t.SBq))},n.\u0275dir=t.lG2({type:n,selectors:[["","exoticTooltip",""]],hostBindings:function(e,o){1&e&&t.NdJ("mouseenter",function(){return o.show()})("mouseleave",function(){return o.hide()})},inputs:{showToolTip:"showToolTip",exoticTooltip:"exoticTooltip",exoticTooltipInVendor:"exoticTooltipInVendor",exoticTooltipInCollection:"exoticTooltipInCollection",contentTemplate:"contentTemplate"}}),n})();function kr(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"img",5,6),t.NdJ("click",function(a){t.CHM(e);const s=t.oxw(2);return t.KtG(s.selectExotic(-2,a))}),t.qZA()}if(2&n){const e=t.oxw(2);t.Gre("exoticIcon ",e.selectedExotics.indexOf(-2)>-1?"selected":"","")}}function Or(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"img",7,6),t.NdJ("click",function(a){t.CHM(e);const s=t.oxw(2);return t.KtG(s.selectExotic(-1,a))}),t.qZA()}if(2&n){const e=t.oxw(2);t.Gre("exoticIcon ",e.selectedExotics.indexOf(-1)>-1?"selected":"","")}}function Mr(n,i){if(1&n&&t._UZ(0,"img",12),2&n){const e=t.oxw().$implicit;t.MGl("src","https://www.bungie.net/",e.item.watermarkIcon,"",t.LSH)}}function Dr(n,i){if(1&n&&t._UZ(0,"div",13),2&n){const e=t.oxw().$implicit,o=t.oxw(2);t.ekj("vendor-item",o.includeVendorRolls&&e.inVendor)("collection-item",o.includeCollectionRolls&&e.inCollection)}}function Er(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"span",8)(1,"img",9),t.NdJ("click",function(a){const l=t.CHM(e).$implicit,d=t.oxw(2);return t.KtG((l.inInventory||d.includeCollectionRolls&&l.inCollection)&&d.selectExotic(l.item.hash,a))}),t.qZA(),t.YNc(2,Mr,1,1,"img",10),t.YNc(3,Dr,1,4,"div",11),t.qZA()}if(2&n){const e=i.$implicit,o=t.oxw(2);t.xp6(1),t.Gre("exoticIcon ",o.selectedExotics.indexOf(e.item.hash)>-1?"selected":"",""),t.ekj("vendor-item",!e.inInventory&&o.includeVendorRolls&&e.inVendor)("collection-item",!e.inInventory&&o.includeCollectionRolls&&e.inCollection)("disabled",!(e.inInventory||o.includeCollectionRolls&&e.inCollection||o.includeVendorRolls&&e.inVendor)),t.MGl("src","https://www.bungie.net/",e.item.icon,"",t.LSH),t.Q6J("exoticTooltip",e.item)("exoticTooltipInVendor",!e.inInventory&&o.includeVendorRolls&&e.inVendor)("exoticTooltipInCollection",!e.inInventory&&o.includeCollectionRolls&&e.inCollection),t.xp6(1),t.Q6J("ngIf",e.item.watermarkIcon),t.xp6(1),t.Q6J("ngIf",!e.inInventory)}}function Ur(n,i){if(1&n&&(t.TgZ(0,"div"),t.YNc(1,kr,2,3,"img",2),t.YNc(2,Or,2,3,"img",3),t.YNc(3,Er,4,15,"span",4),t.qZA()),2&n){const e=i.$implicit,o=i.index;t.Q6J("@listAnimation",e.length),t.xp6(1),t.Q6J("ngIf",0===o),t.xp6(1),t.Q6J("ngIf",0===o),t.xp6(1),t.Q6J("ngForOf",e)}}const Pr=(0,F.X$)("listAnimation",[(0,F.eR)("* <=> *",[(0,F.IO)(":enter",[(0,F.oB)({opacity:0}),(0,F.EY)("30ms",(0,F.jt)("350ms ease-out",(0,F.oB)({opacity:1})))],{optional:!0})])]);let Rr=(()=>{class n{constructor(e,o){this.inventory=e,this.config=o,this.selectedExotics=[],this.includeCollectionRolls=!1,this.includeVendorRolls=!1,this.ignoreSunsetArmor=!1,this.allowBlueArmorPieces=!1,this.currentClass=D.Titan,this.exotics=[],this.ngUnsubscribe=new nt.xQ}ngOnInit(){var e=this;this.config.configuration.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(function(){var o=(0,m.Z)(function*(a){(a.characterClass!=e.currentClass||0==e.exotics.length)&&(e.currentClass=a.characterClass,yield e.updateExoticsForClass()),e.includeCollectionRolls=a.includeCollectionRolls,e.includeVendorRolls=a.includeVendorRolls,e.selectedExotics=a.selectedExotics,e.ignoreSunsetArmor=a.ignoreSunsetArmor,e.allowBlueArmorPieces=a.allowBlueArmorPieces});return function(a){return o.apply(this,arguments)}}()),this.inventory.manifest.pipe((0,st.b)(10),(0,Q.R)(this.ngUnsubscribe)).subscribe((0,m.Z)(function*(){yield e.updateExoticsForClass()})),this.inventory.inventory.pipe((0,st.b)(10),(0,Q.R)(this.ngUnsubscribe)).subscribe((0,m.Z)(function*(){yield e.updateExoticsForClass()}))}updateExoticsForClass(){var e=this;return(0,m.Z)(function*(){const o=yield e.inventory.getExoticsForClass(e.currentClass);function a(s){var l={};return s.filter(function(d){var u=d.item.hash;return!l.hasOwnProperty(u)&&(l[u]=!0)})}e.exotics=[a(o.filter(s=>s.item.slot==C.y.ArmorSlotHelmet)),a(o.filter(s=>s.item.slot==C.y.ArmorSlotGauntlet)),a(o.filter(s=>s.item.slot==C.y.ArmorSlotChest)),a(o.filter(s=>s.item.slot==C.y.ArmorSlotLegs))]})()}setAllowCollectionRolls(e){this.config.modifyConfiguration(o=>{o.includeCollectionRolls=e})}setAllowVendorItems(e){this.config.modifyConfiguration(o=>{o.includeVendorRolls=e})}setAllowBlueArmorPieces(e){this.config.modifyConfiguration(o=>{o.allowBlueArmorPieces=e})}setIgnoreSunsetArmor(e){this.config.modifyConfiguration(o=>{o.ignoreSunsetArmor=e})}selectExotic(e,o){const a=this.selectedExotics.indexOf(e);a>-1?this.selectedExotics.splice(a,1):-1==e?this.selectedExotics=[-1]:(0==this.selectedExotics.length||!o.shiftKey)&&(this.selectedExotics=[e]),this.config.modifyConfiguration(s=>{s.selectedExotics=this.selectedExotics})}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(K),t.Y36(B))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-desired-exotic-selection"]],decls:19,vars:5,consts:[[4,"ngFor","ngForOf"],["color","primary",3,"checked","change"],["src","https://www.bungie.net/common/destiny2_content/icons/763634b78eb22168ac707500588b7333.jpg","matTooltip","Force to use ANY exotic",3,"class","click",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/b4d05ef69d0c3227a7d4f7f35bbc2848.png","matTooltip","Force to use NO exotic at all",3,"class","click",4,"ngIf"],["class","container",4,"ngFor","ngForOf"],["src","https://www.bungie.net/common/destiny2_content/icons/763634b78eb22168ac707500588b7333.jpg","matTooltip","Force to use ANY exotic",3,"click"],["tooltip","matTooltip"],["src","https://www.bungie.net/common/destiny2_content/icons/b4d05ef69d0c3227a7d4f7f35bbc2848.png","matTooltip","Force to use NO exotic at all",3,"click"],[1,"container"],[3,"src","exoticTooltip","exoticTooltipInVendor","exoticTooltipInCollection","click"],["class","watermarkIcon",3,"src",4,"ngIf"],["class","item-source-overlay",3,"vendor-item","collection-item",4,"ngIf"],[1,"watermarkIcon",3,"src"],[1,"item-source-overlay"]],template:function(e,o){1&e&&(t.YNc(0,Ur,4,4,"div",0),t.TgZ(1,"div")(2,"mat-slide-toggle",1),t.NdJ("change",function(s){return o.setAllowCollectionRolls(s.checked)}),t._uU(3," Include "),t.TgZ(4,"u"),t._uU(5,"exotic"),t.qZA(),t._uU(6," collection rolls "),t.qZA()(),t.TgZ(7,"div")(8,"mat-slide-toggle",1),t.NdJ("change",function(s){return o.setAllowVendorItems(s.checked)}),t._uU(9," Include "),t.TgZ(10,"u"),t._uU(11,"legendary and exotic"),t.qZA(),t._uU(12," vendor armor (slower) "),t.qZA()(),t.TgZ(13,"div")(14,"mat-slide-toggle",1),t.NdJ("change",function(s){return o.setAllowBlueArmorPieces(s.checked)}),t._uU(15," Include white, blue and green items "),t.qZA()(),t.TgZ(16,"div")(17,"mat-slide-toggle",1),t.NdJ("change",function(s){return o.setIgnoreSunsetArmor(!s.checked)}),t._uU(18," Include sunset armor "),t.qZA()()),2&e&&(t.Q6J("ngForOf",o.exotics),t.xp6(2),t.Q6J("checked",o.includeCollectionRolls),t.xp6(6),t.Q6J("checked",o.includeVendorRolls),t.xp6(6),t.Q6J("checked",o.allowBlueArmorPieces),t.xp6(3),t.Q6J("checked",!o.ignoreSunsetArmor))},dependencies:[T.sg,T.O5,Zt.Rr,N.gM,Ir],styles:[".container[_ngcontent-%COMP%]{display:inline-block;position:relative;--icon-size: 36px}.exoticIcon[_ngcontent-%COMP%]{width:36px;height:36px;margin-right:3px;border:rgba(0,0,0,0) solid 2px;cursor:pointer}.watermarkIcon[_ngcontent-%COMP%]{width:36px;height:36px;margin-left:-41px;margin-top:2px;position:absolute;pointer-events:none}.exoticIcon[_ngcontent-%COMP%]:hover{border:cornflowerblue solid 2px}.selected[_ngcontent-%COMP%], .selected[_ngcontent-%COMP%]:hover{border:#0059ff solid 2px}[_nghost-%COMP%]{position:relative}.exoticText[_ngcontent-%COMP%]{position:absolute;text-shadow:0 0 6px #000000;background:rgba(33,33,33,.51);color:#f5f5f5;bottom:4px;right:5px}.disabled[_ngcontent-%COMP%]{filter:grayscale(1) contrast(.6)}.disabled[_ngcontent-%COMP%]:hover{cursor:default}.item-source-overlay[_ngcontent-%COMP%]{margin:2px}.item-source-overlay[_ngcontent-%COMP%]{position:absolute;left:0;top:0;width:0;pointer-events:none;border-top:calc(var(--icon-size) / 2) solid transparent;border-right:calc(var(--icon-size) / 2) solid transparent}.item-source-overlay.vendor-item[_ngcontent-%COMP%]{border-top-color:#00f}.item-source-overlay.collection-item[_ngcontent-%COMP%]{border-top-color:#90ee90}"],data:{animation:[Pr]}}),n})(),Nr=(()=>{class n{constructor(e,o,a){var s=this;this.auth=e,this.membership=o,this.inventory=a,this.characters=[],this.loadCachedData(),e.logoutEvent.subscribe(l=>this.clearCachedData()),this.inventory.inventory.subscribe((0,m.Z)(function*(){yield s.updateCharacterData()}))}clearCachedData(){this.characters=[],localStorage.removeItem("cachedCharacters")}loadCachedData(){let e=localStorage.getItem("cachedCharacters")||"[]";this.characters=JSON.parse(e)}updateCharacterData(){var e=this;return(0,m.Z)(function*(){e.characters=yield e.membership.getCharacters(),localStorage.setItem("cachedCharacters",JSON.stringify(e.characters))})()}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(L),t.LFG(Pt),t.LFG(K))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function qr(n,i){1&n&&(t.TgZ(0,"div",11),t._uU(1," Loading characters.. "),t.qZA())}function Jr(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"Titan"),t.qZA())}function Yr(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"Hunter"),t.qZA())}function Lr(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"Warlock"),t.qZA())}function Fr(n,i){if(1&n&&(t.TgZ(0,"div"),t._UZ(1,"img",14),t.TgZ(2,"span",15),t._uU(3),t.qZA()()),2&n){const e=t.oxw().$implicit,o=t.oxw();t.xp6(3),t.hij("\xd7",o.itemCounts[e.clazz],"")}}function Qr(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"div",12),t.NdJ("click",function(){const s=t.CHM(e).$implicit,l=t.oxw();return t.KtG(l.selectClass(s.clazz))}),t.TgZ(1,"div",13),t.YNc(2,Jr,2,0,"span",3),t.YNc(3,Yr,2,0,"span",3),t.YNc(4,Lr,2,0,"span",3),t.qZA(),t.YNc(5,Fr,4,1,"div",3),t.qZA()}if(2&n){const e=i.$implicit,o=i.index,a=t.oxw();t.Udp("background-image","url(https://bungie.net/"+e.emblemUrl+")"),t.ekj("selected",a.selectedClass===e.clazz),t.xp6(2),t.Q6J("ngIf",0===e.clazz),t.xp6(1),t.Q6J("ngIf",1===e.clazz),t.xp6(1),t.Q6J("ngIf",2===e.clazz),t.xp6(1),t.Q6J("ngIf",!!a.itemCounts[o])}}function Br(n,i){if(1&n&&(t.TgZ(0,"div")(1,"span",16),t._UZ(2,"img",17),t._uU(3),t.ALo(4,"number"),t.qZA(),t.TgZ(5,"span",16),t._UZ(6,"img",18),t._uU(7),t.ALo(8,"number"),t.qZA(),t.TgZ(9,"span",16),t._UZ(10,"img",19),t._uU(11),t.ALo(12,"number"),t.qZA(),t.TgZ(13,"span",16),t._UZ(14,"img",20),t._uU(15),t.ALo(16,"number"),t.qZA(),t.TgZ(17,"span",16),t._UZ(18,"img",21),t._uU(19),t.ALo(20,"number"),t.qZA()()),2&n){const e=t.oxw();t.xp6(1),t.MGl("matTooltip","Ascendant Shards: ",e.storedMaterials[4257549985],""),t.xp6(2),t.hij(" ",t.xi3(4,10,e.storedMaterials[4257549985],"1.0-0")," "),t.xp6(2),t.MGl("matTooltip","Enhancement Prisms: ",e.storedMaterials[4257549984],""),t.xp6(2),t.hij(" ",t.xi3(8,13,e.storedMaterials[4257549984],"1.0-0")," "),t.xp6(2),t.MGl("matTooltip","Enhancement Cores: ",e.storedMaterials[3853748946],""),t.xp6(2),t.hij(" ",t.xi3(12,16,e.storedMaterials[3853748946],"1.0-0")," "),t.xp6(2),t.MGl("matTooltip","Legendary Shards: ",e.storedMaterials[1022552290],""),t.xp6(2),t.hij(" ",t.xi3(16,19,e.storedMaterials[1022552290],"1.0-0")," "),t.xp6(2),t.MGl("matTooltip","Glimmer: ",e.storedMaterials[3159615086],""),t.xp6(2),t.hij(" ",t.xi3(20,22,e.storedMaterials[3159615086],"1.0-0")," ")}}let Vr=(()=>{class n{constructor(e,o,a){this.config=e,this.userdata=o,this.inv=a,this.itemCounts=[null,null,null],this.selectedClass=-1,this.storedMaterials=null,this.ngUnsubscribe=new nt.xQ}ngOnInit(){var e=this;this.config.configuration.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(o=>{this.selectedClass=o.characterClass;const a=-1!=this.userdata.characters.findIndex(s=>s.clazz==o.characterClass);this.userdata.characters.length>0&&!a&&this.config.modifyConfiguration(s=>{s.characterClass=this.userdata.characters[0].clazz,s.selectedExotics=[]})}),this.inv.inventory.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(function(){var o=(0,m.Z)(function*(a){yield e.loadStoredMaterials(),yield e.updateItemCount()});return function(a){return o.apply(this,arguments)}}())}selectClass(e){this.config.readonlyConfigurationSnapshot.characterClass!=e&&this.config.modifyConfiguration(o=>{o.characterClass=e,o.selectedExotics=[]})}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}updateItemCount(){var e=this;return(0,m.Z)(function*(){for(let o=0;o<3;o++)e.itemCounts[o]=yield e.inv.getItemCountForClass(o)})()}loadStoredMaterials(){var e=this;return(0,m.Z)(function*(){var o=JSON.parse(localStorage.getItem("stored-materials")||"{}");"3853748946"in o||(o[3853748946]=0),"4257549984"in o||(o[4257549984]=0),"4257549985"in o||(o[4257549985]=0),"3159615086"in o||(o[3159615086]=0),"1022552290"in o||(o[1022552290]=0),e.storedMaterials=o})()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(B),t.Y36(Nr),t.Y36(K))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-desired-class-selection"]],decls:22,vars:3,consts:[[1,"character-container"],["class","character-entry",4,"ngIf"],["class","character-entry","style","float: left",3,"selected","background-image","click",4,"ngFor","ngForOf"],[4,"ngIf"],["color","primary","fxShow","false","fxShow.lt-md","true","mat-flat-button","","routerLink","/help",2,"margin-left","15px"],["inline",""],["color","accent","href","https://ko-fi.com/mijago","matTooltip","You like my work? This leads you to ko-fi.com, where you can easily support me!","target","_blank"],["color","accent","href","http://discord.d2armorpicker.com","target","_blank"],[1,"crayon_logo_container"],["alt","","src","https://cdn.discordapp.com/emojis/917423317139480586.webp?size=96&quality=lossless",1,"crayon_logo"],["href","https://mijago.github.io/Crayon","target","_blank"],[1,"character-entry"],[1,"character-entry",2,"float","left",3,"click"],[1,"class-text"],["matTooltip","Amount of armor pieces for this class.","src","data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 51'%3e%3cpath d='M24.77 7.03c-8.15.38-14.42 7.41-14.42 15.57v16.06c0 .23.13.44.34.53l10.33 4.68c.78.35 1.66-.22 1.66-1.07V31.9c0-.39-.19-.75-.52-.97l-5.39-3.64c-.87-.52-1.43-1.5-1.34-2.61.13-1.46 1.46-2.52 2.93-2.52h4.36c.65 0 1.17.53 1.17 1.17v6.71s0 .61 1.61.61 1.61-.61 1.61-.61v-6.71c0-.65.52-1.17 1.17-1.17h4.36c1.47 0 2.8 1.06 2.93 2.52.1 1.11-.47 2.09-1.34 2.61l-5.39 3.64c-.32.22-.52.58-.52.97v10.91c0 .85.88 1.42 1.66 1.07l10.33-4.68c.21-.1.34-.3.34-.53v-16.5c.01-8.61-7.18-15.55-15.88-15.14z'/%3e%3c/svg%3e",1,"head-icon"],["matTooltip","Amount of armor pieces for this class.",1,"armor-text"],[1,"material-listing",3,"matTooltip"],["src","https://www.bungie.net/common/destiny2_content/icons/0271d214fc3ec91b3def799a4b286b46.jpg","alt","Ascendant Shard"],["src","https://www.bungie.net/common/destiny2_content/icons/dea2a35badf7466d4c2c2697ce6e8d87.jpg","alt","Enhancement Prism"],["src","https://www.bungie.net/common/destiny2_content/icons/0a4eb695ed55b4e720ddc401460cc0f9.jpg","alt","Enhancement Core"],["src","https://www.bungie.net/common/destiny2_content/icons/18ddd0bdac721b8eb8e6f8ec2b3e813c.png","alt","Legendary Shard"],["src","https://www.bungie.net/common/destiny2_content/icons/88993eaeedad32f42072df6f77f47311.png","alt","Glimmer"]],template:function(e,o){1&e&&(t.TgZ(0,"div",0),t.YNc(1,qr,2,0,"div",1),t.YNc(2,Qr,6,8,"div",2),t.qZA(),t.YNc(3,Br,21,25,"div",3),t.TgZ(4,"a",4)(5,"mat-icon",5),t._uU(6,"help"),t.qZA(),t._uU(7," Help and Information about D2ArmorPicker\n"),t.qZA(),t.TgZ(8,"div"),t._uU(9," If you like my work, you can "),t.TgZ(10,"a",6),t._uU(11," support me here."),t.qZA(),t._uU(12," You can also "),t.TgZ(13,"a",7),t._uU(14," join my dev Discord! "),t.qZA(),t.TgZ(15,"div"),t._uU(16," Also check out my Discord-Bot "),t.TgZ(17,"div",8),t._UZ(18,"img",9),t.qZA(),t.TgZ(19,"a",10),t._uU(20,"Crayon"),t.qZA(),t._uU(21,", for all your item information needs! "),t.qZA()()),2&e&&(t.xp6(1),t.Q6J("ngIf",0===o.userdata.characters.length),t.xp6(1),t.Q6J("ngForOf",o.userdata.characters),t.xp6(1),t.Q6J("ngIf",null!==o.storedMaterials))},dependencies:[T.sg,T.O5,H.b8,g.zs,N.gM,j.Hw,I.yS,T.JJ],styles:[".discord-btn[_ngcontent-%COMP%]{margin-left:15px}.material-listing[_ngcontent-%COMP%]{position:relative;padding-left:22px;padding-right:10px}.material-listing[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:20px;position:absolute;top:-2px;left:0}.crayon_logo_container[_ngcontent-%COMP%]{position:relative;width:22px;display:inline-block;margin-right:3px}.crayon_logo_container[_ngcontent-%COMP%] .crayon_logo[_ngcontent-%COMP%]{position:absolute;width:22px;top:-14px} .mat-option-text{color:#fff}.character-container[_ngcontent-%COMP%]{height:50px}.character-entry[_ngcontent-%COMP%]{color:#fff;background-size:cover;background-position:left center;background-repeat:no-repeat;width:180px;height:36px;position:relative;margin-right:7px;margin-bottom:7px;border:rgba(255,255,255,0) solid 2px;opacity:.75;cursor:pointer}.character-entry[_ngcontent-%COMP%]:hover{border:rgba(255,255,255,.41) solid 2px;opacity:.98}.character-entry.selected[_ngcontent-%COMP%]{cursor:default;opacity:1;border:white solid 2px}.class-text[_ngcontent-%COMP%]{position:absolute;left:35px;top:8px;font-size:x-large;text-shadow:0 0 6px #000000}.head-icon[_ngcontent-%COMP%]{height:25px;top:6px;right:30px;position:absolute;filter:invert(1) drop-shadow(1px 1px 3px rgba(0,0,0,.25))!important}.armor-text[_ngcontent-%COMP%]{position:absolute;right:4px;top:9px;text-shadow:0 0 6px #000000;font-size:small}a[_ngcontent-%COMP%]{color:#99afe3}a[_ngcontent-%COMP%]:visited{color:#7294dc}"]}),n})();function Hr(n,i){1&n&&t._UZ(0,"img",7)}function Wr(n,i){1&n&&t._UZ(0,"img",8)}function jr(n,i){1&n&&t._UZ(0,"img",9)}function zr(n,i){1&n&&t._UZ(0,"img",10)}function Gr(n,i){1&n&&t._UZ(0,"img",11)}function Kr(n,i){1&n&&t._UZ(0,"img",12)}let fe=(()=>{class n{constructor(){this.stat=r.WB.Mobility}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-stat-icon"]],inputs:{stat:"stat"},decls:7,vars:6,consts:[[1,"statContainerWrapper"],["src","https://www.bungie.net/common/destiny2_content/icons/e26e0e93a9daf4fdd21bf64eb9246340.png","class","dialogStatIcon","alt","Mobility",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/202ecc1c6febeb6b97dafc856e863140.png","class","dialogStatIcon","alt","Resilience",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/128eee4ee7fc127851ab32eac6ca91cf.png","class","dialogStatIcon","alt","Recovery",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/79be2d4adef6a19203f7385e5c63b45b.png","class","dialogStatIcon","alt","Discipline",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/d1c154469670e9a592c9d4cbdcae5764.png","class","dialogStatIcon","alt","Intellect",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/ea5af04ccd6a3470a44fd7bb0f66e2f7.png","class","dialogStatIcon","alt","Strength",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/e26e0e93a9daf4fdd21bf64eb9246340.png","alt","Mobility",1,"dialogStatIcon"],["src","https://www.bungie.net/common/destiny2_content/icons/202ecc1c6febeb6b97dafc856e863140.png","alt","Resilience",1,"dialogStatIcon"],["src","https://www.bungie.net/common/destiny2_content/icons/128eee4ee7fc127851ab32eac6ca91cf.png","alt","Recovery",1,"dialogStatIcon"],["src","https://www.bungie.net/common/destiny2_content/icons/79be2d4adef6a19203f7385e5c63b45b.png","alt","Discipline",1,"dialogStatIcon"],["src","https://www.bungie.net/common/destiny2_content/icons/d1c154469670e9a592c9d4cbdcae5764.png","alt","Intellect",1,"dialogStatIcon"],["src","https://www.bungie.net/common/destiny2_content/icons/ea5af04ccd6a3470a44fd7bb0f66e2f7.png","alt","Strength",1,"dialogStatIcon"]],template:function(e,o){1&e&&(t.TgZ(0,"span",0),t.YNc(1,Hr,1,0,"img",1),t.YNc(2,Wr,1,0,"img",2),t.YNc(3,jr,1,0,"img",3),t.YNc(4,zr,1,0,"img",4),t.YNc(5,Gr,1,0,"img",5),t.YNc(6,Kr,1,0,"img",6),t.qZA()),2&e&&(t.xp6(1),t.Q6J("ngIf",0===o.stat),t.xp6(1),t.Q6J("ngIf",1===o.stat),t.xp6(1),t.Q6J("ngIf",2===o.stat),t.xp6(1),t.Q6J("ngIf",3===o.stat),t.xp6(1),t.Q6J("ngIf",4===o.stat),t.xp6(1),t.Q6J("ngIf",5===o.stat))},dependencies:[T.O5],styles:[".dialogStatIcon[_ngcontent-%COMP%]{position:relative;width:25px;margin-right:3px;top:4px}"]}),n})(),$r=(()=>{class n{constructor(){}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-mod-description-tooltip"]],inputs:{mod:"mod"},decls:9,vars:2,consts:[[1,"tooltip-container"],[1,"exotic-name"]],template:function(e,o){1&e&&(t.TgZ(0,"div")(1,"div",0)(2,"table")(3,"tr")(4,"td",1),t._uU(5),t.qZA()(),t.TgZ(6,"tr")(7,"td"),t._uU(8),t.qZA()()()()()),2&e&&(t.xp6(5),t.Oqu(null==o.mod?null:o.mod.name),t.xp6(3),t.Oqu(null==o.mod?null:o.mod.description))},styles:["[_nghost-%COMP%]{width:350px}.tooltip-container[_ngcontent-%COMP%]{border:1px solid gray;padding:1px 5px 4px;background:linear-gradient(#484848 0px,#2c2c2c 100%)}.exotic-name[_ngcontent-%COMP%]{color:#eedb9e}"]}),n})(),Xr=(()=>{class n{constructor(e,o,a){this._overlay=e,this._overlayPositionBuilder=o,this._elementRef=a}ngOnInit(){const e=this._overlayPositionBuilder.flexibleConnectedTo(this._elementRef).withPositions([{originX:"center",originY:"bottom",overlayX:"center",overlayY:"top",offsetY:5},{originX:"center",originY:"top",overlayX:"center",overlayY:"bottom",offsetY:-5}]);this._overlayRef=this._overlay.create({positionStrategy:e}),this._overlayRef.addPanelClass("overlay-no-pointer-event")}show(){this._overlayRef&&!this._overlayRef.hasAttached()&&(this._overlayRef.attach(new Nt.C5($r)).instance.mod=this.mod)}hide(){this.closeToolTip()}ngOnDestroy(){this.closeToolTip()}closeToolTip(){this._overlayRef&&this._overlayRef.detach()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(pt.aV),t.Y36(pt.wJ),t.Y36(t.SBq))},n.\u0275dir=t.lG2({type:n,selectors:[["","modTooltip",""]],hostBindings:function(e,o){1&e&&t.NdJ("mouseenter",function(){return o.show()})("mouseleave",function(){return o.hide()})},inputs:{mod:["modTooltip","mod"]}}),n})();function tl(n,i){if(1&n){const e=t.EpF();t.ynx(0),t._UZ(1,"br"),t.TgZ(2,"mat-button-toggle-group",4)(3,"mat-button-toggle",5),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(2);return t.KtG(a.setElement(a.ModifierType.Arc))}),t._uU(4," Arc "),t.qZA(),t.TgZ(5,"mat-button-toggle",5),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(2);return t.KtG(a.setElement(a.ModifierType.Solar))}),t._uU(6," Solar "),t.qZA(),t.TgZ(7,"mat-button-toggle",5),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(2);return t.KtG(a.setElement(a.ModifierType.Void))}),t._uU(8," Void "),t.qZA(),t.TgZ(9,"mat-button-toggle",5),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(2);return t.KtG(a.setElement(a.ModifierType.Stasis))}),t._uU(10," Stasis "),t.qZA(),t.TgZ(11,"mat-button-toggle",5),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(2);return t.KtG(a.setElement(a.ModifierType.Strand))}),t._uU(12," Strand "),t.qZA()(),t.BQk()}if(2&n){const e=t.oxw(2);t.xp6(2),t.Q6J("value",e.selectedElement),t.xp6(1),t.Q6J("value",e.ModifierType.Arc),t.xp6(2),t.Q6J("value",e.ModifierType.Solar),t.xp6(2),t.Q6J("value",e.ModifierType.Void),t.xp6(2),t.Q6J("value",e.ModifierType.Stasis),t.xp6(2),t.Q6J("value",e.ModifierType.Strand)}}function el(n,i){if(1&n&&(t.TgZ(0,"h3",8),t._uU(1),t.qZA()),2&n){const e=t.oxw(2).$implicit;t.xp6(1),t.Oqu(e.name)}}function nl(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"There are no fragments configured yet. Please be patient."),t.qZA())}function ol(n,i){1&n&&(t.TgZ(0,"th",22),t._uU(1,"Name"),t.qZA())}function il(n,i){if(1&n&&(t.TgZ(0,"td",23)(1,"mat-slide-toggle",24),t._UZ(2,"app-item-icon",25),t._uU(3),t.qZA()()),2&n){const e=i.$implicit,o=t.oxw(4);t.Q6J("modTooltip",e),t.xp6(1),t.Q6J("checked",o.selectedMods.indexOf(e.id)>-1),t.xp6(1),t.Q6J("itemHash",e.hash),t.xp6(1),t.hij(" ",e.name," ")}}function al(n,i){1&n&&(t.TgZ(0,"th",22),t._UZ(1,"app-stat-icon",26),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",0))}function sl(n,i){if(1&n&&(t.TgZ(0,"span",31),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("+",e,"")}}function rl(n,i){if(1&n&&(t.TgZ(0,"span",32),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.Oqu(e)}}function ll(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,sl,2,1,"span",29),t.YNc(2,rl,2,1,"span",30),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(1),t.Q6J("ngIf",e<0)}}function cl(n,i){if(1&n&&(t.TgZ(0,"td",27),t.YNc(1,ll,3,2,"span",28),t.qZA()),2&n){const e=i.$implicit,o=t.oxw(4);t.xp6(1),t.Q6J("ngVar",o.getModifierTextForValue(e.bonus,0))}}function ml(n,i){1&n&&(t.TgZ(0,"th",22),t._UZ(1,"app-stat-icon",26),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",1))}function dl(n,i){if(1&n&&(t.TgZ(0,"span",31),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("+",e,"")}}function ul(n,i){if(1&n&&(t.TgZ(0,"span",32),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.Oqu(e)}}function pl(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,dl,2,1,"span",29),t.YNc(2,ul,2,1,"span",30),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(1),t.Q6J("ngIf",e<0)}}function gl(n,i){if(1&n&&(t.TgZ(0,"td",27),t.YNc(1,pl,3,2,"span",28),t.qZA()),2&n){const e=i.$implicit,o=t.oxw(4);t.xp6(1),t.Q6J("ngVar",o.getModifierTextForValue(e.bonus,1))}}function _l(n,i){1&n&&(t.TgZ(0,"th",22),t._UZ(1,"app-stat-icon",26),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",2))}function fl(n,i){if(1&n&&(t.TgZ(0,"span",31),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("+",e,"")}}function hl(n,i){if(1&n&&(t.TgZ(0,"span",32),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.Oqu(e)}}function xl(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,fl,2,1,"span",29),t.YNc(2,hl,2,1,"span",30),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(1),t.Q6J("ngIf",e<0)}}function yl(n,i){if(1&n&&(t.TgZ(0,"td",27),t.YNc(1,xl,3,2,"span",28),t.qZA()),2&n){const e=i.$implicit,o=t.oxw(4);t.xp6(1),t.Q6J("ngVar",o.getModifierTextForValue(e.bonus,2))}}function Tl(n,i){1&n&&(t.TgZ(0,"th",22),t._UZ(1,"app-stat-icon",26),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",3))}function bl(n,i){if(1&n&&(t.TgZ(0,"span",31),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("+",e,"")}}function Cl(n,i){if(1&n&&(t.TgZ(0,"span",32),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.Oqu(e)}}function vl(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,bl,2,1,"span",29),t.YNc(2,Cl,2,1,"span",30),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(1),t.Q6J("ngIf",e<0)}}function Al(n,i){if(1&n&&(t.TgZ(0,"td",27),t.YNc(1,vl,3,2,"span",28),t.qZA()),2&n){const e=i.$implicit,o=t.oxw(4);t.xp6(1),t.Q6J("ngVar",o.getModifierTextForValue(e.bonus,3))}}function wl(n,i){1&n&&(t.TgZ(0,"th",22),t._UZ(1,"app-stat-icon",26),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",4))}function Zl(n,i){if(1&n&&(t.TgZ(0,"span",31),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("+",e,"")}}function Sl(n,i){if(1&n&&(t.TgZ(0,"span",32),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.Oqu(e)}}function Il(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,Zl,2,1,"span",29),t.YNc(2,Sl,2,1,"span",30),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(1),t.Q6J("ngIf",e<0)}}function kl(n,i){if(1&n&&(t.TgZ(0,"td",27),t.YNc(1,Il,3,2,"span",28),t.qZA()),2&n){const e=i.$implicit,o=t.oxw(4);t.xp6(1),t.Q6J("ngVar",o.getModifierTextForValue(e.bonus,4))}}function Ol(n,i){1&n&&(t.TgZ(0,"th",22),t._UZ(1,"app-stat-icon",26),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",5))}function Ml(n,i){if(1&n&&(t.TgZ(0,"span",31),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("+",e,"")}}function Dl(n,i){if(1&n&&(t.TgZ(0,"span",32),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.Oqu(e)}}function El(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,Ml,2,1,"span",29),t.YNc(2,Dl,2,1,"span",30),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(1),t.Q6J("ngIf",e<0)}}function Ul(n,i){if(1&n&&(t.TgZ(0,"td",27),t.YNc(1,El,3,2,"span",28),t.qZA()),2&n){const e=i.$implicit,o=t.oxw(4);t.xp6(1),t.Q6J("ngVar",o.getModifierTextForValue(e.bonus,5))}}function Pl(n,i){1&n&&t._UZ(0,"tr",33)}function Rl(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"tr",34),t.NdJ("click",function(){const s=t.CHM(e).$implicit,l=t.oxw(4);return t.KtG(l.handleRowClick(s))}),t.qZA()}if(2&n){const e=i.$implicit,o=t.oxw(4);t.ekj("selected",o.selectedMods.indexOf(e.id)>-1)}}function Nl(n,i){if(1&n&&(t.TgZ(0,"table",9),t.ynx(1,10),t.YNc(2,ol,2,0,"th",11),t.YNc(3,il,4,4,"td",12),t.BQk(),t.ynx(4,13),t.YNc(5,al,2,1,"th",11),t.YNc(6,cl,2,1,"td",14),t.BQk(),t.ynx(7,15),t.YNc(8,ml,2,1,"th",11),t.YNc(9,gl,2,1,"td",14),t.BQk(),t.ynx(10,16),t.YNc(11,_l,2,1,"th",11),t.YNc(12,yl,2,1,"td",14),t.BQk(),t.ynx(13,17),t.YNc(14,Tl,2,1,"th",11),t.YNc(15,Al,2,1,"td",14),t.BQk(),t.ynx(16,18),t.YNc(17,wl,2,1,"th",11),t.YNc(18,kl,2,1,"td",14),t.BQk(),t.ynx(19,19),t.YNc(20,Ol,2,1,"th",11),t.YNc(21,Ul,2,1,"td",14),t.BQk(),t.YNc(22,Pl,1,0,"tr",20),t.YNc(23,Rl,1,2,"tr",21),t.qZA()),2&n){const e=t.oxw(2).$implicit,o=t.oxw();t.Q6J("dataSource",e.data),t.xp6(22),t.Q6J("matHeaderRowDef",o.displayedColumns),t.xp6(1),t.Q6J("matRowDefColumns",o.displayedColumns)}}function ql(n,i){if(1&n&&(t.ynx(0),t.YNc(1,el,2,1,"h3",6),t.YNc(2,nl,2,0,"span",3),t.YNc(3,Nl,24,3,"table",7),t.BQk()),2&n){const e=t.oxw().$implicit;t.xp6(1),t.Q6J("ngIf",!e.group),t.xp6(1),t.Q6J("ngIf",0===e.data.length),t.xp6(1),t.Q6J("ngIf",e.data.length>0)}}function Jl(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,tl,13,6,"ng-container",3),t.YNc(2,ql,4,3,"ng-container",3),t.qZA()),2&n){const e=i.$implicit,o=i.index,a=t.oxw();t.xp6(1),t.Q6J("ngIf",0===o),t.xp6(1),t.Q6J("ngIf",!e.group||e.type===a.selectedElement)}}let Yl=(()=>{class n{constructor(e){this.config=e,this.ModifierType=h.O,this.ModOrAbility=f,this.displayedColumns=["name","mobility","resilience","recovery","discipline","intellect","strength"],this.selectedClass=D.None,this.selectedMods=[],this.selectedElement=h.O.Solar,this.ngUnsubscribe=new nt.xQ;const o=Object.values(ut).sort((p,b)=>p.name.toLowerCase()b.name.toLowerCase()?1:0);o.filter(p=>p.type==h.O.CombatStyleMod);let s=o.filter(p=>p.type==h.O.Stasis),l=o.filter(p=>p.type==h.O.Void),d=o.filter(p=>p.type==h.O.Solar),u=o.filter(p=>p.type==h.O.Arc),x=o.filter(p=>p.type==h.O.Strand);this.data=[{name:"Stasis Fragments",data:s,group:!0,type:h.O.Stasis},{name:"Void Fragments",data:l,group:!0,type:h.O.Void},{name:"Solar Fragments",data:d,group:!0,type:h.O.Solar},{name:"Arc Fragments",data:u,group:!0,type:h.O.Arc},{name:"Strand Fragments",data:x,group:!0,type:h.O.Strand}],this.dataSource=o}ngOnInit(){this.config.configuration.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(e=>{this.selectedMods=e.enabledMods,this.selectedClass=e.characterClass,this.selectedElement=e.selectedModElement})}getModifierTextForValue(e,o){return e.filter(a=>a.stat==o||a.stat==r.AR.ClassAbilityRegenerationStat&&(this.selectedClass==D.Titan&&o==r.WB.Resilience||this.selectedClass==D.Hunter&&o==r.WB.Mobility||this.selectedClass==D.Warlock&&o==r.WB.Recovery)).reduce((a,s)=>a+s.value,0)}handleRowClick(e){this.config.modifyConfiguration(o=>{const a=o.enabledMods.indexOf(e.id);a>-1?o.enabledMods.splice(a,1):o.enabledMods.push(e.id)})}clear(){this.config.modifyConfiguration(e=>{e.enabledMods=[]})}getAffinityName(e){return r.vr[e]}getAffinityUrl(e){return r.Sy[e]}setElement(e){this.selectedElement!=e&&this.config.modifyConfiguration(o=>{const a=o.enabledMods.filter(s=>ut[s].type!=h.O.CombatStyleMod&&ut[s].type!=e);o.selectedModElement=e;for(let s of a){const l=o.enabledMods.indexOf(s);o.enabledMods.splice(l,1)}})}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(B))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-desired-mods-selection"]],features:[t._Bn([{provide:Zt.HT,useValue:{disableToggleValue:!1,disableDragValue:!0}}])],decls:4,vars:1,consts:[[4,"ngFor","ngForOf"],["id","clear-container"],["color","warn","mat-stroked-button","",3,"click"],[4,"ngIf"],[3,"value"],[3,"value","click"],["class","stat-part-title",4,"ngIf"],["mat-table","",3,"dataSource",4,"ngIf"],[1,"stat-part-title"],["mat-table","",3,"dataSource"],["matColumnDef","name"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",3,"modTooltip",4,"matCellDef"],["matColumnDef","mobility"],["mat-cell","",4,"matCellDef"],["matColumnDef","resilience"],["matColumnDef","recovery"],["matColumnDef","discipline"],["matColumnDef","intellect"],["matColumnDef","strength"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",3,"selected","click",4,"matRowDef","matRowDefColumns"],["mat-header-cell",""],["mat-cell","",3,"modTooltip"],["color","primary","disabled","",2,"cursor","pointer !important",3,"checked"],[3,"itemHash"],[3,"stat"],["mat-cell",""],[4,"ngVar"],["class","stat-positive",4,"ngIf"],["class","stat-negative",4,"ngIf"],[1,"stat-positive"],[1,"stat-negative"],["mat-header-row",""],["mat-row","",3,"click"]],template:function(e,o){1&e&&(t.YNc(0,Jl,3,2,"span",0),t.TgZ(1,"div",1)(2,"button",2),t.NdJ("click",function(){return o.clear()}),t._uU(3,"Clear the whole selection"),t.qZA()()),2&e&&t.Q6J("ngForOf",o.data)},dependencies:[T.sg,T.O5,g.lW,Zt.Rr,w.BZ,w.fO,w.as,w.w1,w.Dz,w.nj,w.ge,w.ev,w.XQ,w.Gk,it.A9,it.Yi,fe,Ct,Ht,Xr],styles:[".mat-slide-toggle.mat-disabled[_ngcontent-%COMP%]{opacity:1}.stat-part-title[_ngcontent-%COMP%]{margin-top:10px;margin-bottom:5px}.modTable[_ngcontent-%COMP%]{width:100%}.mat-header-row[_ngcontent-%COMP%], .mat-row[_ngcontent-%COMP%]{height:30px}.mat-column-mobility[_ngcontent-%COMP%], .mat-column-resilience[_ngcontent-%COMP%], .mat-column-recovery[_ngcontent-%COMP%], .mat-column-discipline[_ngcontent-%COMP%], .mat-column-intellect[_ngcontent-%COMP%], .mat-column-strength[_ngcontent-%COMP%], .mat-column-cost[_ngcontent-%COMP%]{min-width:40px;text-align:center}.mat-row[_ngcontent-%COMP%]:hover{background-color:#494949}.mat-column-mobility[_ngcontent-%COMP%], .mat-column-recovery[_ngcontent-%COMP%], .mat-column-intellect[_ngcontent-%COMP%]{background-color:#464646}.mat-column-name[_ngcontent-%COMP%]{padding-right:4px;border-right:1px solid currentColor;min-width:150px}.mat-column-name[_ngcontent-%COMP%] app-item-icon[_ngcontent-%COMP%]{float:left;margin-right:5px}.mat-row[_ngcontent-%COMP%]{cursor:pointer}th.mat-header-cell[_ngcontent-%COMP%]:last-of-type, td.mat-cell[_ngcontent-%COMP%]:last-of-type, td.mat-footer-cell[_ngcontent-%COMP%]:last-of-type{padding-right:0}.mat-cell[_ngcontent-%COMP%]:last-of-type, .mat-header-cell[_ngcontent-%COMP%]:last-of-type, .mat-footer-cell[_ngcontent-%COMP%]:last-of-type{padding-right:0}.stat-negative[_ngcontent-%COMP%], .stat-positive[_ngcontent-%COMP%]{margin-right:3px}.stat-negative[_ngcontent-%COMP%]{color:#f08080}.stat-positive[_ngcontent-%COMP%]{color:#b6cbfc}.stat-display[_ngcontent-%COMP%]{width:60px;float:left;align-content:end;text-align:right}.mat-row[_ngcontent-%COMP%]:hover, .mat-row[_ngcontent-%COMP%]:hover .mat-cell[_ngcontent-%COMP%]{background-color:#494949}.mat-row.selected[_ngcontent-%COMP%]:hover, .mat-row.selected[_ngcontent-%COMP%]:hover .mat-cell[_ngcontent-%COMP%]{background-color:#89b2ff30}.selected[_ngcontent-%COMP%], .selected[_ngcontent-%COMP%] .mat-column-mobility[_ngcontent-%COMP%], .selected[_ngcontent-%COMP%] .mat-column-recovery[_ngcontent-%COMP%], .selected[_ngcontent-%COMP%] .mat-column-intellect[_ngcontent-%COMP%]{background-color:#89b2ff1c}.mat-column-name[_ngcontent-%COMP%]{min-width:190px}.element-icon[_ngcontent-%COMP%]{width:22px}#clear-container[_ngcontent-%COMP%]{padding-top:10px}#retrofit-table[_ngcontent-%COMP%] .rft-icon-container[_ngcontent-%COMP%]{width:22px;display:inline-block}#retrofit-table[_ngcontent-%COMP%] .rft-icon-container[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{position:relative}#retrofit-table[_ngcontent-%COMP%] .rft-icon-container[_ngcontent-%COMP%] app-stat-icon[_ngcontent-%COMP%]{position:absolute;top:-22px;left:-10px}"]}),n})();function Ll(n,i){if(1&n&&(t.TgZ(0,"mat-icon",8,9),t._uU(2," help "),t.qZA()),2&n){const e=t.oxw().$implicit;t.s9C("matTooltip",e.help)}}function Fl(n,i){1&n&&(t.TgZ(0,"mat-icon",10,9),t._uU(2," report_problem "),t.qZA())}function Ql(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"div",4)(1,"mat-slide-toggle",5),t.NdJ("change",function(a){const l=t.CHM(e).$implicit;return t.KtG(l.cp(a.checked))}),t._uU(2),t.qZA(),t.YNc(3,Ll,3,1,"mat-icon",6),t.YNc(4,Fl,3,0,"mat-icon",7),t.qZA()}if(2&n){const e=i.$implicit;t.xp6(1),t.Q6J("disabled",e.disabled)("checked",e.value),t.xp6(1),t.hij(" ",e.name," "),t.xp6(1),t.Q6J("ngIf",e.help),t.xp6(1),t.Q6J("ngIf",e.impactsResultCount)}}function Bl(n,i){if(1&n&&(t.TgZ(0,"div")(1,"span",1),t._uU(2),t.qZA(),t.YNc(3,Ql,5,5,"div",2),t._UZ(4,"div",3),t.qZA()),2&n){const e=i.$implicit,o=t.oxw();t.xp6(2),t.Oqu(e),t.xp6(1),t.Q6J("ngForOf",o.fields2[e])}}let Vl=(()=>{class n{constructor(e){this.config=e,this.fields2={},this.fieldKeys=[],this.ngUnsubscribe=new nt.xQ}ngOnInit(){this.config.configuration.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(e=>{this.fields2={Events:[{name:"Enforce the usage of a Festival of the Lost Mask.",cp:o=>this.config.modifyConfiguration(a=>a.useFotlArmor=o),value:e.useFotlArmor,disabled:!1,impactsResultCount:!0,help:"Only use a FotL masks. You will not get results if you do not own the mask."}],Masterwork:[{name:"Assume all legendary items are masterworked",cp:o=>this.config.modifyConfiguration(a=>a.assumeLegendariesMasterworked=o),value:e.assumeLegendariesMasterworked,disabled:!1,impactsResultCount:!1,help:void 0},{name:"Assume all exotic items are masterworked",cp:o=>this.config.modifyConfiguration(a=>a.assumeExoticsMasterworked=o),value:e.assumeExoticsMasterworked,disabled:!1,impactsResultCount:!1,help:"If this setting is enabled, the tool will treat non-masterworked exotic armor as if it were masterworked-."},{name:"Assume that class items are masterworked",cp:o=>this.config.modifyConfiguration(a=>a.assumeClassItemMasterworked=o),value:e.assumeClassItemMasterworked,disabled:!1,impactsResultCount:!1,help:"If this setting is enabled, a plain +2 is added to every stat. This means that your Class Item must be masterworked."},{name:"Only use already masterworked exotic items",cp:o=>this.config.modifyConfiguration(a=>a.onlyUseMasterworkedExotics=o),value:e.onlyUseMasterworkedExotics,disabled:!1,impactsResultCount:!0,help:void 0},{name:"Only use already masterworked legendary items",cp:o=>this.config.modifyConfiguration(a=>a.onlyUseMasterworkedLegendaries=o),value:e.onlyUseMasterworkedLegendaries,disabled:!1,impactsResultCount:!0,help:void 0}],"Performance Optimization":[{name:"Use security features to prevent app crashes (resets on reload).",cp:o=>this.config.modifyConfiguration(a=>a.limitParsedResults=o),value:e.limitParsedResults,disabled:!1,impactsResultCount:!0,help:"Only parse the first 30,000 results. Deactivating this may crash your browser. The results will still be limited to 1,000,000 entries. Note that you will not miss any significant results by leaving this enabled."}],"Extra Columns":[{name:"Show maximum reachable tiers in the Tiers-Column instead of real Tiers.",cp:o=>this.config.modifyConfiguration(a=>a.showPotentialTierColumn=o),value:e.showPotentialTierColumn,disabled:!1,impactsResultCount:!1,help:"Shows an additional column in the table that shows how many tiers this build would have, if all stat mods were used. This is important when builds do not use all 5 stat mods."},{name:"Show the wasted stats in an extra column.",cp:o=>this.config.modifyConfiguration(a=>a.showWastedStatsColumn=o),value:e.showWastedStatsColumn,disabled:!1,impactsResultCount:!1,help:"Shows an additional column in the table that shows how many stats are wasted in a build."}],"Wasted Stats":[{name:"Try to optimize wasted stats (slower)",cp:o=>this.config.modifyConfiguration(a=>a.tryLimitWastedStats=o),value:e.tryLimitWastedStats,disabled:!1,impactsResultCount:!1,help:"The tool will try to add minor stat mods to minimize wasted stats. This only works for combinations that fulfill your desired stat combination with enough mods so at least one mod slot is still open."},{name:"Only show builds with no wasted stats",cp:o=>this.config.modifyConfiguration(a=>a.onlyShowResultsWithNoWastedStats=o),value:S_featureFlags_enableZeroWaste&&e.onlyShowResultsWithNoWastedStats,disabled:!S_featureFlags_enableZeroWaste,impactsResultCount:!0,help:"Only show builds with zero wasted stats - this means, its highly likely that you won't get any results."}],"Data-Science":[{name:"Add a constant +1 resilience to the results with non-exotic chests (resets on reload).",cp:o=>this.config.modifyConfiguration(a=>a.addConstent1Resilience=o),value:e.addConstent1Resilience,disabled:!1,impactsResultCount:!1,help:"You usually do not want to use this."},{name:"Assume every legendary is an artifice armor.",cp:o=>this.config.modifyConfiguration(a=>a.assumeEveryLegendaryIsArtifice=o),value:e.assumeEveryLegendaryIsArtifice,disabled:!1,impactsResultCount:!0,help:"This is for debugging purposes. Do not complain if you enable this. Reload after changing this setting."}]},this.fieldKeys=Object.keys(this.fields2)})}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(B))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-advanced-settings"]],decls:1,vars:1,consts:[[4,"ngFor","ngForOf"],[1,"category-header"],["class","adv-settings",4,"ngFor","ngForOf"],[1,"category-spacer"],[1,"adv-settings"],["color","primary",3,"disabled","checked","change"],["inline","","aria-hidden","false","aria-label","Help",3,"matTooltip",4,"ngIf"],["inline","","aria-hidden","false","aria-label","Help","class","report-problem-icon","matTooltip","This setting might impact the amount of results. It may happen that you won't get any results if you change this setting. In this case, simply switch it back to its default state.",4,"ngIf"],["inline","","aria-hidden","false","aria-label","Help",3,"matTooltip"],["tooltip","matTooltip"],["inline","","aria-hidden","false","aria-label","Help","matTooltip","This setting might impact the amount of results. It may happen that you won't get any results if you change this setting. In this case, simply switch it back to its default state.",1,"report-problem-icon"]],template:function(e,o){1&e&&t.YNc(0,Bl,5,2,"div",0),2&e&&t.Q6J("ngForOf",o.fieldKeys)},dependencies:[T.sg,T.O5,Zt.Rr,N.gM,j.Hw],styles:[".category-spacer[_ngcontent-%COMP%]{height:3px}.category-header[_ngcontent-%COMP%]{font-style:italic}.adv-settings[_ngcontent-%COMP%]{margin-left:20px}.report-problem-icon[_ngcontent-%COMP%]{color:#f08080}"]}),n})(),qt=(()=>{class n{constructor(e,o){this.dialogRef=e,this.data=o}onNoClick(){this.dialogRef.close()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36($.so),t.Y36($.WI))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-confirm-dialog"]],decls:10,vars:2,consts:[["mat-dialog-title",""],["mat-dialog-content",""],["mat-dialog-actions",""],["mat-button","",3,"click"],["mat-raised-button","","color","primary",3,"mat-dialog-close"]],template:function(e,o){1&e&&(t.TgZ(0,"h1",0),t._uU(1,"Confirm"),t.qZA(),t.TgZ(2,"div",1)(3,"p"),t._uU(4),t.qZA()(),t.TgZ(5,"div",2)(6,"button",3),t.NdJ("click",function(){return o.onNoClick()}),t._uU(7,"No Thanks"),t.qZA(),t.TgZ(8,"button",4),t._uU(9,"Ok"),t.qZA()()),2&e&&(t.xp6(4),t.Oqu(o.data.description),t.xp6(4),t.Q6J("mat-dialog-close",!0))},dependencies:[g.lW,$.ZT,$.uh,$.xY,$.H8]}),n})();var lt=_(9549),Hl=_(4385),Jt=_(4144);function Wl(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"Titan"),t.qZA())}function jl(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"Hunter"),t.qZA())}function zl(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"Warlock"),t.qZA())}function Gl(n,i){if(1&n&&(t.TgZ(0,"mat-option",30)(1,"span"),t._uU(2,"("),t.YNc(3,Wl,2,0,"span",26),t.YNc(4,jl,2,0,"span",26),t.YNc(5,zl,2,0,"span",26),t._uU(6,") "),t.qZA(),t.TgZ(7,"span"),t._uU(8),t.qZA()()),2&n){const e=i.$implicit;t.Q6J("value",e.name),t.xp6(3),t.Q6J("ngIf",0===e.configuration.characterClass),t.xp6(1),t.Q6J("ngIf",1===e.configuration.characterClass),t.xp6(1),t.Q6J("ngIf",2===e.configuration.characterClass),t.xp6(3),t.hij(" ",e.name,"")}}function Kl(n,i){1&n&&(t.TgZ(0,"th",31),t._uU(1,"Name"),t.qZA())}function $l(n,i){if(1&n&&(t.TgZ(0,"td",32),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.hij("",e.name," ")}}function Xl(n,i){1&n&&(t.TgZ(0,"th",31),t._uU(1," Class "),t.qZA())}function tc(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"Titan"),t.qZA())}function ec(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"Hunter"),t.qZA())}function nc(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"Warlock"),t.qZA())}function oc(n,i){if(1&n&&(t.TgZ(0,"td",32),t.YNc(1,tc,2,0,"span",26),t.YNc(2,ec,2,0,"span",26),t.YNc(3,nc,2,0,"span",26),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.Q6J("ngIf",0===e.configuration.characterClass),t.xp6(1),t.Q6J("ngIf",1===e.configuration.characterClass),t.xp6(1),t.Q6J("ngIf",2===e.configuration.characterClass)}}function ic(n,i){1&n&&(t.TgZ(0,"th",31),t._UZ(1,"app-stat-icon",33),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",0))}function ac(n,i){if(1&n&&(t.TgZ(0,"td",32),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.hij(" ",10*e.configuration.minimumStatTiers[0].value," ")}}function sc(n,i){1&n&&(t.TgZ(0,"th",31),t._UZ(1,"app-stat-icon",33),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",1))}function rc(n,i){if(1&n&&(t.TgZ(0,"td",32),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.hij(" ",10*e.configuration.minimumStatTiers[1].value," ")}}function lc(n,i){1&n&&(t.TgZ(0,"th",31),t._UZ(1,"app-stat-icon",33),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",2))}function cc(n,i){if(1&n&&(t.TgZ(0,"td",32),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.hij(" ",10*e.configuration.minimumStatTiers[2].value," ")}}function mc(n,i){1&n&&(t.TgZ(0,"th",31),t._UZ(1,"app-stat-icon",33),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",3))}function dc(n,i){if(1&n&&(t.TgZ(0,"td",32),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.hij(" ",10*e.configuration.minimumStatTiers[3].value," ")}}function uc(n,i){1&n&&(t.TgZ(0,"th",31),t._UZ(1,"app-stat-icon",33),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",4))}function pc(n,i){if(1&n&&(t.TgZ(0,"td",32),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.hij(" ",10*e.configuration.minimumStatTiers[4].value," ")}}function gc(n,i){1&n&&(t.TgZ(0,"th",31),t._UZ(1,"app-stat-icon",33),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",5))}function _c(n,i){if(1&n&&(t.TgZ(0,"td",32),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.hij(" ",10*e.configuration.minimumStatTiers[5].value," ")}}function fc(n,i){1&n&&t._UZ(0,"th",31)}function hc(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"td",32)(1,"button",34),t.NdJ("click",function(){const s=t.CHM(e).$implicit,l=t.oxw();return t.KtG(l.delete(s.name))}),t.TgZ(2,"mat-icon"),t._uU(3,"delete_forever"),t.qZA()(),t.TgZ(4,"button",35),t.NdJ("click",function(){const s=t.CHM(e).$implicit,l=t.oxw();return t.KtG(l.load(s.name))}),t.TgZ(5,"mat-icon"),t._uU(6,"check_circle_outline"),t.qZA()(),t.TgZ(7,"button",36),t.NdJ("click",function(){const s=t.CHM(e).$implicit,l=t.oxw();return t.KtG(l.copySingleSettingToClipboard(s))}),t.TgZ(8,"mat-icon"),t._uU(9,"get_app"),t.qZA()()()}}function xc(n,i){1&n&&t._UZ(0,"tr",37)}function yc(n,i){1&n&&t._UZ(0,"tr",38)}function Tc(n,i){if(1&n){const e=t.EpF();t.ynx(0),t._UZ(1,"br"),t.TgZ(2,"button",39),t.NdJ("click",function(){t.CHM(e);const a=t.oxw();return t.KtG(a.copyAllSettingsToClipboard())}),t._uU(3," Copy all saved configurations to the clipboard "),t.qZA(),t.BQk()}}let bc=(()=>{class n{constructor(e,o,a,s,l){this.config=e,this.formBuilder=o,this.dialog=a,this._snackBar=s,this.clipboard=l,this.selectedEntry="",this.storedConfigs=[],this.displayedColumns=["name","class","mobility","resilience","recovery","discipline","intellect","strength","delete"],this.ngUnsubscribe=new nt.xQ,this.settingsNameForm=this.formBuilder.group({name:[null]}),this.importTextForm=this.formBuilder.group({content:[null]})}ngOnInit(){this.config.storedConfigurations.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(e=>this.storedConfigs=e)}submit(){const e=this.settingsNameForm.get("name")?.value;!e||(this.config.doesSavedConfigurationExist(e)?this.dialog.open(qt,{width:"300px",data:{description:"Do you want to overwrite this configuration?"}}).afterClosed().subscribe(a=>{a&&(this.config.saveCurrentConfigurationToName(e),this.settingsNameForm.reset(),this.selectedEntry=e)}):(this.config.saveCurrentConfigurationToName(e),this.settingsNameForm.reset(),this.selectedEntry=e))}delete(e){this.dialog.open(qt,{width:"300px",data:{description:"Do you want to delete this configuration?"}}).afterClosed().subscribe(a=>{a&&this.config.deleteStoredConfiguration(e)})}clearEverything(){this.dialog.open(qt,{width:"300px",data:{description:"Do you want to clear all settings?"}}).afterClosed().subscribe(o=>{o&&this.config.resetCurrentConfiguration()})}load(e){this.dialog.open(qt,{width:"300px",data:{description:"Do you want to load this preset?"}}).afterClosed().subscribe(a=>{a&&this.config.loadSavedConfiguration(e)})}runImport(){const e=this.importTextForm.get("content")?.value;if(!e)return this.openSnackBar("Invalid input.");try{const o=rt.decompress(e,{inputEncoding:"Base64"}),a="["==o.substr(0,1);let s=JSON.parse(o);a||(s=[s]),console.log("Incoming json:",s);for(let l of s)this.config.checkAndFixOldSavedConfigurations(l),l.hasOwnProperty("name")?a?this.config.saveConfiguration(l.name,l.configuration):this.config.saveCurrentConfiguration(l.configuration):this.config.saveCurrentConfiguration(l);this.openSnackBar("Successfully loaded this configuration"),this.importTextForm.get("content")?.reset()}catch(o){this.openSnackBar("Invalid input."),console.error(o)}}copySingleSettingToClipboard(e){this.clipboard.copy(this.config.getStoredConfigurationBase64Compressed(e.name)),this.openSnackBar("Copied the configuration to your clipboard. You can share it with your friends.")}copyAllSettingsToClipboard(){this.clipboard.copy(this.config.getAllStoredConfigurationsBase64Compressed()),this.openSnackBar("Exported all configurations to the clipboard. You can then save and share them.")}openSnackBar(e){this._snackBar.open(e,"",{duration:2500,politeness:"polite"})}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(B),t.Y36(V.QS),t.Y36($.uw),t.Y36(Vt.ux),t.Y36(wt.TU))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-load-and-save-settings"]],decls:78,vars:13,consts:[[3,"formGroup","submit"],["id","settings"],["appearance","outline"],["formControlName","name","matInput","","maxlength","30","minlength","4","placeholder","Awesome Discipline Build 4"],["color","primary","mat-raised-button","","type","submit",3,"disabled"],["color","warn","mat-raised-button","","matTooltip","Clears the ENTIRE configuration and uses the default settings. Use with caution.",3,"click"],["color","primary","mat-raised-button","","matTooltip","Copy your current configuration into your clipboard. You will be able to share it with others and import it later.",3,"cdkCopyToClipboard","click"],[2,"display","none"],[3,"value","disabled","valueChange"],[3,"value",4,"ngFor","ngForOf"],["color","primary","mat-raised-button","","matTooltip","Load the currently selected configuration.",3,"disabled","click"],["color","warn","mat-stroked-button","","matTooltip","Delete the currently selected configuration. Can not be undone.",3,"disabled","click"],["mat-table","",3,"dataSource"],["matColumnDef","name"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","class"],["matColumnDef","mobility"],["matColumnDef","resilience"],["matColumnDef","recovery"],["matColumnDef","discipline"],["matColumnDef","intellect"],["matColumnDef","strength"],["matColumnDef","delete"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],[4,"ngIf"],[3,"formGroup"],["formControlName","content","matInput",""],["color","primary","mat-raised-button","","matTooltip","Import the given configuration",3,"click"],[3,"value"],["mat-header-cell",""],["mat-cell",""],[3,"stat"],["color","warn","mat-icon-button","","matTooltip","Delete this configuration permanently.",3,"click"],["color","primary","mat-icon-button","","matTooltip","Load this configuration. Your current settings will be overwritten.",3,"click"],["color","primary","mat-icon-button","","matTooltip","Copy this configuration into your clipboard. You will be able to share it with others and import it later.",3,"click"],["mat-header-row",""],["mat-row",""],["color","primary","mat-raised-button","","matTooltip","Export all configurations to the clipboard. You can then save and share them.",3,"click"]],template:function(e,o){if(1&e&&(t.TgZ(0,"form",0),t.NdJ("submit",function(){return o.submit()}),t.TgZ(1,"table",1)(2,"tr")(3,"td")(4,"mat-form-field",2)(5,"mat-label"),t._uU(6,"Name to save the configuration"),t.qZA(),t._UZ(7,"input",3),t.qZA()(),t.TgZ(8,"td")(9,"button",4),t._uU(10," Save current "),t.qZA()(),t.TgZ(11,"td")(12,"button",5),t.NdJ("click",function(){return o.clearEverything()}),t._uU(13,"Clear everything "),t.qZA()(),t.TgZ(14,"td")(15,"button",6),t.NdJ("click",function(){return o.openSnackBar("Copied the configuration to your clipboard. You can share it with your friends.")}),t._uU(16," Copy Current "),t.qZA()()(),t.TgZ(17,"tr",7)(18,"td")(19,"mat-form-field",2)(20,"mat-label"),t._uU(21,"Load saved configuration"),t.qZA(),t.TgZ(22,"mat-select",8),t.NdJ("valueChange",function(s){return o.selectedEntry=s}),t.YNc(23,Gl,9,5,"mat-option",9),t.qZA()()(),t.TgZ(24,"td")(25,"button",10),t.NdJ("click",function(){return o.load(o.selectedEntry)}),t._uU(26,"Load "),t.qZA()(),t.TgZ(27,"td")(28,"button",11),t.NdJ("click",function(){return o.delete(o.selectedEntry)}),t._uU(29,"Delete "),t.qZA()()()()(),t._UZ(30,"br"),t.TgZ(31,"table",12),t.ynx(32,13),t.YNc(33,Kl,2,0,"th",14),t.YNc(34,$l,2,1,"td",15),t.BQk(),t.ynx(35,16),t.YNc(36,Xl,2,0,"th",14),t.YNc(37,oc,4,3,"td",15),t.BQk(),t.ynx(38,17),t.YNc(39,ic,2,1,"th",14),t.YNc(40,ac,2,1,"td",15),t.BQk(),t.ynx(41,18),t.YNc(42,sc,2,1,"th",14),t.YNc(43,rc,2,1,"td",15),t.BQk(),t.ynx(44,19),t.YNc(45,lc,2,1,"th",14),t.YNc(46,cc,2,1,"td",15),t.BQk(),t.ynx(47,20),t.YNc(48,mc,2,1,"th",14),t.YNc(49,dc,2,1,"td",15),t.BQk(),t.ynx(50,21),t.YNc(51,uc,2,1,"th",14),t.YNc(52,pc,2,1,"td",15),t.BQk(),t.ynx(53,22),t.YNc(54,gc,2,1,"th",14),t.YNc(55,_c,2,1,"td",15),t.BQk(),t.ynx(56,23),t.YNc(57,fc,1,0,"th",14),t.YNc(58,hc,10,0,"td",15),t.BQk(),t.YNc(59,xc,1,0,"tr",24),t.YNc(60,yc,1,0,"tr",25),t.qZA(),t.YNc(61,Tc,4,0,"ng-container",26),t._UZ(62,"br"),t.TgZ(63,"div"),t._UZ(64,"hr"),t.TgZ(65,"h2"),t._uU(66,"Import a previously exported configuration"),t.qZA(),t.TgZ(67,"form",27)(68,"table")(69,"tr")(70,"td")(71,"mat-form-field",2)(72,"mat-label"),t._uU(73,"Copied configuration"),t.qZA(),t._UZ(74,"input",28),t.qZA()(),t.TgZ(75,"td")(76,"button",29),t.NdJ("click",function(){return o.runImport()}),t._uU(77," Start the import "),t.qZA()()()()()()),2&e){let a;t.Q6J("formGroup",o.settingsNameForm),t.xp6(9),t.Q6J("disabled",!(null!=(a=o.settingsNameForm.get("name"))&&a.value)||(null==(a=o.settingsNameForm.get("name"))?null:a.value.length)<4||(null==(a=o.settingsNameForm.get("name"))?null:a.value.length)>30),t.xp6(6),t.Q6J("cdkCopyToClipboard",o.config.getCurrentConfigBase64Compressed()),t.xp6(7),t.Q6J("value",o.selectedEntry)("disabled",0===o.storedConfigs.length),t.xp6(1),t.Q6J("ngForOf",o.storedConfigs),t.xp6(2),t.Q6J("disabled",!o.selectedEntry||0===o.storedConfigs.length),t.xp6(3),t.Q6J("disabled",!o.selectedEntry||0===o.storedConfigs.length),t.xp6(3),t.Q6J("dataSource",o.storedConfigs),t.xp6(28),t.Q6J("matHeaderRowDef",o.displayedColumns),t.xp6(1),t.Q6J("matRowDefColumns",o.displayedColumns),t.xp6(1),t.Q6J("ngIf",o.storedConfigs.length>0),t.xp6(6),t.Q6J("formGroup",o.importTextForm)}},dependencies:[T.sg,T.O5,V._Y,V.Fj,V.JJ,V.JL,V.wO,V.nD,V.sg,V.u,g.lW,lt.KE,lt.hX,Hl.gD,pe.ey,Jt.Nt,w.BZ,w.fO,w.as,w.w1,w.Dz,w.nj,w.ge,w.ev,w.XQ,w.Gk,N.gM,j.Hw,wt.i3,fe],styles:[".modTable[_ngcontent-%COMP%]{width:100%}.mat-header-row[_ngcontent-%COMP%], .mat-row[_ngcontent-%COMP%]{height:30px}.mat-column-class[_ngcontent-%COMP%]{min-width:55px;padding-right:2px;padding-left:2px;text-align:center;border-right:1px solid currentColor}.mat-column-mobility[_ngcontent-%COMP%], .mat-column-resilience[_ngcontent-%COMP%], .mat-column-recovery[_ngcontent-%COMP%], .mat-column-discipline[_ngcontent-%COMP%], .mat-column-intellect[_ngcontent-%COMP%], .mat-column-strength[_ngcontent-%COMP%]{min-width:40px;text-align:center}.mat-row[_ngcontent-%COMP%]:hover{background-color:#494949}.mat-column-mobility[_ngcontent-%COMP%], .mat-column-recovery[_ngcontent-%COMP%], .mat-column-intellect[_ngcontent-%COMP%]{background-color:#464646}.mat-column-name[_ngcontent-%COMP%]{padding-right:4px;border-right:1px solid currentColor;min-width:150px}th.mat-header-cell[_ngcontent-%COMP%]:last-of-type, td.mat-cell[_ngcontent-%COMP%]:last-of-type, td.mat-footer-cell[_ngcontent-%COMP%]:last-of-type{padding-right:0}.mat-cell[_ngcontent-%COMP%]:last-of-type, .mat-header-cell[_ngcontent-%COMP%]:last-of-type, .mat-footer-cell[_ngcontent-%COMP%]:last-of-type{padding-right:0}.stat-negative[_ngcontent-%COMP%], .stat-positive[_ngcontent-%COMP%]{margin-right:3px}.stat-negative[_ngcontent-%COMP%]{color:#f08080}.stat-positive[_ngcontent-%COMP%]{color:#6495ed}.stat-display[_ngcontent-%COMP%]{width:60px;float:left;align-content:end;text-align:right}.mat-row[_ngcontent-%COMP%]:hover, .mat-row[_ngcontent-%COMP%]:hover .mat-cell[_ngcontent-%COMP%]{background-color:#494949}.mat-row.selected[_ngcontent-%COMP%]:hover, .mat-row.selected[_ngcontent-%COMP%]:hover .mat-cell[_ngcontent-%COMP%]{background-color:#89b2ff30}.selected[_ngcontent-%COMP%], .selected[_ngcontent-%COMP%] .mat-column-mobility[_ngcontent-%COMP%], .selected[_ngcontent-%COMP%] .mat-column-recovery[_ngcontent-%COMP%], .selected[_ngcontent-%COMP%] .mat-column-intellect[_ngcontent-%COMP%]{background-color:#89b2ff1c}.mat-column-load[_ngcontent-%COMP%], .mat-column-delete[_ngcontent-%COMP%]{padding-left:3px;padding-right:3px}[_nghost-%COMP%] .mat-form-field-wrapper{margin:0!important;padding:0}"]}),n})();function Cc(n,i){1&n&&t._UZ(0,"br")}function vc(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"span",2)(1,"img",3),t.NdJ("click",function(){const s=t.CHM(e).$implicit,l=t.oxw();return t.KtG(l.enableItem(s.itemInstanceId))}),t.qZA(),t.YNc(2,Cc,1,0,"br",4),t.qZA()}if(2&n){const e=i.$implicit,o=i.index,a=t.oxw();t.xp6(1),t.MGl("src","https://bungie.net/",e.icon,"",t.LSH),t.Q6J("matTooltip",a.generateTooltip(e)),t.xp6(1),t.Q6J("ngIf",(o+1)%10==0)}}let Ac=(()=>{class n{constructor(e,o){this.config=e,this.db=o,this.disabledItems=[],this.ngUnsubscribe=new nt.xQ}enableItem(e){this.config.modifyConfiguration(o=>{o.disabledItems.splice(o.disabledItems.indexOf(e),1)})}generateTooltip(e){return"Click this icon to activate this item again.\r\n"+e.name+" "+(e.mobility+(e.masterworked?2:0))+"/"+(e.resilience+(e.masterworked?2:0))+"/"+(e.recovery+(e.masterworked?2:0))+"/"+(e.discipline+(e.masterworked?2:0))+"/"+(e.intellect+(e.masterworked?2:0))+"/"+(e.strength+(e.masterworked?2:0))}ngOnInit(){var e=this;this.config.configuration.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(function(){var o=(0,m.Z)(function*(a){let s=[];for(let l of a.disabledItems){let d=yield e.db.inventoryArmor.where("itemInstanceId").equals(l).first();d&&s.push(d)}e.disabledItems=s});return function(a){return o.apply(this,arguments)}}())}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(B),t.Y36(et))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-ignored-items-list"]],decls:2,vars:1,consts:[[1,"item-icon-container"],["class","item-sub",4,"ngFor","ngForOf"],[1,"item-sub"],["matTooltipClass","allow-cr",1,"item-icon",3,"src","matTooltip","click"],[4,"ngIf"]],template:function(e,o){1&e&&(t.TgZ(0,"div",0),t.YNc(1,vc,3,3,"span",1),t.qZA()),2&e&&(t.xp6(1),t.Q6J("ngForOf",o.disabledItems))},dependencies:[T.sg,T.O5,N.gM],styles:[".item-icon[_ngcontent-%COMP%]{width:40px}.item-icon[_ngcontent-%COMP%]:hover{filter:brightness(.8) hue-rotate(350deg) saturate(3) blur(2px) contrast(.6);cursor:not-allowed}.item-sub[_ngcontent-%COMP%]{margin-right:3px}.item-icon-container[_ngcontent-%COMP%]{position:relative;contain:layout paint style;box-sizing:border-box;width:var(--item-size);transition:opacity .2s,transform .2s}"]}),n})(),wc=(()=>{class n{constructor(){}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-settings"]],decls:71,vars:0,consts:[["id","card-config"],["id","content-char-selection"],["inline","","aria-hidden","false","aria-label","Help","matTooltip","Cooldowns and Stats provided by Clarity."],["tooltip","matTooltip"]],template:function(e,o){1&e&&(t.TgZ(0,"div",0)(1,"mat-card")(2,"mat-card-title"),t._uU(3,"Character Selection"),t.qZA(),t.TgZ(4,"mat-card-content",1),t._UZ(5,"app-desired-class-selection"),t.qZA()(),t.TgZ(6,"mat-card")(7,"mat-card-title"),t._uU(8,"Select the stats you want to achieve"),t.qZA(),t.TgZ(9,"mat-card-subtitle"),t._uU(10,"The heart of this tool. Select the stats you want! "),t.TgZ(11,"mat-icon",2,3),t._uU(13," info "),t.qZA()(),t.TgZ(14,"mat-card-content"),t._UZ(15,"app-desired-stat-selection"),t.qZA()(),t.TgZ(16,"mat-card")(17,"mat-card-title"),t._uU(18,"Armor Selection"),t.qZA(),t.TgZ(19,"mat-card-subtitle"),t._uU(20," This section allows you to limit the armor pieces that are used in the buildcrafting process."),t._UZ(21,"br"),t._uU(22," If you want, limit all results to one exotic. "),t._UZ(23,"br"),t._uU(24," Exotics you do not have in the inventory or vault are grayed out. "),t.qZA(),t.TgZ(25,"mat-card-content"),t._UZ(26,"app-desired-exotic-selection"),t.qZA()(),t.TgZ(27,"mat-card")(28,"mat-card-title"),t._uU(29,"Armor limitation"),t.qZA(),t.TgZ(30,"mat-card-subtitle"),t._uU(31," This section allows you to further specify what kind of armor and mods you want. "),t.qZA(),t.TgZ(32,"mat-card-content"),t._UZ(33,"app-desired-mod-selection"),t.qZA()(),t.TgZ(34,"mat-card")(35,"mat-card-title"),t._uU(36,"Stat-Boost Selection"),t.qZA(),t.TgZ(37,"mat-card-subtitle"),t._uU(38,"Select Mods and Skills that affect your overall stats."),t._UZ(39,"br"),t._uU(40," Please note that D2AP also allows theoretical, but impossible input."),t._UZ(41,"br"),t.TgZ(42,"b"),t._uU(43,"Only fragments that affect stats are shown."),t.qZA()(),t.TgZ(44,"mat-card-content"),t._UZ(45,"app-desired-mods-selection"),t.qZA()(),t.TgZ(46,"mat-card")(47,"mat-card-title"),t._uU(48,"Advanced Settings"),t.qZA(),t.TgZ(49,"mat-card-subtitle"),t._uU(50,"More settings! Use them to fine-tune your buildcrafting process."),t.qZA(),t.TgZ(51,"mat-card-content"),t._UZ(52,"app-advanced-settings"),t.qZA()(),t.TgZ(53,"mat-card")(54,"mat-card-title"),t._uU(55,"Disabled Armor Pieces"),t.qZA(),t.TgZ(56,"mat-card-subtitle"),t._uU(57," These armor pieces are disabled. Click them to enable them again."),t._UZ(58,"br"),t._uU(59," They won't show up in any results."),t._UZ(60,"br"),t._uU(61," You can disable items in the detailed result overview. "),t.qZA(),t.TgZ(62,"mat-card-content"),t._UZ(63,"app-ignored-items-list"),t.qZA()(),t.TgZ(64,"mat-card")(65,"mat-card-title"),t._uU(66,"Configuration Management"),t.qZA(),t.TgZ(67,"mat-card-subtitle"),t._uU(68,"Save and load your buildcrafting settings for another day!"),t.qZA(),t.TgZ(69,"mat-card-content"),t._UZ(70,"app-load-and-save-settings"),t.qZA()()())},dependencies:[A.a8,A.dn,A.n5,A.$j,N.gM,j.Hw,nr,hr,Rr,Vr,Yl,Vl,bc,Ac],styles:["#card-config[_ngcontent-%COMP%]{width:-moz-fit-content;width:fit-content;display:inline-block;vertical-align:top;white-space:normal;margin-bottom:20px;margin-left:3px;margin-right:3px}#card-config[_ngcontent-%COMP%] > mat-card[_ngcontent-%COMP%]{margin-bottom:4px}#content-char-selection[_ngcontent-%COMP%]{margin-bottom:0}"]}),n})(),Zc=(()=>{class n{constructor(){}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-armor-picker-page"]],decls:3,vars:0,consts:[["id","container"]],template:function(e,o){1&e&&(t.TgZ(0,"div",0),t._UZ(1,"app-settings")(2,"app-results"),t.qZA())},dependencies:[wc,me],styles:["#container[_ngcontent-%COMP%]{width:-moz-fit-content;width:fit-content;margin-right:3px;white-space:nowrap}"]}),n})();const he=function(){return["","Mobility","Resilience","Recovery","Discipline","Intellect","Strength"]};function Sc(n,i){if(1&n&&(t.TgZ(0,"tr",27)(1,"td"),t._uU(2),t.qZA(),t.TgZ(3,"td",22)(4,"div",28),t._UZ(5,"div",29),t.TgZ(6,"span",30),t._uU(7),t.ALo(8,"number"),t.qZA()()()()),2&n){const e=t.oxw().index,o=t.oxw(2).index,a=t.oxw();t.Q6J("matTooltip",t.DdM(9,he)[e]),t.xp6(2),t.hij(" ",t.DdM(10,he)[e]," "),t.xp6(3),t.Jzz("width:",a.clusterInformation[o].mean[e]/32*100,"%"),t.xp6(2),t.hij(" ",t.xi3(8,6,a.clusterInformation[o].mean[e],"1.0-0")," ")}}function Ic(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Sc,9,11,"tr",26),t.BQk()),2&n){const e=i.index;t.xp6(1),t.Q6J("ngIf",e>0)}}function kc(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"mat-card",21)(1,"mat-card-title"),t._uU(2),t.qZA(),t.TgZ(3,"mat-card-subtitle"),t._uU(4),t.qZA(),t.TgZ(5,"mat-card-content")(6,"div")(7,"table",22),t.YNc(8,Ic,2,1,"ng-container",18),t.qZA()(),t.TgZ(9,"mat-form-field",23)(10,"mat-label"),t._uU(11,"DIM Search Query"),t.qZA(),t._UZ(12,"input",24),t.qZA(),t.TgZ(13,"button",25),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(2);return t.KtG(a.openSnackBar("Copied the DIM search query to your clipboard."))}),t._uU(14," Copy DIM query to clipboard "),t.qZA()()()}if(2&n){const e=t.oxw(),o=e.index,a=e.$implicit,s=t.oxw();t.xp6(2),t.hij(" Cluster ",o+1," "),t.xp6(2),t.AsE(" Contains ",a.length," item",a.length>1?"s":""," "),t.xp6(4),t.Q6J("ngForOf",s.clusterInformation[o].mean),t.xp6(4),t.Q6J("value",s.getDIMStringForCluster(a)),t.xp6(1),t.Q6J("cdkCopyToClipboard",s.getDIMStringForCluster(a))}}function Oc(n,i){if(1&n&&(t.ynx(0),t.YNc(1,kc,15,6,"mat-card",20),t.BQk()),2&n){const e=i.$implicit;t.xp6(1),t.Q6J("ngIf",e.length>0)}}var xe=[{id:0,size:214,centroids:[5.242990654205609,3.4392523364485994,23.074766355140188,4.52336448598131,17.99532710280374,8.074766355140188],std:[3.262185500658884,3.137958193527344,2.0745611905196912,3.223158380401712,2.6478649185881147,3.356022774004607,3.3823650213485315],mean:[62.350467289719624,5.242990654205608,3.439252336448598,23.074766355140188,4.5233644859813085,17.99532710280374,8.074766355140186]},{id:1,size:264,centroids:[13.613636363636365,3.060606060606063,14.431818181818182,6.731060606060606,12.575757575757574,10.575757575757576],std:[4.915624932359143,2.735897756946947,1.897597343200423,3.036390647550984,3.2253188618447473,3.0097969617389406,3.1372197425220545],mean:[60.98863636363637,13.613636363636363,3.0606060606060606,14.431818181818182,6.731060606060606,12.575757575757576,10.575757575757576]},{id:2,size:220,centroids:[5.209090909090909,15.586363636363636,10.936363636363636,13.281818181818181,13.604545454545452,3.8818181818181836],std:[3.3631090204013643,2.931782865076046,2.9200605883727038,3.289049973803757,2.6349662061268395,2.6591750828428204,2.395703224398619],mean:[62.5,5.209090909090909,15.586363636363636,10.936363636363636,13.281818181818181,13.604545454545455,3.881818181818182]},{id:3,size:230,centroids:[8.6,15.330434782608698,6.943478260869563,6.408695652173913,5.578260869565216,18.26086956521739],std:[4.27370926113142,3.855014315301441,3.2487061290912984,3.5081098914433078,3.559587955581114,3.1761194803539676,3.596667444705349],mean:[61.12173913043478,8.6,15.330434782608696,6.943478260869565,6.408695652173913,5.578260869565217,18.26086956521739]},{id:4,size:261,centroids:[11.74712643678161,5.655172413793104,13.873563218390803,11.022988505747126,16.57088122605364,3.0038314176245224],std:[3.5878146263573103,2.8197860971981994,2.9890605143791737,2.9825309245974925,2.7497287061744258,2.8324620286123516,1.8428616632651005],mean:[61.87356321839081,11.74712643678161,5.655172413793103,13.873563218390805,11.022988505747126,16.57088122605364,3.003831417624521]},{id:5,size:249,centroids:[6.598393574297189,7.2289156626506035,7.674698795180722,6.831325301204822,5.995983935742974,7.425702811244981],std:[12.188382924990831,3.7780346472852226,3.7855581933977014,3.9659084518463055,3.2508780840166134,2.4288222155150856,3.23718036285365],mean:[41.75502008032129,6.598393574297189,7.228915662650603,7.674698795180723,6.831325301204819,5.995983935742972,7.42570281124498]},{id:6,size:241,centroids:[4.580912863070541,10.62655601659751,15.72199170124481,20.186721991701248,5.7634854771784205,4.8672199170124495],std:[4.0360666526825675,2.5776864620318327,2.726712032141287,2.7236414380869185,3.4135743182998106,3.164594939982558,2.8952195061747896],mean:[61.74688796680498,4.580912863070539,10.62655601659751,15.721991701244812,20.186721991701244,5.763485477178423,4.867219917012448]},{id:7,size:352,centroids:[4.96875,10.849431818181818,15.676136363636362,5.085227272727275,13.079545454545453,12.113636363636365],std:[3.864447558701623,2.876694966732471,2.825917840642513,2.8500410080793133,2.604753041986593,2.753797030174534,3.084495990290069],mean:[61.77272727272727,4.96875,10.849431818181818,15.676136363636363,5.0852272727272725,13.079545454545455,12.113636363636363]},{id:8,size:219,centroids:[21.401826484018265,4.529680365296804,4.954337899543379,14.022831050228312,7.168949771689496,6.8036529680365305],std:[7.654498360234386,3.856746305047457,3.0774088630224354,3.486239910130717,4.509361233853425,3.691515724130434,3.433882092856456],mean:[58.881278538812786,21.401826484018265,4.529680365296803,4.954337899543379,14.02283105022831,7.168949771689498,6.80365296803653]},{id:9,size:183,centroids:[4.448087431693989,22.114754098360656,4.868852459016392,7.459016393442623,11.240437158469945,9.765027322404372],std:[7.900837110469869,3.265921971202623,3.896032191192026,3.424902708986657,3.3556927380910535,3.7206143627650876,3.9564220813839577],mean:[59.89617486338798,4.448087431693989,22.114754098360656,4.868852459016393,7.459016393442623,11.240437158469945,9.765027322404372]},{id:10,size:197,centroids:[13.563451776649746,10.761421319796954,6.527918781725887,20.654822335025383,4.934010152284262,5.18274111675127],std:[4.239153654030002,3.3077343290831713,2.8924486501981233,2.9338771160608355,3.5098461495889413,3.192898794854312,2.920215710334156],mean:[61.6243654822335,13.563451776649746,10.761421319796954,6.527918781725888,20.65482233502538,4.934010152284264,5.182741116751269]},{id:11,size:176,centroids:[8.255681818181818,16.181818181818183,7.11931818181818,4.619318181818182,21.0625,5.505681818181819],std:[3.349621998445128,3.4620343467651815,3.3296776490755446,2.945693532873097,2.7583580190103967,3.126214049887545,3.078027492852078],mean:[62.74431818181818,8.255681818181818,16.181818181818183,7.119318181818182,4.619318181818182,21.0625,5.505681818181818]},{id:12,size:194,centroids:[3.5670103092783503,14.773195876288659,13.036082474226804,13.185567010309278,4.979381443298967,12.144329896907218],std:[3.89886364980042,2.255251632823776,2.5893570716174388,3.248552824613239,3.1004926799108317,2.8845824993776903,2.8864151735009584],mean:[61.68556701030928,3.5670103092783507,14.77319587628866,13.036082474226804,13.185567010309278,4.979381443298969,12.144329896907216]},{id:13,size:302,centroids:[5.311258278145695,4.4701986754966905,21.897350993377486,10.688741721854305,6.834437086092715,12.605960264900663],std:[5.1142628152416245,2.9920946350614983,2.6882491851253567,3.071581172564087,2.99431450280505,3.116626644660552,2.58548804104293],mean:[61.80794701986755,5.311258278145695,4.470198675496689,21.897350993377483,10.688741721854305,6.8344370860927155,12.605960264900663]},{id:14,size:364,centroids:[12.263736263736265,11.32967032967033,5.936813186813188,8.524725274725274,12.07142857142857,7.782967032967034],std:[6.666392881793753,2.8942239993391565,2.947866371540881,3.041289192757803,3.0876888182534996,2.4540644069260296,2.6803305558675676],mean:[57.90934065934066,12.263736263736265,11.32967032967033,5.936813186813187,8.524725274725276,12.071428571428571,7.782967032967033]},{id:15,size:219,centroids:[6.981735159817351,5.9908675799086755,18.127853881278536,4.97716894977169,5.182648401826483,20.89041095890411],std:[4.3335830659244685,3.5503759593138464,3.5270785628911785,4.123339305032141,2.7998081886699646,3.283747903424203,2.8311584355558064],mean:[62.15068493150685,6.981735159817352,5.9908675799086755,18.12785388127854,4.9771689497716896,5.1826484018264845,20.89041095890411]},{id:16,size:147,centroids:[6.285714285714285,20.836734693877553,4.8639455782312915,17.510204081632654,5.897959183673469,7.394557823129253],std:[3.358145469360083,3.4877476344546254,3.2245649941865486,3.0557367019327,4.0937094190209065,3.1136788219952605,3.842013283457479],mean:[62.7891156462585,6.285714285714286,20.836734693877553,4.863945578231292,17.510204081632654,5.8979591836734695,7.394557823129252]},{id:17,size:202,centroids:[18.425742574257423,6.871287128712871,6.678217821782177,5.06930693069307,20.40594059405941,5.876237623762377],std:[3.0226636827682554,3.292828132097339,3.518715749263091,3.4627255810748356,3.075363266145594,3.5804283293104753,3.315804113390658],mean:[63.32673267326733,18.425742574257427,6.871287128712871,6.678217821782178,5.069306930693069,20.405940594059405,5.876237623762377]},{id:18,size:286,centroids:[11.22027972027972,7.073426573426573,12.65034965034965,12.594405594405593,4.209790209790211,13.220279720279722],std:[4.720510224882134,2.8685361372318168,2.6005789112305338,3.052197922484291,2.451602446915686,2.7244266014541174,2.7638787756329526],mean:[60.96853146853147,11.22027972027972,7.073426573426573,12.65034965034965,12.594405594405595,4.20979020979021,13.22027972027972]},{id:19,size:197,centroids:[6.263959390862944,8.568527918781726,16.80710659898477,4.000000000000003,22.593908629441625,4.883248730964468],std:[2.7333118141791917,3.3626657547151964,3.4540163497542435,2.646397291854302,2.565469285152567,3.018237668617547,2.8287109641017594],mean:[63.11675126903553,6.2639593908629445,8.568527918781726,16.80710659898477,4,22.593908629441625,4.883248730964467]},{id:20,size:279,centroids:[18.025089605734767,6.150537634408602,6.161290322580646,5.767025089605736,7.999999999999998,15.602150537634408],std:[6.590788110639117,3.6436721401086296,3.165505073725202,3.13700467469825,2.7769973891540207,3.4672154149710614,4.017425492621824],mean:[59.70609318996416,18.025089605734767,6.150537634408602,6.161290322580645,5.767025089605735,8,15.602150537634408]},{id:21,size:78,centroids:[15.96153846153846,16.85897435897436,16.807692307692307,3552713678800501e-30,5329070518200751e-30,-5329070518200751e-30],std:[2.095815090231219,7.438828122504502,7.482836393563639,8.12413063050432,0,0,0],mean:[49.62820512820513,15.961538461538462,16.858974358974358,16.807692307692307,0,0,0]},{id:22,size:137,centroids:[4.525547445255475,3.583941605839417,23.532846715328468,19.948905109489054,4.3576642335766405,6.248175182481752],std:[2.9351806639916567,2.7575572416084317,2.2707939003224227,2.908029186302962,3.3306093063017315,2.6644092885703916,3.4848010785869454],mean:[62.197080291970806,4.525547445255475,3.5839416058394162,23.532846715328468,19.94890510948905,4.357664233576642,6.248175182481752]},{id:23,size:194,centroids:[13.242268041237114,3.5103092783505163,14.675257731958762,19.55154639175258,6.139175257731957,5.092783505154641],std:[3.810494814771566,2.886105181640385,2.0818477512276696,2.6197152448917316,3.409818599464837,3.0311357231629183,2.9733966349516936],mean:[62.21134020618557,13.242268041237113,3.5103092783505154,14.675257731958762,19.551546391752577,6.139175257731959,5.092783505154639]},{id:24,size:239,centroids:[5.569037656903766,5.401673640167365,20.92468619246862,13.09205020920502,13.497907949790793,4.096234309623432],std:[3.8502204432228733,3.071015816571908,3.081143061480697,2.79904271710946,2.169280265760518,2.62802363192924,2.3450167178621983],mean:[62.58158995815899,5.569037656903766,5.401673640167364,20.92468619246862,13.092050209205022,13.497907949790795,4.096234309623431]}];let Mc=(()=>{class n{constructor(e,o,a){this.db=e,this._snackBar=o,this.inventory=a,this.clusterInformation=xe,this.items=[],this.clusters=[],this.exoticFilter=0,this.masterworkFilter=0,this.classFilter=-1,this.clusterInformation=xe.sort((s,l)=>l.mean[3]-s.mean[3])}ngAfterViewInit(){var e=this;return(0,m.Z)(function*(){e.inventory.inventory.pipe((0,st.b)(200)).subscribe((0,m.Z)(function*(){yield e.Update(),e.openSnackBar("Clusters were updated.")}))})()}Update(){var e=this;return(0,m.Z)(function*(){var o=(yield e.db.inventoryArmor.toArray()).filter(l=>l.source===E.Inventory),a=[];for(let l=0;l`id:'${o.itemInstanceId}'`).join(" or ")}vectorDistance(e,o){return Math.sqrt(e.reduce((a,s,l)=>a+Math.pow(s-o[l],2),0))}getClusterid(e){var o=Number.MAX_VALUE,a=-1;for(let l=0;l0)}}function Uc(n,i){if(1&n&&(t.TgZ(0,"div",9,5),t._UZ(2,"img",10),t.TgZ(3,"span",11),t._uU(4),t.qZA()()),2&n){const e=t.oxw().ngVar,o=t.oxw().$implicit,a=t.oxw().$implicit,s=t.oxw();t.Q6J("matTooltip",s.getStatName(a)),t.xp6(2),t.ekj("minor",1===o),t.Q6J("src",s.ModUrl[o+3*a],t.LSH),t.xp6(1),t.ekj("minor",1===o),t.xp6(1),t.hij("\xd7",e,"")}}function Pc(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Uc,5,7,"div",8),t.BQk()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function Rc(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Pc,2,1,"ng-container",1),t.ALo(2,"count"),t.BQk()),2&n){const e=i.$implicit,o=t.oxw().$implicit,a=t.oxw();t.xp6(1),t.Q6J("ngVar",t.xi3(2,1,a.mods,e+3*o))}}function Nc(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Rc,3,4,"ng-container",2),t.BQk()),2&n){const e=t.oxw();t.xp6(1),t.Q6J("ngForOf",e.modTypeIndex)}}const qc={[r.iV.MINOR_MOBILITY]:"https://www.bungie.net/common/destiny2_content/icons/a6694a4ff65d371d19330fb10415b315.png",[r.iV.MAJOR_MOBILITY]:"https://www.bungie.net/common/destiny2_content/icons/8861e73c6701b8347cef025d400cd3dc.png",[r.iV.ARTIFICE_MOBILITY]:"https://www.bungie.net/common/destiny2_content/icons/a6694a4ff65d371d19330fb10415b315.png",[r.iV.MINOR_RESILIENCE]:"https://www.bungie.net/common/destiny2_content/icons/ab1ffe5128806c3639e531f89a2d72d1.png",[r.iV.MAJOR_RESILIENCE]:"https://www.bungie.net/common/destiny2_content/icons/b2228e67e72fad2eb37735a33e0d0116.png",[r.iV.ARTIFICE_RESILIENCE]:"https://www.bungie.net/common/destiny2_content/icons/ab1ffe5128806c3639e531f89a2d72d1.png",[r.iV.MINOR_RECOVERY]:"https://www.bungie.net/common/destiny2_content/icons/e0fc8c022c2ab49ef92caff5843db7da.png",[r.iV.MAJOR_RECOVERY]:"https://www.bungie.net/common/destiny2_content/icons/4251f77e3b24900e262f16d5587980ef.png",[r.iV.ARTIFICE_RECOVERY]:"https://www.bungie.net/common/destiny2_content/icons/e0fc8c022c2ab49ef92caff5843db7da.png",[r.iV.MINOR_DISCIPLINE]:"https://www.bungie.net/common/destiny2_content/icons/f841f379751b7672fca0e5f231e92638.png",[r.iV.MAJOR_DISCIPLINE]:"https://www.bungie.net/common/destiny2_content/icons/3a5a2d6ee50b2611ebc4d4806d29301a.png",[r.iV.ARTIFICE_DISCIPLINE]:"https://www.bungie.net/common/destiny2_content/icons/f841f379751b7672fca0e5f231e92638.png",[r.iV.MINOR_INTELLECT]:"https://www.bungie.net/common/destiny2_content/icons/f26479a3462676d613f135657ecad45a.png",[r.iV.MAJOR_INTELLECT]:"https://www.bungie.net/common/destiny2_content/icons/98408051297c26cb033cb761ab955fac.png",[r.iV.ARTIFICE_INTELLECT]:"https://www.bungie.net/common/destiny2_content/icons/f26479a3462676d613f135657ecad45a.png",[r.iV.MINOR_STRENGTH]:"https://www.bungie.net/common/destiny2_content/icons/dbd1615501778b66bca2764b9a561044.png",[r.iV.MAJOR_STRENGTH]:"https://www.bungie.net/common/destiny2_content/icons/7b64c0b8014a57c6c297babb18c2239e.png",[r.iV.ARTIFICE_STRENGTH]:"https://www.bungie.net/common/destiny2_content/icons/dbd1615501778b66bca2764b9a561044.png"};let Jc=(()=>{class n{constructor(){this.artificeUrl=r.X9[r.Pn.SlotArtifice],this.modIndex=[0,1,2,3,4,5],this.modTypeIndex=[1,2],this.ModUrl=qc,this.mods=[],this.artifice=[]}getStatName(e){return r.Mi[e]}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-table-mod-display"]],inputs:{mods:"mods",artifice:"artifice"},decls:4,vars:4,consts:[[1,"row-mod"],[4,"ngVar"],[4,"ngFor","ngForOf"],["class","container","matTooltip","Artifice",4,"ngIf"],["matTooltip","Artifice",1,"container"],["tooltip","matTooltip"],[1,"artificeIcon","artifice",3,"src"],[1,"modText","artifice"],["class","container",3,"matTooltip",4,"ngIf"],[1,"container",3,"matTooltip"],[1,"modIcon",3,"src"],[1,"modText"]],template:function(e,o){1&e&&(t.TgZ(0,"div",0),t.YNc(1,Ec,2,1,"ng-container",1),t.ALo(2,"count"),t.YNc(3,Nc,2,1,"ng-container",2),t.qZA()),2&e&&(t.xp6(1),t.Q6J("ngVar",t.lcZ(2,2,o.artifice)),t.xp6(2),t.Q6J("ngForOf",o.modIndex))},dependencies:[T.sg,T.O5,N.gM,Ct,ue],styles:[".container[_ngcontent-%COMP%]{display:inline-block;width:32px;height:30px;position:relative}.modIcon[_ngcontent-%COMP%]{position:absolute;top:-12px;left:-12px;width:50px;height:50px;filter:contrast(2.3);border:#00000000 solid 2px;-webkit-mask-image:url(modmask.f03dde91561a62d6.svg);mask-image:image(url(modmask.f03dde91561a62d6.svg),black)}.modIcon.minor[_ngcontent-%COMP%]{filter:contrast(1.3)}.artificeIcon[_ngcontent-%COMP%]{height:28px;width:28px;filter:saturate(40) hue-rotate(40deg)}.selected[_ngcontent-%COMP%]{border:red solid 2px}[_nghost-%COMP%]{position:relative}.modText[_ngcontent-%COMP%]{position:absolute;text-shadow:0 0 6px #000000;font-size:smaller;color:#f5f5f5;bottom:-6px;right:-1px}"]}),n})();var Yc=_(7314);function Lc(n,i){if(1&n&&t._UZ(0,"div"),2&n){const e=i.$implicit,o=i.index,a=t.oxw().index;t.Jzz("width:",e/32*100,"%"),t.Gre("stat-range-bar stat-range-bar",o+(a>=3?3:0),"")}}const ye=function(){return["Mobility","Resilience","Recovery","Discipline","Intellect","Strength"]};function Fc(n,i){if(1&n&&(t.ynx(0),t.TgZ(1,"tr",16)(2,"td"),t._uU(3),t.qZA(),t.TgZ(4,"td"),t._uU(5),t.ALo(6,"number"),t.qZA(),t.TgZ(7,"td",17)(8,"div",18),t.YNc(9,Lc,1,6,"div",19),t.qZA()()(),t.BQk()),2&n){const e=i.$implicit,o=i.index,a=t.oxw().$implicit;t.xp6(1),t.Q6J("matTooltip",t.DdM(7,ye)[o]),t.xp6(2),t.hij(" ",t.DdM(8,ye)[o]," "),t.xp6(2),t.Oqu(t.xi3(6,4,a.totalStats[o],"1.0-0")),t.xp6(4),t.Q6J("ngForOf",e)}}function Qc(n,i){if(1&n&&(t.TgZ(0,"tr")(1,"td")(2,"a",20),t._UZ(3,"img",15),t.qZA(),t._uU(4),t.qZA(),t.TgZ(5,"td",21),t._uU(6),t.qZA(),t.TgZ(7,"td"),t._uU(8),t.qZA()()),2&n){const e=i.$implicit,o=t.oxw(3);t.xp6(2),t.MGl("href","https://data.destinysets.com/i/InventoryItem:",e,"",t.LSH),t.xp6(2),t.hij(" ",e,""),t.xp6(2),t.Oqu(o.getPlugSum(e)),t.xp6(2),t.Oqu(o.getPlugString(e))}}const Bc=function(n,i,e,o,a,s){return[n,i,e,o,a,s]};function Vc(n,i){if(1&n&&(t.ynx(0),t.TgZ(1,"mat-card",12)(2,"mat-card-title"),t._uU(3),t.qZA(),t.TgZ(4,"mat-card-content")(5,"table")(6,"tr")(7,"td",13),t._uU(8,"Hash:"),t.qZA(),t.TgZ(9,"td")(10,"a",14),t._UZ(11,"img",15),t.qZA(),t._uU(12),t.qZA()(),t.TgZ(13,"tr")(14,"td",13),t._uU(15,"ItemInstanceId:"),t.qZA(),t.TgZ(16,"td"),t._uU(17),t.qZA()(),t.TgZ(18,"tr")(19,"td",13),t._uU(20,"Sunset?"),t.qZA(),t.TgZ(21,"td"),t._uU(22),t.qZA()(),t.TgZ(23,"tr")(24,"td"),t._uU(25,"Total"),t.qZA(),t.TgZ(26,"td"),t._uU(27),t.qZA()(),t.YNc(28,Fc,10,9,"ng-container",10),t.qZA()(),t.TgZ(29,"mat-card-content"),t._uU(30," Plugs: "),t.TgZ(31,"table")(32,"tr")(33,"td"),t._uU(34,"Plug"),t.qZA(),t.TgZ(35,"td"),t._uU(36,"Total"),t.qZA(),t.TgZ(37,"td"),t._uU(38,"Values"),t.qZA()(),t.YNc(39,Qc,9,4,"tr",10),t.qZA()()(),t.BQk()),2&n){const e=i.$implicit;t.xp6(3),t.hij(" ",e.name," "),t.xp6(7),t.MGl("href","https://data.destinysets.com/i/InventoryItem:",e.hash,"",t.LSH),t.xp6(2),t.hij(" ",e.hash,""),t.xp6(5),t.Oqu(e.itemInstanceId),t.xp6(5),t.Oqu(e.isSunset),t.xp6(5),t.Oqu(e.totalSum),t.xp6(1),t.Q6J("ngForOf",t.HTZ(8,Bc,e.mobility,e.resilience,e.recovery,e.discipline,e.intellect,e.strength)),t.xp6(11),t.Q6J("ngForOf",e.statPlugHashes)}}function Hc(n,i){if(1&n&&(t.ynx(0),t.TgZ(1,"mat-toolbar"),t._uU(2),t.qZA(),t._UZ(3,"br"),t.TgZ(4,"div",11),t.YNc(5,Vc,40,15,"ng-container",10),t.qZA(),t.BQk()),2&n){const e=i.$implicit,o=t.oxw();t.xp6(2),t.hij(" ",o.getCategoryName(e.key)," "),t.xp6(3),t.Q6J("ngForOf",e.value)}}let Wc=(()=>{class n{constructor(e,o){this.inventory=e,this.db=o,this.minMobility=0,this.minResilience=0,this.minRecovery=0,this.minDiscipline=0,this.minIntellect=0,this.minStrength=0,this.anyPlugWithN=0,this.anyPlugBelowN=17,this.allPlugsWithN=0,this.allPlugsBelowN=17,this.armorName="",this.armorHash="",this.armorId="",this.armorItemsPerSlot=new Map,this.plugData={},this.ngUnsubscribe=new nt.xQ}ngOnInit(){var e=this;this.inventory.inventory.pipe((0,st.b)(10),(0,Q.R)(this.ngUnsubscribe)).subscribe((0,m.Z)(function*(){e.updateItems()}))}getPlugString(e){var o=this.plugData[e];let a=[0,0,0,0,0,0];for(let s of o.investmentStats)switch(s.statTypeHash){case 2996146975:a[0]+=s.value;break;case 392767087:a[1]+=s.value;break;case 1943323491:a[2]+=s.value;break;case 1735777505:a[3]+=s.value;break;case 144602215:a[4]+=s.value;break;case 4244567218:a[5]+=s.value}return"["+a.join(" ")+"]"}updateItems(){var e=this;return(0,m.Z)(function*(){const a=(yield e.db.manifestArmor.toArray()).filter(d=>19==d.itemType);let s=Object.fromEntries(a.map(d=>[d.hash,d]));e.plugData=s;let l=(yield e.db.inventoryArmor.toArray()).filter(d=>d.source===E.Inventory).sort((d,u)=>(""+d.name).localeCompare(u.name)).map(d=>{var u={name:d.name,hash:d.hash,isSunset:d.isSunset,itemInstanceId:d.itemInstanceId,statPlugHashes:d.statPlugHashes,mobility:[],resilience:[],recovery:[],discipline:[],intellect:[],strength:[],totalStats:[0,0,0,0,0,0],totalSum:0,slot:d.slot};if(d.statPlugHashes)for(let p of d.statPlugHashes){var x=s[p];for(let b of x.investmentStats)switch(b.statTypeHash){case 2996146975:u.mobility.push(b.value),u.totalStats[0]+=b.value;break;case 392767087:u.resilience.push(b.value),u.totalStats[1]+=b.value;break;case 1943323491:u.recovery.push(b.value),u.totalStats[2]+=b.value;break;case 1735777505:u.discipline.push(b.value),u.totalStats[3]+=b.value;break;case 144602215:u.intellect.push(b.value),u.totalStats[4]+=b.value;break;case 4244567218:u.strength.push(b.value),u.totalStats[5]+=b.value}}if(d.investmentStats)for(let p of d.investmentStats)switch(p.statTypeHash){case 2996146975:u.mobility.push(p.value),u.totalStats[0]+=p.value;break;case 392767087:u.resilience.push(p.value),u.totalStats[1]+=p.value;break;case 1943323491:u.recovery.push(p.value),u.totalStats[2]+=p.value;break;case 1735777505:u.discipline.push(p.value),u.totalStats[3]+=p.value;break;case 144602215:u.intellect.push(p.value),u.totalStats[4]+=p.value;break;case 4244567218:u.strength.push(p.value),u.totalStats[5]+=p.value}for(let p of u.totalStats)u.totalSum+=p;return u});l=e.filterItems(l),e.armorItemsPerSlot=l.reduce((d,u)=>{const x=u.slot?u.slot:10;return d.has(x)||d.set(x,[]),d.get(x)?.push(u),d},new Map)})()}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}getCategoryName(e){switch(e){case 1:return"Helmets";case 2:return"Gauntlets";case 3:return"Chest Pieces";case 4:return"Legs";case 5:return"Class Items"}return"Unknown Category"}getPlugSum(e){var o=this.plugData[e],a=0;for(let s of o.investmentStats)switch(s.statTypeHash){case 2996146975:case 392767087:case 1943323491:case 1735777505:case 144602215:case 4244567218:a+=s.value}return a}clear(){this.armorName="",this.armorHash="",this.armorId="",this.minMobility=0,this.minResilience=0,this.minRecovery=0,this.minDiscipline=0,this.minIntellect=0,this.minStrength=0,this.anyPlugWithN=0,this.anyPlugBelowN=17}filterItems(e){return this.armorName&&(e=e.filter(o=>o.name.toLowerCase().indexOf(this.armorName)>-1)),this.armorHash&&(e=e.filter(o=>(o.hash||0).toString().indexOf(this.armorHash)>-1)),this.armorId&&(e=e.filter(o=>(o.itemInstanceId||0).toString().indexOf(this.armorId)>-1)),e=(e=(e=(e=(e=(e=e.filter(o=>o.totalStats[0]>=(this.minMobility||0))).filter(o=>o.totalStats[1]>=(this.minResilience||0))).filter(o=>o.totalStats[2]>=(this.minRecovery||0))).filter(o=>o.totalStats[3]>=(this.minDiscipline||0))).filter(o=>o.totalStats[4]>=(this.minIntellect||0))).filter(o=>o.totalStats[5]>=(this.minStrength||0)),(this.anyPlugWithN??0)>0&&(e=e.filter(o=>(o.statPlugHashes||[]).filter(a=>this.getPlugSum(a)>=(this.anyPlugWithN||0)).length>0)),(this.anyPlugBelowN??0)<17&&(e=e.filter(o=>(o.statPlugHashes||[]).filter(a=>this.getPlugSum(a)<=(this.anyPlugBelowN||0)).length>0)),(this.allPlugsWithN??0)>0&&(e=e.filter(o=>0==(o.statPlugHashes||[]).filter(a=>this.getPlugSum(a)<(this.allPlugsWithN||0)).length)),(this.allPlugsBelowN??0)<17&&(e=e.filter(o=>0==(o.statPlugHashes||[]).filter(a=>this.getPlugSum(a)>(this.allPlugsBelowN||0)).length)),e}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(K),t.Y36(et))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-armor-investigation-page"]],decls:112,vars:26,consts:[["id","description"],["href","https://www.reddit.com/r/DestinyTheGame/comments/mpaopq/how_armor_stats_roll_an_advanced_insight_into/","target","_blank"],["colspan","3"],["appearance","outline"],["matInput","","placeholder","Stronghold",3,"ngModel","ngModelChange"],["matInput","",3,"ngModel","ngModelChange"],["max","32","min","0","step","1","thumbLabel","","tickInterval","1",3,"value","valueChange"],["max","17","min","0","step","1","thumbLabel","","tickInterval","1",3,"value","valueChange"],["mat-raised-button","","color","primary",3,"click"],["mat-raised-button","","color","warn",3,"click"],[4,"ngFor","ngForOf"],["fxLayout","row","fxLayout.xs","column","fxLayoutGap","10px",1,"armor-container"],[1,"cluster-item"],["colspan","2"],["alt","This armor on data.destinysets.com","target","_blank",3,"href"],["src","https://data.destinysets.com/static/media/logo.556bd7bd.svg",2,"width","15px"],[3,"matTooltip"],["width","100%"],[1,"stat-range"],[3,"class","style",4,"ngFor","ngForOf"],["alt","This plug on data.destinysets.com","target","_blank",3,"href"],[1,"plug-sum-col"]],template:function(e,o){1&e&&(t.TgZ(0,"mat-card",0)(1,"mat-card-title"),t._uU(2," Armor Investigation "),t.qZA(),t.TgZ(3,"mat-card-subtitle"),t._uU(4," A visualization tool for data scientists. "),t.qZA(),t.TgZ(5,"mat-card-content"),t._uU(6," This part of the D2ArmorPicker lists all of your armor items. For each armor it shows how it is generated. It shows every used "),t.TgZ(7,"i"),t._uU(8,'"plug"'),t.qZA(),t._uU(9,", as well as the intrinsic stats of exotics. For more information about plugs, see "),t.TgZ(10,"a",1),t._uU(11,"here"),t.qZA(),t._uU(12,". Make sure to give the author an upvote for the hard work! "),t._UZ(13,"br")(14,"br"),t._uU(15," Please note that this feature is mainly targeted for data nerds and people interested in the basic stats of armor. It is just a data visualization. Mobile layout and a search function "),t.TgZ(16,"i"),t._uU(17,"may"),t.qZA(),t._uU(18," happen in the future. "),t.qZA(),t.TgZ(19,"mat-card-title"),t._uU(20," Filters "),t.qZA(),t.TgZ(21,"mat-card-subtitle"),t._uU(22," Some filters. Nothing fancy but it works. Sorry ;) "),t.qZA(),t.TgZ(23,"mat-card-content")(24,"table")(25,"tr")(26,"td",2)(27,"mat-form-field",3)(28,"mat-label"),t._uU(29,"Item Name"),t.qZA(),t.TgZ(30,"input",4),t.NdJ("ngModelChange",function(s){return o.armorName=s}),t.qZA()()(),t.TgZ(31,"td",2)(32,"mat-form-field",3)(33,"mat-label"),t._uU(34,"Item Hash"),t.qZA(),t.TgZ(35,"input",5),t.NdJ("ngModelChange",function(s){return o.armorHash=s}),t.qZA()()(),t.TgZ(36,"td",2)(37,"mat-form-field",3)(38,"mat-label"),t._uU(39,"Item ID"),t.qZA(),t.TgZ(40,"input",5),t.NdJ("ngModelChange",function(s){return o.armorId=s}),t.qZA()()()(),t.TgZ(41,"tr")(42,"td"),t._uU(43," Mobility: "),t.qZA(),t.TgZ(44,"td"),t._uU(45),t.qZA(),t.TgZ(46,"td")(47,"mat-slider",6),t.NdJ("valueChange",function(s){return o.minMobility=s}),t.qZA()(),t.TgZ(48,"td"),t._uU(49," Resilience: "),t.qZA(),t.TgZ(50,"td"),t._uU(51),t.qZA(),t.TgZ(52,"td")(53,"mat-slider",6),t.NdJ("valueChange",function(s){return o.minResilience=s}),t.qZA()(),t.TgZ(54,"td"),t._uU(55," Recovery: "),t.qZA(),t.TgZ(56,"td"),t._uU(57),t.qZA(),t.TgZ(58,"td")(59,"mat-slider",6),t.NdJ("valueChange",function(s){return o.minRecovery=s}),t.qZA()()(),t.TgZ(60,"tr")(61,"td"),t._uU(62," Discipline: "),t.qZA(),t.TgZ(63,"td"),t._uU(64),t.qZA(),t.TgZ(65,"td")(66,"mat-slider",6),t.NdJ("valueChange",function(s){return o.minDiscipline=s}),t.qZA()(),t.TgZ(67,"td"),t._uU(68," Intellect: "),t.qZA(),t.TgZ(69,"td"),t._uU(70),t.qZA(),t.TgZ(71,"td")(72,"mat-slider",6),t.NdJ("valueChange",function(s){return o.minIntellect=s}),t.qZA()(),t.TgZ(73,"td"),t._uU(74," Strength: "),t.qZA(),t.TgZ(75,"td"),t._uU(76),t.qZA(),t.TgZ(77,"td")(78,"mat-slider",6),t.NdJ("valueChange",function(s){return o.minStrength=s}),t.qZA()()(),t.TgZ(79,"tr")(80,"td"),t._uU(81," Any plug >=: "),t.qZA(),t.TgZ(82,"td"),t._uU(83),t.qZA(),t.TgZ(84,"td")(85,"mat-slider",7),t.NdJ("valueChange",function(s){return o.anyPlugWithN=s}),t.qZA()(),t.TgZ(86,"td"),t._uU(87," Any Plug <=: "),t.qZA(),t.TgZ(88,"td"),t._uU(89),t.qZA(),t.TgZ(90,"td")(91,"mat-slider",7),t.NdJ("valueChange",function(s){return o.anyPlugBelowN=s}),t.qZA()()(),t.TgZ(92,"tr")(93,"td"),t._uU(94," All plugs >=: "),t.qZA(),t.TgZ(95,"td"),t._uU(96),t.qZA(),t.TgZ(97,"td")(98,"mat-slider",7),t.NdJ("valueChange",function(s){return o.allPlugsWithN=s}),t.qZA()(),t.TgZ(99,"td"),t._uU(100," All Plugs <=: "),t.qZA(),t.TgZ(101,"td"),t._uU(102),t.qZA(),t.TgZ(103,"td")(104,"mat-slider",7),t.NdJ("valueChange",function(s){return o.allPlugsBelowN=s}),t.qZA()()()(),t.TgZ(105,"a",8),t.NdJ("click",function(){return o.updateItems()}),t._uU(106,"Update"),t.qZA(),t._uU(107,"\xa0 "),t.TgZ(108,"a",9),t.NdJ("click",function(){return o.clear()}),t._uU(109,"Clear"),t.qZA()()(),t.YNc(110,Hc,6,2,"ng-container",10),t.ALo(111,"keyvalue")),2&e&&(t.xp6(30),t.Q6J("ngModel",o.armorName),t.xp6(5),t.Q6J("ngModel",o.armorHash),t.xp6(5),t.Q6J("ngModel",o.armorId),t.xp6(5),t.hij(" ",o.minMobility,""),t.xp6(2),t.Q6J("value",o.minMobility),t.xp6(4),t.hij(" ",o.minResilience,""),t.xp6(2),t.Q6J("value",o.minResilience),t.xp6(4),t.hij(" ",o.minRecovery,""),t.xp6(2),t.Q6J("value",o.minRecovery),t.xp6(5),t.hij(" ",o.minDiscipline,""),t.xp6(2),t.Q6J("value",o.minDiscipline),t.xp6(4),t.hij(" ",o.minIntellect,""),t.xp6(2),t.Q6J("value",o.minIntellect),t.xp6(4),t.Oqu(o.minStrength),t.xp6(2),t.Q6J("value",o.minStrength),t.xp6(5),t.Oqu(o.anyPlugWithN),t.xp6(2),t.Q6J("value",o.anyPlugWithN),t.xp6(4),t.Oqu(o.anyPlugBelowN),t.xp6(2),t.Q6J("value",o.anyPlugBelowN),t.xp6(5),t.Oqu(o.allPlugsWithN),t.xp6(2),t.Q6J("value",o.allPlugsWithN),t.xp6(4),t.Oqu(o.allPlugsBelowN),t.xp6(2),t.Q6J("value",o.allPlugsBelowN),t.xp6(6),t.Q6J("ngForOf",t.lcZ(111,24,o.armorItemsPerSlot)))},dependencies:[T.sg,Y.xw,Y.SQ,V.Fj,V.JJ,V.On,g.zs,lt.KE,lt.hX,Yc.pH,Jt.Nt,A.a8,A.dn,A.n5,A.$j,N.gM,W.Ye,T.JJ,T.Nd],styles:["#description[_ngcontent-%COMP%], #filter[_ngcontent-%COMP%]{max-width:700px;margin-bottom:10px;margin-left:auto;margin-right:auto}.cluster-item[_ngcontent-%COMP%]{flex-grow:1;flex-basis:0;min-width:250px;max-width:350px;margin-bottom:10px}.armor-container[_ngcontent-%COMP%], .plug-sum-col[_ngcontent-%COMP%]{padding-left:5px}.armor-container[_ngcontent-%COMP%]{flex-wrap:wrap}.stat-range[_ngcontent-%COMP%]{height:20px;width:100%;margin-bottom:3px;float:left;background-color:gray}.stat-range-bar[_ngcontent-%COMP%]{height:100%;float:left;background-color:#fff}.stat-range-bar0[_ngcontent-%COMP%]{background-color:#acfff1}.stat-range-bar1[_ngcontent-%COMP%]{background-color:#5e9eff}.stat-range-bar3[_ngcontent-%COMP%]{background-color:#ffc2ac}.stat-range-bar4[_ngcontent-%COMP%]{background-color:#ffb45e}.stat-range-bar2[_ngcontent-%COMP%], .stat-range-bar5[_ngcontent-%COMP%]{background-color:#c246ff}a[_ngcontent-%COMP%]{color:#99afe3}a[_ngcontent-%COMP%]:visited{color:#7294dc}"]}),n})(),jc=(()=>{class n{constructor(e,o,a){this.db=e,this.inv=o,this.loginService=a}downloadArmorInformation(){var e=this;return(0,m.Z)(function*(){const o=yield e.db.inventoryArmor.toArray(),a=window.URL.createObjectURL(new Blob([JSON.stringify(o,null,2)])),s=document.createElement("a");s.href=a,s.setAttribute("download","d2ap_armor.json"),document.body.appendChild(s),s.click()})()}downloadManifestInformation(){var e=this;return(0,m.Z)(function*(){const o=yield e.db.manifestArmor.toArray(),a=window.URL.createObjectURL(new Blob([JSON.stringify(o,null,1)])),s=document.createElement("a");s.href=a,s.setAttribute("download","d2ap_manifest.json"),document.body.appendChild(s),s.click()})()}resetDatabase(){var e=this;return(0,m.Z)(function*(){yield e.db.resetDatabase(),yield e.inv.refreshAll(!0,!0)})()}resetEverything(){var e=this;return(0,m.Z)(function*(){localStorage.clear(),yield e.db.resetDatabase(),yield e.loginService.logout()})()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(et),t.Y36(K),t.Y36(L))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-account-config-page"]],decls:35,vars:0,consts:[["id","account-config-container"],["color","primary","fxShow","false","fxShow.lt-md","true","mat-raised-button","","routerLink","/",1,"returnbutton"],["color","primary","mat-raised-button","",1,"btn-download",3,"click"],["color","warn","mat-raised-button","",1,"btn-download",3,"click"]],template:function(e,o){1&e&&(t.TgZ(0,"div",0)(1,"a",1),t._uU(2," Return to D2ArmorPicker "),t.qZA(),t.TgZ(3,"mat-card")(4,"mat-card-title"),t._uU(5," Account Configuration "),t.qZA(),t.TgZ(6,"mat-card-subtitle"),t._uU(7," The configuration on this page will not be reset when you reset your build settings. "),t.qZA(),t.TgZ(8,"mat-card-content"),t._uU(9,' This will come in a future update. Right now, I just wanted to push the "Debugging" section out. '),t.qZA()(),t.TgZ(10,"mat-card")(11,"mat-card-title"),t._uU(12," Debugging "),t.qZA(),t.TgZ(13,"mat-card-subtitle"),t._uU(14," Some options for debugging purposes. "),t.qZA(),t.TgZ(15,"mat-card-content"),t._uU(16," If the team asks you to send some specific data, you can find it here:"),t._UZ(17,"br"),t.TgZ(18,"a",2),t.NdJ("click",function(){return o.downloadArmorInformation()}),t._uU(19," Download armor information (d2ap_armor.json) "),t.qZA(),t.TgZ(20,"a",2),t.NdJ("click",function(){return o.downloadManifestInformation()}),t._uU(21," Download manifest information (d2ap_manifest.json) "),t.qZA(),t._UZ(22,"br")(23,"br"),t._uU(24," If you experience issues with the local database - for example, exotics not being found, try this:"),t._UZ(25,"br"),t.TgZ(26,"a",3),t.NdJ("click",function(){return o.resetDatabase()}),t._uU(27," Delete Database "),t.qZA(),t._UZ(28,"br"),t._uU(29," If you really want to reset EVERYTHING, use this: "),t._UZ(30,"br"),t.TgZ(31,"a",3),t.NdJ("click",function(){return o.resetEverything()}),t._uU(32," Reset the whole application "),t.qZA()()(),t.TgZ(33,"a",1),t._uU(34," Return to D2ArmorPicker "),t.qZA()())},dependencies:[H.b8,g.zs,A.a8,A.dn,A.n5,A.$j,I.yS],styles:[".returnbutton[_ngcontent-%COMP%]{margin-top:5px;margin-bottom:15px;width:100%}#account-config-container[_ngcontent-%COMP%]{max-width:800px;margin-left:auto;margin-right:auto}mat-card[_ngcontent-%COMP%]{margin-bottom:8px}.btn-download[_ngcontent-%COMP%]{margin-right:10px}"]}),n})();var zc=_(4661),Te=_(7331);const Gc=[{path:"",component:Ve,canActivate:[kt],children:[{path:"",component:Zc},{path:"help",component:ms},{path:"cluster",component:Mc},{path:"investigate",component:Wc},{path:"theory",loadChildren:()=>_.e(613).then(_.bind(_,8613)).then(n=>n.TheorizerPageModule)},{path:"account",component:jc}]},{path:"login",component:St,canActivate:[Ot]},{path:"login-bungie",component:_t},{path:"**",redirectTo:"/"}];let Kc=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=t.oAB({type:n,bootstrap:[xt]}),n.\u0275inj=t.cJS({imports:[T.ez,zc.V,v.b2,It.PW,at.JF,I.Bz.forRoot(Gc,{useHash:!0}),wt.Iq,mt.xu]}),n})();t.B6R(me,function(){return[T.sg,T.O5,Y.xw,Y.SQ,Y.Wh,Y.yH,g.lW,lt.KE,lt.hX,lt.R9,Jt.Nt,w.BZ,w.fO,w.as,w.w1,w.Dz,w.nj,w.ge,w.ev,w.XQ,w.Gk,A.a8,A.dn,A.n5,A.$j,A.hq,N.gM,j.Hw,Bt.YE,Bt.nU,ce.NW,Te.qn,Te.HS,ns,Jc]},function(){return[T.JJ]}),t.B6R(re,function(){return[g.lW,$.ZT,$.uh,$.xY,$.H8,ge]},[]),(0,t.G48)(),v.q6().bootstrapModule(Kc).catch(n=>console.error(n))},2361:()=>{},4616:()=>{}},ot=>{ot.O(0,[736],()=>ot(ot.s=7789)),ot.O()}]); \ No newline at end of file diff --git a/main.99e2f8ac194c273f.js b/main.99e2f8ac194c273f.js deleted file mode 100644 index 8cef01a7..00000000 --- a/main.99e2f8ac194c273f.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkD2ArmorPicker=self.webpackChunkD2ArmorPicker||[]).push([[179],{4682:(ot,z,_)=>{"use strict";_.d(z,{F:()=>S});var v=_(5861),t=_(7975);function S(H){const W=new t.ZP("d2armorpicker-v2");return W.version(24).stores({manifestArmor:"id++, hash, isExotic",inventoryArmor:"id++, itemInstanceId, isExotic, hash, name, masterworked, clazz, slot, source",manifestCollectibles:"id++, hash",vendorNames:"id++, vendorId"}).upgrade(function(){var I=(0,v.Z)(function*(m){yield H()});return function(m){return I.apply(this,arguments)}}()),W}},6471:(ot,z,_)=>{"use strict";_.d(z,{y:()=>v});var v=(()=>{return(t=v||(v={}))[t.ArmorSlotNone=0]="ArmorSlotNone",t[t.ArmorSlotHelmet=1]="ArmorSlotHelmet",t[t.ArmorSlotGauntlet=2]="ArmorSlotGauntlet",t[t.ArmorSlotChest=3]="ArmorSlotChest",t[t.ArmorSlotLegs=4]="ArmorSlotLegs",t[t.ArmorSlotClass=5]="ArmorSlotClass",v;var t})()},1043:(ot,z,_)=>{"use strict";_.d(z,{AR:()=>I,DH:()=>L,ID:()=>_t,K9:()=>S,Mi:()=>H,Pn:()=>m,Sy:()=>Y,WB:()=>t,X9:()=>at,cM:()=>ct,iV:()=>v,lp:()=>W,vr:()=>xt});var v=(()=>{return(g=v||(v={}))[g.NONE=0]="NONE",g[g.MINOR_MOBILITY=1]="MINOR_MOBILITY",g[g.MAJOR_MOBILITY=2]="MAJOR_MOBILITY",g[g.ARTIFICE_MOBILITY=3]="ARTIFICE_MOBILITY",g[g.MINOR_RESILIENCE=4]="MINOR_RESILIENCE",g[g.MAJOR_RESILIENCE=5]="MAJOR_RESILIENCE",g[g.ARTIFICE_RESILIENCE=6]="ARTIFICE_RESILIENCE",g[g.MINOR_RECOVERY=7]="MINOR_RECOVERY",g[g.MAJOR_RECOVERY=8]="MAJOR_RECOVERY",g[g.ARTIFICE_RECOVERY=9]="ARTIFICE_RECOVERY",g[g.MINOR_DISCIPLINE=10]="MINOR_DISCIPLINE",g[g.MAJOR_DISCIPLINE=11]="MAJOR_DISCIPLINE",g[g.ARTIFICE_DISCIPLINE=12]="ARTIFICE_DISCIPLINE",g[g.MINOR_INTELLECT=13]="MINOR_INTELLECT",g[g.MAJOR_INTELLECT=14]="MAJOR_INTELLECT",g[g.ARTIFICE_INTELLECT=15]="ARTIFICE_INTELLECT",g[g.MINOR_STRENGTH=16]="MINOR_STRENGTH",g[g.MAJOR_STRENGTH=17]="MAJOR_STRENGTH",g[g.ARTIFICE_STRENGTH=18]="ARTIFICE_STRENGTH",v;var g})(),t=(()=>{return(g=t||(t={}))[g.Mobility=0]="Mobility",g[g.Resilience=1]="Resilience",g[g.Recovery=2]="Recovery",g[g.Discipline=3]="Discipline",g[g.Intellect=4]="Intellect",g[g.Strength=5]="Strength",t;var g})();const S={[v.NONE]:[t.Strength,0,0,0],[v.MINOR_MOBILITY]:[t.Mobility,5,1,1703647492],[v.MAJOR_MOBILITY]:[t.Mobility,10,3,4183296050],[v.ARTIFICE_MOBILITY]:[t.Mobility,3,0,2322202118],[v.MINOR_RESILIENCE]:[t.Resilience,5,2,2532323436],[v.MAJOR_RESILIENCE]:[t.Resilience,10,4,1180408010],[v.ARTIFICE_RESILIENCE]:[t.Resilience,3,0,199176566],[v.MINOR_RECOVERY]:[t.Recovery,5,2,1237786518],[v.MAJOR_RECOVERY]:[t.Recovery,10,4,4204488676],[v.ARTIFICE_RECOVERY]:[t.Recovery,3,0,539459624],[v.MINOR_DISCIPLINE]:[t.Discipline,5,1,4021790309],[v.MAJOR_DISCIPLINE]:[t.Discipline,10,3,1435557120],[v.ARTIFICE_DISCIPLINE]:[t.Discipline,3,0,617569843],[v.MINOR_INTELLECT]:[t.Intellect,5,2,350061697],[v.MAJOR_INTELLECT]:[t.Intellect,10,4,2724608735],[v.ARTIFICE_INTELLECT]:[t.Intellect,3,0,3160845295],[v.MINOR_STRENGTH]:[t.Strength,5,1,2639422088],[v.MAJOR_STRENGTH]:[t.Strength,10,3,4287799666],[v.ARTIFICE_STRENGTH]:[t.Strength,3,0,2507624050]},H={[t.Mobility]:"Mobility",[t.Resilience]:"Resilience",[t.Recovery]:"Recovery",[t.Discipline]:"Discipline",[t.Intellect]:"Intellect",[t.Strength]:"Strength"},W={[t.Mobility]:"https://www.bungie.net/common/destiny2_content/icons/e26e0e93a9daf4fdd21bf64eb9246340.png",[t.Resilience]:"https://www.bungie.net/common/destiny2_content/icons/202ecc1c6febeb6b97dafc856e863140.png",[t.Recovery]:"https://www.bungie.net/common/destiny2_content/icons/128eee4ee7fc127851ab32eac6ca91cf.png",[t.Discipline]:"https://www.bungie.net/common/destiny2_content/icons/79be2d4adef6a19203f7385e5c63b45b.png",[t.Intellect]:"https://www.bungie.net/common/destiny2_content/icons/d1c154469670e9a592c9d4cbdcae5764.png",[t.Strength]:"https://www.bungie.net/common/destiny2_content/icons/ea5af04ccd6a3470a44fd7bb0f66e2f7.png"};var I=(()=>{return(g=I||(I={}))[g.ClassAbilityRegenerationStat=10]="ClassAbilityRegenerationStat",I;var g})(),m=(()=>{return(g=m||(m={}))[g.None=0]="None",g[g.PerkExhumedExcess=1]="PerkExhumedExcess",g[g.SlotCrotasEnd=2]="SlotCrotasEnd",g[g.SlotRootOfNightmares=3]="SlotRootOfNightmares",g[g.SlotKingsFall=4]="SlotKingsFall",g[g.SlotVowOfTheDisciple=5]="SlotVowOfTheDisciple",g[g.SlotVaultOfGlass=6]="SlotVaultOfGlass",g[g.SlotDeepStoneCrypt=7]="SlotDeepStoneCrypt",g[g.SlotGardenOfSalvation=8]="SlotGardenOfSalvation",g[g.SlotLastWish=9]="SlotLastWish",g[g.SlotArtifice=10]="SlotArtifice",g[g.PerkIronBanner=11]="PerkIronBanner",g[g.SlotNightmare=12]="SlotNightmare",g[g.SonarAmplifier=13]="SonarAmplifier",g[g.PerkQueensFavor=14]="PerkQueensFavor",g[g.PerkSeraphSensorArray=15]="PerkSeraphSensorArray",g[g.PerkPlunderersTrappings=16]="PerkPlunderersTrappings",g[g.PerkUniformedOfficer=17]="PerkUniformedOfficer",g[g.GuardianGamesClassItem=18]="GuardianGamesClassItem",g[g.PerkAscendantProtector=19]="PerkAscendantProtector",g[g.COUNT=20]="COUNT",m;var g})();const ct={[m.None]:"None",[m.PerkAscendantProtector]:"Ascendant Protector",[m.SlotCrotasEnd]:"Crota's End Modslot",[m.SlotRootOfNightmares]:"Root of Nightmares Modslot",[m.SlotKingsFall]:"King's Fall Modslot",[m.SlotVowOfTheDisciple]:"Vow of the Disciple Modslot",[m.SlotVaultOfGlass]:"Vault of Glass Modslot",[m.SlotDeepStoneCrypt]:"Deep Stone Crypt Modslot",[m.SlotGardenOfSalvation]:"Garden of Salvation Modslot",[m.SlotLastWish]:"Last Wish Modslot",[m.SlotArtifice]:"Artifice Modslot",[m.PerkIronBanner]:"Iron Banner Perk",[m.SlotNightmare]:"Nightmare Hunt Modslot",[m.PerkExhumedExcess]:"Exhumed Excess",[m.SonarAmplifier]:"Sonar Amplifier",[m.PerkQueensFavor]:"Queen's Favor",[m.PerkSeraphSensorArray]:"Seraph Sensor Array",[m.PerkPlunderersTrappings]:"Plunderer's Trappings",[m.GuardianGamesClassItem]:"Guardian Games",[m.PerkUniformedOfficer]:"Uniformed Officer",[m.COUNT]:""},at={[m.None]:"https://www.bungie.net/img/misc/missing_icon_d2.png",[m.PerkAscendantProtector]:"https://www.bungie.net/common/destiny2_content/icons/e083d8a85c2c60825204d14b9e9263b7.png",[m.SlotCrotasEnd]:"https://www.bungie.net/common/destiny2_content/icons/7ddce334fe8391848f408227439c1d7a.png",[m.SlotRootOfNightmares]:"https://www.bungie.net/common/destiny2_content/icons/f2b6ec58e14244e4972705897667c246.png",[m.SlotKingsFall]:"https://www.bungie.net/common/destiny2_content/icons/0e515c7cf25a2f2350b788e6f5b7f8eb.png",[m.SlotVowOfTheDisciple]:"https://www.bungie.net/common/destiny2_content/icons/b84b6ea72dd05de7123aa2ae87ba0d6a.png",[m.SlotVaultOfGlass]:"https://www.bungie.net/common/destiny2_content/icons/7c9a2d95113de19c5acdbed57775abf4.png",[m.SlotDeepStoneCrypt]:"https://www.bungie.net/common/destiny2_content/icons/d6452d010cfe72a51a9089ec68ab223c.png",[m.SlotGardenOfSalvation]:"https://www.bungie.net/common/destiny2_content/icons/53d6e3505cd03d4026b3dbbd9ccc19b6.jpg",[m.SlotLastWish]:"https://www.bungie.net/common/destiny2_content/icons/76f0c1520fa384ceb27bd2469225dd8a.png",[m.SlotArtifice]:"https://www.bungie.net/common/destiny2_content/icons/46eec78bb7864641bbd7ba1fd4f9f248.png",[m.PerkIronBanner]:"https://bungie.net/common/destiny2_content/icons/DestinyActivityModeDefinition_fe57052d7cf971f7502daa75a2ca2437.png",[m.SlotNightmare]:"https://www.bungie.net/common/destiny2_content/icons/53d6e3505cd03d4026b3dbbd9ccc19b6.jpg",[m.PerkExhumedExcess]:"https://www.bungie.net/common/destiny2_content/icons/8b10e265736c3ca1778c3f54fdb62bad.png",[m.SonarAmplifier]:"https://www.bungie.net/common/destiny2_content/icons/e083d8a85c2c60825204d14b9e9263b7.png",[m.PerkQueensFavor]:"https://www.bungie.net/common/destiny2_content/icons/8d844c97fa13f4cb649358404d011be7.png",[m.PerkSeraphSensorArray]:"https://www.bungie.net/common/destiny2_content/icons/7394ce8bcde3a665584b988cc133d62c.png",[m.PerkPlunderersTrappings]:"https://www.bungie.net/common/destiny2_content/icons/7394ce8bcde3a665584b988cc133d62c.png",[m.PerkUniformedOfficer]:"https://www.bungie.net/common/destiny2_content/icons/b4f6064c3757f9a6725b80f88ee824c0.png",[m.GuardianGamesClassItem]:"https://www.bungie.net/common/destiny2_content/icons/DestinyEventCardDefinition_ce6c2cf855dce694bcc89803b6bc44b7.png",[m.COUNT]:""},L={[m.PerkAscendantProtector]:1493063130,[m.SlotCrotasEnd]:717667840,[m.SlotRootOfNightmares]:4144354978,[m.SlotKingsFall]:1728096240,[m.SlotVowOfTheDisciple]:2447143568,[m.SlotVaultOfGlass]:3738398030,[m.SlotDeepStoneCrypt]:4055462131,[m.SlotGardenOfSalvation]:706611068,[m.SlotLastWish]:1679876242,[m.SlotArtifice]:3727270518,[m.PerkIronBanner]:2472875850,[m.SlotNightmare]:1180997867,[m.PerkExhumedExcess]:717722696,[m.SonarAmplifier]:2779380852,[m.PerkQueensFavor]:1101259514,[m.PerkSeraphSensorArray]:3525583702,[m.PerkPlunderersTrappings]:400659041,[m.PerkUniformedOfficer]:2392155347},_t={[m.None]:"",[m.PerkAscendantProtector]:'exactperk:"ascendant protector"',[m.SlotCrotasEnd]:"modslot:crotasend",[m.SlotRootOfNightmares]:"modslot:rootofnightmares",[m.SlotKingsFall]:"modslot:kingsfall",[m.SlotVowOfTheDisciple]:"modslot:vowofthedisciple",[m.SlotVaultOfGlass]:"modslot:vaultofglass",[m.SlotDeepStoneCrypt]:"modslot:deepstonecrypt",[m.SlotGardenOfSalvation]:"modslot:gardenofsalvation",[m.SlotLastWish]:"modslot:lastwish",[m.SlotArtifice]:'perkname:"artifice armor"',[m.PerkIronBanner]:'perkname:"iron lord\'s pride"',[m.SlotNightmare]:"modslot:nightmare",[m.PerkExhumedExcess]:'perkname:"exhumed excess"',[m.SonarAmplifier]:'perkname:"sonar amplifier"',[m.PerkQueensFavor]:'perkname:"queen\'s favor"',[m.PerkSeraphSensorArray]:'perkname:"seraph sensor array"',[m.PerkPlunderersTrappings]:'perkname:"plunderer\'s trappings"',[m.PerkUniformedOfficer]:'perkname:"Uniformed Officer"',[m.GuardianGamesClassItem]:"(hash:537041732 or hash:366019830 or hash:1013401891)",[m.COUNT]:""},xt={0:"Any",1:"Arc",2:"Solar",3:"Void",6:"Stasis",4:"Ghost",5:"Subclass"},Y={0:"",1:"https://www.bungie.net/common/destiny2_content/icons/DestinyDamageTypeDefinition_092d066688b879c807c3b460afdd61e6.png",2:"https://www.bungie.net/common/destiny2_content/icons/DestinyDamageTypeDefinition_2a1773e10968f2d088b97c22b22bba9e.png",3:"https://www.bungie.net/common/destiny2_content/icons/DestinyDamageTypeDefinition_ceb2f6197dccf3958bb31cc783eb97a0.png",6:"https://www.bungie.net/common/destiny2_content/icons/DestinyDamageTypeDefinition_530c4c3e7981dc2aefd24fd3293482bf.png",4:"",5:""}},8333:(ot,z,_)=>{"use strict";_.d(z,{O:()=>v});var v=(()=>{return(t=v||(v={}))[t.CombatStyleMod=0]="CombatStyleMod",t[t.Stasis=1]="Stasis",t[t.Void=2]="Void",t[t.Solar=3]="Solar",t[t.Arc=4]="Arc",t[t.Strand=5]="Strand",t[t.RetrofitMods=6]="RetrofitMods",v;var t})()},4661:(ot,z,_)=>{"use strict";_.d(z,{V:()=>At});var v=_(4859),t=_(9549),S=_(4385),H=_(3238),W=_(7314),I=_(4144),m=_(455),ct=_(2143),at=_(3546),L=_(266),_t=_(3162),xt=_(7392),Y=_(6308),g=_(8739),A=_(3683),J=_(3217),St=_(811),It=_(6338),kt=_(7084),Ot=_(5412),mt=_(7009),Mt=_(1572),Dt=_(3848),dt=_(7331),yt=_(3267),D=_(4006),st=_(9814),r=_(4650);let At=(()=>{class ft{}return ft.\u0275fac=function(jt){return new(jt||ft)},ft.\u0275mod=r.oAB({type:ft}),ft.\u0275inj=r.cJS({imports:[v.ot,t.lN,S.LD,H.Ng,W.KP,I.c,m.rP,ct.p0,at.QW,L.AV,_t.Cv,xt.Ps,Y.JX,g.TU,A.g0,J.Tx,St.vV,It.ie,kt.To,Ot.Is,mt.ZX,Mt.Cq,Dt.Nh,dt.Hi,yt.SJ,D.UX,D.u5,st.o9,st.o9,D.UX,D.u5,v.ot,t.lN,S.LD,H.Ng,W.KP,I.c,m.rP,ct.p0,at.QW,L.AV,_t.Cv,xt.Ps,Y.JX,g.TU,A.g0,J.Tx,St.vV,It.ie,kt.To,Ot.Is,mt.ZX,Mt.Cq,Dt.Nh,dt.Hi,yt.SJ]}),ft})()},7789:(ot,z,_)=>{"use strict";var v=_(1481),t=_(4650);const S_apiKey="9415df8eff46408aa9c0d51e4d69b94f",S_featureFlags_enableModslotLimitation=!0,S_featureFlags_enableZeroWaste=!0,S_featureFlags_enableGuardianGamesFeatures=!1;var H=_(5829),W=_(3683),I=_(6630),m=_(5861),ct=_(6831),at=_(529);let L=(()=>{class n{constructor(e,o){this.http=e,this.router=o,this._logoutEvent=new ct.t(1),this.logoutEvent=this._logoutEvent.asObservable()}get refreshTokenExpired(){return this.refreshTokenExpiringAt (this.lastRefresh + timing)":Date.now()>e.lastRefresh+18e5}),!(e.refreshToken&&Date.now()e.lastRefresh+18e5)||(yield e.generateTokens(!0))})()}getCurrentMembershipData(){var e=this;return(0,m.Z)(function*(){const o=JSON.parse(localStorage.getItem("auth-membershipInfo")||"null");if(null==o){const a=e.getCurrentMembershipData();return localStorage.setItem("auth-membershipInfo",JSON.stringify(a)),a}return o})()}generateTokens(e=!1){var o=this;return(0,m.Z)(function*(){console.info("Generate auth tokens","refresh based on refresh_token:",e);let u=`grant_type=authorization_code&code=${o.authCode}&client_id=37252&client_secret=KnVcJPWr7C5y0loOfBoKSyQ-vWXR0JICrgb1aJLsLgg`;return e&&(u=`grant_type=refresh_token&refresh_token=${o.refreshToken}&client_id=37252&client_secret=KnVcJPWr7C5y0loOfBoKSyQ-vWXR0JICrgb1aJLsLgg`),yield o.http.post("https://www.bungie.net/Platform/App/OAuth/Token/",u,{headers:{"Content-Type":"application/x-www-form-urlencoded","X-API-Key":S_apiKey}}).toPromise().then(x=>(console.log("generateTokens",x),o.accessToken=x.access_token,o.refreshToken=x.refresh_token,o.refreshTokenExpiringAt=Date.now()+1e3*x.refresh_expires_in-1e4,o.lastRefresh=Date.now(),!0)).catch(function(){var x=(0,m.Z)(function*(p){return console.log({err:p}),yield o.logout(),!1});return function(p){return x.apply(this,arguments)}}())})()}isAuthenticated(){return!!this.accessToken}get authCode(){return localStorage.getItem("code")}set authCode(e){e?(console.info("Setting new auth code"),localStorage.setItem("code",""+e)):(console.info("Clearing auth code"),localStorage.removeItem("code"))}get accessToken(){return localStorage.getItem("accessToken")}set accessToken(e){e?(console.info("Setting new access token"),localStorage.setItem("accessToken",""+e)):(console.info("Clearing access token"),localStorage.removeItem("accessToken"))}get refreshToken(){return localStorage.getItem("refreshToken")}set refreshToken(e){e?(console.info("Setting new refresh token"),localStorage.setItem("refreshToken",""+e)):(console.info("Clearing refresh token"),localStorage.removeItem("refreshToken"))}get refreshTokenExpiringAt(){let e=localStorage.getItem("refreshTokenExpiringAt")||"0";return e?Number.parseInt(e):0}set refreshTokenExpiringAt(e){e?(console.info("Setting new refresh token"),localStorage.setItem("refreshTokenExpiringAt",""+e)):(console.info("Clearing refresh token"),localStorage.removeItem("refreshTokenExpiringAt"))}get lastRefresh(){let e=localStorage.getItem("lastRefresh")||"0";return e?Number.parseInt(e):0}set lastRefresh(e){e?localStorage.setItem("lastRefresh",e.toString()):localStorage.removeItem("lastRefresh")}clearManifestInfo(){localStorage.removeItem("LastArmorUpdate"),localStorage.removeItem("LastManifestUpdate")}clearLoginInfo(){this.lastRefresh=null,this.refreshTokenExpiringAt=null,this.authCode=null,this.accessToken=null,this.refreshToken=null,localStorage.removeItem("auth-membershipInfo")}logout(){var e=this;return(0,m.Z)(function*(){try{e._logoutEvent.next(null),e.clearManifestInfo(),e.clearLoginInfo()}finally{yield e.router.navigate(["login"])}})()}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(at.eN),t.LFG(I.F0))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),_t=(()=>{class n{constructor(e,o,a){this.activatedRoute=e,this.router=o,this.loginService=a}ngOnInit(){var e=this;this.activatedRoute.queryParams.subscribe(function(){var o=(0,m.Z)(function*(a){let s=a.code;window.location.search.indexOf("?code=")>-1&&(s=window.location.search.substr(6)),console.info({code:s}),s&&(e.loginService.authCode=s,console.info("Generate tokens with the new code"),yield e.loginService.generateTokens(),console.info("Now navigate to /"),yield e.router.navigate(["/"]))});return function(a){return o.apply(this,arguments)}}())}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(I.gz),t.Y36(I.F0),t.Y36(L))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-handle-bungie-login"]],decls:0,vars:0,template:function(e,o){}}),n})(),xt=(()=>{class n{constructor(){this.title="D2ArmorPicker",console.log("PRODUCTION?",true)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-root"]],decls:8,vars:0,consts:[["color","accent",1,"bungie-day",2,"display","none"],[1,"header-spacer"],["fxHide.xs","","src","../assets/bungie-game2give.png","alt","donordrive",1,"donordrive"],["href","https://bungiefoundation.donordrive.com/participant/19714","target","_blank","title","Support the Bungie Foundation!"]],template:function(e,o){1&e&&(t.TgZ(0,"mat-toolbar",0),t._UZ(1,"span",1)(2,"img",2),t.TgZ(3,"a",3),t._uU(4," Support us at the Bungie Foundation 2023 \u2764 "),t.qZA(),t._UZ(5,"span",1),t.qZA(),t._UZ(6,"app-handle-bungie-login")(7,"router-outlet"))},dependencies:[H.b8,W.Ye,I.lC,_t],styles:[".bungie-day[_ngcontent-%COMP%]{height:-moz-fit-content;height:fit-content;position:relative;max-width:100vw;word-break:break-all}.bungie-day[_ngcontent-%COMP%] img.donordrive[_ngcontent-%COMP%]{height:30px;margin-left:2px;margin-right:2px}.bungie-day[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .bungie-day[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:visited{color:#fff}.bungie-day[_ngcontent-%COMP%] .header-spacer[_ngcontent-%COMP%]{flex:1 1 auto}"]}),n})();var Y=_(1576),g=_(4859),A=_(3546),J=_(7084);let St=(()=>{class n{constructor(){}startLogin(){window.location.href="https://www.bungie.net/en/OAuth/Authorize?client_id=37252&response_type=code&reauth=true"}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-login"]],decls:76,vars:0,consts:[["mat-card-avatar","",1,"example-header-image"],["href","https://ko-fi.com/mijago","target","_blank"],["href","https://github.com/Mijago/D2ArmorPicker","target","_blank"],["color","primary","mat-raised-button","",3,"click"],[1,"mat-elevation-z11"],["src","assets/info/statselection.png",1,"image-example"],["src","assets/resultOverviewWithFlex.png",1,"image-example"],["src","assets/info/whattodonow.png",1,"image-example"],["src","assets/info/armorClustering.png",1,"image-example"],["fxLayoutGap","10px","fxLayout","row",1,"armor-image-container"],["src","assets/info/cluster-example/img.png"],["src","assets/info/cluster-example/img_1.png"],["src","assets/info/cluster-example/img_2.png"]],template:function(e,o){1&e&&(t.TgZ(0,"mat-card")(1,"mat-card-header"),t._UZ(2,"div",0),t.TgZ(3,"mat-card-title"),t._uU(4,"Destiny 2 Armor Picker"),t.qZA(),t.TgZ(5,"mat-card-subtitle"),t._uU(6,"A simple armor min-max tool by Mijago."),t.qZA()(),t.TgZ(7,"mat-card-content")(8,"p"),t._uU(9," This tool allows you to select the optimal armor from your inventory and vault to satisfy your stat needs. It also tells you which stat mods you have to use! "),t._UZ(10,"br")(11,"br"),t._uU(12," You have to log in to enable this tool to grab your armor from the API."),t._UZ(13,"br"),t._uU(14," If you like my tools and want to support me, head to "),t.TgZ(15,"a",1),t._uU(16,"ko-fi.com"),t.qZA(),t._uU(17," and buy me a coffee! \u2764 "),t._UZ(18,"br"),t._uU(19," If you found a bug or have a feature request, please open an issue "),t.TgZ(20,"a",2),t._uU(21,"in the Github Repository"),t.qZA(),t._uU(22,"! "),t.qZA(),t.TgZ(23,"p"),t._uU(24," D2ArmorPicker uses the Bungie.net api and it's OAuth authorization. You log in on an official Bungie.net page and D2ArmorPicker receives a temporary login token from Bungie. That means it does not receive your credentials. "),t.qZA()(),t.TgZ(25,"mat-card-actions")(26,"button",3),t.NdJ("click",function(){return o.startLogin()}),t._uU(27,"Login"),t.qZA()()(),t.TgZ(28,"mat-card")(29,"mat-card-title"),t._uU(30," Examples "),t.qZA(),t.TgZ(31,"mat-card-subtitle"),t._uU(32,"Some examples to show what D2ArmorPicker can do."),t.qZA(),t.TgZ(33,"mat-card-content")(34,"mat-accordion")(35,"mat-expansion-panel",4)(36,"mat-expansion-panel-header")(37,"mat-panel-title"),t._uU(38," Stat Selection "),t.qZA(),t.TgZ(39,"mat-panel-description"),t._uU(40," The heart of this tool. "),t.qZA()(),t.TgZ(41,"p"),t._uU(42," First, you are able to select the stats you want. The tool will automatically parse all your armor (including your vault and your postmaster), and then show you which stat selections are even possible with your current gear. The tool also shows you all possible loadouts with three or four stats at 100! "),t._UZ(43,"img",5)(44,"br")(45,"br"),t._uU(46," There are also additional settings. You can add stasis fragments and negative and positive stat mods to your builds. Also, you can select 0-waste builds (so only flat numbers). D2ArmorPicker will also add stat mods to reduce wasted stats wherever possible! "),t.qZA()(),t.TgZ(47,"mat-expansion-panel",4)(48,"mat-expansion-panel-header")(49,"mat-panel-title"),t._uU(50," Result Display "),t.qZA(),t.TgZ(51,"mat-panel-description"),t._uU(52," What you will get from this tool. "),t.qZA()(),t.TgZ(53,"p"),t._uU(54," D2ArmorPicker will show you a table with many results. You can sort and filter it, and then you click on one row to see which items are needed for your desired stats. "),t._UZ(55,"img",6)(56,"br")(57,"br"),t._uU(58," The page will also give you a detailed description of what you have to do in order to get to your desired build. The following screenshot shows one of the more detailed descriptions: "),t._UZ(59,"img",7),t.qZA()(),t.TgZ(60,"mat-expansion-panel",4)(61,"mat-expansion-panel-header")(62,"mat-panel-title"),t._uU(63," Armor Clustering "),t.qZA(),t.TgZ(64,"mat-panel-description"),t._uU(65," For the time when your vault is overflowing. "),t.qZA()(),t.TgZ(66,"div"),t._uU(67," Since version 2.0.14, D2ArmorPicker has an armor clustering feature. This means that it takes all your armor and groups it in 25 groups, where all items in one group has very similar stats. This can help you to clear out your vault, especially from duplicated armor rolls. "),t._UZ(68,"img",8)(69,"br")(70,"br"),t._uU(71," Take Cluster 1, for example. I copy the DIM-Query, enter it into DIM and see the following results: "),t.TgZ(72,"div",9),t._UZ(73,"img",10)(74,"img",11)(75,"img",12),t.qZA()()()()()())},dependencies:[Y.xw,Y.SQ,g.lW,A.a8,A.dk,A.dn,A.n5,A.$j,A.hq,A.kc,J.pp,J.ib,J.yz,J.yK,J.u4],styles:["mat-card[_ngcontent-%COMP%]{max-width:600px;margin-bottom:4px;margin-left:auto;margin-right:auto}button[_ngcontent-%COMP%]{position:absolute;right:10px;bottom:10px}a[_ngcontent-%COMP%]{color:#99afe3}a[_ngcontent-%COMP%]:visited{color:#7294dc}.example-header-image[_ngcontent-%COMP%]{background-image:url(superGreatLogo.5307f2494314b5e1.png);background-size:cover}.image-example[_ngcontent-%COMP%]{max-width:100%}.armor-image-container[_ngcontent-%COMP%]{overflow:auto}.armor-image-container[_ngcontent-%COMP%] > img[_ngcontent-%COMP%]{max-height:300px}"]}),n})();var It=_(8746);let kt=(()=>{class n{constructor(e,o){this.auth=e,this.router=o}canActivate(e,o){return!!this.auth.isAuthenticated()||(this.router.navigate(["login"]),!1)}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(L),t.LFG(I.F0))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Ot=(()=>{class n{constructor(e,o){this.auth=e,this.router=o}canActivate(e,o){return!this.auth.isAuthenticated()||(this.router.navigate(["/"]),!1)}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(L),t.LFG(I.F0))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();var mt=_(2289),Mt=_(4850),Dt=_(5154),dt=_(591);let yt=(()=>{class n{constructor(){this.__status={calculatingResults:!1,calculatingPermutations:!1,updatingResultsTable:!1,updatingInventory:!1,updatingManifest:!1},this._status=new dt.X(this.__status),this.status=this._status.asObservable()}getStatus(){return this.__status}modifyStatus(e){e(this.__status),console.log("modifyStatus",this.__status),this._status.next(this.__status)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();var D=(()=>{return(n=D||(D={}))[n.None=-1]="None",n[n.Titan=0]="Titan",n[n.Hunter=1]="Hunter",n[n.Warlock=2]="Warlock",D;var n})(),st=_(13),r=_(1043),C=_(6471),h=_(8333),Tt=(()=>{return(n=Tt||(Tt={}))[n.None=0]="None",n[n.ReduceUsedModSockets=1]="ReduceUsedModSockets",n[n.ReduceUsedModPoints=2]="ReduceUsedModPoints",Tt;var n})();function zt(n){return{[r.WB.Mobility]:{fixed:!1,value:n},[r.WB.Resilience]:{fixed:!1,value:n},[r.WB.Recovery]:{fixed:!1,value:n},[r.WB.Discipline]:{fixed:!1,value:n},[r.WB.Intellect]:{fixed:!1,value:n},[r.WB.Strength]:{fixed:!1,value:n}}}class Ut{constructor(){this.characterClass=D.Titan,this.addConstent1Resilience=!1,this.assumeEveryLegendaryIsArtifice=!1,this.disabledItems=[],this.minimumStatTiers={[r.WB.Mobility]:{fixed:!1,value:0},[r.WB.Resilience]:{fixed:!1,value:0},[r.WB.Recovery]:{fixed:!1,value:0},[r.WB.Discipline]:{fixed:!1,value:0},[r.WB.Intellect]:{fixed:!1,value:0},[r.WB.Strength]:{fixed:!1,value:0}},this.maximumStatMods=5,this.maximumModSlots={[C.y.ArmorSlotHelmet]:{fixed:!1,value:5},[C.y.ArmorSlotGauntlet]:{fixed:!1,value:5},[C.y.ArmorSlotChest]:{fixed:!1,value:5},[C.y.ArmorSlotLegs]:{fixed:!1,value:5},[C.y.ArmorSlotClass]:{fixed:!1,value:5},[C.y.ArmorSlotNone]:{fixed:!1,value:5}},this.putArtificeMods=!0,this.useFotlArmor=!0,this.allowBlueArmorPieces=!0,this.ignoreSunsetArmor=!1,this.includeVendorRolls=!1,this.includeCollectionRolls=!1,this.assumeLegendariesMasterworked=!0,this.assumeExoticsMasterworked=!0,this.assumeClassItemMasterworked=!0,this.onlyUseMasterworkedExotics=!1,this.onlyUseMasterworkedLegendaries=!1,this.modOptimizationStrategy=Tt.None,this.limitParsedResults=!0,this.tryLimitWastedStats=!1,this.onlyShowResultsWithNoWastedStats=!1,this.showWastedStatsColumn=!1,this.showPotentialTierColumn=!1,this.selectedModElement=h.O.Stasis,this.enabledMods=[],this.selectedExotics=[],this.armorPerks={[C.y.ArmorSlotHelmet]:{fixed:!0,value:r.Pn.None},[C.y.ArmorSlotGauntlet]:{fixed:!0,value:r.Pn.None},[C.y.ArmorSlotChest]:{fixed:!0,value:r.Pn.None},[C.y.ArmorSlotLegs]:{fixed:!0,value:r.Pn.None},[C.y.ArmorSlotClass]:{fixed:!0,value:r.Pn.None},[C.y.ArmorSlotNone]:{fixed:!0,value:r.Pn.None}}}static buildEmptyConfiguration(){return{enabledMods:[],disabledItems:[],addConstent1Resilience:!1,assumeEveryLegendaryIsArtifice:!1,putArtificeMods:!0,useFotlArmor:!1,maximumStatMods:5,onlyUseMasterworkedExotics:!1,onlyUseMasterworkedLegendaries:!1,ignoreSunsetArmor:!1,includeCollectionRolls:!1,includeVendorRolls:!1,allowBlueArmorPieces:!0,assumeLegendariesMasterworked:!0,assumeExoticsMasterworked:!0,assumeClassItemMasterworked:!0,limitParsedResults:!0,modOptimizationStrategy:Tt.None,tryLimitWastedStats:!1,onlyShowResultsWithNoWastedStats:!1,showWastedStatsColumn:!1,showPotentialTierColumn:!1,characterClass:D.Titan,selectedModElement:h.O.Stasis,selectedExotics:[],maximumModSlots:{[C.y.ArmorSlotHelmet]:{fixed:!1,value:5},[C.y.ArmorSlotGauntlet]:{fixed:!1,value:5},[C.y.ArmorSlotChest]:{fixed:!1,value:5},[C.y.ArmorSlotLegs]:{fixed:!1,value:5},[C.y.ArmorSlotClass]:{fixed:!1,value:5},[C.y.ArmorSlotNone]:{fixed:!1,value:5}},armorPerks:{[C.y.ArmorSlotHelmet]:{fixed:!0,value:r.Pn.None},[C.y.ArmorSlotGauntlet]:{fixed:!0,value:r.Pn.None},[C.y.ArmorSlotChest]:{fixed:!0,value:r.Pn.None},[C.y.ArmorSlotLegs]:{fixed:!0,value:r.Pn.None},[C.y.ArmorSlotClass]:{fixed:!0,value:r.Pn.None},[C.y.ArmorSlotNone]:{fixed:!0,value:r.Pn.None}},minimumStatTiers:zt(0)}}}var E=(()=>{return(n=E||(E={}))[n.Inventory=0]="Inventory",n[n.Collections=1]="Collections",n[n.Vendor=2]="Vendor",E;var n})();function Yt(n,i,e){if(!n)throw new Error("Missing manifest item");const o=Object.assign({id:-1,itemInstanceId:i,mayBeBugged:!1,masterworked:!1,energyLevel:0,mobility:0,resilience:0,recovery:0,discipline:0,intellect:0,strength:0,source:e},n);return o.id=void 0,(2545426109==n.hash||199733460==n.hash||3224066584==n.hash)&&(o.slot=C.y.ArmorSlotHelmet),o}function Gt(n,i){n.mobility=i[2996146975],n.resilience=i[392767087],n.recovery=i[1943323491],n.discipline=i[1735777505],n.intellect=i[144602215],n.strength=i[4244567218]}var Kt=_(4682);let et=(()=>{class n{constructor(e){var o=this;this.auth=e,this.db=(0,Kt.F)((0,m.Z)(function*(){yield o.auth.clearManifestInfo()})),this.manifestArmor=this.db.table("manifestArmor"),this.inventoryArmor=this.db.table("inventoryArmor"),this.manifestCollectibles=this.db.table("manifestCollectibles"),this.vendorNames=this.db.table("vendorNames"),this.auth.logoutEvent.subscribe(function(){var a=(0,m.Z)(function*(s){yield o.clearDatabase()});return function(s){return a.apply(this,arguments)}}())}initialize(){var e=this;this.db=(0,Kt.F)((0,m.Z)(function*(){yield e.auth.clearManifestInfo()})),this.manifestArmor=this.db.table("manifestArmor"),this.inventoryArmor=this.db.table("inventoryArmor"),this.manifestCollectibles=this.db.table("manifestCollectibles"),this.vendorNames=this.db.table("vendorNames")}writeManifestArmor(e,o){var a=this;return(0,m.Z)(function*(){yield a.manifestArmor.clear(),yield a.manifestArmor.bulkPut(e),localStorage.setItem("LastManifestUpdate",Date.now().toString()),localStorage.setItem("last-manifest-db-name",a.manifestArmor.db.name),localStorage.setItem("last-manifest-revision","c81a0c7"),localStorage.setItem("last-manifest-version",o)})()}clearDatabase(){var e=this;return(0,m.Z)(function*(){localStorage.removeItem("LastManifestUpdate"),localStorage.removeItem("LastArmorUpdate"),yield e.inventoryArmor.clear()})()}resetDatabase(e=!0){var o=this;return(0,m.Z)(function*(){localStorage.removeItem("LastManifestUpdate"),localStorage.removeItem("last-manifest-revision"),localStorage.removeItem("last-manifest-db-name"),localStorage.removeItem("LastArmorUpdate"),localStorage.removeItem("last-armor-db-name"),yield o.db.delete(),e&&o.initialize()})()}lastManifestUpdate(){const e=localStorage.getItem("LastManifestUpdate"),o=localStorage.getItem("last-manifest-version"),a=localStorage.getItem("last-manifest-revision"),s=localStorage.getItem("last-manifest-db-name");return e&&a&&s&&o&&"c81a0c7"===localStorage.getItem("last-manifest-revision")&&s===this.inventoryArmor.db.name?{updatedAt:parseInt(e),version:o}:void 0}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(L))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();var rt=_(9598),f=(()=>{return(n=f||(f={}))[n.WhisperOfDurance=1e3]="WhisperOfDurance",n[n.WhisperOfChains=1001]="WhisperOfChains",n[n.WhisperOfConduction=1002]="WhisperOfConduction",n[n.WhisperOfBonds=1101]="WhisperOfBonds",n[n.WhisperOfHunger=1102]="WhisperOfHunger",n[n.WhisperOfFractures=1103]="WhisperOfFractures",n[n.EchoOfExpulsion=1200]="EchoOfExpulsion",n[n.EchoOfProvision=1201]="EchoOfProvision",n[n.EchoOfPersistence=1202]="EchoOfPersistence",n[n.EchoOfLeeching=1203]="EchoOfLeeching",n[n.EchoOfDomineering=1204]="EchoOfDomineering",n[n.EchoOfDilation=1205]="EchoOfDilation",n[n.EchoOfUndermining=1206]="EchoOfUndermining",n[n.EchoOfInstability=1207]="EchoOfInstability",n[n.EchoOfHarvest=1208]="EchoOfHarvest",n[n.EchoOfObscurity=1209]="EchoOfObscurity",n[n.EchoOfStarvation=1210]="EchoOfStarvation",n[n.EchoOfVigilance=1211]="EchoOfVigilance",n[n.EmberOfBenelovence=1300]="EmberOfBenelovence",n[n.EmberOfBeams=1301]="EmberOfBeams",n[n.EmberOfEmpyrean=1302]="EmberOfEmpyrean",n[n.EmberOfCombustion=1303]="EmberOfCombustion",n[n.EmberOfChar=1304]="EmberOfChar",n[n.EmberOfTempering=1305]="EmberOfTempering",n[n.EmberOfEruption=1306]="EmberOfEruption",n[n.EmberOfWonder=1307]="EmberOfWonder",n[n.EmberOfSearing=1308]="EmberOfSearing",n[n.EmberOfTorches=1309]="EmberOfTorches",n[n.EmberOfMercy=1310]="EmberOfMercy",n[n.SparkOfBrilliance=1400]="SparkOfBrilliance",n[n.SparkOfFeedback=1401]="SparkOfFeedback",n[n.SparkOfDischarge=1402]="SparkOfDischarge",n[n.SparkOfFocus=1403]="SparkOfFocus",n[n.SparkOfVolts=1404]="SparkOfVolts",n[n.SparkOfResistance=1405]="SparkOfResistance",n[n.SparkOfShock=1406]="SparkOfShock",n[n.ThreadOfFury=1600]="ThreadOfFury",n[n.ThreadOfAscent=1601]="ThreadOfAscent",n[n.ThreadOfFinality=1602]="ThreadOfFinality",n[n.ThreadOfWarding=1603]="ThreadOfWarding",n[n.ThreadOfTransmutation=1604]="ThreadOfTransmutation",n[n.ThreadOfEvolution=1605]="ThreadOfEvolution",n[n.ThreadOfBinding=1606]="ThreadOfBinding",n[n.ThreadOfGeneration=1607]="ThreadOfGeneration",n[n.ThreadOfPropagation=1608]="ThreadOfPropagation",n[n.WhisperOfImpetus=537774543]="WhisperOfImpetus",f;var n})();const ut={[f.WhisperOfDurance]:{id:f.WhisperOfDurance,name:"Whisper of Durance",description:"Slow that you apply to targets lasts longer. For those abilities that linger, their duration will also increase.",type:h.O.Stasis,bonus:[{stat:r.WB.Strength,value:10}],cost:1,requiredArmorAffinity:0,hash:3469412969},[f.WhisperOfChains]:{id:f.WhisperOfChains,name:"Whisper of Chains",description:"While you are near frozen targets or a friendly Stasis crystal, you take reduced damage from targets.",type:h.O.Stasis,bonus:[{stat:r.WB.Recovery,value:10}],cost:1,requiredArmorAffinity:0,hash:537774540},[f.WhisperOfConduction]:{id:f.WhisperOfConduction,name:"Whisper of Conduction",description:"Nearby Stasis shards track to your position.",type:h.O.Stasis,bonus:[{stat:r.WB.Intellect,value:10},{stat:r.WB.Resilience,value:10}],cost:1,requiredArmorAffinity:0,hash:2483898429},[f.WhisperOfBonds]:{id:f.WhisperOfBonds,name:"Whisper of Bonds",description:"Defeating frozen targets generates an Orb of Power.",type:h.O.Stasis,bonus:[{stat:r.WB.Intellect,value:-10}],cost:1,requiredArmorAffinity:0,hash:3469412974},[f.WhisperOfHunger]:{id:f.WhisperOfHunger,name:"Whisper of Hunger",description:"Increases the melee energy gained from picking up Stasis shards.",type:h.O.Stasis,bonus:[{stat:r.WB.Strength,value:-20}],cost:1,requiredArmorAffinity:0,hash:2483898431},[f.WhisperOfFractures]:{id:f.WhisperOfFractures,name:"Whisper of Fractures",description:"Your melee energy recharges faster when you are near two or more targets.",type:h.O.Stasis,bonus:[{stat:r.WB.Discipline,value:-10}],cost:1,requiredArmorAffinity:0,hash:537774542},[f.WhisperOfImpetus]:{id:f.WhisperOfImpetus,name:"Whisper of Impetus",description:"Damaging targets with a Stasis melee reloads your stowed weapons and grants you a temporary boost to weapon ready speed.",type:h.O.Stasis,bonus:[{stat:r.WB.Resilience,value:10}],cost:1,requiredArmorAffinity:0,hash:537774543},[f.EchoOfExpulsion]:{id:f.EchoOfExpulsion,name:"Echo of Expulsion",description:"Void ability final blows cause targets to explode.",type:h.O.Void,bonus:[{stat:r.WB.Intellect,value:10}],cost:1,requiredArmorAffinity:0,hash:2272984665},[f.EchoOfProvision]:{id:f.EchoOfProvision,name:"Echo of Provision",description:"Damaging targets with grenades grants melee energy.",type:h.O.Void,bonus:[{stat:r.WB.Strength,value:-10}],cost:1,requiredArmorAffinity:0,hash:2272984664},[f.EchoOfPersistence]:{id:f.EchoOfPersistence,name:"Echo of Persistence",description:"Void buffs applied to you (Invisibility, Overshield, and Devour) have increased duration.",type:h.O.Void,bonus:[{stat:r.AR.ClassAbilityRegenerationStat,value:-10}],cost:1,requiredArmorAffinity:0,hash:2272984671},[f.EchoOfLeeching]:{id:f.EchoOfLeeching,name:"Echo of Leeching",description:"Melee final blows start health regeneration for you and nearby allies.",type:h.O.Void,bonus:[{stat:r.WB.Resilience,value:10}],cost:1,requiredArmorAffinity:0,hash:2272984670},[f.EchoOfDomineering]:{id:f.EchoOfDomineering,name:"Echo of Domineering",description:"After suppressing a target, you gain greatly increased mobility for a short duration, and your equipped weapon is reloaded from reserves.\n\nDefeating suppressed targets creates a Void Breach.",type:h.O.Void,bonus:[{stat:r.WB.Discipline,value:10}],cost:1,requiredArmorAffinity:0,hash:2272984657},[f.EchoOfDilation]:{id:f.EchoOfDilation,name:"Echo of Dilation",description:"While crouched, you sneak faster and gain enhanced radar resolution.",type:h.O.Void,bonus:[{stat:r.WB.Mobility,value:10},{stat:r.WB.Intellect,value:10}],cost:1,requiredArmorAffinity:0,hash:2272984656},[f.EchoOfUndermining]:{id:f.EchoOfUndermining,name:"Echo of Undermining",description:"Your Void grenades weaken targets.",type:h.O.Void,bonus:[{stat:r.WB.Discipline,value:-20}],cost:1,requiredArmorAffinity:0,hash:2272984668},[f.EchoOfInstability]:{id:f.EchoOfInstability,name:"Echo of Instability",description:"Defeating targets with grenades grants Volatile Rounds to your Void weapons.",type:h.O.Void,bonus:[{stat:r.WB.Strength,value:10}],cost:1,requiredArmorAffinity:0,hash:2661180600},[f.EchoOfHarvest]:{id:f.EchoOfHarvest,name:"Echo of Harvest",description:"Defeating weakened targets creates an Orb of Power and a Void Breach.",type:h.O.Void,bonus:[{stat:r.WB.Intellect,value:-10}],cost:1,requiredArmorAffinity:0,hash:2661180601},[f.EchoOfObscurity]:{id:f.EchoOfObscurity,name:"Echo of Obscurity",description:"Finisher final blows grant Invisibility.",type:h.O.Void,bonus:[{stat:r.WB.Recovery,value:10}],cost:1,requiredArmorAffinity:0,hash:2661180602},[f.EchoOfStarvation]:{id:f.EchoOfStarvation,name:"Echo of Starvation",description:"Picking up a Void Breach or an Orb of Power grants Devour.",type:h.O.Void,bonus:[{stat:r.WB.Recovery,value:-10}],cost:1,requiredArmorAffinity:0,hash:2661180603},[f.EchoOfVigilance]:{id:f.EchoOfVigilance,name:"Echo of Vigilance",description:"Defeating a target while your shields are depleted grants you a temporary Void overshield.",type:h.O.Void,bonus:[{stat:r.WB.Recovery,value:-10}],cost:1,requiredArmorAffinity:0,hash:3854948621},[f.EmberOfBenelovence]:{id:f.EmberOfBenelovence,name:"Ember of Benevolence",description:"Applying restoration, cure, or radiant to allies grants increased grenade, melee, and class ability regeneration for a short duration.",type:h.O.Solar,bonus:[{stat:r.WB.Discipline,value:-10}],cost:1,requiredArmorAffinity:0,hash:362132292},[f.EmberOfBeams]:{id:f.EmberOfBeams,name:"Ember of Beams",description:"Your Solar Super projectiles have stronger target acquisition.",type:h.O.Solar,bonus:[{stat:r.WB.Intellect,value:10}],cost:1,requiredArmorAffinity:0,hash:362132295},[f.EmberOfEmpyrean]:{id:f.EmberOfEmpyrean,name:"Ember of Empyrean",description:"Solar weapon or ability final blows extend the duration of restoration and radiant effects applied to you.",type:h.O.Solar,bonus:[{stat:r.WB.Resilience,value:-10}],cost:1,requiredArmorAffinity:0,hash:362132294},[f.EmberOfCombustion]:{id:f.EmberOfCombustion,name:"Ember of Combustion",description:"Final blows with a Solar Super causes targets to ignite and creates a Firesprite.",type:h.O.Solar,bonus:[{stat:r.WB.Strength,value:10}],cost:1,requiredArmorAffinity:0,hash:362132289},[f.EmberOfChar]:{id:f.EmberOfChar,name:"Ember of Char",description:"Your Solar ignitions spread scorch to affected targets.",type:h.O.Solar,bonus:[{stat:r.WB.Discipline,value:10}],cost:1,requiredArmorAffinity:0,hash:362132291},[f.EmberOfTempering]:{id:f.EmberOfTempering,name:"Ember of Tempering",description:"Solar weapon final blows grant you and your allies increased recovery for a short duration. Stacks 3 times.\n\nWhile Ember of Tempering is active, your weapons have increased airborne effectiveness, and your Solar weapon final blows create a Firesprite.",type:h.O.Solar,bonus:[{stat:r.WB.Recovery,value:-10}],cost:1,requiredArmorAffinity:0,hash:362132290},[f.EmberOfEruption]:{id:f.EmberOfEruption,name:"Ember of Eruption",description:"Your Solar ignitions have increased area of effect.",type:h.O.Solar,bonus:[{stat:r.WB.Strength,value:10}],cost:1,requiredArmorAffinity:0,hash:1051276348},[f.EmberOfWonder]:{id:f.EmberOfWonder,name:"Ember of Wonder",description:"Rapidly defeating multiple targets with Solar ignitions generates an Orb of Power.",type:h.O.Solar,bonus:[{stat:r.WB.Resilience,value:10}],cost:1,requiredArmorAffinity:0,hash:1051276350},[f.EmberOfSearing]:{id:f.EmberOfSearing,name:"Ember of Searing",description:"Defeating scorched targets grants melee energy and creates a Firesprite.",type:h.O.Solar,bonus:[{stat:r.WB.Recovery,value:10}],cost:1,requiredArmorAffinity:0,hash:1051276351},[f.EmberOfTorches]:{id:f.EmberOfTorches,name:"Ember of Torches",description:"Powered melee attacks against combatants make you and nearby allies radiant.",type:h.O.Solar,bonus:[{stat:r.WB.Discipline,value:-10}],cost:1,requiredArmorAffinity:0,hash:362132288},[f.EmberOfMercy]:{id:f.EmberOfMercy,name:"Ember of Mercy",description:"When you revive an ally, you and other nearby allies gain restoration.\n\nPicking up a Firesprite grants restoration.",type:h.O.Solar,bonus:[{stat:r.WB.Resilience,value:10}],cost:1,requiredArmorAffinity:0,hash:4180586737},[f.SparkOfBrilliance]:{id:f.SparkOfBrilliance,name:"Spark of Brilliance",description:"Defeating a blinded target with precision damage creates a blinding explosion.",type:h.O.Arc,bonus:[{stat:r.WB.Intellect,value:10}],cost:1,requiredArmorAffinity:0,hash:3277705905},[f.SparkOfFeedback]:{id:f.SparkOfFeedback,name:"Spark of Feedback",description:"Taking melee damage briefly increases your outgoing melee damage.",type:h.O.Arc,bonus:[{stat:r.WB.Resilience,value:10}],cost:1,requiredArmorAffinity:0,hash:3277705907},[f.SparkOfDischarge]:{id:f.SparkOfDischarge,name:"Spark of Discharge",description:"Arc weapon final blows have a chance to create an Ionic Trace.",type:h.O.Arc,bonus:[{stat:r.WB.Strength,value:-10}],cost:1,requiredArmorAffinity:0,hash:1727069362},[f.SparkOfFocus]:{id:f.SparkOfFocus,name:"Spark of Focus",description:"After sprinting for a short time, your class ability regeneration is increased.",type:h.O.Arc,bonus:[{stat:r.AR.ClassAbilityRegenerationStat,value:-10}],cost:1,requiredArmorAffinity:0,hash:1727069360},[f.SparkOfVolts]:{id:f.SparkOfVolts,name:"Spark of Volts",description:"Finishers make you amplified.",type:h.O.Arc,bonus:[{stat:r.WB.Recovery,value:10}],cost:1,requiredArmorAffinity:0,hash:3277705904},[f.SparkOfResistance]:{id:f.SparkOfResistance,name:"Spark of Resistance",description:"While surrounded by combatants, you are more resistant to incoming damage.",type:h.O.Arc,bonus:[{stat:r.WB.Strength,value:10}],cost:1,requiredArmorAffinity:0,hash:1727069366},[f.SparkOfShock]:{id:f.SparkOfShock,name:"Spark of Shock",description:"Your Arc grenades jolt targets.",type:h.O.Arc,bonus:[{stat:r.WB.Discipline,value:-10}],cost:1,requiredArmorAffinity:0,hash:1727069364},[f.ThreadOfFury]:{id:f.ThreadOfFury,name:"Thread of Fury",description:"Damaging targets with a Tangle grants melee energy.",type:h.O.Strand,bonus:[{stat:r.WB.Strength,value:-10}],cost:1,requiredArmorAffinity:0,hash:4208512219},[f.ThreadOfAscent]:{id:f.ThreadOfAscent,name:"Thread of Ascent",description:"Activating your grenade ability reloads your equipped weapon and grants bonus airborne effectiveness and handling for a short duration.",type:h.O.Strand,bonus:[{stat:r.WB.Mobility,value:10}],cost:1,requiredArmorAffinity:0,hash:4208512216},[f.ThreadOfFinality]:{id:f.ThreadOfFinality,name:"Thread of Finality",description:"Finisher final blows create Threadlings.",type:h.O.Strand,bonus:[{stat:r.WB.Recovery,value:10}],cost:1,requiredArmorAffinity:0,hash:4208512217},[f.ThreadOfWarding]:{id:f.ThreadOfWarding,name:"Thread of Warding",description:"Picking up an Orb of Power grants Woven Mail.",type:h.O.Strand,bonus:[{stat:r.WB.Resilience,value:-10}],cost:1,requiredArmorAffinity:0,hash:4208512222},[f.ThreadOfTransmutation]:{id:f.ThreadOfTransmutation,name:"Thread of Transmutation",description:"While you have Woven Mail, weapon final blows create a Tangle.",type:h.O.Strand,bonus:[{stat:r.WB.Strength,value:10}],cost:1,requiredArmorAffinity:0,hash:4208512221},[f.ThreadOfEvolution]:{id:f.ThreadOfEvolution,name:"Thread of Evolution",description:"Threadlings travel farther and deal additional damage.",type:h.O.Strand,bonus:[{stat:r.WB.Intellect,value:10}],cost:1,requiredArmorAffinity:0,hash:4208512211},[f.ThreadOfBinding]:{id:f.ThreadOfBinding,name:"Thread of Binding",description:"Super final blows emit a suspending burst from the target.",type:h.O.Strand,bonus:[{stat:r.WB.Resilience,value:10}],cost:1,requiredArmorAffinity:0,hash:3192552688},[f.ThreadOfGeneration]:{id:f.ThreadOfGeneration,name:"Thread of Generation",description:"Dealing damage generates grenade energy.",type:h.O.Strand,bonus:[{stat:r.WB.Discipline,value:-10}],cost:1,requiredArmorAffinity:0,hash:3192552691},[f.ThreadOfPropagation]:{id:f.ThreadOfPropagation,name:"Thread of Propagation",description:"Powered melee final blows grant your Strand weapons Unraveling Rounds.",type:h.O.Strand,bonus:[{stat:r.WB.Strength,value:10}],cost:1,requiredArmorAffinity:0,hash:4208512210}},Lt={outputEncoding:"Base64"},$t={inputEncoding:"Base64",outputEncoding:"String"};let B=(()=>{class n{constructor(){this.__configuration=this.loadCurrentConfiguration(),this._configuration=new dt.X(this.__configuration),this.configuration=this._configuration.asObservable(),this._storedConfigurations=new dt.X(this.listSavedConfigurations()),this.storedConfigurations=this._storedConfigurations.asObservable()}get readonlyConfigurationSnapshot(){return Object.assign(this.__configuration,{})}modifyConfiguration(e){e(this.__configuration),this.saveCurrentConfiguration(this.__configuration)}saveConfiguration(e,o){let a=this.listSavedConfigurations(),s=this.listSavedConfigurations().map((d,u)=>[d,u]).filter(d=>d[0].name==e)[0];s&&a.splice(s[1],1),a.push({configuration:o,name:e,version:"2.5.2"}),a=a.sort((d,u)=>d.nameu.name?1:0);const l=rt.compress(JSON.stringify(a),Lt);localStorage.setItem("storedConfigurations",l),this._storedConfigurations.next(a)}doesSavedConfigurationExist(e){return this.listSavedConfigurations().filter(o=>o.name==e).length>0}loadSavedConfiguration(e){let o=this.listSavedConfigurations().filter(a=>a.name==e)[0];return!!o&&(this.saveCurrentConfiguration(o.configuration),!0)}checkAndFixOldSavedConfigurations(e){if(e.configuration=Object.assign(Ut.buildEmptyConfiguration(),e.configuration),e.configuration.hasOwnProperty("minimumStatTier")){let o=e.configuration.minimumStatTier;e.configuration.minimumStatTiers[r.WB.Mobility].value=o[r.WB.Mobility],e.configuration.minimumStatTiers[r.WB.Resilience].value=o[r.WB.Resilience],e.configuration.minimumStatTiers[r.WB.Recovery].value=o[r.WB.Recovery],e.configuration.minimumStatTiers[r.WB.Discipline].value=o[r.WB.Discipline],e.configuration.minimumStatTiers[r.WB.Intellect].value=o[r.WB.Intellect],e.configuration.minimumStatTiers[r.WB.Strength].value=o[r.WB.Strength],delete e.configuration.minimumStatTier}if(e.configuration.hasOwnProperty("selectedExoticHash")&&(e.configuration.selectedExotics=[e.configuration.selectedExoticHash],delete e.configuration.selectedExoticHash),e.configuration.hasOwnProperty("maximumStatMods")){for(let a=e.configuration.maximumStatMods;a<5;a++)e.configuration.maximumModSlots[1+a].value=0;delete e.configuration.maximumStatMods}e.configuration.enabledMods=e.configuration.enabledMods.filter(o=>!!ut[o]),e.configuration.limitParsedResults=!0,e.configuration.addConstent1Resilience=!1}listSavedConfigurations(){let e;try{e=localStorage.getItem("storedConfigurations")||"[]","["!=e.substr(0,1)&&(e=rt.decompress(e,$t))}catch{e=[]}let o=JSON.parse(e)||[];return o=o.sort((a,s)=>a.names.name?1:0),o.forEach(a=>this.checkAndFixOldSavedConfigurations(a)),o}deleteStoredConfiguration(e){let o=this.listSavedConfigurations(),a=this.listSavedConfigurations().map((s,l)=>[s,l]).filter(s=>s[0].name==e)[0];a&&o.splice(a[1],1),localStorage.setItem("storedConfigurations",rt.compress(JSON.stringify(o),Lt)),this._storedConfigurations.next(o)}saveCurrentConfigurationToName(e){this.saveConfiguration(e,this.__configuration)}saveCurrentConfiguration(e){console.debug("write configuration",e),this.__configuration=Object.assign(Ut.buildEmptyConfiguration(),e),this.__configuration.enabledMods=[].concat(this.__configuration.enabledMods),this.__configuration.minimumStatTiers=Object.assign({},this.__configuration.minimumStatTiers);const o=rt.compress(JSON.stringify(this.__configuration),Lt);localStorage.setItem("currentConfig",o),this._configuration.next(Object.assign({},this.__configuration))}loadCurrentConfiguration(){let e;try{e=localStorage.getItem("currentConfig")||"{}","{"!=e.substr(0,1)&&(e=rt.decompress(e,$t))}catch{e={}}var o={name:"dummy",version:"1",configuration:JSON.parse(e)};return this.checkAndFixOldSavedConfigurations(o),o.configuration}getCurrentConfigBase64Compressed(){let e=localStorage.getItem("currentConfig")||"{}";return"{"==e.substr(0,1)&&(e=rt.compress(e,{outputEncoding:"Base64"})),e}getAllStoredConfigurationsBase64Compressed(){let e=localStorage.getItem("storedConfigurations")||"[]";return"["==e.substr(0,1)&&(e=rt.compress(e,{outputEncoding:"Base64"})),e}getStoredConfigurationBase64Compressed(e){let o=this.listSavedConfigurations().filter(a=>a.name==e)[0];return o?rt.compress(JSON.stringify(o),{outputEncoding:"Base64"}):""}resetCurrentConfiguration(){this.saveCurrentConfiguration(Ut.buildEmptyConfiguration())}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();var G=_(8012),ve=_(1016);let Ft=(()=>{class n{constructor(e,o){this.authService=e,this.http=o}$httpWithoutKey(e){var o=this;return(0,m.Z)(function*(){return o.http.get(e.url,{params:e.params}).toPromise()})()}$httpPost(e){var o=this;return(0,m.Z)(function*(){return o.http.post(e.url,e.body,{params:e.params,headers:{"X-API-Key":S_apiKey,Authorization:"Bearer "+o.authService.accessToken}}).toPromise().catch(function(){var a=(0,m.Z)(function*(s){console.error(s)});return function(s){return a.apply(this,arguments)}}())})()}$http(e){var o=this;return(0,m.Z)(function*(){return o.http.get(e.url,{params:e.params,headers:{"X-API-Key":S_apiKey,Authorization:"Bearer "+o.authService.accessToken}}).toPromise().catch(function(){var a=(0,m.Z)(function*(s){console.error(s),"SystemDisabled"==s.error?.ErrorStatus&&(console.info("System is disabled. Revoking auth, must re-login"),yield o.authService.logout()),"Internal Server Error"!=s.ErrorStatus&&console.info("API-Error")});return function(s){return a.apply(this,arguments)}}())})()}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(L),t.LFG(at.eN))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();var Ae=_(9891);let Pt=(()=>{class n{constructor(e,o){this.authService=e,this.http=o}getMembershipDataForCurrentUser(){var e=this;return(0,m.Z)(function*(){var o=JSON.parse(localStorage.getItem("auth-membershipInfo")||"null"),a=JSON.parse(localStorage.getItem("auth-membershipInfo-date")||"0");if(o&&Date.now()-a<864e5)return console.log("getMembershipDataForCurrentUser -> loading cached! "),o;console.info("BungieApiService","getMembershipDataForCurrentUser");let l=(yield(0,Ae.Rm)(u=>e.http.$http(u)))?.Response.destinyMemberships;console.info("Memberships:",l),l=l.filter(u=>0==u.crossSaveOverride||u.crossSaveOverride==u.membershipType),console.info("Filtered Memberships:",l);let d=null;if(1==l?.length)d=l?.[0];else{let u=0,x=0;for(let p in l){const b=l?.[p],Z=yield(0,G.Ai)(M=>e.http.$http(M),{components:[100],membershipType:b.membershipType,destinyMembershipId:b.membershipId});if(Z&&Z.Response?.profile.data?.dateLastPlayed){let M=Date.parse(Z.Response?.profile.data?.dateLastPlayed);M>x&&(x=M,u=p)}}console.info("getMembershipDataForCurrentUser","Selected membership data for the last logged in membership."),d=l?.[u]}return localStorage.setItem("auth-membershipInfo",JSON.stringify(d)),localStorage.setItem("auth-membershipInfo-date",JSON.stringify(Date.now())),d})()}getCharacters(){var e=this;return(0,m.Z)(function*(){let o=yield e.getMembershipDataForCurrentUser();if(!o)return yield e.authService.logout(),[];const a=yield(0,G.Ai)(s=>e.http.$http(s),{components:[200],membershipType:o.membershipType,destinyMembershipId:o.membershipId});return Object.values(a?.Response.characters.data||{}).map(s=>({characterId:s.characterId,clazz:s.classType,emblemUrl:s.emblemBackgroundPath,lastPlayed:Date.parse(s.dateLastPlayed)}))||[]})()}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(L),t.LFG(Ft))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const Xt="vendor-next-refresh-time";let we=(()=>{class n{constructor(e,o,a){this.membership=e,this.http=o,this.db=a}getVendorArmorItemsForCharacter(e,o,a){var s=this;return(0,m.Z)(function*(){const l=yield(0,G.dH)(p=>s.http.$http(p),{components:[400,402,304],characterId:a,membershipType:o.membershipType,destinyMembershipId:o.membershipId,filter:0}),d=Object.entries(l.Response.vendors.data).filter(([p,b])=>b.enabled).flatMap(([p,b])=>{const Z=l.Response.sales.data?.[p]?.saleItems??{},M=l.Response.itemComponents[parseInt(p)].stats.data??{};return{items:Object.entries(Z).map(([U,O])=>{const q=e[O.itemHash],gt=M[parseInt(U)];if(128==(128&O.augments)||!q||!gt)return;const y=Object.values(gt.stats).reduce((X,{statHash:tt,value:be})=>(X[tt]=be,X),{}),P=Yt(q,`v${p}-${O.itemHash}`,E.Vendor);return Gt(P,y),P}).filter(Boolean),nextRefreshDate:new Date(b.nextRefreshDate).getTime()}}).filter(({items:p})=>p.length>0),u=d.flatMap(({items:p})=>p),x=Math.min(...d.map(({nextRefreshDate:p})=>p));return console.log(`Collected ${u.length} vendor armor items for character ${a}`),{items:u,nextRefreshDate:x}})()}isVendorCacheValid(){const e=localStorage.getItem(Xt);if(!e)return!1;const o=new Date(e);return!!isFinite(o.getTime())&&o>new Date}writeVendorCache(e,o){var a=this;return(0,m.Z)(function*(){console.log(`Writing new vendor cache (${e.length} items), valid until ${o.toISOString()}`),yield a.db.inventoryArmor.where({source:E.Vendor}).delete(),yield a.db.inventoryArmor.bulkPut(e),localStorage.setItem(Xt,o.toISOString())})()}updateVendorArmorItemsCache(){var e=this;return(0,m.Z)(function*(){if(e.isVendorCacheValid())return void console.log("Using vendor items cache");const o=yield e.membership.getMembershipDataForCurrentUser(),a=yield e.membership.getCharacters(),s=(yield e.db.manifestArmor.toArray()).filter(x=>2==x.itemType).reduce((x,p)=>(x[p.hash]=p,x),{}),l=yield Promise.all(a.map(({characterId:x})=>e.getVendorArmorItemsForCharacter(s,o,x))),d=l.flatMap(({items:x})=>x),u=Math.min(...l.map(({nextRefreshDate:x})=>x));return e.writeVendorCache(d,new Date(u))})()}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(Pt),t.LFG(Ft),t.LFG(et))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function te(n,i,e,o){const a={2996146975:0,392767087:0,1943323491:0,1735777505:0,144602215:0,4244567218:0};for(let l of i)l.statTypeHash in a&&(a[l.statTypeHash]+=l.value);if(n.slot!=C.y.ArmorSlotClass){const l=[e[6],e[7],e[8],e[9]];n.statPlugHashes=l;var s=l.map(d=>o[d||""]).filter(d=>null!=d);for(let d of s)for(let u of d.investmentStats)u.statTypeHash in a&&(a[u.statTypeHash]+=u.value)}Gt(n,a)}let Qt=(()=>{class n{constructor(e,o,a,s,l,d){var u=this;this.authService=e,this.http=o,this.db=a,this.config=s,this.membership=l,this.vendors=d,this.config_assumeEveryLegendaryIsArtifice=!1,this.config.configuration.subscribe(function(){var x=(0,m.Z)(function*(p){u.config_assumeEveryLegendaryIsArtifice=p.assumeEveryLegendaryIsArtifice});return function(p){return x.apply(this,arguments)}}())}transferItem(e,o,a=!1){var s=this;return(0,m.Z)(function*(){let l=yield s.membership.getMembershipDataForCurrentUser();if(!l)return yield s.authService.logout(),!1;let d=yield(0,G.rV)(x=>s.http.$http(x),{membershipType:l.membershipType,destinyMembershipId:l.membershipId,itemInstanceId:e,components:[307]}),u=!1;if(!d)return!1;if(d.Response.characterId!=o){2!=d.Response.item.data?.location&&(yield s.moveItemToVault(d.Response.item.data?.itemInstanceId||""),d=yield(0,G.rV)(p=>s.http.$http(p),{membershipType:l.membershipType,destinyMembershipId:l.membershipId,itemInstanceId:e,components:[307]}));const x={characterId:o,membershipType:3,itemId:d?.Response.item.data?.itemInstanceId||"",itemReferenceHash:d?.Response.item.data?.itemHash||0,stackSize:1,transferToVault:!1};u=!!(yield(0,G.ux)(p=>s.http.$httpPost(p),x))}if(a){let x={characterId:o,membershipType:3,stackSize:1,itemId:d?.Response.item.data?.itemInstanceId||"",itemReferenceHash:d?.Response.item.data?.itemHash||0};u=!!(yield(0,G.DH)(p=>s.http.$httpPost(p),x))}return u})()}moveItemToVault(e){var o=this;return(0,m.Z)(function*(){console.info("moveItemToVault",e);let a=yield o.membership.getMembershipDataForCurrentUser();if(!a)return void(yield o.authService.logout());const s=yield(0,G.rV)(d=>o.http.$http(d),{membershipType:a.membershipType,destinyMembershipId:a.membershipId,itemInstanceId:e,components:[307]}),l={characterId:s?.Response.characterId||"",membershipType:3,itemId:s?.Response.item.data?.itemInstanceId||"",itemReferenceHash:s?.Response.item.data?.itemHash||0,stackSize:1,transferToVault:!0};yield(0,G.ux)(d=>o.http.$httpPost(d),l)})()}getUnlockedExoticArmor(e){var o=this;return(0,m.Z)(function*(){const a=(yield o.db.manifestCollectibles.toArray()).reduce((l,d)=>(l[d.hash]=d.itemHash,l),{}),s=Object.values(e).flatMap(l=>Object.entries(l.collectibles??{})).filter(([l,{state:d}])=>0==(1&d)&&a[parseInt(l)]).map(([l,d])=>a[parseInt(l)]);return new Set(s)})()}updateArmorItems(e=!1){var o=this;return(0,m.Z)(function*(){if(!e&&localStorage.getItem("LastArmorUpdate")&&localStorage.getItem("last-armor-db-name")==o.db.inventoryArmor.db.name&&Date.now()-Number.parseInt(localStorage.getItem("LastArmorUpdate")||"0")<18e5)return;let a=yield o.membership.getMembershipDataForCurrentUser();if(!a)return void(yield o.authService.logout());console.info("BungieApiService","getProfile");let s=yield(0,G.Ai)(y=>o.http.$http(y),{components:[205,201,103,102,304,300,302,305,308,800],membershipType:a.membershipType,destinyMembershipId:a.membershipId});yield o.vendors.updateVendorArmorItemsCache();const l=yield o.getUnlockedExoticArmor(s.Response.characterCollectibles.data??{});let d=s.Response.profileInventory.data?.items||[];for(let y in s.Response.characterEquipment.data)d=d.concat(s.Response.characterEquipment.data[y].items);for(let y in s.Response.characterInventories.data)d=d.concat(s.Response.characterInventories.data[y].items);var u=d.filter(y=>[3853748946,4257549984,4257549985].indexOf(y.itemHash)>-1).reduce((y,P)=>(P.itemHash.toString()in y||(y[P.itemHash]=0),y[P.itemHash]+=P.quantity,y),{});let x=s.Response.profileCurrencies.data?.items.filter(y=>3159615086==y.itemHash)||[];u[3159615086]=x.length>0?x[0].quantity:0;let p=s.Response.profileCurrencies.data?.items.filter(y=>1022552290==y.itemHash)||[];u[1022552290]=p.length>0?p[0].quantity:0,localStorage.setItem("stored-materials",JSON.stringify(u));const b=new Set(d.map(y=>y.itemHash));l.forEach(y=>b.add(y));let Z=yield o.db.manifestArmor.toArray();const M=Z.filter(y=>b.has(y.hash)),k=Z.filter(y=>19==y.itemType);let U=Object.fromEntries(M.map(y=>[y.hash,y])),O=Object.fromEntries(k.map(y=>[y.hash,y])),q=d.filter(y=>!!y.itemInstanceId).filter(y=>3284755031!==y.bucketHash).filter(y=>!!((s.Response.itemComponents.stats.data||{})[y.itemInstanceId||""]?.stats||{})[392767087]).filter(y=>!!((s.Response.itemComponents.instances.data||{})[y.itemInstanceId||""]||{}).energy).map(y=>{let X=(s.Response.itemComponents.instances.data||{})[y.itemInstanceId||""]||{};if(!U[y.itemHash])return console.warn("Missing manifest item for item hash",y.itemHash),null;let tt=Yt(U[y.itemHash],y.itemInstanceId||"",E.Inventory);tt.masterworked=!!X.energy&&10==X.energy.energyCapacity,tt.energyLevel=X.energy?X.energy.energyCapacity:0;const $c=(s.Response.itemComponents.sockets.data||{})[y.itemInstanceId]?.sockets.map(Ce=>Ce.plugHash)??[];return te(tt,U[y.itemHash]?.investmentStats??[],$c,O),tt.perk==r.Pn.SlotArtifice&&((((s.Response.itemComponents.perks.data||{})[y.itemInstanceId||""]||{}).perks||[]).filter(Xc=>229248542==Xc.perkHash).length>0||(tt.perk=r.Pn.None)),!tt.isExotic&&o.config_assumeEveryLegendaryIsArtifice&&(tt.perk=r.Pn.SlotArtifice),tt}).filter(Boolean);const gt=Array.from(l).map(y=>{const P=U[y];if(!P)return console.error("Couldn't find manifest item for exotic",y),null;const X=Yt(P,`c${P.hash}`,E.Collections);return te(X,P.investmentStats,P.socketEntries.map(tt=>tt.singleInitialItemHash),O),X}).filter(Boolean);return q=q.concat(gt),q=q.filter(y=>!y.statPlugHashes||null!=y.statPlugHashes[0]),yield o.db.inventoryArmor.where("source").notEqual(E.Vendor).delete(),yield o.db.inventoryArmor.bulkAdd(q),localStorage.setItem("LastArmorUpdate",Date.now().toString()),localStorage.setItem("last-armor-db-name",o.db.inventoryArmor.db.name),q})()}getArmorPerk(e){if(S_featureFlags_enableGuardianGamesFeatures&&(1013401891===e.hash||366019830===e.hash||537041732==e.hash))return r.Pn.GuardianGamesClassItem;const o=e.sockets?.socketEntries??[];if(o.find(a=>1328==a.reusablePlugSetHash))return r.Pn.SlotArtifice;for(const a of o){const s=a.singleInitialItemHash;if(!s)continue;const l=Object.entries(r.DH).find(d=>d[1]==s);if(l)return parseInt(l[0])}return r.Pn.None}updateVendorNames(e){var o=this;return(0,m.Z)(function*(){const s=Object.values(e.DestinyVendorDefinition).map(l=>({vendorId:l.hash,vendorName:l.displayProperties.name}));yield o.db.vendorNames.clear(),yield o.db.vendorNames.bulkAdd(s)})()}updateAbilities(e){return(0,m.Z)(function*(){const o=Object.values(e.DestinyInventoryItemDefinition).filter(a=>a.plug?.plugCategoryIdentifier?.match(/\.(supers|grenades|class_abilities|melee|aspects|fragments)$/));localStorage.setItem("allAbilities",JSON.stringify(o))})()}updateExoticCollectibles(e){var o=this;return(0,m.Z)(function*(){const a=Object.entries(e.DestinyCollectibleDefinition).filter(([s,l])=>{const d=e.DestinyInventoryItemDefinition[l.itemHash];return"Exotic"==d?.inventory?.tierTypeName&&2==d?.itemType}).map(([s,l])=>({hash:parseInt(s),itemHash:l.itemHash}));console.log("Storing",a.length,"exotic armor hashes"),yield o.db.manifestCollectibles.clear(),yield o.db.manifestCollectibles.bulkPut(a)})()}updateManifest(e=!1){var o=this;return(0,m.Z)(function*(){const a=o.db.lastManifestUpdate();let s=null;if(a&&!e){if(Date.now()-a.updatedAt>9e5&&(s=yield(0,G.KN)(p=>o.http.$http(p)),a.version==s.Response.version))return void console.debug("bungieApiService - updateManifest","Abort updateManifest due to fitting ManifestVersion");if(Date.now()-a.updatedAt<864e5)return void console.debug("bungieApiService - updateManifest","Abort updateManifest due to fitting Date")}null==s&&(s=yield(0,G.KN)(x=>o.http.$http(x)));const l=s.Response.version,d=yield(0,ve.xG)(x=>o.http.$httpWithoutKey(x),{destinyManifest:s.Response,tableNames:["DestinyInventoryItemDefinition","DestinyCollectibleDefinition","DestinyVendorDefinition"],language:"en"});console.log("manifestTables.DestinyInventoryItemDefinition",d.DestinyInventoryItemDefinition),yield o.updateExoticCollectibles(d),yield o.updateVendorNames(d),yield o.updateAbilities(d);let u=Object.entries(d.DestinyInventoryItemDefinition).filter(([x,p])=>19==p.itemType||2==p.itemType||3448274439==p.inventory?.bucketTypeHash||3551918588==p.inventory?.bucketTypeHash||14239492==p.inventory?.bucketTypeHash||20886954==p.inventory?.bucketTypeHash).map(([x,p])=>{let b=C.y.ArmorSlotNone;(p.itemCategoryHashes?.indexOf(45)||-1)>-1&&(b=C.y.ArmorSlotHelmet),(p.itemCategoryHashes?.indexOf(46)||-1)>-1&&(b=C.y.ArmorSlotGauntlet),(p.itemCategoryHashes?.indexOf(47)||-1)>-1&&(b=C.y.ArmorSlotChest),(p.itemCategoryHashes?.indexOf(48)||-1)>-1&&(b=C.y.ArmorSlotLegs),(p.itemCategoryHashes?.indexOf(49)||-1)>-1&&(b=C.y.ArmorSlotClass);const Z=(p.sockets?.socketEntries.filter(q=>2512726577==q.socketTypeHash||1108765570==q.socketTypeHash||959256494==q.socketTypeHash||2512726577==q.socketTypeHash||3219375296==q.socketTypeHash||968742181==q.socketTypeHash)||[]).length>0,M="Exotic"==p.inventory?.tierTypeName?1:0;let k=null;M&&(k=(p.sockets?.socketEntries.filter(gt=>965959289==gt.socketTypeHash).map(gt=>gt.singleInitialItemHash)||[])[0]);var U=[1862490585,1862490584,1862490584,1862490583,2471437758],O=p.quality?.versions.filter(q=>U.includes(q.powerCapHash)).length==p.quality?.versions.length;return{hash:p.hash,icon:p.displayProperties.icon,watermarkIcon:(p.quality?.displayVersionWatermarkIcons||[null])[0],name:p.displayProperties.name,description:p.displayProperties.description,clazz:p.classType,armor2:Z,slot:b,isExotic:M,isSunset:O,rarity:p.inventory?.tierType,exoticPerkHash:k,itemType:p.itemType,itemSubType:p.itemSubType,investmentStats:p.investmentStats,perk:o.getArmorPerk(p),socketEntries:p.sockets?.socketEntries??[]}});return yield o.db.writeManifestArmor(u,l),d})()}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(L),t.LFG(Ft),t.LFG(et),t.LFG(B),t.LFG(Pt),t.LFG(we))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),K=(()=>{class n{constructor(e,o,a,s,l,d){var u=this;this.db=e,this.config=o,this.status=a,this.api=s,this.auth=l,this.router=d,this.allArmorResults=[],this.currentClass=D.None,this._config=Ut.buildEmptyConfiguration(),this.updatingResults=!1,this.refreshing=!1,this._inventory=new ct.t(1),this.inventory=this._inventory.asObservable(),this._manifest=new ct.t(1),this.manifest=this._manifest.asObservable(),this._armorResults=new dt.X({results:this.allArmorResults}),this.armorResults=this._armorResults.asObservable();let x=!1,p=!1;d.events.pipe((0,st.b)(5)).subscribe(function(){var b=(0,m.Z)(function*(Z){!u.auth.refreshTokenExpired&&(yield u.auth.autoRegenerateTokens())?!l.isAuthenticated()||Z instanceof I.m2&&(u.clearResults(),console.debug("Trigger refreshAll due to router.events"),yield u.refreshAll(!x),x=!0):yield u.auth.logout()});return function(Z){return b.apply(this,arguments)}}()),o.configuration.pipe((0,st.b)(500)).subscribe(function(){var b=(0,m.Z)(function*(Z){!u.auth.refreshTokenExpired&&(yield u.auth.autoRegenerateTokens())?!l.isAuthenticated()||(u._config=Z,p=!0,console.debug("Trigger refreshAll due to config change"),yield u.refreshAll(!x),x=!0,p=!1):yield u.auth.logout()});return function(Z){return b.apply(this,arguments)}}())}clearResults(){this.allArmorResults=[],this._armorResults.next({results:this.allArmorResults,totalResults:0,totalTime:0,itemCount:0,maximumPossibleTiers:[0,0,0,0,0,0],statCombo3x100:[],statCombo4x100:[]})}shouldCalculateResults(){return console.log("this.router.url",this.router.url),"/"==this.router.url}refreshAll(e=!1,o=!1){var a=this;return(0,m.Z)(function*(){if(!a.refreshing){console.debug("Execute refreshAll");try{a.refreshing=!0;let s=yield a.updateManifest(o);(yield a.updateInventoryItems(s||e))&&a._inventory.next(null),a.shouldCalculateResults()&&a.updateResults()}finally{a.refreshing=!1}}})()}updateResults(e=3){if(this.clearResults(),this.updatingResults)console.warn("Called updateResults, but aborting, as it is already running.");else try{console.time("updateResults with WebWorker"),this.updatingResults=!0,this.status.modifyStatus(p=>p.calculatingResults=!0);let o=0,a=[],s=0,l=[],d=new Set,u=new Set;const x=Date.now();for(let p=0;p{if(a.push(Z.results),1==Z.done){o++,s+=Z.stats.permutationCount,l.push(Z.runtime.maximumPossibleTiers);for(let M of Z.runtime.statCombo3x100)d.add(M);for(let M of Z.runtime.statCombo4x100)u.add(M)}if(1==Z.done&&o==e){this.status.modifyStatus(k=>k.calculatingResults=!1),this.updatingResults=!1;let M=[];for(let k of a)M.push(...k);M=M.map(k=>(k.usesCollectionRoll=k.items.some(U=>U[0].source===E.Collections),k.usesVendorRoll=k.items.some(U=>U[0].source===E.Vendor),k)),console.debug("endResults",M),this._armorResults.next({results:M,totalResults:s,itemCount:Z.stats.itemCount,totalTime:Date.now()-x,maximumPossibleTiers:l.reduce((k,U)=>{for(let O=0;O<6;O++)k[O]Math.floor(Math.min(100,k)/10)),statCombo3x100:Array.from(d).map(k=>{let U=[];for(let O=0;O<6;O++)(k&1<0&&U.push(O);return U})||[],statCombo4x100:Array.from(u).map(k=>{let U=[];for(let O=0;O<6;O++)(k&1<0&&U.push(O);return U},[])||[]}),console.timeEnd("updateResults with WebWorker"),b.terminate()}else 1==Z.done&&o!=e&&b.terminate()},b.onerror=Z=>{console.error("ERROR IN WEBWORKER, TERMINATING WEBWORKER",Z),b.terminate()},b.postMessage({currentClass:this.currentClass,config:this._config,threadSplit:{count:e,current:p}})}}finally{}}getItemCountForClass(e,o){var a=this;return(0,m.Z)(function*(){let s=yield a.db.inventoryArmor.where("clazz").equals(e).toArray();return o&&(s=s.filter(l=>l.slot==o)),s=s.filter(l=>l.source==E.Inventory),s.length})()}getExoticsForClass(e,o){var a=this;return(0,m.Z)(function*(){let s=yield a.db.inventoryArmor.where("isExotic").equals(1).toArray();s=s.filter(d=>d.clazz==e&&d.armor2&&(!o||d.slot==o));let l=yield a.db.manifestArmor.where("isExotic").equals(1).toArray();return l=l.filter(d=>d.clazz==e&&d.armor2&&(!o||d.slot==o)),l.map(d=>{const u=s.filter(x=>x.hash==d.hash);return{item:d,inCollection:void 0!==u.find(x=>x.source===E.Collections),inInventory:void 0!==u.find(x=>x.source===E.Inventory),inVendor:void 0!==u.find(x=>x.source===E.Vendor)}})})()}updateManifest(e=!1){var o=this;return(0,m.Z)(function*(){if(o.status.getStatus().updatingManifest)return console.error("Already updating the manifest - abort"),!1;console.debug("updateManifest","Set s.updatingManifest = true"),o.status.modifyStatus(s=>s.updatingManifest=!0),console.debug("updateManifest","Call this.api.updateManifest(force) with force="+e);let a=yield o.api.updateManifest(e);return console.debug("updateManifest","Result is ",a),a&&o._manifest.next(null),console.debug("updateManifest","Set s.updatingManifest = false"),o.status.modifyStatus(s=>s.updatingManifest=!1),!!a})()}updateInventoryItems(e=!1,o=0){var a=this;return(0,m.Z)(function*(){console.debug("updateManifest","Set s.updatingInventory = true"),a.status.modifyStatus(s=>s.updatingInventory=!0);try{let s=yield a.api.updateArmorItems(e);return console.debug("updateManifest","Result is ",s),console.debug("updateManifest","Set s.updatingInventory = false"),a.status.modifyStatus(l=>l.updatingInventory=!1),!!s}catch(s){return o>3?(alert("You encountered a strange error with the inventory update. Please log out and log in again. If that does not fix it, please message Mijago."),!1):(a.status.modifyStatus(l=>l.updatingInventory=!1),console.error(s),console.warn("Automatically re-fetching manifest"),yield a.updateManifest(!0),yield a.updateInventoryItems(!0,o++))}})()}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(et),t.LFG(B),t.LFG(yt),t.LFG(Qt),t.LFG(L),t.LFG(I.F0))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const ee="https://Database-Clarity.github.io/Character-Stats",Ze=`${ee}/versions/1.8/CharacterStatInfo-NI.json`,Se=`${ee}/update.json`,oe="clarity-character-stats-version",ie="clarity-character-stats";let Ie=(()=>{class n{constructor(e,o){this.http=e,this.inv=o,this._characterStats=new dt.X(null),this.characterStats=this._characterStats.asObservable(),this.inv.manifest.subscribe(a=>this.load())}load(){var e=this;return(0,m.Z)(function*(){try{yield e.loadCharacterStats()}catch(o){console.warn("Error loading Clarity data",o)}})()}fetchUpdateData(){var e=this;return(0,m.Z)(function*(){return e.http.get(Se).toPromise()})()}loadCharacterStats(){var e=this;return(0,m.Z)(function*(){const o=localStorage.getItem(ie);o&&e._characterStats.next(JSON.parse(o));const a=yield e.fetchUpdateData(),s=parseInt(localStorage.getItem(oe)||"0");a&&a.lastUpdate>s&&("1.8"!==a.schemaVersion?console.warn("Unsupported live character stats schema version",a.schemaVersion):a&&void 0!==a.lastUpdate&&(yield e.fetchLiveCharacterStats().then(l=>{localStorage.setItem(ie,JSON.stringify(l)),localStorage.setItem(oe,a.lastUpdate.toString()),e._characterStats.next(l)})))})()}fetchLiveCharacterStats(){var e=this;return(0,m.Z)(function*(){return e.http.get(Ze).toPromise()})()}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(at.eN),t.LFG(K))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();var R=(()=>{return(n=R||(R={}))[n.Speed=1]="Speed",n[n.Percentage=2]="Percentage",n[n.Time=3]="Time",n[n.TimeMMSS=4]="TimeMMSS",n[n.PercentagePerSecond=5]="PercentagePerSecond",R;var n})();let ae=(()=>{class n{constructor(e){this.clarity=e,this.allStatEntries={},this.overrides=[],this.clarity.characterStats.subscribe(o=>{o&&this.updateCharacterStats(o)})}loadCharacterStats(){this.clarity.load()}updateCharacterStats(e){const o=(JSON.parse(window.localStorage.getItem("allAbilities"))||[]).reduce((a,s)=>(a.set(s.hash,s),a),new Map);this.overrides=Object.values(e).map(a=>a.Overrides).flat(),this.allStatEntries={Mobility:this.generateEntries(e.Mobility,o,[{key:"WalkSpeed",name:"Walk Speed",valueType:R.Speed},{key:"StrafeSpeed",name:"Strafe Speed",valueType:R.Speed},{key:"CrouchSpeed",name:"Crouch Speed",valueType:R.Speed}]),Resilience:this.generateEntries(e.Resilience,o,[{key:"TotalHP",name:"Total HP"},{key:"PvEDamageResistance",name:"PvE Damage Resistance",valueType:R.Percentage},{key:"FlinchResistance",name:"Flinch Resistance",valueType:R.Percentage}]),Recovery:this.generateEntries(e.Recovery,o,[{key:"TotalRegenTime",name:"Total Regen Time",valueType:R.Time},{key:"HealthRegenDelay",name:"Health Regen Delay",valueType:R.Time},{key:"HealthRegenSpeed",name:"Health Regen Speed",valueType:R.PercentagePerSecond},{key:"ShieldRegenDelay",name:"Shield Regen Delay",valueType:R.Time},{key:"ShieldRegenSpeed",name:"Shield Regen Speed",valueType:R.PercentagePerSecond}]),Discipline:this.generateEntries(e.Discipline,o),Intellect:this.generateEntries(e.Intellect,o),Strength:this.generateEntries(e.Strength,o)}}get(e,o,a,s=[]){const l=this.allStatEntries[e]??[],d=this.overrides.filter(u=>s.includes(u.Hash));return l.filter(u=>!(void 0!==o&&void 0!==u.characterClass&&u.characterClass!==o||void 0!==a&&void 0!==u.element&&u.element!==a)).map(u=>d.reduce((x,p)=>function Oe(n,i){if(!n.hash||!i.Requirements.includes(n.hash))return n;const e={...n,overrideIcons:[...n.overrideIcons??[],i.Hash]};if(i.CooldownOverride)return{...e,values:i.CooldownOverride};if(i.Scalar){const o=i.Requirements.indexOf(n.hash),a=i.Scalar[o];return{...e,values:e.values.map(s=>s*a)}}return console.log("Unhandled override",i),n}(x,p),u))}generateEntries(e,o,a=[]){const s=a.map(({key:d,...u})=>({values:e[d].Array,...u}));return("Abilities"in e?e.Abilities:"SuperAbilities"in e?e.SuperAbilities:[]).forEach(d=>{const u=o.get(d.Hash);if(!u)return;const{characterClass:x,element:p}=function ke(n){let i,e;const o=n.plug?.plugCategoryIdentifier?.split(".");if(3!==o?.length)return{characterClass:i,element:e};const[a,s,l]=o;return"warlock"===a?i=D.Warlock:"hunter"===a?i=D.Hunter:"titan"===a&&(i=D.Titan),"arc"===s?e=h.O.Arc:"solar"===s?e=h.O.Solar:"void"===s?e=h.O.Void:"stasis"===s?e=h.O.Stasis:"strand"===s&&(e=h.O.Strand),{characterClass:i,element:e}}(u);s.push({hash:u.hash,name:u.displayProperties.name,icon:u.displayProperties.icon,values:d.Cooldowns,valueType:R.TimeMMSS,characterClass:x,element:p})}),s}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(Ie))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();var c=(()=>{return(n=c||(c={}))[n.ADD=0]="ADD",n[n.REMOVE=1]="REMOVE",n[n.MODIFIED=2]="MODIFIED",c;var n})();const se=[{version:"2.5.2",date:"November 29, 2023",entries:[{type:c.ADD,text:"Split the 'Assume all items are masterworked' switch into 'legendary' and 'exotic' switches. Thanks to Mojo!",issues:[]},{type:c.ADD,text:"Added the 'Ascendant Protector' Perk. Thanks to Mojo!",issues:[]},{type:c.MODIFIED,text:"Fixed artifice mods, again. Thanks to Mojo!",issues:[]},{type:c.MODIFIED,text:"Fixed 'Ghost Items' from the vendor import. Thanks to ciar\xe1n!",issues:[]},{type:c.MODIFIED,text:"Updated the values and descriptions for Subclass Fragments. Thanks to ciar\xe1n!",issues:[]},{type:c.MODIFIED,text:"Artifice Mods are now correctly added to the DIM export. Thanks to nznaza!",issues:[]}]},{version:"2.5.1",date:"October 29, 2023",entries:[{type:c.ADD,text:"Added the 'Exhumed Excess' Perk. The modslot limitations are now ordered. Thanks to Mojo!",issues:[]},{type:c.MODIFIED,text:"Added a solution for the stat distances 63, 64 and 65. You probably won't ever see it, as this is 'five artifice and five major mods'.",issues:[]},{type:c.MODIFIED,text:"'Fix wasted points' is now ignored for stats that are locked.",issues:[]}]},{version:"2.5.0",date:"October 14, 2023",entries:[{type:c.ADD,text:"The stat cooldowns and values are now automatically updated from the Clarity database. Thanks to ciar\xe1n!",issues:[]},{type:c.ADD,text:"The new modslots/perks are now available in the dropdown.",issues:[]},{type:c.MODIFIED,text:"The stat cooldowns now show icons. Thanks to ciar\xe1n!",issues:[]},{type:c.MODIFIED,text:"The fragments now show their icons. Thanks to ciar\xe1n!",issues:[]},{type:c.MODIFIED,text:"Minor internal updates for DIM references. Thanks to bhollis!",issues:[]},{type:c.MODIFIED,text:"Improved the wasted stats selection, again!",issues:[]}]},{version:"2.4.2",date:"July 11, 2023",entries:[{type:c.ADD,text:"Added the ability to use collection roll armor. This is disabled by default. Thanks to ciar\xe1n!",issues:[]},{type:c.ADD,text:"Added the ability to use vendor armor, including Xur. This is disabled by default. Thanks to ciar\xe1n!",issues:[]},{type:c.ADD,text:"Added the ability to select the optimization strategy. You can now choose between 'Reduce waste', 'Reduce used mods' and 'Reduce used modslots'. The default is 'Reduce waste'.",issues:[]},{type:c.ADD,text:"Re-added the reduce wasted stats feature. It is now disabled by default. It is a bit slower and not really necessary for most people.",issues:[]},{type:c.MODIFIED,text:"Zero Waste is no longer dependent on the 'Reduce wasted stats' setting. In fact, it practically overwrites it.",issues:[]},{type:c.REMOVE,text:"Removed the 'Extra optimization steps' setting. It is now always enabled.",issues:[]}]},{version:"2.4.0",date:"May 23, 2023",entries:[{type:c.MODIFIED,text:"Rewrote the internal algorithm. It makes stuff faster and gives better results.",issues:[]},{type:c.ADD,text:"Added a 'Perform further optimization' setting. This will give you better results, but it will take a bit longer.",issues:[]},{type:c.ADD,text:"Added Icons to the Stat Selection to make it easier to see which row is which perk.",issues:[]},{type:c.ADD,text:"Added button to download results as JSON.",issues:[]},{type:c.ADD,text:"Added Sonar Amplifier perk.",issues:[]},{type:c.MODIFIED,text:"Enabled Modslot limitation.",issues:[]},{type:c.MODIFIED,text:"Enabled the 3x100 and 4x100 buttons.",issues:[]},{type:c.MODIFIED,text:"Enabled Zero-Waste mode.",issues:[]},{type:c.MODIFIED,text:"Temporarily disabled 'Reduce Wasted Stats'. It will be back soon.",issues:[]}]},{version:"2.3.2",date:"May 7, 2023",entries:[{type:c.ADD,text:"Feature: Added 'Guardian Games' class item type to the dropdown. ",issues:[]},{type:c.MODIFIED,text:"Reformatted every file in the codebase and improved the code workflow. You should not really see this on your end, but it will allow everyone to easily contribute to this open source project!",issues:[]}]},{version:"2.3.1",date:"April 2, 2023",entries:[{type:c.ADD,text:"Feature: Added the possibility to only show builds that contain an exotic.",issues:[]},{type:c.ADD,text:"Added 'Root of Nightmares' modslot filter.",issues:[]},{type:c.ADD,text:"Added 'Queen's Favor' seasonal perk filter.",issues:[]},{type:c.ADD,text:"Added text indicating that only fragments that affect stats are shown.",issues:[]},{type:c.MODIFIED,text:"Fixed deprecated mods being sent when opening the loadout in DIM. Also adds artifice mods now.",issues:[]},{type:c.MODIFIED,text:"Fixed an issue where the tool did not put artifice mods on the class item if you forced the class item to be artifice.....",issues:[]},{type:c.MODIFIED,text:"Fixed an issue where the default selection was the titan class, even if you had no titan characters.",issues:[]}]},{version:"2.3.0",date:"March 14, 2023",entries:[{type:c.ADD,text:"Automatically adds artifice mods to your armor. This replaces minor and major mods where possible.",issues:[]},{type:c.ADD,text:"Added the amount of used artifice mods to the result table overview (next to the mods). They are not calculated into the 'mod cost' column.",issues:[]},{type:c.ADD,text:"Added new fragments, including Strand.",issues:[]},{type:c.MODIFIED,text:"Adapted modslot cost of Resilience and Recovery mods.",issues:[]},{type:c.MODIFIED,text:"Introduced more modules for asynchronous loading. This is more a speed improvement than a feature.",issues:[]},{type:c.MODIFIED,text:"Reduced the maximum limit of reported results from 50,000 to 30,000. Note that D2AP still calculates every result, it just does not report them. This is a major speedup, and you usually should not even realize the change.",issues:[]},{type:c.MODIFIED,text:"Increased the visual contrast of major mods in the results table. This means it is now easier to distinguish major from minor mods.",issues:[]},{type:c.REMOVE,text:"Removed the elemental affinity completely.",issues:[]},{type:c.REMOVE,text:"DISABLED the 'Zero Waste' feature. It will be re-enabled in the future.",issues:[]},{type:c.REMOVE,text:"DISABLED the 'Modslot Limitation' feature. It will be re-enabled in the future.",issues:[]}]},{version:"2.2.16",date:"December 7, 2022",entries:[{type:c.ADD,text:"Added Ember of Torches (with -10 Discipline).",issues:[]},{type:c.ADD,text:"Added Retrofit mods (mobility and resilience).",issues:[]},{type:c.ADD,text:"Added armor perk 'Seraph Sensor Array' to the dropdown.",issues:[]},{type:c.ADD,text:"Added a Game2Give message. Let's support the little lights together!",issues:[]},{type:c.MODIFIED,text:"Fixed artifice modslot.",issues:[]},{type:c.MODIFIED,text:"Membership data is cached longer to make things faster and to ease the Bungie API.",issues:[]}]},{version:"2.2.15",date:"October 18, 2022",entries:[{type:c.ADD,text:"Added FOTL masks.",issues:[]}]},{version:"2.2.13",date:"September 23, 2022",entries:[{type:c.ADD,text:"Added an advanced setting to replace the 'Tiers' column with a 'Max Tiers' column. This is adds the amount of open modslots to the column, but ignores mod limitations at the moment. A T32 build without mods will now show T37.",issues:[]}]},{version:"2.2.12",date:"September 11, 2022",entries:[{type:c.MODIFIED,text:"Changed the layout to force the settings (left) and results (right) to be next to each other. This means that the page is more mobile approachable. This is also the first step to a more flexible layout.",issues:[]}]},{version:"2.2.11",date:"September 10, 2022",entries:[{type:c.ADD,text:"Added a display for your owned upgrade materials in the character overview.",issues:[]},{type:c.ADD,text:"Added a notification to warn you when you create a modslot limitation that yields no results. Note that this will not (yet) show invalid combinations over all armor, just for the given slot you selected it in.",issues:[]},{type:c.MODIFIED,text:"Reduced size of exotic icons so that the left side will not grow on Titan class.",issues:[]},{type:c.MODIFIED,text:"The 'Performance Optimization' settings will now always re-enable after a reload to prevent your browser being stuck in a crash-loop. (This is for you, iOS Safari users)",issues:[]},{type:c.MODIFIED,text:"Changed wording of the 'Performance Optimization' setting to prevent people from using it incorrectly.",issues:[]}]},{version:"2.2.10",date:"September 2, 2022",entries:[{type:c.MODIFIED,text:"Updated Artifice Modslot Hash after the most recent hotfix.",issues:[]}]},{version:"2.2.9",date:"September 1, 2022",entries:[{type:c.MODIFIED,text:"Tooltips do now not obstruct the clicks of stats. This fixes the iOS stat selection issue.",issues:[]}]},{version:"2.2.8c",date:"August 24, 2022",entries:[{type:c.MODIFIED,text:"The manifest is now (again) automatically updated on version changes. This fixes your artifice problems at the beginning of a new season.",issues:[]},{type:c.MODIFIED,text:"Added subclass hashes for Arc. This means that it now transfers to DIM.",issues:[]}]},{version:"2.2.8b",date:"August 24, 2022",entries:[{type:c.MODIFIED,text:"Fixed Artifice modslots. You might need to wait a bit, alternatively delete the database (Account section) or re-log.",issues:[]}]},{version:"2.2.8a",date:"August 23, 2022",entries:[{type:c.MODIFIED,text:"Updated grenade and melee cooldowns for arc.",issues:[]}]},{version:"2.2.8",date:"August 23, 2022",entries:[{type:c.ADD,text:"Added Arc 3.0 fragments.",issues:[]},{type:c.MODIFIED,text:"Fixed tooltip issues on iOS devices.",issues:[]},{type:c.MODIFIED,text:"Fixed an infinite loading issue.",issues:[]}]},{version:"2.2.7",date:"June 25, 2022",entries:[{type:c.ADD,text:"Added a link to my Discord bot Crayon.",issues:[]},{type:c.MODIFIED,text:"Fixed an issue where a large number of stored configurations would drastically slow down the app.",issues:[]}]},{version:"2.2.6",date:"June 8, 2022",entries:[{type:c.MODIFIED,text:"Fixed an issue where the elemental selection would not give the correct results under very specific conditions.",issues:[]}]},{version:"2.2.5",date:"June 7, 2022",entries:[{type:c.ADD,text:"Added all of the new ability cooldowns.",issues:[]},{type:c.MODIFIED,text:"Completely reworked the ability cooldown tooltips. They now show the difference to the currently selected tier.",issues:[]}]},{version:"2.2.4",date:"June 3, 2022",entries:[{type:c.MODIFIED,text:"Fixed the export to DIM. Thanks to bhollis for the fix!",issues:[]},{type:c.MODIFIED,text:"The manifest now automatically updates when Bungie updated it too, except just after a fixed timespan.",issues:[]}]},{version:"2.2.3",date:"May 24, 2022",entries:[{type:c.ADD,text:"Added Solar 3.0",issues:[]},{type:c.MODIFIED,text:"Adapted artifice armor to the new Season.",issues:[]}]},{version:"2.2.2",date:"Mar 9, 2022",entries:[{type:c.ADD,text:"See what mods do by hovering over their name.",issues:["D2AP-41"]},{type:c.ADD,text:"Added Vow of the Disciple armor.",issues:["D2AP-35"]},{type:c.ADD,text:"Added 'Uniformed Officer' armor.",issues:["D2AP-35"]},{type:c.MODIFIED,text:"Fixed Scatter grenades being Tier 3 (were T4 before).",issues:["D2AP-39"]},{type:c.MODIFIED,text:"Changed the color of the login button.",issues:["D2AP-37"]},{type:c.MODIFIED,text:"When a selected character class does not exist, the tool will now select the first available class as default."}]},{version:"2.2.1",date:"Feb 22, 2022",entries:[{type:c.ADD,text:"Added a switch to select between Stasis and Void 3.0 fragments. Stasis is enabled per default to ensure backwards compatibility of saved configurations.",issues:["D2AP-10"]},{type:c.ADD,text:"Added a debug section to the (new) account settings page. The account settings page does not do much yet, I just wanted to deploy the debug functions.",issues:["D2AP-23"]},{type:c.MODIFIED,text:"Modified super cooldowns for Witch Queen."},{type:c.MODIFIED,text:"Added a minor text to the exotic overview that explains that exotics not in the inventory are shown in grayscale. You can also no longer select those.",issues:["D2AP-17"]},{type:c.MODIFIED,text:"Minor changes in how the database behaves on logout. It now deletes the inventory when you log out, but still keeps the manifest.",issues:["D2AP-27"]},{type:c.MODIFIED,text:"Users are now logged out when the Bungie.Net API is down.",issues:["D2AP-34"]},{type:c.MODIFIED,text:"Fixed Charge Harvester and Echo of Persistence incorrectly reducing Discipline instead of recovery when used on a Warlock."}]},{version:"2.2.0",date:"Feb 09, 2022",entries:[{type:c.ADD,text:"Added the ability to select armor perks and 5th slots. Just like the elements you can optionally enforce it to be on a certain slot. Useful if you want to build Iron Banner armor or utilize artifice modslots."},{type:c.ADD,text:"Added the ability to limit the available points on each armor item for stat mods. This allows you to limit the kind of stat mods that are usable. You can now say 'do not use major intellect mods'."},{type:c.ADD,text:"Added the ability to lock stat tiers. Previously you could only set 'Use Tier 3 or higher', now you can optionally set 'Enforce Tier 3'. This is useful for example if you want to enforce T3 mobility on a Titan."},{type:c.ADD,text:"Added a summary of important configuration choices to the result header to improve readability."},{type:c.ADD,text:"Added a button to open the DIM Loadout Builder with the current settings."},{type:c.ADD,text:"Added an option that forces the correct element on non-masterworked armor pieces. This is per default enabled."},{type:c.ADD,text:"Added cooldowns for class abilities (Dodge, Barricade, Rift)."},{type:c.ADD,text:"Added visual indicators for minor and major mods in the overview table. The whole visualization is also more compact now."},{type:c.ADD,text:"Added visual cursor indicator to every clickable input, e.g. in the exotic, element and perk/mod selection."},{type:c.ADD,text:"Added a (very basic) item tooltip."},{type:c.ADD,text:"Show the required material cost for each item. Note that this ignores your class item."},{type:c.ADD,text:"Added a stat summary table to the stat detail view. This allows you to easily share a stat distribution with others."},{type:c.ADD,text:"Added 'Clear this section' button to each configuration section."},{type:c.ADD,text:"Added support for your class items. You won't see a lot of this, except when you use the slot and element limitation in specific ways."},{type:c.ADD,text:"Detailed information is now in expandable containers to improve readability."},{type:c.ADD,text:"Show the seasonal icon for every item too."},{type:c.ADD,text:"Added info text to the table headers."},{type:c.ADD,text:"The character selection now shows the existing characters - and their emblems too!"},{type:c.ADD,text:"Added Discord and another Ko-Fi link. You can find them in the character selection."},{type:c.ADD,text:"Added a changelog popup right at the start of the page. It only appears when a new update occured. You can always trigger it by clicking the current version number."},{type:c.ADD,text:"Now utilizes three webworkers instead of one. The process is simple, but generally speeds up the results by a huge margin."},{type:c.ADD,text:"Added an Armor Investigation tab for data scientists."},{type:c.ADD,text:"Added a sidenav for smaller devices and reworked the top menubar."},{type:c.ADD,text:"The detailed result table now shows the perk of an selected item, if it has one. This also applies to class items, if necessary."},{type:c.ADD,text:"Hovering over exotics in the exotic selection now displays their perk description."},{type:c.ADD,text:"Added an advanced setting to disable white, green and blue armor."},{type:c.ADD,text:"Added an advanced setting to ignore sunset armor."},{type:c.MODIFIED,text:"Changed the word 'Permutation' to 'Combination' wherever it has been used."},{type:c.MODIFIED,text:"Clicking on a setting that is already set does not re-trigger the calculation now. For example, selecting T3 recovery when it is already at T3 now does nothing."},{type:c.MODIFIED,text:"The default for all stats is now tier 0 instead of tier 1, to make it consistent with the clear buttons."},{type:c.MODIFIED,text:"The default setting for 'ignore non masterworked elements' is now 'off'."},{type:c.MODIFIED,text:"The 'time required' number now measures the time from before the webworkers are spawned until all webworkers are done. Previously it only monitored the time required INSIDE the webworker, so it may show slower times."},{type:c.MODIFIED,text:"Fixed the width of the 'Exotic' header in the results table. This means that it is now farther away from the 'Mobility' column."},{type:c.MODIFIED,text:"Completely reworked the elemental affinity selection. Per default it is now not fixed to a certain armor slot, but using a toggle button you can simply do so again."},{type:c.MODIFIED,text:"The results header now screams at you in bright red letters when no results are found."},{type:c.MODIFIED,text:"The alternating rows of the results details table have now a lighter color to make it easier to read."},{type:c.MODIFIED,text:"Fixed ability cooldowns for melee and grenade at tier 7 and tier 8."},{type:c.MODIFIED,text:"Cooldowns now are shown in MM:SS instead of plain seconds."},{type:c.MODIFIED,text:"Completely rewrote the core logic of D2ArmorPicker for the changes mentioned above."},{type:c.MODIFIED,text:"Exotics you do not have in your vault or inventory are now greyed out."},{type:c.MODIFIED,text:"Fixed an issue where exotics were not shown at your first login."},{type:c.MODIFIED,text:"Changed the color of important buttons so that they are easier to read."},{type:c.MODIFIED,text:"The icons of items in the results are now loaded asynchronous from their hashes. This saves a lot of memory, as I do not have to send two icon URLs for each item - for each result. I will further improve this in a later version."},{type:c.MODIFIED,text:"Maximum table output is now limited to 50 results (instead of 200). It still defaults to 20.}"},{type:c.MODIFIED,text:"Completely reworked the visuals of the changelog. It is now more pleasing to the eye."}]},{version:"2.1.4",date:"Dec 29, 2021",entries:[{type:c.MODIFIED,text:"Item stats are now built from their plugs and InvestmentStats (in case of some exotics). This fixes potentially invalid item stats when you use mods like Powerful Friends or Protective Light. A big thanks to u/deangaudet for reminding me that the API also reports the plugs of an item."},{type:c.MODIFIED,text:"Only save necessary item types of the manifest (namely mods and armor). Also, save twhe investmentStats now."},{type:c.MODIFIED,text:"Sped up the item update step."}]},{version:"2.1.3",date:"Dec 16, 2021",entries:[{type:c.MODIFIED,text:"Added new stat cooldowns"}]},{version:"2.1.2",date:"Dec 1, 2021",entries:[{type:c.MODIFIED,text:"The changelog is now in a scrollable box."},{type:c.MODIFIED,text:"Changed buymeacoffee to a ko-fi link. This way we can keep the PayPal support!"}]},{version:"2.1.1",date:"Nov 3, 2021",entries:[{type:c.REMOVE,text:"Removed the HALLOWEEN SPECIAL feature. Maybe something like this will return some day?"},{type:c.ADD,text:"Added tooltip to the item icons in the detailed overview to show the name of the item."},{type:c.MODIFIED,text:"Fixed an issue where the list of exotics did not load at the first login."},{type:c.MODIFIED,text:"Saved configurations now contain the current software version for future reference."},{type:c.MODIFIED,text:"Minor code quality improvements"}]},{version:"2.1.0 (major)",date:"Oct 29, 2021",entries:[{type:c.REMOVE,text:"Completely removed V1 of the tool. If you had any problems with V2, you had over three months to report them."},{type:c.ADD,text:"The stat selection now displays which stat tiers are added by stat mods (PF/RL) or stasis fragments in the configuration."},{type:c.ADD,text:"You can now export (and import) individual configurations as well as all stored configurations at once."},{type:c.ADD,text:"Added a navigation bar to the title bar. On smaller screens it is replaced by two buttons in the character selection."},{type:c.ADD,text:"Added more details to the last step of the 'What to do now?' section. It now lists the fragments and mods you selected."},{type:c.MODIFIED,text:"Optimized code and reduced overall page size."}]},{version:"2.0.16",date:"Oct 26, 2021",entries:[{type:c.MODIFIED,text:"Completely rewrote the core logic in order to fix the memory issues. The tool will now no longer crash when you have many armor items, but it's slightly slower than the previous approach. I tested it with 600 items - it works and does not crash, but takes up to a minute. Make sure to never get that much armor and to lock an exotic right away."},{type:c.MODIFIED,text:"The rewrite also fixed the issue where the tool did not work in Safari, or more generally, on Mac and iPhone."},{type:c.MODIFIED,text:"The rewrite also fixed an issue where items could not be found when an result update was triggered while the inventory was updated."}]},{version:"2.0.15",date:"Oct 24, 2021",entries:[{type:c.MODIFIED,text:"Updated the visual display of the cluster page. It displays the stats in a better way now."},{type:c.MODIFIED,text:"Fixed an issue with login, where you were automatically logged in again and could not switch accounts."}]},{version:"2.0.14",date:"Oct 21, 2021",entries:[{type:c.MODIFIED,text:"Updated URLs to the mobility, resilience and recovery images, as Bungie decided to change their URLs in today's hotfix."}]},{version:"2.0.13",date:"Oct 20, 2021",entries:[{type:c.ADD,text:"Added a chart to the armor clustering page, showing each clusters average stats."},{type:c.MODIFIED,text:"Stats over 100 are now seen as wasted."}]},{version:"2.0.12",date:"Oct 18, 2021",entries:[{type:c.ADD,text:"Added an experimental armor clustering feature."}]},{version:"2.0.11",date:"Oct 13, 2021",entries:[{type:c.ADD,text:"HALLOWEEN SPECIAL! Added (temporary) filter for halloween masks! This will be removed after the event."},{type:c.MODIFIED,text:"Fix: Clear the results if you switch character and no possible permutations can be found."}]},{version:"2.0.10",date:"Oct 10, 2021",entries:[{type:c.ADD,text:"Added 'Equip Items' button to the detailed item overview."}]},{version:"2.0.9",date:"Oct 6, 2021",entries:[{type:c.ADD,text:"Added a detailed description of the steps required to build a selected result."},{type:c.ADD,text:"Added a button to disable all four armor pieces at once."},{type:c.MODIFIED,text:"Fixed an issue where the permutations were not updated after 'Ignore armor elemental affinities on masterworked armor' was changed."}]},{version:"2.0.8",date:"Oct 5, 2021",entries:[{type:c.ADD,text:"Added this changelog to the help page."},{type:c.ADD,text:"Added 'Move to Inventory' button (beta)."},{type:c.ADD,text:"Split up 'Assume items are masterworked' into three settings: Class Items, Legendaries, Exotics"},{type:c.MODIFIED,text:"'Try to optimize wasted stats' is now active per default."},{type:c.MODIFIED,text:"Introduced an item buffer in the results component to further reduce memory usage."}]}];let re=(()=>{class n{constructor(e){this.changelog=e}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(Rt))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-changelog-dialog"]],decls:9,vars:2,consts:[["mat-dialog-title","",1,"title"],[1,"mat-typography"],["align","end"],["cdkFocusInitial","","color","primary","mat-raised-button","",3,"mat-dialog-close"]],template:function(e,o){1&e&&(t.TgZ(0,"h2",0),t._uU(1),t.qZA(),t.TgZ(2,"mat-dialog-content",1)(3,"div"),t._uU(4," Hi! There has been a new version of D2ArmorPicker! The following list shows all the relevant changes. Note that you can always look at the changelogs in the Help tab. "),t.qZA(),t._UZ(5,"app-changelog-list"),t.qZA(),t.TgZ(6,"mat-dialog-actions",2)(7,"button",3),t._uU(8,"Thanks, I saw it!"),t.qZA()()),2&e&&(t.xp6(1),t.hij("D2ArmorPicker Changelog for Version ",o.changelog.changelogData[0].version,""),t.xp6(6),t.Q6J("mat-dialog-close",!0))},styles:[".title[_ngcontent-%COMP%]{text-decoration:underline;-webkit-text-decoration-color:#0059ff;text-decoration-color:#0059ff}"]}),n})();var $=_(5412);let Rt=(()=>{class n{constructor(e){this.dialog=e}setChangelogSeenFlag(){return localStorage.setItem("last-changelog-version",this.changelogData[0].version)}get lastViewedChangelog(){return localStorage.getItem("last-changelog-version")}get mustShowChangelog(){return this.changelogData[0].version!==this.lastViewedChangelog}get changelogData(){return se}openChangelogDialog(){this.dialog.open(re).afterClosed().subscribe(o=>{this.setChangelogSeenFlag()})}}return n.\u0275fac=function(e){return new(e||n)(t.LFG($.uw))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();var T=_(6895),N=_(266),Me=_(3162),j=_(7392),bt=_(6338),le=_(3848),De=_(3267);let Ct=(()=>{class n{constructor(e,o){this.templateRef=e,this.vcRef=o,this.context={$implicit:null,ngVar:null},this.hasView=!1}set ngVar(e){this.context.$implicit=this.context.ngVar=e,this.hasView||(this.vcRef.createEmbeddedView(this.templateRef,this.context),this.hasView=!0)}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(t.Rgc),t.Y36(t.s_b))},n.\u0275dir=t.lG2({type:n,selectors:[["","ngVar",""]],inputs:{ngVar:"ngVar"}}),n})(),Ee=(()=>{class n{constructor(e){this.changelog=e}ngAfterViewInit(){this.changelog.mustShowChangelog&&this.changelog.openChangelogDialog()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(Rt))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-changelog-dialog-controller"]],decls:0,vars:0,template:function(e,o){},encapsulation:2}),n})();function Ue(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"a",29),t.NdJ("click",function(){t.CHM(e),t.oxw();const a=t.MAs(1);return t.KtG(a.toggle())}),t._uU(1),t.qZA()}if(2&n){const e=i.$implicit,o=i.index,a=t.oxw();t.ekj("active",a.activeLinkIndex===o),t.Q6J("routerLink",e.link),t.xp6(1),t.hij(" ",e.name," ")}}function Pe(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"button",30),t.NdJ("click",function(){t.CHM(e),t.oxw();const a=t.MAs(1);return t.KtG(a.toggle())}),t.TgZ(1,"mat-icon",3),t._uU(2,"menu"),t.qZA()()}}function Re(n,i){if(1&n&&(t.TgZ(0,"a",31),t._uU(1),t.qZA()),2&n){const e=i.$implicit,o=i.index,a=t.oxw();t.Q6J("active",a.activeLinkIndex===o)("routerLink",e.link),t.xp6(1),t.hij(" ",e.name," ")}}function Ne(n,i){1&n&&t._UZ(0,"mat-progress-bar",33)}function qe(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,Ne,1,0,"mat-progress-bar",32),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e.updatingResultsTable||e.calculatingResults||e.calculatingPermutations||e.updatingInventory||e.updatingManifest)}}function Je(n,i){1&n&&(t.TgZ(0,"mat-card",35),t._uU(1,"Updating the cached manifest. Please wait. "),t._UZ(2,"br"),t._uU(3,"If this takes too long, please logout and login again."),t.qZA())}function Ye(n,i){1&n&&(t.TgZ(0,"mat-card",35),t._uU(1,"Updating the cached inventory. Please wait."),t.qZA())}function Le(n,i){1&n&&(t.TgZ(0,"mat-card",35),t._uU(1,"Updating armor combinations. Please wait."),t.qZA())}function Fe(n,i){1&n&&(t.TgZ(0,"mat-card",35),t._uU(1,"Updating possible results. Please wait."),t.qZA())}function Qe(n,i){1&n&&(t.TgZ(0,"mat-card",35),t._uU(1,"Updating result table. Please wait."),t.qZA())}function Be(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,Je,4,0,"mat-card",34),t.YNc(2,Ye,2,0,"mat-card",34),t.YNc(3,Le,2,0,"mat-card",34),t.YNc(4,Fe,2,0,"mat-card",34),t.YNc(5,Qe,2,0,"mat-card",34),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e.updatingManifest),t.xp6(1),t.Q6J("ngIf",e.updatingInventory),t.xp6(1),t.Q6J("ngIf",e.calculatingPermutations),t.xp6(1),t.Q6J("ngIf",e.calculatingResults),t.xp6(1),t.Q6J("ngIf",e.updatingResultsTable)}}let Ve=(()=>{class n{constructor(e,o,a,s,l,d,u){this.status=e,this.breakpointObserver=o,this.inv=a,this.auth=s,this.router=l,this.characterStats=d,this.changelog=u,this.version="2.5.2",this.activeLinkIndex=0,this.navLinks=[{link:"/",name:"Home"},{link:"/cluster",name:"Clustering"},{link:"/help",name:"Help"},{link:"/investigate",name:"Armor Investigation"},{link:"/account",name:"Account"}],this.isHandset$=this.breakpointObserver.observe([mt.u3.Handset,mt.u3.Small,mt.u3.XSmall]).pipe((0,Mt.U)(x=>x.matches),(0,Dt.d)())}ngOnInit(){this.activeLinkIndex=this.navLinks.indexOf(this.navLinks.find(e=>e.link===this.router.url)),this.router.events.subscribe(e=>{e instanceof I.m2&&(this.activeLinkIndex=this.navLinks.indexOf(this.navLinks.find(o=>o.link===this.router.url)))}),this.characterStats.loadCharacterStats()}refreshAll(e){var o=this;return(0,m.Z)(function*(){console.debug("Trigger refreshAll due to button press"),yield o.inv.refreshAll(e)})()}logout(){this.auth.logout()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(yt),t.Y36(mt.Yg),t.Y36(K),t.Y36(L),t.Y36(I.F0),t.Y36(ae),t.Y36(Rt))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-app-v2-core"]],decls:59,vars:16,consts:[["fixedInViewport","","mode","over",1,"sidenav",3,"opened"],["drawer",""],["aria-label","Toggle sidenav","mat-stroked-button","","type","button",3,"click"],["aria-label","Side nav toggle icon"],["mat-list-item","",3,"active","routerLink","click",4,"ngFor","ngForOf"],["href","https://ko-fi.com/mijago","mat-list-item",""],["color","primary","mat-raised-button","","matTooltip","You like my work? This leads you to ko-fi.com, where you can easily support me!","target","_blank"],["inline",""],["mat-list-item","",3,"click"],["mat-raised-button",""],["id","header","role","heading"],["aria-label","Toggle sidenav","mat-icon-button","","type","button",3,"click",4,"ngIf"],["href","https://twitter.com/MijagoCoding/","matTooltip","Birb App","target","_blank"],["alt","Me on twitter","src","assets/logo-twitter.png",1,"logo-twitter"],["href","https://ko-fi.com/mijago","matTooltip","If you like my work, you can always buy me a coffee!","target","_blank"],["alt","Ko-Fi","src","assets/logo-kofi.png",1,"logo-twitter"],["href","http://discord.d2armorpicker.com/","matTooltip","Visit me at the development & support discord.","target","_blank"],["alt","Discord","src","assets/logo-discord.png",1,"logo-twitter"],[1,"header-spacer"],["fxHide.lt-md","true","fxShow","true"],["id","navbar","mat-tab-nav-bar",""],["mat-tab-link","",3,"active","routerLink",4,"ngFor","ngForOf"],["id","buttonContainer"],["fxShow","false","fxShow.gt-md","true","matTooltip","Click to show the changelog dialog.",1,"changelogText"],[3,"click"],["color","accent","fxHide.lt-md","true","fxShow","true","href","https://ko-fi.com/mijago","mat-stroked-button","","matTooltip","You like my work? This leads you to ko-fi.com, where you can easily support me!","target","_blank"],["aria-label","Refresh","mat-icon-button","","matTooltip","Reload all items from the API.",1,"example-icon",3,"click"],["aria-label","Logout","color","warn","mat-icon-button","","matTooltip","Logout",1,"example-icon",3,"click"],[4,"ngVar"],["mat-list-item","",3,"routerLink","click"],["aria-label","Toggle sidenav","mat-icon-button","","type","button",3,"click"],["mat-tab-link","",3,"active","routerLink"],["id","loading","mode","indeterminate",4,"ngIf"],["id","loading","mode","indeterminate"],["class","info",4,"ngIf"],[1,"info"]],template:function(e,o){if(1&e){const a=t.EpF();t.TgZ(0,"mat-sidenav",0,1),t.ALo(2,"async"),t.TgZ(3,"mat-toolbar")(4,"button",2),t.NdJ("click",function(){t.CHM(a);const l=t.MAs(1);return t.KtG(l.toggle())}),t.TgZ(5,"mat-icon",3),t._uU(6,"menu"),t.qZA(),t._uU(7," Close Menu "),t.qZA()(),t._UZ(8,"hr"),t.TgZ(9,"mat-nav-list"),t.YNc(10,Ue,2,4,"a",4),t._UZ(11,"hr"),t.TgZ(12,"a",5)(13,"a",6)(14,"mat-icon",7),t._uU(15,"attach_money"),t.qZA(),t._uU(16," Buy me a coffee! "),t.qZA()(),t.TgZ(17,"a",8),t.NdJ("click",function(){return o.changelog.openChangelogDialog()}),t.TgZ(18,"a",9),t._uU(19," Open changelog "),t.qZA()(),t._UZ(20,"hr"),t.qZA()(),t.TgZ(21,"mat-toolbar",10),t.YNc(22,Pe,3,0,"button",11),t.ALo(23,"async"),t.TgZ(24,"span"),t._uU(25,"D2ArmorPicker "),t.TgZ(26,"small"),t._uU(27," by Mijago"),t.qZA(),t.TgZ(28,"a",12),t._UZ(29,"img",13),t.qZA(),t.TgZ(30,"a",14),t._UZ(31,"img",15),t.qZA(),t.TgZ(32,"a",16),t._UZ(33,"img",17),t.qZA()(),t._UZ(34,"span",18),t.TgZ(35,"div",19)(36,"nav",20),t.YNc(37,Re,2,3,"a",21),t.qZA()(),t._UZ(38,"span",18),t.TgZ(39,"div",22)(40,"span",23)(41,"a",24),t.NdJ("click",function(){return o.changelog.openChangelogDialog()}),t._uU(42),t.qZA()(),t.TgZ(43,"a",25)(44,"mat-icon",7),t._uU(45,"attach_money"),t.qZA(),t._uU(46," Buy me a coffee! "),t.qZA(),t.TgZ(47,"button",26),t.NdJ("click",function(){return o.refreshAll(!0)}),t.TgZ(48,"mat-icon"),t._uU(49,"refresh"),t.qZA()(),t.TgZ(50,"button",27),t.NdJ("click",function(){return o.logout()}),t.TgZ(51,"mat-icon"),t._uU(52,"logout"),t.qZA()()()(),t._UZ(53,"router-outlet"),t.YNc(54,qe,2,1,"span",28),t.ALo(55,"async"),t.YNc(56,Be,6,5,"span",28),t.ALo(57,"async"),t._UZ(58,"app-changelog-dialog-controller")}2&e&&(t.Q6J("opened",!1),t.uIk("role",t.lcZ(2,8,o.isHandset$)?"dialog":"navigation"),t.xp6(10),t.Q6J("ngForOf",o.navLinks),t.xp6(12),t.Q6J("ngIf",t.lcZ(23,10,o.isHandset$)),t.xp6(15),t.Q6J("ngForOf",o.navLinks),t.xp6(5),t.hij("v",o.version,"\xa0"),t.xp6(12),t.Q6J("ngVar",t.lcZ(55,12,o.status.status)),t.xp6(2),t.Q6J("ngVar",t.lcZ(57,14,o.status.status)))},dependencies:[T.sg,T.O5,H.b8,g.lW,g.zs,A.a8,N.gM,Me.pW,j.Hw,W.Ye,bt.Hk,bt.Tg,le.BU,le.Nj,De.JX,I.lC,I.yS,Ct,Ee,T.Ov],styles:[".loading[_ngcontent-%COMP%]{cursor:progress}.info[_ngcontent-%COMP%]{z-index:1000;position:fixed;width:200px;left:50%;top:50px;transform:translate(-50%);border:antiquewhite 1px solid}.sidenav-container[_ngcontent-%COMP%]{position:fixed;top:0;left:0;height:100%;z-index:20}.sidenav[_ngcontent-%COMP%]{width:200px;position:fixed;top:0;left:0;height:100%;z-index:20}.sidenav[_ngcontent-%COMP%] .mat-toolbar[_ngcontent-%COMP%]{background:inherit}.sidenav[_ngcontent-%COMP%] .active[_ngcontent-%COMP%]{background-color:#ffffff12;color:#b8c4dc}.mat-toolbar.mat-primary[_ngcontent-%COMP%]{position:sticky;top:0;z-index:1}#header[_ngcontent-%COMP%]{position:relative;height:42px;margin-bottom:5px}#header[_ngcontent-%COMP%] .header-spacer[_ngcontent-%COMP%]{flex:1 1 auto}.changelogText[_ngcontent-%COMP%]{cursor:pointer}#loading[_ngcontent-%COMP%]{position:fixed;top:0;width:100%;z-index:1000}.d2ap-router-link[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] .mat-tab-link{min-width:75px;opacity:1}"]}),n})();var w=_(2143),ce=_(8739),Bt=_(6308),F=_(7340),nt=_(8929),Q=_(7625);function He(n,i){1&n&&(t.ynx(0),t._uU(1," Click on a row to expand it and to see the list of the items required for this build."),t._UZ(2,"br"),t.BQk())}function We(n,i){1&n&&(t.ynx(0),t.TgZ(1,"div",57),t._UZ(2,"img",58),t._uU(3,"\xa0 "),t.qZA(),t.TgZ(4,"span",59)(5,"b"),t._uU(6,"No combinations found."),t.qZA()(),t._uU(7," You should loosen your settings a bit. "),t.BQk())}function je(n,i){if(1&n&&(t.TgZ(0,"mat-icon",60,61),t.ALo(2,"number"),t._uU(3,"report_problem "),t.qZA()),2&n){const e=t.oxw();t.MGl("matTooltip","Note: To speed up the whole process, only ",t.lcZ(2,1,e.parsedResults)," results are listed in this table.\n If you need more entries, disable the limitation in the advanced settings.")}}function ze(n,i){if(1&n&&(t.TgZ(0,"mat-icon",60,61),t.ALo(2,"number"),t._uU(3,"report_problem "),t.qZA()),2&n){const e=t.oxw();t.MGl("matTooltip","Note: To prevent Out-Of-Memory crashes, only ",t.lcZ(2,1,e.parsedResults)," results are listed in this table.\n You should narrow down your settings a bit.")}}function Ge(n,i){1&n&&(t.TgZ(0,"mat-chip",62,61),t._uU(2,"No Exotic "),t.qZA())}function Ke(n,i){1&n&&(t.TgZ(0,"mat-chip",63,61),t._uU(2,"Exotic "),t.qZA())}function $e(n,i){1&n&&(t.TgZ(0,"mat-chip",64,61),t._uU(2," Multiple Exotics "),t.qZA())}function Xe(n,i){1&n&&(t.TgZ(0,"mat-chip",65,61),t._uU(2,"No stat mods "),t.qZA())}function tn(n,i){1&n&&(t.TgZ(0,"mat-chip",66,61),t._uU(2,"Reduce wasted stats "),t.qZA())}function en(n,i){1&n&&(t.TgZ(0,"mat-chip",67,61),t._uU(2,"Stat Mod Limitation "),t.qZA())}function nn(n,i){1&n&&(t.TgZ(0,"mat-chip",68,61),t._uU(2," Armor Perk or Slot "),t.qZA())}function on(n,i){1&n&&(t.TgZ(0,"mat-chip",69,61),t._uU(2,"Zero Waste "),t.qZA())}function an(n,i){1&n&&(t.TgZ(0,"mat-chip",70,61)(2,"mat-icon",71),t._uU(3,"report_problem"),t.qZA(),t._uU(4," \xa0Assume everything is artifice\xa0 "),t.TgZ(5,"mat-icon",71),t._uU(6,"report_problem"),t.qZA()())}function sn(n,i){1&n&&(t.TgZ(0,"mat-chip",72,61),t._uU(2," Masterworked Exotics Only "),t.qZA())}function rn(n,i){1&n&&(t.TgZ(0,"mat-chip",73,61),t._uU(2," Masterworked Legendaries Only "),t.qZA())}function ln(n,i){1&n&&(t.TgZ(0,"mat-chip",74,61),t._uU(2," Masterwork Assumption "),t.qZA())}function cn(n,i){1&n&&(t.TgZ(0,"mat-chip",75,61),t._uU(2," Include Collection Rolls "),t.qZA())}function mn(n,i){1&n&&(t.TgZ(0,"mat-chip",76,61),t._uU(2," Include Vendor Items "),t.qZA())}function dn(n,i){1&n&&(t.TgZ(0,"th",77),t._uU(1,"Mobility "),t.qZA())}function un(n,i){if(1&n&&(t.TgZ(0,"td",78),t._uU(1),t._UZ(2,"img",79),t.qZA()),2&n){const e=i.$implicit,o=t.oxw();t.xp6(1),t.hij("",e.stats[o.ArmorStat.Mobility]," ")}}function pn(n,i){1&n&&(t.TgZ(0,"th",80),t._uU(1," Resilience "),t.qZA())}function gn(n,i){if(1&n&&(t.TgZ(0,"td",78),t._uU(1),t._UZ(2,"img",81),t.qZA()),2&n){const e=i.$implicit,o=t.oxw();t.xp6(1),t.hij("",e.stats[o.ArmorStat.Resilience]," ")}}function _n(n,i){1&n&&(t.TgZ(0,"th",82),t._uU(1," Recovery "),t.qZA())}function fn(n,i){if(1&n&&(t.TgZ(0,"td",78),t._uU(1),t._UZ(2,"img",83),t.qZA()),2&n){const e=i.$implicit,o=t.oxw();t.xp6(1),t.hij("",e.stats[o.ArmorStat.Recovery]," ")}}function hn(n,i){1&n&&(t.TgZ(0,"th",84),t._uU(1," Discipline "),t.qZA())}function xn(n,i){if(1&n&&(t.TgZ(0,"td",78),t._uU(1),t._UZ(2,"img",85),t.qZA()),2&n){const e=i.$implicit,o=t.oxw();t.xp6(1),t.hij("",e.stats[o.ArmorStat.Discipline]," ")}}function yn(n,i){1&n&&(t.TgZ(0,"th",86),t._uU(1," Intellect "),t.qZA())}function Tn(n,i){if(1&n&&(t.TgZ(0,"td",78),t._uU(1),t._UZ(2,"img",87),t.qZA()),2&n){const e=i.$implicit,o=t.oxw();t.xp6(1),t.hij("",e.stats[o.ArmorStat.Intellect]," ")}}function bn(n,i){1&n&&(t.TgZ(0,"th",88),t._uU(1,"Strength "),t.qZA())}function Cn(n,i){if(1&n&&(t.TgZ(0,"td",78),t._uU(1),t._UZ(2,"img",89),t.qZA()),2&n){const e=i.$implicit,o=t.oxw();t.xp6(1),t.hij("",e.stats[o.ArmorStat.Strength]," ")}}function vn(n,i){1&n&&(t.TgZ(0,"th",90),t._uU(1," Used Mods "),t.qZA())}function An(n,i){if(1&n&&(t.TgZ(0,"td",91),t._UZ(1,"app-table-mod-display",92),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.Q6J("mods",e.mods)("artifice",e.artifice)}}function wn(n,i){1&n&&(t.TgZ(0,"th",93),t._uU(1," Exotic"),t.qZA())}function Zn(n,i){if(1&n&&(t.ynx(0),t._UZ(1,"img",96,61)(3,"img",97),t.BQk()),2&n){const e=i.$implicit;t.xp6(1),t.s9C("matTooltip",e.name),t.MGl("src","https://bungie.net/",e.icon,"",t.LSH),t.xp6(2),t.MGl("src","https://bungie.net/",e.watermark,"",t.LSH)}}function Sn(n,i){1&n&&t._UZ(0,"img",98)}function In(n,i){if(1&n&&(t.TgZ(0,"td",91),t.YNc(1,Zn,4,3,"ng-container",94),t.YNc(2,Sn,1,0,"img",95),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.Q6J("ngForOf",e.exotic),t.xp6(1),t.Q6J("ngIf",0===e.exotic.length)}}function kn(n,i){1&n&&(t.TgZ(0,"th",93),t._uU(1,"Sources"),t.qZA())}function On(n,i){1&n&&t._UZ(0,"img",102)}function Mn(n,i){1&n&&t._UZ(0,"img",103)}function Dn(n,i){if(1&n&&(t.TgZ(0,"td",91)(1,"span",99),t.YNc(2,On,1,0,"img",100),t.YNc(3,Mn,1,0,"img",101),t.qZA()()),2&n){const e=i.$implicit;t.xp6(2),t.Q6J("ngIf",!!e.usesCollectionRoll),t.xp6(1),t.Q6J("ngIf",!!e.usesVendorRoll)}}function En(n,i){1&n&&t._UZ(0,"th",93)}function Un(n,i){1&n&&(t.TgZ(0,"mat-icon",107),t._uU(1," expand_more "),t.qZA())}function Pn(n,i){1&n&&(t.TgZ(0,"mat-icon",108),t._uU(1," expand_less "),t.qZA())}function Rn(n,i){1&n&&(t.TgZ(0,"mat-icon",109,61),t._uU(2," report_problem "),t.qZA())}function Nn(n,i){if(1&n&&(t.TgZ(0,"td",91),t.YNc(1,Un,2,0,"mat-icon",104),t.YNc(2,Pn,2,0,"mat-icon",105),t.YNc(3,Rn,3,0,"mat-icon",106),t.qZA()),2&n){const e=i.$implicit,o=t.oxw();t.xp6(1),t.Q6J("ngIf",o.expandedElement!==e),t.xp6(1),t.Q6J("ngIf",o.expandedElement===e),t.xp6(1),t.Q6J("ngIf",o.checkIfAnyItemsMayBeInvalid(e))}}function qn(n,i){1&n&&(t.TgZ(0,"th",110),t._uU(1,"Tiers "),t.qZA())}function Jn(n,i){if(1&n&&(t.TgZ(0,"td",91),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.hij(" ",e.tiers," ")}}function Yn(n,i){1&n&&(t.TgZ(0,"th",111),t._uU(1,"Max Tiers "),t.qZA())}function Ln(n,i){if(1&n&&(t.TgZ(0,"td",91),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.hij(" ",e.tiers+(5-e.modCount)," ")}}function Fn(n,i){1&n&&(t.TgZ(0,"th",112),t._uU(1,"Wasted "),t.qZA())}function Qn(n,i){if(1&n&&(t.TgZ(0,"td",91),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.hij(" ",e.waste," ")}}function Bn(n,i){if(1&n&&(t.TgZ(0,"td",91)(1,"div",113),t._UZ(2,"app-expanded-result-content",114),t.qZA()()),2&n){const e=i.$implicit,o=t.oxw();t.uIk("colspan",o.shownColumns.length),t.xp6(1),t.Q6J("@detailExpand",e===o.expandedElement?"expanded":"collapsed"),t.xp6(1),t.Q6J("element",e)}}function Vn(n,i){1&n&&t._UZ(0,"tr",115)}function Hn(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"tr",116),t.NdJ("click",function(){const s=t.CHM(e).$implicit,l=t.oxw();return t.KtG(l.expandedElement=l.expandedElement===s?null:s)}),t.qZA()}if(2&n){const e=i.$implicit,o=t.oxw();t.ekj("example-expanded-row",o.expandedElement===e)}}function Wn(n,i){1&n&&t._UZ(0,"tr",117)}function jn(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"mat-card-actions"),t._UZ(1,"span",118),t.TgZ(2,"button",119),t.NdJ("click",function(){t.CHM(e);const a=t.oxw();return t.KtG(a.saveBuilds())}),t._uU(3,"Download results as JSON"),t.qZA()()}}const zn=function(){return["expandedDetail"]},Gn=function(){return[10,20,50]};var ht=(()=>{return(n=ht||(ht={}))[n.TRANSFER_NONE=0]="TRANSFER_NONE",n[n.WAITING_FOR_TRANSFER=1]="WAITING_FOR_TRANSFER",n[n.TRANSFERRING=2]="TRANSFERRING",n[n.TRANSFERRED=3]="TRANSFERRED",n[n.ERROR_DURING_TRANSFER=4]="ERROR_DURING_TRANSFER",ht;var n})();let me=(()=>{class n{constructor(e,o,a,s,l){this.inventory=e,this.db=o,this.bungieApi=a,this.config=s,this.status=l,this.ArmorStat=r.WB,this.StatModifier=r.iV,this._results=[],this._config_assumeLegendariesMasterworked=!1,this._config_assumeExoticsMasterworked=!1,this._config_assumeClassItemMasterworked=!1,this._config_enabledMods=[],this._config_limitParsedResults=!1,this._config_maximumStatMods=5,this._config_selectedExotics=[],this._config_tryLimitWastedStats=!1,this._config_onlyUseMasterworkedExotics=!1,this._config_onlyUseMasterworkedLegendaries=!1,this._config_includeCollectionRolls=!1,this._config_includeVendorRolls=!1,this._config_onlyShowResultsWithNoWastedStats=!1,this._config_assumeEveryLegendaryIsArtifice=!1,this._config_modslotLimitation=[],this._config_armorPerkLimitation=[],this.tableDataSource=new w.by,this.paginator=null,this.sort=null,this.expandedElement=null,this.shownColumns=["exotic","mobility","resilience","recovery","discipline","intellect","strength","tiers","mods","dropdown"],this.selectedClass=D.None,this.totalTime=0,this.itemCount=0,this.totalResults=0,this.parsedResults=0,this.ngUnsubscribe=new nt.xQ}ngOnInit(){var e=this;this.config.configuration.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(o=>{this.selectedClass=o.characterClass,this._config_assumeLegendariesMasterworked=o.assumeLegendariesMasterworked,this._config_assumeExoticsMasterworked=o.assumeExoticsMasterworked,this._config_assumeClassItemMasterworked=o.assumeClassItemMasterworked,this._config_tryLimitWastedStats=o.tryLimitWastedStats,this._config_enabledMods=o.enabledMods||[],this._config_limitParsedResults=o.limitParsedResults,this._config_maximumStatMods=o.maximumStatMods,this._config_onlyUseMasterworkedExotics=o.onlyUseMasterworkedExotics,this._config_onlyUseMasterworkedLegendaries=o.onlyUseMasterworkedLegendaries,this._config_includeCollectionRolls=o.includeCollectionRolls,this._config_includeVendorRolls=o.includeVendorRolls,this._config_onlyShowResultsWithNoWastedStats=o.onlyShowResultsWithNoWastedStats,this._config_assumeEveryLegendaryIsArtifice=o.assumeEveryLegendaryIsArtifice,this._config_selectedExotics=o.selectedExotics,this._config_armorPerkLimitation=Object.entries(o.armorPerks).filter(s=>s[1].value!=r.Pn.None).map(s=>s[1]),this._config_modslotLimitation=Object.entries(o.maximumModSlots).filter(s=>s[1].value<5).map(s=>s[1]);let a=["exotic","mobility","resilience","recovery","discipline","intellect","strength",o.showPotentialTierColumn?"potential_tiers":"tiers","mods"];o.showWastedStatsColumn&&a.push("waste"),(o.includeVendorRolls||o.includeCollectionRolls)&&a.push("source"),a.push("dropdown"),this.shownColumns=a}),this.inventory.armorResults.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(function(){var o=(0,m.Z)(function*(a){e._results=a.results,e.itemCount=a.itemCount,e.totalTime=a.totalTime,e.totalResults=a.totalResults,e.parsedResults=e._results.length,e.status.modifyStatus(s=>s.updatingResultsTable=!0),yield e.updateData(),e.status.modifyStatus(s=>s.updatingResultsTable=!1)});return function(a){return o.apply(this,arguments)}}()),this.tableDataSource.paginator=this.paginator,this.tableDataSource.sort=this.sort,this.tableDataSource.sortingDataAccessor=(o,a)=>{switch(a){case"Mobility":return o.stats[r.WB.Mobility];case"Resilience":return o.stats[r.WB.Resilience];case"Recovery":return o.stats[r.WB.Recovery];case"Discipline":return o.stats[r.WB.Discipline];case"Intellect":return o.stats[r.WB.Intellect];case"Strength":return o.stats[r.WB.Strength];case"Tiers":return o.tiers;case"Max Tiers":return 10*(o.tiers+(5-o.modCount));case"Waste":return o.waste;case"Mods":return 100*o.modCount+o.modCost}return 0}}updateData(){var e=this;return(0,m.Z)(function*(){console.time("Update Table Data"),e.tableDataSource.paginator=e.paginator,e.tableDataSource.sort=e.sort,e.tableDataSource.data=e._results,console.timeEnd("Update Table Data")})()}checkIfAnyItemsMayBeInvalid(e){return(e?.items.filter(o=>o.filter(a=>a.mayBeBugged).length>0).length||0)>0}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}saveBuilds(){let e={configCompressed:this.config.getCurrentConfigBase64Compressed(),config:this.config.readonlyConfigurationSnapshot,results:this._results.map(l=>{let d=Object.assign({},l);return d.items=d.items.map(u=>({hash:u[0].hash,instance:u[0].itemInstanceId})),delete d.exotic,d})};document.createElement("a").download="builds.json";const a=window.URL.createObjectURL(new Blob([JSON.stringify(e,null,2)])),s=document.createElement("a");s.href=a,s.setAttribute("download","d2ap_results.json"),document.body.appendChild(s),s.click()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(K),t.Y36(et),t.Y36(Qt),t.Y36(B),t.Y36(yt))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-results"]],viewQuery:function(e,o){if(1&e&&(t.Gf(ce.NW,5),t.Gf(Bt.YE,5)),2&e){let a;t.iGM(a=t.CRH())&&(o.paginator=a.first),t.iGM(a=t.CRH())&&(o.sort=a.first)}},decls:96,vars:35,consts:[["id","card-results"],[4,"ngIf"],["fxLayout","row","fxLayoutAlign","start center","fxLayoutGap","5px",1,"config-summary-box"],["appearance","outline","fxFlex","",1,"info-box"],["matInput","","readonly","",3,"value"],["class","report-problem-icon","matSuffix","",3,"matTooltip",4,"ngIf"],["appearance","outline","disabled","",1,"config-summary-box"],["matInput","","readonly","","value","\xa0",1,"hidden-input"],["aria-label","Configuration Summary"],["disableRipple","","matTooltip","This setting enforces that all exotics are ignored.",4,"ngIf"],["disableRipple","","matTooltip","This setting enforces that only one specific exotic is used.",4,"ngIf"],["disableRipple","","matTooltip","The tool will try to fulfill your settings for all the selected exotics. If you select exotics in different slots then it will search for legendary items to allow hotswapping with the same stats.",4,"ngIf"],["disableRipple","","matTooltip","You enforced that no stat mods are used.",4,"ngIf"],["disableRipple","","matTooltip","The tool will add minor stat mods to reduce wasted stats.",4,"ngIf"],["disableRipple","","matTooltip","This setting limits available stat mod types, like major Intellect or Recovery.",4,"ngIf"],["disableRipple","","matTooltip","This setting enforces an specific armor perk or modslot for a specific armor slot.",4,"ngIf"],["disableRipple","","matTooltip","This setting means that only builds with no wasted stats are shown.","selected","",4,"ngIf"],["disableRipple","","matTooltip","EVERY legendary is assumed to be artifice.","selected","","color","warn",4,"ngIf"],["disableRipple","","matTooltip","This setting means that only exotic armor pieces that are already masterworked are used.","selected","",4,"ngIf"],["disableRipple","","matTooltip","This setting means that only legendary armor pieces are already masterworked are used.","selected","",4,"ngIf"],["disableRipple","","matTooltip","Some masterwork assumptions are in place. This means that you may have to masterwork items. Look at your advanced settings to see which ones are activated.",4,"ngIf"],["disableRipple","","matTooltip","Collection Exotic rolls will be included in the search.",4,"ngIf"],["disableRipple","","matTooltip","Currently available Vendor items will be included in the search.",4,"ngIf"],[1,"hint-text"],["aria-hidden","false","inline",""],["mat-table","","matSort","","matSortActive","Mods","matSortDirection","asc","multiTemplateDataRows","",1,"result-table",3,"dataSource"],["matColumnDef","mobility"],["mat-header-cell","","mat-sort-header","Mobility","matTooltip","The mobility of this armor combination.",4,"matHeaderCellDef"],["class","statColumn","mat-cell","",4,"matCellDef"],["matColumnDef","resilience"],["mat-header-cell","","mat-sort-header","Resilience","matTooltip","The resilience of this armor combination.",4,"matHeaderCellDef"],["matColumnDef","recovery"],["mat-header-cell","","mat-sort-header","Recovery","matTooltip","The recovery of this armor combination.",4,"matHeaderCellDef"],["matColumnDef","discipline"],["mat-header-cell","","mat-sort-header","Discipline","matTooltip","The discipline of this armor combination.",4,"matHeaderCellDef"],["matColumnDef","intellect"],["mat-header-cell","","mat-sort-header","Intellect","matTooltip","The intellect of this armor combination.",4,"matHeaderCellDef"],["matColumnDef","strength"],["mat-header-cell","","mat-sort-header","Strength","matTooltip","The strength of this armor combination.",4,"matHeaderCellDef"],["matColumnDef","mods"],["mat-header-cell","","mat-sort-header","Mods","matTooltip","The amount of mods required for each combination. Sorting after this takes the mod cost into account.",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","exotic"],["mat-header-cell","",4,"matHeaderCellDef"],["matColumnDef","source"],["matColumnDef","dropdown"],["matColumnDef","tiers"],["mat-header-cell","","mat-sort-header","Tiers","matTooltip","The amount of Tiers in this build. A tier is each successful 10-step of any stat.",4,"matHeaderCellDef"],["matColumnDef","potential_tiers"],["mat-header-cell","","mat-sort-header","Max Tiers","matTooltip","The potential reachable stat tiers with all N stat mods used. As of now, this does NOT take mod filters into consideration.",4,"matHeaderCellDef"],["matColumnDef","waste"],["mat-header-cell","","mat-sort-header","Waste","matTooltip","How many points are wasted. Any stat not ending in 0 adds to this value.",4,"matHeaderCellDef"],["matColumnDef","expandedDetail"],["mat-header-row","",4,"matHeaderRowDef"],["class","example-element-row","mat-row","",3,"example-expanded-row","click",4,"matRowDef","matRowDefColumns"],["class","example-detail-row","mat-row","",4,"matRowDef","matRowDefColumns"],["aria-label","Select page of periodic elements","pageSize","20","showFirstLastButtons","",3,"pageSizeOptions"],[1,"no-found-sadcat-container"],["src","assets/status/emoji/sadcat.png",1,"no-found-sadcat"],[1,"warning-none-found"],["matSuffix","",1,"report-problem-icon",3,"matTooltip"],["tooltip","matTooltip"],["disableRipple","","matTooltip","This setting enforces that all exotics are ignored."],["disableRipple","","matTooltip","This setting enforces that only one specific exotic is used."],["disableRipple","","matTooltip","The tool will try to fulfill your settings for all the selected exotics. If you select exotics in different slots then it will search for legendary items to allow hotswapping with the same stats."],["disableRipple","","matTooltip","You enforced that no stat mods are used."],["disableRipple","","matTooltip","The tool will add minor stat mods to reduce wasted stats."],["disableRipple","","matTooltip","This setting limits available stat mod types, like major Intellect or Recovery."],["disableRipple","","matTooltip","This setting enforces an specific armor perk or modslot for a specific armor slot."],["disableRipple","","matTooltip","This setting means that only builds with no wasted stats are shown.","selected",""],["disableRipple","","matTooltip","EVERY legendary is assumed to be artifice.","selected","","color","warn"],["inline","",2,"height","100%"],["disableRipple","","matTooltip","This setting means that only exotic armor pieces that are already masterworked are used.","selected",""],["disableRipple","","matTooltip","This setting means that only legendary armor pieces are already masterworked are used.","selected",""],["disableRipple","","matTooltip","Some masterwork assumptions are in place. This means that you may have to masterwork items. Look at your advanced settings to see which ones are activated."],["disableRipple","","matTooltip","Collection Exotic rolls will be included in the search."],["disableRipple","","matTooltip","Currently available Vendor items will be included in the search."],["mat-header-cell","","mat-sort-header","Mobility","matTooltip","The mobility of this armor combination."],["mat-cell","",1,"statColumn"],["alt","Mobility","src","https://www.bungie.net/common/destiny2_content/icons/e26e0e93a9daf4fdd21bf64eb9246340.png",1,"statIcon"],["mat-header-cell","","mat-sort-header","Resilience","matTooltip","The resilience of this armor combination."],["alt","Resilience","src","https://www.bungie.net/common/destiny2_content/icons/202ecc1c6febeb6b97dafc856e863140.png",1,"statIcon"],["mat-header-cell","","mat-sort-header","Recovery","matTooltip","The recovery of this armor combination."],["alt","Recovery","src","https://www.bungie.net/common/destiny2_content/icons/128eee4ee7fc127851ab32eac6ca91cf.png",1,"statIcon"],["mat-header-cell","","mat-sort-header","Discipline","matTooltip","The discipline of this armor combination."],["alt","Discipline","src","https://www.bungie.net/common/destiny2_content/icons/79be2d4adef6a19203f7385e5c63b45b.png",1,"statIcon"],["mat-header-cell","","mat-sort-header","Intellect","matTooltip","The intellect of this armor combination."],["alt","Intellect","src","https://www.bungie.net/common/destiny2_content/icons/d1c154469670e9a592c9d4cbdcae5764.png",1,"statIcon"],["mat-header-cell","","mat-sort-header","Strength","matTooltip","The strength of this armor combination."],["alt","Strength","src","https://www.bungie.net/common/destiny2_content/icons/ea5af04ccd6a3470a44fd7bb0f66e2f7.png",1,"statIcon"],["mat-header-cell","","mat-sort-header","Mods","matTooltip","The amount of mods required for each combination. Sorting after this takes the mod cost into account."],["mat-cell",""],[1,"modPreview",3,"mods","artifice"],["mat-header-cell",""],[4,"ngFor","ngForOf"],["class","itemIcon","src","https://www.bungie.net/common/destiny2_content/icons/b4d05ef69d0c3227a7d4f7f35bbc2848.png",4,"ngIf"],[1,"itemIcon",3,"matTooltip","src"],[1,"itemIconWatermark",3,"src"],["src","https://www.bungie.net/common/destiny2_content/icons/b4d05ef69d0c3227a7d4f7f35bbc2848.png",1,"itemIcon"],[1,"source-column"],["matTooltip","This build uses a collection exotic. You have to collect it before you can use it.","class","collectionIcon","src","https://www.bungie.net/common/destiny2_content/icons/1d01287dd47af97fef16fa6acbac23ba.png",4,"ngIf"],["matTooltip","This build uses a vendor item. You have to collect it before you can use it.","class","vendorIcon","src","https://www.bungie.net/common/destiny2_content/icons/8ef4b5bd32277dba9aee7c368404ad5d.jpg",4,"ngIf"],["matTooltip","This build uses a collection exotic. You have to collect it before you can use it.","src","https://www.bungie.net/common/destiny2_content/icons/1d01287dd47af97fef16fa6acbac23ba.png",1,"collectionIcon"],["matTooltip","This build uses a vendor item. You have to collect it before you can use it.","src","https://www.bungie.net/common/destiny2_content/icons/8ef4b5bd32277dba9aee7c368404ad5d.jpg",1,"vendorIcon"],["matTooltip","Click to show details for this build.",4,"ngIf"],["matTooltip","Click to hide details for this build.",4,"ngIf"],["aria-hidden","false","aria-label","Error","class","report-problem-icon","inline","","matTooltip","The stats of this build may be incorrect. Make sure that you remove every positive or negative stat modifier from the marked items.",4,"ngIf"],["matTooltip","Click to show details for this build."],["matTooltip","Click to hide details for this build."],["aria-hidden","false","aria-label","Error","inline","","matTooltip","The stats of this build may be incorrect. Make sure that you remove every positive or negative stat modifier from the marked items.",1,"report-problem-icon"],["mat-header-cell","","mat-sort-header","Tiers","matTooltip","The amount of Tiers in this build. A tier is each successful 10-step of any stat."],["mat-header-cell","","mat-sort-header","Max Tiers","matTooltip","The potential reachable stat tiers with all N stat mods used. As of now, this does NOT take mod filters into consideration."],["mat-header-cell","","mat-sort-header","Waste","matTooltip","How many points are wasted. Any stat not ending in 0 adds to this value."],[1,"example-element-detail"],[3,"element"],["mat-header-row",""],["mat-row","",1,"example-element-row",3,"click"],["mat-row","",1,"example-detail-row"],[1,"flex-spacer"],["mat-raised-button","","color","primary",3,"click"]],template:function(e,o){1&e&&(t.TgZ(0,"mat-card",0)(1,"mat-card-title"),t._uU(2,"Results"),t.qZA(),t.TgZ(3,"mat-card-subtitle"),t.YNc(4,He,3,0,"ng-container",1),t.YNc(5,We,8,0,"ng-container",1),t.qZA(),t.TgZ(6,"mat-card-content")(7,"div")(8,"div",2)(9,"mat-form-field",3)(10,"mat-label"),t._uU(11,"Items Used"),t.qZA(),t._UZ(12,"input",4),t.ALo(13,"number"),t.qZA(),t.TgZ(14,"mat-form-field",3)(15,"mat-label"),t._uU(16,"Combinations generated"),t.qZA(),t._UZ(17,"input",4),t.ALo(18,"number"),t.YNc(19,je,4,3,"mat-icon",5),t.YNc(20,ze,4,3,"mat-icon",5),t.qZA(),t.TgZ(21,"mat-form-field",3)(22,"mat-label"),t._uU(23,"Time required"),t.qZA(),t._UZ(24,"input",4),t.ALo(25,"number"),t.qZA()(),t.TgZ(26,"mat-form-field",6)(27,"mat-label"),t._uU(28,"Summary of important configuration choices"),t.qZA(),t._UZ(29,"input",7),t.TgZ(30,"mat-chip-list",8),t.YNc(31,Ge,3,0,"mat-chip",9),t.YNc(32,Ke,3,0,"mat-chip",10),t.YNc(33,$e,3,0,"mat-chip",11),t.YNc(34,Xe,3,0,"mat-chip",12),t.YNc(35,tn,3,0,"mat-chip",13),t.YNc(36,en,3,0,"mat-chip",14),t.YNc(37,nn,3,0,"mat-chip",15),t.YNc(38,on,3,0,"mat-chip",16),t.YNc(39,an,7,0,"mat-chip",17),t.YNc(40,sn,3,0,"mat-chip",18),t.YNc(41,rn,3,0,"mat-chip",19),t.YNc(42,ln,3,0,"mat-chip",20),t.YNc(43,cn,3,0,"mat-chip",21),t.YNc(44,mn,3,0,"mat-chip",22),t.qZA()(),t.TgZ(45,"div",23)(46,"mat-icon",24),t._uU(47,"info"),t.qZA(),t._uU(48," Note that you can change the sort column and order of the table by clicking on the headers. "),t.qZA(),t.TgZ(49,"table",25),t.ynx(50,26),t.YNc(51,dn,2,0,"th",27),t.YNc(52,un,3,1,"td",28),t.BQk(),t.ynx(53,29),t.YNc(54,pn,2,0,"th",30),t.YNc(55,gn,3,1,"td",28),t.BQk(),t.ynx(56,31),t.YNc(57,_n,2,0,"th",32),t.YNc(58,fn,3,1,"td",28),t.BQk(),t.ynx(59,33),t.YNc(60,hn,2,0,"th",34),t.YNc(61,xn,3,1,"td",28),t.BQk(),t.ynx(62,35),t.YNc(63,yn,2,0,"th",36),t.YNc(64,Tn,3,1,"td",28),t.BQk(),t.ynx(65,37),t.YNc(66,bn,2,0,"th",38),t.YNc(67,Cn,3,1,"td",28),t.BQk(),t.ynx(68,39),t.YNc(69,vn,2,0,"th",40),t.YNc(70,An,2,2,"td",41),t.BQk(),t.ynx(71,42),t.YNc(72,wn,2,0,"th",43),t.YNc(73,In,3,2,"td",41),t.BQk(),t.ynx(74,44),t.YNc(75,kn,2,0,"th",43),t.YNc(76,Dn,4,2,"td",41),t.BQk(),t.ynx(77,45),t.YNc(78,En,1,0,"th",43),t.YNc(79,Nn,4,3,"td",41),t.BQk(),t.ynx(80,46),t.YNc(81,qn,2,0,"th",47),t.YNc(82,Jn,2,1,"td",41),t.BQk(),t.ynx(83,48),t.YNc(84,Yn,2,0,"th",49),t.YNc(85,Ln,2,1,"td",41),t.BQk(),t.ynx(86,50),t.YNc(87,Fn,2,0,"th",51),t.YNc(88,Qn,2,1,"td",41),t.BQk(),t.ynx(89,52),t.YNc(90,Bn,3,3,"td",41),t.BQk(),t.YNc(91,Vn,1,0,"tr",53),t.YNc(92,Hn,1,2,"tr",54),t.YNc(93,Wn,1,0,"tr",55),t.qZA(),t._UZ(94,"mat-paginator",56),t.qZA()(),t.YNc(95,jn,4,0,"mat-card-actions",1),t.qZA()),2&e&&(t.xp6(4),t.Q6J("ngIf",o.totalResults>0),t.xp6(1),t.Q6J("ngIf",0===o.totalResults),t.xp6(7),t.s9C("value",t.lcZ(13,27,o.itemCount)),t.xp6(5),t.s9C("value",t.lcZ(18,29,o.totalResults)),t.xp6(2),t.Q6J("ngIf",o.parsedResults!==o.totalResults&&5e4===o.parsedResults),t.xp6(1),t.Q6J("ngIf",o.parsedResults!==o.totalResults&&1e6===o.parsedResults),t.xp6(4),t.MGl("value","",t.lcZ(25,31,o.totalTime),"ms"),t.xp6(7),t.Q6J("ngIf",o._config_selectedExotics.indexOf(-1)>-1),t.xp6(1),t.Q6J("ngIf",1===o._config_selectedExotics.length&&-1===o._config_selectedExotics.indexOf(-1)),t.xp6(1),t.Q6J("ngIf",o._config_selectedExotics.length>1&&-1===o._config_selectedExotics.indexOf(-1)),t.xp6(1),t.Q6J("ngIf",0===o._config_maximumStatMods),t.xp6(1),t.Q6J("ngIf",o._config_tryLimitWastedStats),t.xp6(1),t.Q6J("ngIf",o._config_modslotLimitation.length>0),t.xp6(1),t.Q6J("ngIf",o._config_armorPerkLimitation.length>0),t.xp6(1),t.Q6J("ngIf",o._config_onlyShowResultsWithNoWastedStats),t.xp6(1),t.Q6J("ngIf",o._config_assumeEveryLegendaryIsArtifice),t.xp6(1),t.Q6J("ngIf",o._config_onlyUseMasterworkedExotics),t.xp6(1),t.Q6J("ngIf",o._config_onlyUseMasterworkedLegendaries),t.xp6(1),t.Q6J("ngIf",!o._config_onlyUseMasterworkedExotics&&!o._config_onlyUseMasterworkedLegendaries&&(o._config_assumeLegendariesMasterworked||o._config_assumeExoticsMasterworked||o._config_assumeClassItemMasterworked)),t.xp6(1),t.Q6J("ngIf",o._config_includeCollectionRolls),t.xp6(1),t.Q6J("ngIf",o._config_includeVendorRolls),t.xp6(5),t.Q6J("dataSource",o.tableDataSource),t.xp6(42),t.Q6J("matHeaderRowDef",o.shownColumns),t.xp6(1),t.Q6J("matRowDefColumns",o.shownColumns),t.xp6(1),t.Q6J("matRowDefColumns",t.DdM(33,zn)),t.xp6(1),t.Q6J("pageSizeOptions",t.DdM(34,Gn)),t.xp6(1),t.Q6J("ngIf",o.totalResults>0))},styles:["#card-results[_ngcontent-%COMP%]{display:inline-block;vertical-align:top;white-space:normal;width:-moz-fit-content;width:fit-content;margin-left:3px}.statColumn[_ngcontent-%COMP%]{position:relative}.statIcon[_ngcontent-%COMP%]{position:absolute;height:22px;margin-left:2px;top:11px}.itemIcon[_ngcontent-%COMP%]{width:32px;height:32px;margin-right:3px}.itemIconWatermark[_ngcontent-%COMP%]{width:32px;height:32px;margin-right:3px;margin-left:-35px;pointer-events:none}.source-column[_ngcontent-%COMP%]{float:left}.source-column[_ngcontent-%COMP%] img[_ngcontent-%COMP%]:nth-of-type(2){margin-top:5px;margin-bottom:-3px}.collectionIcon[_ngcontent-%COMP%], .vendorIcon[_ngcontent-%COMP%]{width:32px;margin-left:3px;display:block}tr.example-element-row[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom-width:0}tr.example-detail-row[_ngcontent-%COMP%]{height:0!important}.example-element-detail[_ngcontent-%COMP%]{overflow:hidden;display:flex}.report-problem-icon[_ngcontent-%COMP%]{color:#f08080}.hint-text[_ngcontent-%COMP%]{font-size:small;color:#d5d5d5}[_nghost-%COMP%] .info-box .mat-form-field-wrapper{padding-bottom:5px!important;cursor:default}.hidden-input[_ngcontent-%COMP%]{display:none}.config-summary-box[_ngcontent-%COMP%]{width:100%}.result-table[_ngcontent-%COMP%] tr.example-element-row[_ngcontent-%COMP%]{cursor:pointer}.mat-row[_ngcontent-%COMP%]:nth-child(4n+3){background-color:#7474741a}.warning-none-found[_ngcontent-%COMP%]{color:red}.no-found-sadcat-container[_ngcontent-%COMP%]{width:20px;position:relative;display:inline-block}.no-found-sadcat[_ngcontent-%COMP%]{position:absolute;width:18px;top:-1px}.cdk-column-exotic[_ngcontent-%COMP%]{min-width:45px}.cdk-column-waste[_ngcontent-%COMP%]{padding-left:5px}"],data:{animation:[(0,F.X$)("detailExpand",[(0,F.SB)("collapsed, void",(0,F.oB)({height:"0px"})),(0,F.SB)("expanded",(0,F.oB)({height:"*"})),(0,F.eR)("expanded <=> collapsed",(0,F.jt)("225ms cubic-bezier(0.4, 0.0, 0.2, 1)")),(0,F.eR)("expanded <=> void",(0,F.jt)("225ms cubic-bezier(0.4, 0.0, 0.2, 1)"))])]}}),n})();const Kn={2:{shards:1,glimmer:500,core:0,prism:0,ascshard:0},3:{shards:1,glimmer:500,core:0,prism:0,ascshard:0},4:{shards:2,glimmer:500,core:0,prism:0,ascshard:0},5:{shards:2,glimmer:1e3,core:0,prism:0,ascshard:0},6:{shards:3,glimmer:1e3,core:1,prism:0,ascshard:0},7:{shards:3,glimmer:2500,core:2,prism:0,ascshard:0},8:{shards:4,glimmer:3e3,core:0,prism:1,ascshard:0},9:{shards:4,glimmer:3e3,core:0,prism:2,ascshard:0},10:{shards:5,glimmer:4e3,core:0,prism:0,ascshard:1}},$n={2:{shards:1,glimmer:500,core:0,prism:0,ascshard:0},3:{shards:2,glimmer:1e3,core:0,prism:0,ascshard:0},4:{shards:2,glimmer:1e3,core:0,prism:0,ascshard:0},5:{shards:3,glimmer:2500,core:0,prism:0,ascshard:0},6:{shards:3,glimmer:3e3,core:2,prism:0,ascshard:0},7:{shards:4,glimmer:3e3,core:3,prism:0,ascshard:0},8:{shards:4,glimmer:4e3,core:0,prism:2,ascshard:0},9:{shards:5,glimmer:4e3,core:0,prism:3,ascshard:0},10:{shards:6,glimmer:5e3,core:0,prism:0,ascshard:3}};var Vt=_(7009),Xn=_(1572),wt=_(4425),Nt=_(4080);const to={[E.Inventory]:"Inventory",[E.Collections]:"Collections",[E.Vendor]:"Vendor"};let eo=(()=>{class n{constructor(e){this.database=e}transform(e){var o=this;return(0,m.Z)(function*(){return(yield o.database.vendorNames.where("vendorId").equals(e).first())?.vendorName??"Unknown Vendor"})()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(et,16))},n.\u0275pipe=t.Yjl({name:"getVendorName",type:n,pure:!0}),n})(),no=(()=>{class n{constructor(){}transform(e){if(!e||!e.startsWith("v"))return-1;const o=parseInt(e.substring(1).split("-")[0]);return isNaN(o)?-1:o}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275pipe=t.Yjl({name:"getVendorIdFromItemId",type:n,pure:!0}),n})();function oo(n,i){if(1&n&&(t.TgZ(0,"tr")(1,"td"),t._uU(2,"Vendor"),t.qZA(),t.TgZ(3,"td",2),t._uU(4),t.ALo(5,"async"),t.ALo(6,"getVendorName"),t.ALo(7,"getVendorIdFromItemId"),t.qZA()()),2&n){const e=t.oxw();t.xp6(4),t.Oqu(t.lcZ(5,1,t.lcZ(6,3,t.lcZ(7,5,e.itemTooltip.itemInstanceId))))}}function io(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw().$implicit;t.xp6(1),t.Oqu(e)}}function ao(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw().$implicit;t.xp6(1),t.Oqu(e+2)}}function so(n,i){if(1&n&&(t.TgZ(0,"div",8),t._uU(1,"\xa0"),t.qZA()),2&n){const e=t.oxw(2);t.Udp("width",e.getWidth(2))}}function ro(n,i){if(1&n&&(t.TgZ(0,"tr")(1,"td"),t._uU(2),t.qZA(),t.TgZ(3,"td"),t.YNc(4,io,2,1,"span",3),t.YNc(5,ao,2,1,"span",3),t.qZA(),t.TgZ(6,"td")(7,"div",5)(8,"div",6),t._uU(9,"\xa0"),t.qZA(),t.YNc(10,so,2,2,"div",7),t.qZA()()()),2&n){const e=i.$implicit,o=i.index,a=t.oxw();t.xp6(2),t.Oqu(a.getArmorStatName(o)),t.xp6(2),t.Q6J("ngIf",!(null!=a.itemTooltip&&a.itemTooltip.masterworked)),t.xp6(1),t.Q6J("ngIf",null==a.itemTooltip?null:a.itemTooltip.masterworked),t.xp6(3),t.Udp("width",a.getWidth(e)),t.xp6(2),t.Q6J("ngIf",null==a.itemTooltip?null:a.itemTooltip.masterworked)}}let lo=(()=>{class n{constructor(){}getSourceText(){return this.itemTooltip?to[this.itemTooltip.source]:""}getArmorStatName(e){return r.Mi[e]}getWidth(e){return Math.min(100,e/32*100)+"%"}getTotalStats(){return this.itemTooltip?.stats.reduce((e,o)=>e+o,0)||0}get isVendorItem(){return this.itemTooltip?.source===E.Vendor}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-armor-tooltip-component"]],inputs:{itemTooltip:"itemTooltip"},decls:21,vars:5,consts:[[1,"tooltip-container"],["colspan","3"],["colspan","2"],[4,"ngIf"],[4,"ngFor","ngForOf"],[1,"stat-display"],[1,"stat-display-bar"],["class","stat-display-bar masterwork",3,"width",4,"ngIf"],[1,"stat-display-bar","masterwork"]],template:function(e,o){1&e&&(t.TgZ(0,"div")(1,"div",0)(2,"table")(3,"tr")(4,"td",1),t._uU(5),t.qZA()(),t.TgZ(6,"tr")(7,"td"),t._uU(8,"Source"),t.qZA(),t.TgZ(9,"td",2),t._uU(10),t.qZA()(),t.YNc(11,oo,8,7,"tr",3),t.TgZ(12,"tr")(13,"td"),t._uU(14,"Current stats:"),t.qZA()(),t.YNc(15,ro,11,6,"tr",4),t.TgZ(16,"tr")(17,"td"),t._uU(18,"Total base stats:"),t.qZA(),t.TgZ(19,"td"),t._uU(20),t.qZA()()()()()),2&e&&(t.xp6(5),t.Oqu(null==o.itemTooltip?null:o.itemTooltip.name),t.xp6(5),t.Oqu(o.getSourceText()),t.xp6(1),t.Q6J("ngIf",o.isVendorItem&&o.itemTooltip),t.xp6(4),t.Q6J("ngForOf",null==o.itemTooltip?null:o.itemTooltip.stats),t.xp6(5),t.hij(" ",o.getTotalStats()," "))},dependencies:[T.sg,T.O5,T.Ov,no,eo],styles:[".tooltip-container[_ngcontent-%COMP%]{border:1px solid gray;padding:1px 5px 4px;background:linear-gradient(#484848 0px,#2c2c2c 100%)}.stat-display[_ngcontent-%COMP%]{width:70px;height:20px;background-color:#2c2c2c}.stat-display-bar[_ngcontent-%COMP%]{height:100%;background-color:#a1a1a1;float:left}.masterwork[_ngcontent-%COMP%]{background-color:#eedb9e}"]}),n})();var pt=_(8184);let co=(()=>{class n{constructor(e,o,a){this._overlay=e,this._overlayPositionBuilder=o,this._elementRef=a,this.showToolTip=!0}ngOnInit(){if(!this.showToolTip)return;const e=this._overlayPositionBuilder.flexibleConnectedTo(this._elementRef).withPositions([{originX:"center",originY:"bottom",overlayX:"center",overlayY:"top",offsetY:5},{originX:"center",originY:"top",overlayX:"center",overlayY:"bottom",offsetY:-5}]);this._overlayRef=this._overlay.create({positionStrategy:e}),this._overlayRef.addPanelClass("overlay-no-pointer-event")}show(){this._overlayRef&&!this._overlayRef.hasAttached()&&(this._overlayRef.attach(new Nt.C5(lo)).instance.itemTooltip=this.itemTooltip)}hide(){this.closeToolTip()}ngOnDestroy(){this.closeToolTip()}closeToolTip(){this._overlayRef&&this._overlayRef.detach()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(pt.aV),t.Y36(pt.wJ),t.Y36(t.SBq))},n.\u0275dir=t.lG2({type:n,selectors:[["","itemTooltip",""]],hostBindings:function(e,o){1&e&&t.NdJ("mouseenter",function(){return o.show()})("mouseleave",function(){return o.hide()})},inputs:{showToolTip:"showToolTip",itemTooltip:"itemTooltip",contentTemplate:"contentTemplate"}}),n})(),de=(()=>{class n{constructor(e){this.db=e,this.itemLookup=new Map}getItemCached(e){var o=this;return(0,m.Z)(function*(){if(o.itemLookup.has(e))return o.itemLookup.get(e)||void 0;const a=yield o.db.manifestArmor.where("hash").equals(e).first();return o.itemLookup.set(e,a),a})()}getExoticPerkDescription(e){var o=this;return(0,m.Z)(function*(){return e.exoticPerkHash?(yield o.getItemCached(e.exoticPerkHash))??null:null})()}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(et))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function mo(n,i){if(1&n&&t._UZ(0,"img",6,7),2&n){const e=t.oxw(2);t.MGl("src","https://bungie.net/",e.item.icon,"",t.LSH),t.s9C("matTooltip",e.item.name)}}function uo(n,i){if(1&n&&t._UZ(0,"img",8),2&n){const e=t.oxw(2);t.MGl("src","https://bungie.net/",e.item.watermarkIcon,"",t.LSH)}}function po(n,i){if(1&n&&t._UZ(0,"div",9),2&n){const e=t.oxw(2);t.ekj("vendor-item",e.isFromVendor)("collection-item",e.isFromCollection)}}function go(n,i){1&n&&t._UZ(0,"div",10)}function _o(n,i){if(1&n&&(t.TgZ(0,"div",1),t.YNc(1,mo,2,2,"img",2),t.YNc(2,uo,1,1,"img",3),t.YNc(3,po,1,4,"div",4),t.YNc(4,go,1,0,"div",5),t.qZA()),2&n){const e=t.oxw();t.xp6(1),t.Q6J("ngIf",e.item.icon),t.xp6(1),t.Q6J("ngIf",e.item.watermarkIcon),t.xp6(1),t.Q6J("ngIf",e.isFromVendor||e.isFromCollection),t.xp6(1),t.Q6J("ngIf",e.masterworked)}}let Ht=(()=>{class n{constructor(e){this.iconService=e,this.itemHash=0,this.masterworked=!1,this.source=E.Inventory,this.isFromVendor=!1,this.isFromCollection=!1,this.item=void 0}ngAfterViewInit(){var e=this;return(0,m.Z)(function*(){e.item=yield e.iconService.getItemCached(e.itemHash),e.isFromVendor=e.source===E.Vendor,e.isFromCollection=e.source===E.Collections})()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(de))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-item-icon"]],inputs:{itemHash:"itemHash",masterworked:"masterworked",source:"source"},decls:1,vars:1,consts:[["class","item-icon-container",4,"ngIf"],[1,"item-icon-container"],["class","item-icon",3,"src","matTooltip",4,"ngIf"],["class","item-icon-overlay",3,"src",4,"ngIf"],["class","item-source-overlay",3,"vendor-item","collection-item",4,"ngIf"],["class","item-icon-masterwork-overlay",4,"ngIf"],[1,"item-icon",3,"src","matTooltip"],["tooltip","matTooltip"],[1,"item-icon-overlay",3,"src"],[1,"item-source-overlay"],[1,"item-icon-masterwork-overlay"]],template:function(e,o){1&e&&t.YNc(0,_o,5,4,"div",0),2&e&&t.Q6J("ngIf",o.item)},dependencies:[T.O5,N.gM],styles:["[_nghost-%COMP%]{height:22px;width:22px;display:block}.item-icon-masterwork-overlay[_ngcontent-%COMP%]{pointer-events:none;box-sizing:border-box;top:-1px;left:-1px;border-width:0;height:24px;width:24px;position:absolute;background-repeat:no-repeat;background-position:center;background-size:22px 22px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAJgklEQVR4AWI8t87oBYCd8rBuGAZi6N1JUQbIrJkiY6bM4EoE1EHvqb+WHsPvG5AJU522JQ/znpY03GzJ3YTovcvcVFcO5WbU8eH/OZ8R91B241c6wEzowJUUZnqlXMiZufrJSs1XUjNBUb6OcvUFF8190fzkGxS2J0ChGPQZDnYAQObJWHbNlCvZIXKxqvHN8KBp22SubByb9EKFGM2hzgyNa47vUzvKvnUToHPOINMFHG6Oo6hb6lhmMump4wROtxSMee8yjC6YI9jOnBYcGn5TZnTdBMB7d0+HB52AeKEb5QL2hQKx8RLk5IkE6eymz9CJFPJIQKxdWZKO5M1u+gw9kPvVJUjqyAt5Z98OMBAI4igO9x97koAAnSY6YHSaAB2nAiyswTbMq+/HAiHv0+4k3Ww1pOvnOvYews1Ow2rGnldEAAAIAAABACAAAAQAgAAAEAAAAgAgPwACAEAAAKiyAfJ7AXALEgAAAuAU5BMgAADki9j/BQCAlkN459OlNu6v0/V43vsAocOvq9kh1n/LX35h+B6EU9DI8fuVh/D48WMRWv742Qgtf/xshBY+fm1cMQgtefwdI5ffA/a9+frC68ox9M3enehIkvJAAC5D9vs/8F+Z/HugkfXJrOfec6QSJBi6O8IO2znX1zdZro39if/K0B8ftp2Hxxfa/vcu6DO8P5x/AaDrvwj4/uDPJDtjP09+ntDze9L+i4DRSEqwtgoQZ9rL3r9Ye/51L+Pw9tF6YuHFPJ/uWBDk2eXZvfb8YyMAwHvg673Z7AvmSF4POeSHmtDnb0xAD3qzN5gLfHsHIOvhktBJ4vOXJqABvJcZnqs5z54R7FF5ODaRiOkIGcXX+OZG7PqJnh6Ev3uOI52Z7tdRUCbdB6AFXHCDcZ3kkf2fGwEN+HGe+3xcE5yBB3umIvk5JnVIggDtnx/1u27XD5CajhBt8tqj9gMahDSan+7C629sxx6DiGmTcxOF304AwOud/SuABnTsZtNABWfaygUynjR3Ld+/GokZp4TO/JsJsEON1uN7OTEPaO9nVFHhHXizTdcN8Fl6BlER5gHk6lghYV8Tgd31DeCPL2icmhISYGsS9P7R9AErAT9JwlWCnuyFsmRuEQurKcBuqyBB72WkXtfmTCD7Au4a4/H7yYAl0N9VY0eERBqRr+Ov51yqCkTEYuuqjL4A+D4p1nvazLzOncHLt1dByhIwqpsHDzcShpIEkM4HZ5+zDEtoRLoKAgrwvwF41/WuAeg+z/1hDzk6VyGPkYW8aLfwarEwr0RJCDr/LUm4+42N8WX6z76Am3R9RoIkGGDvRN7i677TupIhqVZI7vmzPnr+1xLgwT6Bek6QtOE89rMmAGk6d8PhaG9ghSOgeLaAW1FFmYz9viLitcgBCFAgQ2dJ6dcEyLvcKxMuH2za3wW7AeOpqh/k6raz9l49XOIlQozX6pNwNCDnfde6Ckfb2SdeSejLUCXp+L3SPyAlj9FghVVHWV2etlVQ482MNfBHzwe4igSAj7T+4VnmtfdvwBJ5dxoXay/6hrc5gqrnyQCzX5H3fHYVhNd35eOrIWD4zDjZG2ntSmt8CpKTzCAnSEmp6Y7TDthyE9vbjhz7OOYAODg3THqfwEmMIJ29f1TaDwkX+8ckTCf8JAl6EjBviFo70m7v0vtTdD72EqzNgjwIgCJBr+aMRoTzbQMxzBlHIoY5JFCrA9xIZedIZLzZiwScpe1ij/vLyDu8b9p5IH2/V/4hfg+SGIUHr7oSAVhIwgbwIALpgYgLcvokvLU9gfsmgv+37117brJ90PrlHKAtWY24OWLO5/WORGWYAyJeQy8fjceHoOYz5gkTLeAPgL7YU57mHzRBQwA2Cff+5L3s1e9kn8Cuy1hAf9D/EN5YYySVKyQo4tyNSog6XucApWOZeA+Vz6UMNaXotLEiCZsgY4M9KVc/9lmBffwNHSonyQp1H/kpknDEiFeM/U2UybWRmcuEe5IcSPgAqOuQB2b3OiKBMrLumzy33dzy86HG84Z0KCtp/wL4kc7NfFdEDIucK9em8eskRl3q4bUAYc6YXalZJue6/LwkoClD9cYsP5G8d5pkT/U+Cfdd5gpI4jn2EL87eEQiID5tboPq9e+rBLvOA47D/doGj6+lKJpiQC+88WDP33h8JMADL36naIUYJYocsO+NGLOIAJJEjJnWhx7fyM0obAXLta7hmjxfp3dB5IF3AvRJwL3tzG3cjKJ8PkncBPgBocPyNXYEHAkI/md8CFA+eu8/jMiOVc1lpQRBEq38rKTNN/khkJHJXtjE8TW8T50fJO6RxvXaOSBer1j594Rjf5HfNyMSCCFoR43HBtKsirSFSCXILrh/G1p0vRdVSX4vdJvEkZYK+EVu4W0qtluCYtvGHq89MQImAApsLUHniBC0cbjXuclXcvR+o2Dq9ThXzhl3AtCcoabnHPBRdL1vCEwR30hQRAw985hwAZR1IyVcJ3o8p97HqSnE0xz1zpszAfgvSKm634e5tf9HVfaOGNcTJwLiUye2BJrnSk5OEiVZ3unv/7o/zvLT/sGshRy8i4hdyVtvk6mlaNoz4f6/dGvJkRqKgVXuDyuWLLkSZ+CiXIQVZ2CF0h0XbblkRU+hESIjq+yqZ2emJtKbZNK54vlfUBRAgl1A0BUuiyAvmdo/ff/x7QsZF5PsYY2uKw20EKA1NLpuzaNnBmddSCIZqrxIz2ydiEpprucWzrk8WzrZAGQQ5LyL4hJCqhCQ+zOVLFP5Cslzrc88KeGk0LWam1mSprc196WeH8mY/QZcngWxZ3/Y9fhsiiRjcpCzdKjhHSTHqDnCdatee/wFzF40+ph85GP9Ht7969BGjXlj0nBjbkoZJBPAbv+WB2sqWitvZXLrkrGprgluPsf5HvBr+/l1CpD4+8F/4NdnIreI64MMgFf0PUrhDRE3FjLuYLy4y9184Z1eY73w6rr7e2bNu4gvBE9fim7ftEOZkJ5I7TfkY1M+oHyiMF/R9YbcNzW3QfuLk/leIzXWLM/cgcp19FzCemU6cIz/MB9890UWjBGadM7N9QMtlCqqJiFwOjUhdaDQXQCdEwNOpzhYwMpBDrfcFpEXIsjiGJw+9jqidHo7O3+3QVO7+QpIf7ji9cbst7ogrVf8UXTDBslUgkxCCSilwjFdSAkBkSo1EcjSIBXWWvsN9SxF5ebWH3woEIS629sLNhsPabYekYTY/VR0znB/jBdcErKAavL8+A1ICXvgoqroDgAAAABJRU5ErkJggg==)}.item-icon-container[_ngcontent-%COMP%]{position:relative;transition:opacity .2s,transform .2s;width:100%;--icon-size: 22px}.item-icon-overlay[_ngcontent-%COMP%], .item-icon[_ngcontent-%COMP%]{position:absolute;left:0;top:0;width:100%;pointer-events:none}.item-source-overlay[_ngcontent-%COMP%]{position:absolute;left:0;top:0;width:0;pointer-events:none;border-top:calc(var(--icon-size) / 2) solid transparent;border-right:calc(var(--icon-size) / 2) solid transparent}.item-source-overlay.vendor-item[_ngcontent-%COMP%]{border-top-color:#00f}.item-source-overlay.collection-item[_ngcontent-%COMP%]{border-top-color:#90ee90}"]}),n})();function fo(n,i){if(1&n&&t._UZ(0,"img",5),2&n){const e=t.oxw(2);t.s9C("src",e.url,t.LSH)}}function ho(n,i){if(1&n&&(t.ynx(0),t._UZ(1,"img",2,3),t.YNc(3,fo,1,1,"img",4),t.BQk()),2&n){const e=t.oxw();t.xp6(1),t.s9C("matTooltip",e.name),t.xp6(2),t.Q6J("ngIf",e.customIconMods.indexOf(e.perk)>-1)}}function xo(n,i){if(1&n&&(t.ynx(0),t._UZ(1,"img",6,3),t.BQk()),2&n){const e=t.oxw();t.xp6(1),t.s9C("matTooltip",e.name),t.s9C("src",e.url,t.LSH)}}let Wt=(()=>{class n{constructor(){this.ArmorPerkOrSlot=r.Pn,this.customIconMods=[r.Pn.SlotCrotasEnd,r.Pn.SlotRootOfNightmares,r.Pn.SlotKingsFall,r.Pn.SlotVowOfTheDisciple,r.Pn.SlotArtifice],this.perk=r.Pn.None}get name(){return r.cM[this.perk]}get url(){return r.X9[this.perk]}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-armor-perk-icon"]],inputs:{perk:"perk"},decls:3,vars:2,consts:[[1,"overlay-icon-container"],[4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/b4d05ef69d0c3227a7d4f7f35bbc2848.png",1,"element-icon",3,"matTooltip"],["tooltip","matTooltip"],["class","overlay-icon",3,"src",4,"ngIf"],[1,"overlay-icon",3,"src"],[1,"element-icon",3,"matTooltip","src"]],template:function(e,o){1&e&&(t.TgZ(0,"span",0),t.YNc(1,ho,4,2,"ng-container",1),t.YNc(2,xo,3,2,"ng-container",1),t.qZA()),2&e&&(t.xp6(1),t.Q6J("ngIf",o.customIconMods.indexOf(o.perk)>-1),t.xp6(1),t.Q6J("ngIf",-1===o.customIconMods.indexOf(o.perk)))},dependencies:[T.O5,N.gM],styles:[".element-icon[_ngcontent-%COMP%]{height:100%;width:100%}.element-icon.disabled[_ngcontent-%COMP%]{opacity:.5;cursor:default;pointer-events:none}.overlay-icon-container[_ngcontent-%COMP%]{position:relative}.overlay-icon-container[_ngcontent-%COMP%] .overlay-icon[_ngcontent-%COMP%]{width:66%;position:absolute;left:17%;top:17%;pointer-events:none}[_nghost-%COMP%]{display:inline-flex;height:30px;width:30px}"]}),n})(),ue=(()=>{class n{transform(e,o=null){return e.filter(a=>null==o||a==o).length}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275pipe=t.Yjl({name:"count",type:n,pure:!0}),n})();function yo(n,i){1&n&&(t.TgZ(0,"mat-toolbar",24),t._uU(1," Warning: The stats of one or more items used for this build may be invalid."),t._UZ(2,"br"),t._uU(3," Please remove all negative/positive stat modifiers from the marked items. "),t.qZA())}function To(n,i){if(1&n&&(t.TgZ(0,"u",34,35),t._uU(2),t.qZA()),2&n){const e=t.oxw().$implicit;t.xp6(2),t.Oqu(e.name)}}function bo(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw().$implicit;t.xp6(1),t.Oqu(e.name)}}function Co(n,i){if(1&n&&(t.ynx(0),t.TgZ(1,"td",36)(2,"span",37),t._uU(3),t.qZA()(),t.TgZ(4,"td",36)(5,"span",37),t._uU(6),t.qZA()(),t.TgZ(7,"td",36)(8,"span",37),t._uU(9),t.qZA()(),t.TgZ(10,"td",36)(11,"span",37),t._uU(12),t.qZA()(),t.TgZ(13,"td",36)(14,"span",37),t._uU(15),t.qZA()(),t.TgZ(16,"td",36)(17,"span",37),t._uU(18),t.qZA()(),t.BQk()),2&n){const e=i.ngVar,o=t.oxw().$implicit,a=t.oxw(2);t.xp6(2),t.ekj("text-mw",o.masterworked),t.xp6(1),t.Oqu(o.stats[a.ArmorStat.Mobility]+e),t.xp6(2),t.ekj("text-mw",o.masterworked),t.xp6(1),t.Oqu(o.stats[a.ArmorStat.Resilience]+e),t.xp6(2),t.ekj("text-mw",o.masterworked),t.xp6(1),t.Oqu(o.stats[a.ArmorStat.Recovery]+e),t.xp6(2),t.ekj("text-mw",o.masterworked),t.xp6(1),t.Oqu(o.stats[a.ArmorStat.Discipline]+e),t.xp6(2),t.ekj("text-mw",o.masterworked),t.xp6(1),t.Oqu(o.stats[a.ArmorStat.Intellect]+e),t.xp6(2),t.ekj("text-mw",o.masterworked),t.xp6(1),t.Oqu(o.stats[a.ArmorStat.Strength]+e)}}function vo(n,i){1&n&&(t.TgZ(0,"td",27),t._UZ(1,"mat-progress-spinner",38),t.qZA())}function Ao(n,i){1&n&&(t.TgZ(0,"td")(1,"mat-icon",39,35),t._uU(3," check_circle_outline "),t.qZA()())}function wo(n,i){1&n&&(t.TgZ(0,"td")(1,"mat-icon",40,35),t._uU(3," error_outline "),t.qZA()())}function Zo(n,i){1&n&&(t.TgZ(0,"td")(1,"mat-icon",41,35),t._uU(3," report_problem "),t.qZA()())}function So(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"tr")(1,"td"),t.YNc(2,To,3,1,"u",26),t.YNc(3,bo,2,1,"span",3),t.qZA(),t.YNc(4,Co,19,18,"ng-container",8),t.TgZ(5,"td",27)(6,"div",28),t._UZ(7,"app-item-icon",29),t.qZA()(),t.TgZ(8,"td",27)(9,"div",30),t._UZ(10,"app-armor-perk-icon",31),t.qZA()(),t.TgZ(11,"td",27)(12,"button",32),t.NdJ("click",function(){const s=t.CHM(e).$implicit,l=t.oxw(2);return t.KtG(l.disableItem(s.itemInstanceId))}),t.TgZ(13,"mat-icon"),t._uU(14,"block"),t.qZA()()(),t.YNc(15,vo,2,0,"td",33),t.YNc(16,Ao,4,0,"td",3),t.YNc(17,wo,4,0,"td",3),t.YNc(18,Zo,4,0,"td",3),t.qZA()}if(2&n){const e=i.$implicit,o=t.oxw().$implicit,a=t.oxw();t.ekj("highlight-row",o[0].slot%2==0),t.xp6(2),t.Q6J("ngIf",e.masterworked),t.xp6(1),t.Q6J("ngIf",!e.masterworked),t.xp6(1),t.Q6J("ngVar",e.masterworked||!e.exotic&&a.config_assumeLegendariesMasterworked||e.exotic&&a.config_assumeExoticsMasterworked?2:0),t.xp6(2),t.Q6J("itemTooltip",e),t.xp6(1),t.Q6J("itemHash",e.hash)("masterworked",e.masterworked)("source",e.source),t.xp6(3),t.Q6J("perk",e.perk||0),t.xp6(5),t.Q6J("ngIf",1===e.transferState||2===e.transferState),t.xp6(1),t.Q6J("ngIf",3===e.transferState),t.xp6(1),t.Q6J("ngIf",4===e.transferState),t.xp6(1),t.Q6J("ngIf",e.mayBeBugged)}}function Io(n,i){if(1&n&&(t.ynx(0),t.YNc(1,So,19,14,"tr",25),t.BQk()),2&n){const e=i.$implicit;t.xp6(1),t.Q6J("ngForOf",e)}}function ko(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"tr")(1,"td",42,35),t._uU(3,"Any Class Item"),t.qZA(),t.TgZ(4,"td",43),t._uU(5),t.qZA(),t.TgZ(6,"td",43),t._uU(7),t.qZA(),t.TgZ(8,"td",43),t._uU(9),t.qZA(),t.TgZ(10,"td",43),t._uU(11),t.qZA(),t.TgZ(12,"td",43),t._uU(13),t.qZA(),t.TgZ(14,"td",43),t._uU(15),t.qZA(),t._UZ(16,"td"),t.TgZ(17,"td")(18,"div",30),t._UZ(19,"app-armor-perk-icon",31),t.qZA()(),t.TgZ(20,"td")(21,"button",44),t.NdJ("click",function(){t.CHM(e);const a=t.oxw();return t.KtG(a.disableAllItems())}),t.TgZ(22,"mat-icon"),t._uU(23,"block"),t.qZA()()()()}if(2&n){const e=t.oxw();t.xp6(5),t.Oqu(2),t.xp6(2),t.Oqu(2),t.xp6(2),t.Oqu(2),t.xp6(2),t.Oqu(2),t.xp6(2),t.Oqu(2),t.xp6(2),t.Oqu(2),t.xp6(4),t.Q6J("perk",(null==e.element||null==e.element.classItem?null:e.element.classItem.perk)||0)}}function Oo(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"tr")(1,"td"),t._uU(2,"Any Class Item"),t.qZA(),t.TgZ(3,"td",45),t._uU(4,"You chose to use non-masterworked class items."),t.qZA(),t._UZ(5,"td")(6,"td"),t.TgZ(7,"td")(8,"button",44),t.NdJ("click",function(){t.CHM(e);const a=t.oxw();return t.KtG(a.disableAllItems())}),t.TgZ(9,"mat-icon"),t._uU(10,"block"),t.qZA()()()()}}function Mo(n,i){if(1&n&&(t.TgZ(0,"td"),t._uU(1),t._UZ(2,"img",47),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw();t.xp6(1),t.hij(" ",e[o.ArmorStat.Mobility]," ")}}function Do(n,i){if(1&n&&(t.TgZ(0,"td"),t._uU(1),t._UZ(2,"img",48),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw();t.xp6(1),t.hij(" ",e[o.ArmorStat.Resilience]," ")}}function Eo(n,i){if(1&n&&(t.TgZ(0,"td"),t._uU(1),t._UZ(2,"img",49),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw();t.xp6(1),t.hij(" ",e[o.ArmorStat.Recovery]," ")}}function Uo(n,i){if(1&n&&(t.TgZ(0,"td"),t._uU(1),t._UZ(2,"img",50),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw();t.xp6(1),t.hij(" ",e[o.ArmorStat.Discipline]," ")}}function Po(n,i){if(1&n&&(t.TgZ(0,"td"),t._uU(1),t._UZ(2,"img",51),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw();t.xp6(1),t.hij(" ",e[o.ArmorStat.Intellect]," ")}}function Ro(n,i){if(1&n&&(t.TgZ(0,"td"),t._uU(1),t._UZ(2,"img",52),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw();t.xp6(1),t.hij(" ",e[o.ArmorStat.Strength]," ")}}function No(n,i){if(1&n&&(t.TgZ(0,"tr",46)(1,"td"),t._uU(2,"Total (armor)"),t.qZA(),t.YNc(3,Mo,3,1,"td",3),t.YNc(4,Do,3,1,"td",3),t.YNc(5,Eo,3,1,"td",3),t.YNc(6,Uo,3,1,"td",3),t.YNc(7,Po,3,1,"td",3),t.YNc(8,Ro,3,1,"td",3),t.qZA()),2&n){const e=i.ngVar;t.xp6(3),t.Q6J("ngIf",!!e),t.xp6(1),t.Q6J("ngIf",!!e),t.xp6(1),t.Q6J("ngIf",!!e),t.xp6(1),t.Q6J("ngIf",!!e),t.xp6(1),t.Q6J("ngIf",!!e),t.xp6(1),t.Q6J("ngIf",!!e)}}function qo(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"+"),t.qZA())}function Jo(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,qo,2,0,"span",3),t._uU(2),t.qZA()),2&n){const e=t.oxw();t.Tol(e.configValues[e.ArmorStat.Mobility]>0?"positive":"negative"),t.xp6(1),t.Q6J("ngIf",e.configValues[e.ArmorStat.Mobility]>0),t.xp6(1),t.hij("",e.configValues[e.ArmorStat.Mobility]," ")}}function Yo(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"+"),t.qZA())}function Lo(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,Yo,2,0,"span",3),t._uU(2),t.qZA()),2&n){const e=t.oxw();t.Tol(e.configValues[e.ArmorStat.Resilience]>0?"positive":"negative"),t.xp6(1),t.Q6J("ngIf",e.configValues[e.ArmorStat.Resilience]>0),t.xp6(1),t.hij("",e.configValues[e.ArmorStat.Resilience]," ")}}function Fo(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"+"),t.qZA())}function Qo(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,Fo,2,0,"span",3),t._uU(2),t.qZA()),2&n){const e=t.oxw();t.Tol(e.configValues[e.ArmorStat.Recovery]>0?"positive":"negative"),t.xp6(1),t.Q6J("ngIf",e.configValues[e.ArmorStat.Recovery]>0),t.xp6(1),t.hij("",e.configValues[e.ArmorStat.Recovery]," ")}}function Bo(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"+"),t.qZA())}function Vo(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,Bo,2,0,"span",3),t._uU(2),t.qZA()),2&n){const e=t.oxw();t.Tol(e.configValues[e.ArmorStat.Discipline]>0?"positive":"negative"),t.xp6(1),t.Q6J("ngIf",e.configValues[e.ArmorStat.Discipline]>0),t.xp6(1),t.hij("",e.configValues[e.ArmorStat.Discipline]," ")}}function Ho(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"+"),t.qZA())}function Wo(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,Ho,2,0,"span",3),t._uU(2),t.qZA()),2&n){const e=t.oxw();t.Tol(e.configValues[e.ArmorStat.Intellect]>0?"positive":"negative"),t.xp6(1),t.Q6J("ngIf",e.configValues[e.ArmorStat.Intellect]>0),t.xp6(1),t.hij("",e.configValues[e.ArmorStat.Intellect]," ")}}function jo(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"+"),t.qZA())}function zo(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,jo,2,0,"span",3),t._uU(2),t.qZA()),2&n){const e=t.oxw();t.Tol(e.configValues[e.ArmorStat.Strength]>0?"positive":"negative"),t.xp6(1),t.Q6J("ngIf",e.configValues[e.ArmorStat.Strength]>0),t.xp6(1),t.hij("",e.configValues[e.ArmorStat.Strength]," ")}}function Go(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd75")}}function Ko(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,Go,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function $o(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd75")}}function Xo(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,$o,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function ti(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd75")}}function ei(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,ti,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function ni(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd75")}}function oi(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,ni,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function ii(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd75")}}function ai(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,ii,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function si(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd75")}}function ri(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,si,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function li(n,i){if(1&n&&(t.TgZ(0,"tr",53)(1,"td"),t._uU(2,"Minor Mods"),t.qZA(),t.YNc(3,Ko,2,1,"td",8),t.ALo(4,"count"),t.YNc(5,Xo,2,1,"td",8),t.ALo(6,"count"),t.YNc(7,ei,2,1,"td",8),t.ALo(8,"count"),t.YNc(9,oi,2,1,"td",8),t.ALo(10,"count"),t.YNc(11,ai,2,1,"td",8),t.ALo(12,"count"),t.YNc(13,ri,2,1,"td",8),t.ALo(14,"count"),t.qZA()),2&n){const e=i.ngVar,o=t.oxw();t.xp6(3),t.Q6J("ngVar",t.xi3(4,6,e,o.StatModifier.MINOR_MOBILITY)),t.xp6(2),t.Q6J("ngVar",t.xi3(6,9,e,o.StatModifier.MINOR_RESILIENCE)),t.xp6(2),t.Q6J("ngVar",t.xi3(8,12,e,o.StatModifier.MINOR_RECOVERY)),t.xp6(2),t.Q6J("ngVar",t.xi3(10,15,e,o.StatModifier.MINOR_DISCIPLINE)),t.xp6(2),t.Q6J("ngVar",t.xi3(12,18,e,o.StatModifier.MINOR_INTELLECT)),t.xp6(2),t.Q6J("ngVar",t.xi3(14,21,e,o.StatModifier.MINOR_STRENGTH))}}function ci(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd710")}}function mi(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,ci,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function di(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd710")}}function ui(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,di,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function pi(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd710")}}function gi(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,pi,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function _i(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd710")}}function fi(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,_i,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function hi(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd710")}}function xi(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,hi,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function yi(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd710")}}function Ti(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,yi,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function bi(n,i){if(1&n&&(t.TgZ(0,"tr")(1,"td"),t._uU(2,"Major Mods"),t.qZA(),t.YNc(3,mi,2,1,"td",8),t.ALo(4,"count"),t.YNc(5,ui,2,1,"td",8),t.ALo(6,"count"),t.YNc(7,gi,2,1,"td",8),t.ALo(8,"count"),t.YNc(9,fi,2,1,"td",8),t.ALo(10,"count"),t.YNc(11,xi,2,1,"td",8),t.ALo(12,"count"),t.YNc(13,Ti,2,1,"td",8),t.ALo(14,"count"),t.qZA()),2&n){const e=i.ngVar,o=t.oxw();t.xp6(3),t.Q6J("ngVar",t.xi3(4,6,e,o.StatModifier.MAJOR_MOBILITY)),t.xp6(2),t.Q6J("ngVar",t.xi3(6,9,e,o.StatModifier.MAJOR_RESILIENCE)),t.xp6(2),t.Q6J("ngVar",t.xi3(8,12,e,o.StatModifier.MAJOR_RECOVERY)),t.xp6(2),t.Q6J("ngVar",t.xi3(10,15,e,o.StatModifier.MAJOR_DISCIPLINE)),t.xp6(2),t.Q6J("ngVar",t.xi3(12,18,e,o.StatModifier.MAJOR_INTELLECT)),t.xp6(2),t.Q6J("ngVar",t.xi3(14,21,e,o.StatModifier.MAJOR_STRENGTH))}}function Ci(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd73")}}function vi(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,Ci,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function Ai(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd73")}}function wi(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,Ai,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function Zi(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd73")}}function Si(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,Zi,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function Ii(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd73")}}function ki(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,Ii,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function Oi(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd73")}}function Mi(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,Oi,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function Di(n,i){if(1&n&&(t.TgZ(0,"span",55),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("",e,"\xd73")}}function Ei(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,Di,2,1,"span",54),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function Ui(n,i){if(1&n&&(t.ynx(0),t.TgZ(1,"tr")(2,"td"),t._uU(3,"Artifice Mods"),t.qZA(),t.YNc(4,vi,2,1,"td",8),t.ALo(5,"count"),t.YNc(6,wi,2,1,"td",8),t.ALo(7,"count"),t.YNc(8,Si,2,1,"td",8),t.ALo(9,"count"),t.YNc(10,ki,2,1,"td",8),t.ALo(11,"count"),t.YNc(12,Mi,2,1,"td",8),t.ALo(13,"count"),t.YNc(14,Ei,2,1,"td",8),t.ALo(15,"count"),t.qZA(),t.BQk()),2&n){const e=i.ngVar,o=t.oxw();t.xp6(4),t.Q6J("ngVar",t.xi3(5,6,e,o.StatModifier.ARTIFICE_MOBILITY)),t.xp6(2),t.Q6J("ngVar",t.xi3(7,9,e,o.StatModifier.ARTIFICE_RESILIENCE)),t.xp6(2),t.Q6J("ngVar",t.xi3(9,12,e,o.StatModifier.ARTIFICE_RECOVERY)),t.xp6(2),t.Q6J("ngVar",t.xi3(11,15,e,o.StatModifier.ARTIFICE_DISCIPLINE)),t.xp6(2),t.Q6J("ngVar",t.xi3(13,18,e,o.StatModifier.ARTIFICE_INTELLECT)),t.xp6(2),t.Q6J("ngVar",t.xi3(15,21,e,o.StatModifier.ARTIFICE_STRENGTH))}}function Pi(n,i){if(1&n&&(t.TgZ(0,"tr",56)(1,"td"),t._uU(2,"Total"),t.qZA(),t.TgZ(3,"td"),t._uU(4),t._UZ(5,"img",47),t.qZA(),t.TgZ(6,"td"),t._uU(7),t._UZ(8,"img",48),t.qZA(),t.TgZ(9,"td"),t._uU(10),t._UZ(11,"img",49),t.qZA(),t.TgZ(12,"td"),t._uU(13),t._UZ(14,"img",50),t.qZA(),t.TgZ(15,"td"),t._uU(16),t._UZ(17,"img",51),t.qZA(),t.TgZ(18,"td"),t._uU(19),t._UZ(20,"img",52),t.qZA()()),2&n){const e=i.ngVar,o=t.oxw();t.xp6(4),t.hij(" ",e[o.ArmorStat.Mobility]," "),t.xp6(3),t.hij(" ",e[o.ArmorStat.Resilience]," "),t.xp6(3),t.hij(" ",e[o.ArmorStat.Recovery]," "),t.xp6(3),t.hij(" ",e[o.ArmorStat.Discipline]," "),t.xp6(3),t.hij(" ",e[o.ArmorStat.Intellect]," "),t.xp6(3),t.hij(" ",e[o.ArmorStat.Strength]," ")}}function Ri(n,i){if(1&n&&(t.TgZ(0,"span",64),t._UZ(1,"img",65),t._uU(2),t.ALo(3,"number"),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(2),t.hij(" ",t.lcZ(3,1,e.glimmer)," ")}}function Ni(n,i){if(1&n&&(t.TgZ(0,"span",66),t._UZ(1,"img",67),t._uU(2),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(2),t.hij(" ",e.shards," ")}}function qi(n,i){if(1&n&&(t.TgZ(0,"span",68),t._UZ(1,"img",69),t._uU(2),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(2),t.hij(" ",e.core," ")}}function Ji(n,i){if(1&n&&(t.TgZ(0,"span",70),t._UZ(1,"img",71),t._uU(2),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(2),t.hij(" ",e.prism," ")}}function Yi(n,i){if(1&n&&(t.TgZ(0,"span",72),t._UZ(1,"img",73),t._uU(2),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(2),t.hij(" ",e.ascshard," ")}}function Li(n,i){if(1&n&&(t.TgZ(0,"div",58),t._uU(1," Total material cost: "),t.YNc(2,Ri,4,3,"span",59),t.YNc(3,Ni,3,1,"span",60),t.YNc(4,qi,3,1,"span",61),t.YNc(5,Ji,3,1,"span",62),t.YNc(6,Yi,3,1,"span",63),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(2),t.Q6J("ngIf",e.glimmer>0),t.xp6(1),t.Q6J("ngIf",e.shards>0),t.xp6(1),t.Q6J("ngIf",e.core>0),t.xp6(1),t.Q6J("ngIf",e.prism>0),t.xp6(1),t.Q6J("ngIf",e.ascshard>0)}}function Fi(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Li,7,5,"div",57),t.BQk()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e.total>0)}}function Qi(n,i){if(1&n){const e=t.EpF();t.ynx(0),t.TgZ(1,"button",74),t.NdJ("click",function(){t.CHM(e);const a=t.oxw();return t.KtG(a.openSnackBar("Copied the DIM search query to your clipboard."))}),t._uU(2," Copy DIM query to clipboard "),t.qZA(),t.BQk()}if(2&n){const e=i.ngVar;t.xp6(1),t.Q6J("cdkCopyToClipboard",e)}}function Bi(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1," and use a masterworked class item"),t.qZA())}function Vi(n,i){if(1&n&&(t.TgZ(0,"li"),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.hij(" ",e.name," ")}}function Hi(n,i){if(1&n&&(t.TgZ(0,"li"),t._uU(1," Masterwork these items: "),t.TgZ(2,"ul"),t.YNc(3,Vi,2,1,"li",2),t.qZA()()),2&n){const e=t.oxw().ngVar;t.xp6(3),t.Q6J("ngForOf",e)}}function Wi(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Hi,4,1,"li",3),t.BQk()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e.length>0)}}function ji(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(3).ngVar;t.xp6(1),t.hij("",e," minor")}}function zi(n,i){1&n&&(t.ynx(0),t._uU(1," and"),t.BQk())}function Gi(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(1),t.hij(" ",e," major ")}}function Ki(n,i){1&n&&(t.ynx(0),t._uU(1,"s"),t.BQk())}function $i(n,i){if(1&n&&(t.TgZ(0,"li",55),t.YNc(1,ji,2,1,"span",3),t.YNc(2,zi,2,0,"ng-container",3),t.YNc(3,Gi,2,1,"span",3),t._uU(4," Mobility Mod"),t.YNc(5,Ki,2,0,"ng-container",3),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o>0),t.xp6(1),t.Q6J("ngIf",o>0&&e>0),t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(2),t.Q6J("ngIf",o+e>1)}}function Xi(n,i){if(1&n&&(t.ynx(0),t.YNc(1,$i,6,4,"li",54),t.BQk()),2&n){const e=i.ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o+e>0)}}function ta(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Xi,2,1,"ng-container",8),t.ALo(2,"count"),t.BQk()),2&n){const e=t.oxw().ngVar,o=t.oxw(2);t.xp6(1),t.Q6J("ngVar",t.xi3(2,1,e,o.StatModifier.MAJOR_MOBILITY))}}function ea(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(3).ngVar;t.xp6(1),t.hij("",e," minor")}}function na(n,i){1&n&&(t.ynx(0),t._uU(1," and"),t.BQk())}function oa(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(1),t.hij(" ",e," major ")}}function ia(n,i){1&n&&(t.ynx(0),t._uU(1,"s"),t.BQk())}function aa(n,i){if(1&n&&(t.TgZ(0,"li",55),t.YNc(1,ea,2,1,"span",3),t.YNc(2,na,2,0,"ng-container",3),t.YNc(3,oa,2,1,"span",3),t._uU(4," Resilience Mod"),t.YNc(5,ia,2,0,"ng-container",3),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o>0),t.xp6(1),t.Q6J("ngIf",o>0&&e>0),t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(2),t.Q6J("ngIf",o+e>1)}}function sa(n,i){if(1&n&&(t.ynx(0),t.YNc(1,aa,6,4,"li",54),t.BQk()),2&n){const e=i.ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o+e>0)}}function ra(n,i){if(1&n&&(t.ynx(0),t.YNc(1,sa,2,1,"ng-container",8),t.ALo(2,"count"),t.BQk()),2&n){const e=t.oxw().ngVar,o=t.oxw(2);t.xp6(1),t.Q6J("ngVar",t.xi3(2,1,e,o.StatModifier.MAJOR_RESILIENCE))}}function la(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(3).ngVar;t.xp6(1),t.hij("",e," minor")}}function ca(n,i){1&n&&(t.ynx(0),t._uU(1," and"),t.BQk())}function ma(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(1),t.hij(" ",e," major ")}}function da(n,i){1&n&&(t.ynx(0),t._uU(1,"s"),t.BQk())}function ua(n,i){if(1&n&&(t.TgZ(0,"li",55),t.YNc(1,la,2,1,"span",3),t.YNc(2,ca,2,0,"ng-container",3),t.YNc(3,ma,2,1,"span",3),t._uU(4," Recovery Mod"),t.YNc(5,da,2,0,"ng-container",3),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o>0),t.xp6(1),t.Q6J("ngIf",o>0&&e>0),t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(2),t.Q6J("ngIf",o+e>1)}}function pa(n,i){if(1&n&&(t.ynx(0),t.YNc(1,ua,6,4,"li",54),t.BQk()),2&n){const e=i.ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o+e>0)}}function ga(n,i){if(1&n&&(t.ynx(0),t.YNc(1,pa,2,1,"ng-container",8),t.ALo(2,"count"),t.BQk()),2&n){const e=t.oxw().ngVar,o=t.oxw(2);t.xp6(1),t.Q6J("ngVar",t.xi3(2,1,e,o.StatModifier.MAJOR_RECOVERY))}}function _a(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(3).ngVar;t.xp6(1),t.hij("",e," minor")}}function fa(n,i){1&n&&(t.ynx(0),t._uU(1," and"),t.BQk())}function ha(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(1),t.hij(" ",e," major ")}}function xa(n,i){1&n&&(t.ynx(0),t._uU(1,"s"),t.BQk())}function ya(n,i){if(1&n&&(t.TgZ(0,"li",55),t.YNc(1,_a,2,1,"span",3),t.YNc(2,fa,2,0,"ng-container",3),t.YNc(3,ha,2,1,"span",3),t._uU(4," Discipline Mod"),t.YNc(5,xa,2,0,"ng-container",3),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o>0),t.xp6(1),t.Q6J("ngIf",o>0&&e>0),t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(2),t.Q6J("ngIf",o+e>1)}}function Ta(n,i){if(1&n&&(t.ynx(0),t.YNc(1,ya,6,4,"li",54),t.BQk()),2&n){const e=i.ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o+e>0)}}function ba(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Ta,2,1,"ng-container",8),t.ALo(2,"count"),t.BQk()),2&n){const e=t.oxw().ngVar,o=t.oxw(2);t.xp6(1),t.Q6J("ngVar",t.xi3(2,1,e,o.StatModifier.MAJOR_DISCIPLINE))}}function Ca(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(3).ngVar;t.xp6(1),t.hij("",e," minor")}}function va(n,i){1&n&&(t.ynx(0),t._uU(1," and"),t.BQk())}function Aa(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(1),t.hij(" ",e," major ")}}function wa(n,i){1&n&&(t.ynx(0),t._uU(1,"s"),t.BQk())}function Za(n,i){if(1&n&&(t.TgZ(0,"li",55),t.YNc(1,Ca,2,1,"span",3),t.YNc(2,va,2,0,"ng-container",3),t.YNc(3,Aa,2,1,"span",3),t._uU(4," Intellect Mod"),t.YNc(5,wa,2,0,"ng-container",3),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o>0),t.xp6(1),t.Q6J("ngIf",o>0&&e>0),t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(2),t.Q6J("ngIf",o+e>1)}}function Sa(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Za,6,4,"li",54),t.BQk()),2&n){const e=i.ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o+e>0)}}function Ia(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Sa,2,1,"ng-container",8),t.ALo(2,"count"),t.BQk()),2&n){const e=t.oxw().ngVar,o=t.oxw(2);t.xp6(1),t.Q6J("ngVar",t.xi3(2,1,e,o.StatModifier.MAJOR_INTELLECT))}}function ka(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(3).ngVar;t.xp6(1),t.hij("",e," minor")}}function Oa(n,i){1&n&&(t.ynx(0),t._uU(1," and"),t.BQk())}function Ma(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(1),t.hij(" ",e," major ")}}function Da(n,i){1&n&&(t.ynx(0),t._uU(1,"s"),t.BQk())}function Ea(n,i){if(1&n&&(t.TgZ(0,"li",55),t.YNc(1,ka,2,1,"span",3),t.YNc(2,Oa,2,0,"ng-container",3),t.YNc(3,Ma,2,1,"span",3),t._uU(4," Strength Mod"),t.YNc(5,Da,2,0,"ng-container",3),t.qZA()),2&n){const e=t.oxw().ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o>0),t.xp6(1),t.Q6J("ngIf",o>0&&e>0),t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(2),t.Q6J("ngIf",o+e>1)}}function Ua(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Ea,6,4,"li",54),t.BQk()),2&n){const e=i.ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngIf",o+e>0)}}function Pa(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Ua,2,1,"ng-container",8),t.ALo(2,"count"),t.BQk()),2&n){const e=t.oxw().ngVar,o=t.oxw(2);t.xp6(1),t.Q6J("ngVar",t.xi3(2,1,e,o.StatModifier.MAJOR_STRENGTH))}}function Ra(n,i){if(1&n&&(t.TgZ(0,"ul"),t.YNc(1,ta,3,4,"ng-container",8),t.ALo(2,"count"),t.YNc(3,ra,3,4,"ng-container",8),t.ALo(4,"count"),t.YNc(5,ga,3,4,"ng-container",8),t.ALo(6,"count"),t.YNc(7,ba,3,4,"ng-container",8),t.ALo(8,"count"),t.YNc(9,Ia,3,4,"ng-container",8),t.ALo(10,"count"),t.YNc(11,Pa,3,4,"ng-container",8),t.ALo(12,"count"),t.qZA()),2&n){const e=i.ngVar,o=t.oxw(2);t.xp6(1),t.Q6J("ngVar",t.xi3(2,6,e,o.StatModifier.MINOR_MOBILITY)),t.xp6(2),t.Q6J("ngVar",t.xi3(4,9,e,o.StatModifier.MINOR_RESILIENCE)),t.xp6(2),t.Q6J("ngVar",t.xi3(6,12,e,o.StatModifier.MINOR_RECOVERY)),t.xp6(2),t.Q6J("ngVar",t.xi3(8,15,e,o.StatModifier.MINOR_DISCIPLINE)),t.xp6(2),t.Q6J("ngVar",t.xi3(10,18,e,o.StatModifier.MINOR_INTELLECT)),t.xp6(2),t.Q6J("ngVar",t.xi3(12,21,e,o.StatModifier.MINOR_STRENGTH))}}function Na(n,i){if(1&n&&(t.TgZ(0,"li"),t._uU(1,"Equip the following stat mods: "),t.YNc(2,Ra,13,24,"ul",8),t.qZA()),2&n){const e=t.oxw();t.xp6(2),t.Q6J("ngVar",null==e.element?null:e.element.mods)}}function qa(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1," Arc "),t.qZA())}function Ja(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1," Solar "),t.qZA())}function Ya(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1," Void "),t.qZA())}function La(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1," Stasis "),t.qZA())}function Fa(n,i){if(1&n&&t._UZ(0,"img",76,35),2&n){const e=t.oxw(3).ngVar,o=t.oxw(3);t.MGl("matTooltip","",o.getAffinityName(e.requiredArmorAffinity)," affinity"),t.Q6J("src",o.getAffinityUrl(e.requiredArmorAffinity),t.LSH)}}function Qa(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.YNc(2,qa,2,0,"span",3),t.YNc(3,Ja,2,0,"span",3),t.YNc(4,Ya,2,0,"span",3),t.YNc(5,La,2,0,"span",3),t.YNc(6,Fa,2,2,"img",75),t._uU(7," ) "),t.qZA()),2&n){const e=t.oxw(2).ngVar;t.xp6(1),t.hij(" ( ",e.cost," "),t.xp6(1),t.Q6J("ngIf",1===e.requiredArmorAffinity),t.xp6(1),t.Q6J("ngIf",2===e.requiredArmorAffinity),t.xp6(1),t.Q6J("ngIf",3===e.requiredArmorAffinity),t.xp6(1),t.Q6J("ngIf",6===e.requiredArmorAffinity),t.xp6(1),t.Q6J("ngIf",0!==e.requiredArmorAffinity)}}function Ba(n,i){if(1&n&&(t.TgZ(0,"li"),t._uU(1),t.YNc(2,Qa,8,6,"span",3),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij(" Equip the mod ",e.name," "),t.xp6(1),t.Q6J("ngIf",0!==e.requiredArmorAffinity)}}function Va(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Ba,3,2,"li",3),t.BQk()),2&n){const e=i.ngVar,o=t.oxw(3);t.xp6(1),t.Q6J("ngIf",e.type===o.ModifierType.CombatStyleMod)}}function Ha(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Va,2,1,"ng-container",8),t.BQk()),2&n){const e=i.$implicit,o=t.oxw(2);t.xp6(1),t.Q6J("ngVar",o.ModInformation[e])}}function Wa(n,i){if(1&n&&(t.TgZ(0,"li"),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij(" Equip the stasis fragment ",e.name," ")}}function ja(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Wa,2,1,"li",3),t.BQk()),2&n){const e=i.ngVar,o=t.oxw(3);t.xp6(1),t.Q6J("ngIf",e.type===o.ModifierType.Stasis)}}function za(n,i){if(1&n&&(t.ynx(0),t.YNc(1,ja,2,1,"ng-container",8),t.BQk()),2&n){const e=i.$implicit,o=t.oxw(2);t.xp6(1),t.Q6J("ngVar",o.ModInformation[e])}}function Ga(n,i){if(1&n&&(t.TgZ(0,"li"),t._uU(1," Equip any mods and fragments that you enabled in the configuration: "),t.TgZ(2,"ul"),t.YNc(3,Ha,2,1,"ng-container",2),t.YNc(4,za,2,1,"ng-container",2),t.qZA()()),2&n){const e=t.oxw();t.xp6(3),t.Q6J("ngForOf",e.config_enabledMods),t.xp6(1),t.Q6J("ngForOf",e.config_enabledMods)}}function Ka(n,i){if(1&n&&t._UZ(0,"div",80),2&n){const e=t.oxw().$implicit;t.Tol(e)}}function $a(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,Ka,1,2,"div",79),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.Q6J("ngIf",!!e)}}function Xa(n,i){if(1&n&&(t.TgZ(0,"tr")(1,"td"),t._uU(2),t.qZA(),t.TgZ(3,"td"),t._UZ(4,"img",77),t.qZA(),t.YNc(5,$a,2,1,"td",2),t.TgZ(6,"td",78),t._uU(7),t.qZA()()),2&n){const e=i.$implicit,o=t.oxw();t.xp6(2),t.Oqu(o.ArmorStatNames[e]),t.xp6(2),t.s9C("alt",o.ArmorStatNames[e]),t.s9C("src",o.ArmorStatIconUrls[e],t.LSH),t.xp6(1),t.Q6J("ngForOf",o.getColumnForStat(e)),t.xp6(2),t.Oqu(o.getTiersForStat(e))}}function ts(n,i){if(1&n&&(t.TgZ(0,"tr")(1,"td"),t._uU(2,"Exotic:"),t.qZA(),t.TgZ(3,"td",81),t._uU(4),t.qZA(),t.TgZ(5,"td",82)(6,"div",83),t._UZ(7,"img",84)(8,"img",85),t.qZA()()()),2&n){const e=t.oxw().ngVar;t.xp6(4),t.Oqu(e[0].name),t.xp6(3),t.MGl("src","https://bungie.net/",e[0].icon,"",t.LSH),t.xp6(1),t.MGl("src","https://bungie.net/",e[0].watermark,"",t.LSH)}}function es(n,i){if(1&n&&(t.ynx(0),t.YNc(1,ts,9,3,"tr",3),t.BQk()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e[0])}}let ns=(()=>{class n{constructor(e,o,a,s){this.config=e,this._snackBar=o,this.bungieApi=a,this.membership=s,this.armorStatIds=[0,1,2,3,4,5],this.ModifierType=h.O,this.ModInformation=ut,this.ArmorStatNames=r.Mi,this.ArmorStatIconUrls=r.lp,this.ArmorStat=r.WB,this.StatModifier=r.iV,this.config_characterClass=0,this.config_assumeLegendariesMasterworked=!1,this.config_assumeExoticsMasterworked=!1,this.config_assumeClassItemMasterworked=!1,this.config_enabledMods=[],this.DIMUrl="",this.configValues=[0,0,0,0,0,0],this.element=null,this.ngUnsubscribe=new nt.xQ}buildItemIdString(e){let o=e?.items.flat().map(s=>`id:'${s.itemInstanceId}'`).join(" or "),a=["is:classitem"];return e?.classItem.perk!=r.Pn.None&&e?.classItem.perk!=r.Pn.COUNT&&a.push(r.ID[e?.classItem.perk||0]),a.length>1&&(o+=` or (${a.join(" ")})`),o}openSnackBar(e){this._snackBar.open(e,"",{duration:2500,politeness:"polite"})}ngOnInit(){this.config.configuration.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(e=>{this.config_characterClass=e.characterClass,this.config_assumeLegendariesMasterworked=e.assumeLegendariesMasterworked,this.config_assumeExoticsMasterworked=e.assumeExoticsMasterworked,this.config_assumeClassItemMasterworked=e.assumeClassItemMasterworked,this.config_enabledMods=e.enabledMods,this.configValues=e.enabledMods.reduce((o,a)=>o.concat(ut[a].bonus),[]).reduce((o,a)=>(a.stat==r.AR.ClassAbilityRegenerationStat?o[[1,0,2][e.characterClass]]+=a.value:o[a.stat]+=a.value,o),[0,0,0,0,0,0]),this.DIMUrl=this.generateDIMLink(e)})}disableAllItems(){this.config.modifyConfiguration(e=>{for(let o of this.element?.items.flat())e.disabledItems.push(o.itemInstanceId)})}disableItem(e){this.config.modifyConfiguration(o=>{o.disabledItems.push(e)})}get mayAnyItemBeBugged(){return(this.element?.items.flat().filter(e=>e.mayBeBugged).length||0)>0}getCharacterId(){var e=this;return(0,m.Z)(function*(){let o=yield e.membership.getCharacters();return o=o.filter(a=>a.clazz==e.config_characterClass),0==o.length?(e.openSnackBar("Error: Could not find a character to move the items to."),null):o[0].characterId})()}moveItems(e=!1){var o=this;return(0,m.Z)(function*(){for(let d of(o.element?.items||[]).flat())d.transferState=ht.WAITING_FOR_TRANSFER;let a=yield o.getCharacterId();if(!a)return;let s=!0,l=(o.element?.items||[]).flat().sort(d=>d.exotic?1:-1);for(let d of l){d.transferState=ht.TRANSFERRING;let u=yield o.bungieApi.transferItem(d.itemInstanceId,a,e);d.transferState=u?ht.TRANSFERRED:ht.ERROR_DURING_TRANSFER,u||(s=!1)}o.openSnackBar(s?"Success! Moved all the items.":"Some of the items could not be moved. Make sure that there is enough space in the specific slot. This tool will not move items out of your inventory.")})()}getItemsThatMustBeMasterworked(){return this.element?.items.flat().filter(e=>!(e.masterworked||e.exotic&&!this.config_assumeExoticsMasterworked||!e.exotic&&!this.config_assumeLegendariesMasterworked))}calculateRequiredMasterworkCost(){let e={shards:0,glimmer:0,core:0,prism:0,ascshard:0,total:0},o=this.element?.items.flat()||[];o=o.filter(a=>a.energyLevel<10&&(a.exotic&&this.config_assumeExoticsMasterworked||!a.exotic&&this.config_assumeLegendariesMasterworked));for(let a of o){let s=a.exotic?$n:Kn;for(let l=a.energyLevel;l<10;l++)for(let d in s[l+1])e[d]+=s[l+1][d],e.total++}return e}generateDIMLink(e){const o=[],a=[];for(let p of this.config_enabledMods){const b=ut[p];b.type===h.O.CombatStyleMod?o.push(b.hash):a.push(b.hash)}if(this.element){for(let p of this.element?.mods||[])o.push(r.K9[p][3]);for(let p of this.element?.artifice||[])o.push(r.K9[p][3])}var s={statConstraints:[{statHash:2996146975,minTier:e.minimumStatTiers[r.WB.Mobility].value,maxTier:e.minimumStatTiers[r.WB.Mobility].fixed?e.minimumStatTiers[r.WB.Mobility].value:10},{statHash:392767087,minTier:e.minimumStatTiers[r.WB.Resilience].value,maxTier:e.minimumStatTiers[r.WB.Resilience].fixed?e.minimumStatTiers[r.WB.Resilience].value:10},{statHash:1943323491,minTier:e.minimumStatTiers[r.WB.Recovery].value,maxTier:e.minimumStatTiers[r.WB.Recovery].fixed?e.minimumStatTiers[r.WB.Recovery].value:10},{statHash:1735777505,minTier:e.minimumStatTiers[r.WB.Discipline].value,maxTier:e.minimumStatTiers[r.WB.Recovery].fixed?e.minimumStatTiers[r.WB.Recovery].value:10},{statHash:144602215,minTier:e.minimumStatTiers[r.WB.Intellect].value,maxTier:e.minimumStatTiers[r.WB.Intellect].fixed?e.minimumStatTiers[r.WB.Intellect].value:10},{statHash:4244567218,minTier:e.minimumStatTiers[r.WB.Strength].value,maxTier:e.minimumStatTiers[r.WB.Strength].fixed?e.minimumStatTiers[r.WB.Strength].value:10}],mods:o,assumeArmorMasterwork:e.assumeLegendariesMasterworked?e.assumeExoticsMasterworked?3:2:1};if(1==e.selectedExotics.length)s.exoticArmorHash=e.selectedExotics[0];else{var l=this.element?.exotic;if(l&&1==l.length){var d=l[0].hash;d&&(s.exoticArmorHash=parseInt(d,10))}}const u={id:"d2ap",name:"D2ArmorPicker Loadout",classType:e.characterClass,parameters:s,equipped:(this.element?.items||[]).map(([p])=>({id:p.itemInstanceId,hash:p.hash})),unequipped:[],clearSpace:!1};if(a.length){const p=a.reduce((M,k,U)=>(M[U+7]=k,M),{}),Z={[D.Hunter]:{[h.O.Stasis]:873720784,[h.O.Void]:2453351420,[h.O.Solar]:2240888816,[h.O.Arc]:2328211300,[h.O.Strand]:3785442599},[D.Titan]:{[h.O.Stasis]:613647804,[h.O.Void]:2842471112,[h.O.Solar]:2550323932,[h.O.Arc]:2932390016,[h.O.Strand]:242419885},[D.Warlock]:{[h.O.Stasis]:3291545503,[h.O.Void]:2849050827,[h.O.Solar]:3941205951,[h.O.Arc]:3168997075,[h.O.Strand]:4204413574}}[e.characterClass]?.[e.selectedModElement];Z&&u.equipped.push({id:"12345",hash:Z,socketOverrides:p})}return"https://app.destinyitemmanager.com/loadouts?loadout="+encodeURIComponent(JSON.stringify(u))}goToDIM(){window.open(this.DIMUrl,"blank")}getTiersForStat(e){return Math.floor((this.element?.stats[e]||0)/10)}getColumnForStat(e){var o=Math.floor(this.configValues[e]/10);let a=[],s=0,l=Math.ceil((5*(this.element?.mods.filter(u=>u==1+2*e)||[]).length+10*(this.element?.mods.filter(u=>u==2+2*e)||[]).length)/10);var d=this.getTiersForStat(e)-o-l;for(let u=0;u10?" over100":""));for(let u=0;u10?" over100":""));for(let u=0;u10?" over100":""));for(;s++<10;)a.push("");return a}getRequiredMasterworkBonus(){return 2*(this.element?.items.filter(e=>!e[0].masterworked&&!e[0].exotic&&this.config_assumeLegendariesMasterworked||e[0].exotic&&this.config_assumeExoticsMasterworked)||[]).length}getAffinityName(e){return r.vr[e]}getAffinityUrl(e){return r.Sy[e]}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(B),t.Y36(Vt.ux),t.Y36(Qt),t.Y36(Pt))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-expanded-result-content"]],inputs:{element:"element"},decls:124,vars:26,consts:[["class","invalid-item-box mat-elevation-z4","color","warn",4,"ngIf"],[1,"specificStatTable"],[4,"ngFor","ngForOf"],[4,"ngIf"],["class","result-total-gear result-total highlight-row",4,"ngVar"],[1,"result-config"],[3,"class",4,"ngIf"],["class","highlight-row",4,"ngVar"],[4,"ngVar"],["class","result-total-all result-total highlight-row",4,"ngVar"],[1,"buttonContainer"],["color","primary","mat-raised-button","","matTooltip","Use this button to open this build as a DIM Loadout.",3,"click"],["mat-stroked-button","","matTooltip","Click this button to move Items to your inventory. Make sure that you have enough space in your inventory. This tool will not move any items out of your inventory.",3,"click"],["mat-stroked-button","","matTooltip","Click this button to equip the Items. Make sure that you have enough space in your inventory. This tool will not move any items out of your inventory.",3,"click"],[1,"mat-elevation-z6"],[1,"stat-preview"],["colspan","2"],[1,"tier-column"],[1,"legend"],[1,"energy-bar","normal"],["colspan","3"],[1,"energy-bar","mod"],["colspan","4"],[1,"energy-bar","config"],["color","warn",1,"invalid-item-box","mat-elevation-z4"],[3,"highlight-row",4,"ngFor","ngForOf"],["class","item-name-mw","matTooltip","This item is already masterworked.",4,"ngIf"],[1,"icon-column"],[1,"item-icon-container",3,"itemTooltip"],[1,"item-icon",3,"itemHash","masterworked","source"],[2,"position","relative","width","25px"],[3,"perk"],["mat-icon-button","","matTooltip","Disable this item from the results. It will not be used to generate results anymore, but you can always undo this.",1,"item-info-menu-btn",3,"click"],["class","icon-column",4,"ngIf"],["matTooltip","This item is already masterworked.",1,"item-name-mw"],["tooltip","matTooltip"],[1,"item-stat-container"],[1,"item-stat-value"],["color","primary","diameter","22","mode","indeterminate",1,"item-loading-spinner"],["aria-hidden","false","aria-label","Success","inline","","matTooltip","Item successfully moved to inventory.",1,"item-moved-icon"],["aria-hidden","false","aria-label","Error","inline","","matTooltip","This item could not be moved. Make sure that there is enough space on your character. This tool will not move items out of your inventory.",1,"report-problem-icon"],["aria-hidden","false","aria-label","Error","inline","","matTooltip","The stats of this item may be incorrect. Make sure that you remove every positive or negative stat modifier from this item.",1,"report-problem-icon"],["matTooltip","Class item should be masterworked.",1,"item-name-mw"],[1,"text-mw"],["mat-icon-button","","matTooltip","Disable all four items above from the results. They will not be used to generate results anymore, but you can always undo this.",1,"item-info-menu-btn","report-problem-icon",3,"click"],["colspan","6",1,"text-centered"],[1,"result-total-gear","result-total","highlight-row"],["alt","Mobility","src","https://www.bungie.net/common/destiny2_content/icons/e26e0e93a9daf4fdd21bf64eb9246340.png",1,"statIcon"],["alt","Resilience","src","https://www.bungie.net/common/destiny2_content/icons/202ecc1c6febeb6b97dafc856e863140.png",1,"statIcon"],["alt","Recovery","src","https://www.bungie.net/common/destiny2_content/icons/128eee4ee7fc127851ab32eac6ca91cf.png",1,"statIcon"],["alt","Discipline","src","https://www.bungie.net/common/destiny2_content/icons/79be2d4adef6a19203f7385e5c63b45b.png",1,"statIcon"],["alt","Intellect","src","https://www.bungie.net/common/destiny2_content/icons/d1c154469670e9a592c9d4cbdcae5764.png",1,"statIcon"],["alt","Strength","src","https://www.bungie.net/common/destiny2_content/icons/ea5af04ccd6a3470a44fd7bb0f66e2f7.png",1,"statIcon"],[1,"highlight-row"],["class","positive",4,"ngIf"],[1,"positive"],[1,"result-total-all","result-total","highlight-row"],["style","margin-top: 10px",4,"ngIf"],[2,"margin-top","10px"],["class","currency-icon-container","matTooltip","Glimmer",4,"ngIf"],["class","currency-icon-container","matTooltip","Legendary Shards",4,"ngIf"],["class","currency-icon-container","matTooltip","Enhancement Cores",4,"ngIf"],["class","currency-icon-container","matTooltip","Enhancement Prism",4,"ngIf"],["class","currency-icon-container","matTooltip","Ascendant Shard",4,"ngIf"],["matTooltip","Glimmer",1,"currency-icon-container"],["alt","Glimmer","src","https://www.bungie.net/common/destiny2_content/icons/88993eaeedad32f42072df6f77f47311.png",1,"currency-icon"],["matTooltip","Legendary Shards",1,"currency-icon-container"],["alt","Legendary Shards","src","https://www.bungie.net/common/destiny2_content/icons/18ddd0bdac721b8eb8e6f8ec2b3e813c.png",1,"currency-icon"],["matTooltip","Enhancement Cores",1,"currency-icon-container"],["alt","Enhancement Cores","src","https://www.bungie.net/common/destiny2_content/icons/0a4eb695ed55b4e720ddc401460cc0f9.jpg",1,"currency-icon"],["matTooltip","Enhancement Prism",1,"currency-icon-container"],["alt","Enhancement Prism","src","https://www.bungie.net/common/destiny2_content/icons/dea2a35badf7466d4c2c2697ce6e8d87.jpg",1,"currency-icon"],["matTooltip","Ascendant Shard",1,"currency-icon-container"],["alt","Ascendant Shard","src","https://www.bungie.net/common/destiny2_content/icons/0271d214fc3ec91b3def799a4b286b46.jpg",1,"currency-icon"],["color","primary","mat-raised-button","","matTooltip","Use this button to copy a DIM search query to your clip board. It allows you to search the given items in DIM.",3,"cdkCopyToClipboard","click"],["class","element-icon-mini",3,"src","matTooltip",4,"ngIf"],[1,"element-icon-mini",3,"src","matTooltip"],[2,"height","18px",3,"alt","src"],[1,"sum-tiers"],["class","energy-bar",3,"class",4,"ngIf"],[1,"energy-bar"],["colspan","10"],["colspan","1"],[1,"item-icon-container"],[1,"item-icon",3,"src"],[1,"item-icon-overlay",3,"src"]],template:function(e,o){1&e&&(t.TgZ(0,"div"),t.YNc(1,yo,4,0,"mat-toolbar",0),t._uU(2," This table shows you the expected stats of any item: "),t.TgZ(3,"table",1)(4,"thead")(5,"tr")(6,"th"),t._uU(7,"Name"),t.qZA(),t.TgZ(8,"th"),t._uU(9,"Mobility"),t.qZA(),t.TgZ(10,"th"),t._uU(11,"Resilience"),t.qZA(),t.TgZ(12,"th"),t._uU(13,"Recovery"),t.qZA(),t.TgZ(14,"th"),t._uU(15,"Discipline"),t.qZA(),t.TgZ(16,"th"),t._uU(17,"Intellect"),t.qZA(),t.TgZ(18,"th"),t._uU(19,"Strength"),t.qZA(),t._UZ(20,"th")(21,"th"),t.qZA()(),t.YNc(22,Io,2,1,"ng-container",2),t.YNc(23,ko,24,7,"tr",3),t.YNc(24,Oo,11,0,"tr",3),t.YNc(25,No,9,6,"tr",4),t.TgZ(26,"tr",5)(27,"td"),t._uU(28,"Configuration"),t.qZA(),t.TgZ(29,"td"),t.YNc(30,Jo,3,4,"span",6),t.qZA(),t.TgZ(31,"td"),t.YNc(32,Lo,3,4,"span",6),t.qZA(),t.TgZ(33,"td"),t.YNc(34,Qo,3,4,"span",6),t.qZA(),t.TgZ(35,"td"),t.YNc(36,Vo,3,4,"span",6),t.qZA(),t.TgZ(37,"td"),t.YNc(38,Wo,3,4,"span",6),t.qZA(),t.TgZ(39,"td"),t.YNc(40,zo,3,4,"span",6),t.qZA()(),t.YNc(41,li,15,24,"tr",7),t.YNc(42,bi,15,24,"tr",8),t.YNc(43,Ui,16,24,"ng-container",8),t.YNc(44,Pi,21,6,"tr",9),t.qZA()(),t.YNc(45,Fi,2,1,"ng-container",8),t.TgZ(46,"div",10),t.YNc(47,Qi,3,1,"ng-container",8),t.TgZ(48,"button",11),t.NdJ("click",function(){return o.goToDIM()}),t._uU(49," Open Loadout in DIM "),t.qZA(),t._UZ(50,"br"),t.TgZ(51,"small"),t._uU(52,"The following two buttons may not work for some at the moment:"),t.qZA(),t._UZ(53,"br"),t.TgZ(54,"button",12),t.NdJ("click",function(){return o.moveItems()}),t._uU(55," Move items to inventory (beta) "),t.qZA(),t.TgZ(56,"button",13),t.NdJ("click",function(){return o.moveItems(!0)}),t._uU(57," Equip Items (beta) "),t.qZA()(),t.TgZ(58,"mat-accordion")(59,"mat-expansion-panel",14)(60,"mat-expansion-panel-header")(61,"mat-panel-title"),t._uU(62," What to do now? "),t.qZA(),t.TgZ(63,"mat-panel-description"),t._uU(64," Detailed Instructions of to get your loadout ready. "),t.qZA()(),t.TgZ(65,"div")(66,"ol")(67,"li"),t._uU(68," Move all related items into your inventory "),t.YNc(69,Bi,2,0,"span",3),t._uU(70,". "),t.qZA(),t.YNc(71,Wi,2,1,"ng-container",8),t.YNc(72,Na,3,1,"li",3),t.ALo(73,"count"),t.YNc(74,Ga,5,2,"li",3),t.qZA()()(),t.TgZ(75,"mat-expansion-panel",14)(76,"mat-expansion-panel-header")(77,"mat-panel-title"),t._uU(78," Stat overview "),t.qZA(),t.TgZ(79,"mat-panel-description"),t._uU(80," Shows a summary of all the stats and where they come from. "),t.qZA()(),t.TgZ(81,"table",15)(82,"tr")(83,"td",16),t._uU(84,"Stat"),t.qZA(),t.TgZ(85,"td",17),t._uU(86,"1"),t.qZA(),t.TgZ(87,"td",17),t._uU(88,"2"),t.qZA(),t.TgZ(89,"td",17),t._uU(90,"3"),t.qZA(),t.TgZ(91,"td",17),t._uU(92,"4"),t.qZA(),t.TgZ(93,"td",17),t._uU(94,"5"),t.qZA(),t.TgZ(95,"td",17),t._uU(96,"6"),t.qZA(),t.TgZ(97,"td",17),t._uU(98,"7"),t.qZA(),t.TgZ(99,"td",17),t._uU(100,"8"),t.qZA(),t.TgZ(101,"td",17),t._uU(102,"9"),t.qZA(),t.TgZ(103,"td",17),t._uU(104,"10"),t.qZA(),t.TgZ(105,"td"),t._uU(106,"Tiers"),t.qZA()(),t.YNc(107,Xa,8,5,"tr",2),t.TgZ(108,"tr",18)(109,"td",16),t._uU(110,"Armor"),t.qZA(),t.TgZ(111,"td"),t._UZ(112,"div",19),t.qZA(),t.TgZ(113,"td",20),t._uU(114,"Stat Mod"),t.qZA(),t.TgZ(115,"td"),t._UZ(116,"div",21),t.qZA(),t.TgZ(117,"td",22),t._uU(118,"Fragments & Mods"),t.qZA(),t.TgZ(119,"td"),t._UZ(120,"div",23),t.qZA()(),t.YNc(121,es,2,1,"ng-container",8),t.qZA()()(),t._UZ(122,"br")(123,"br")),2&e&&(t.xp6(1),t.Q6J("ngIf",o.mayAnyItemBeBugged),t.xp6(21),t.Q6J("ngForOf",null==o.element?null:o.element.items),t.xp6(1),t.Q6J("ngIf",o.config_assumeClassItemMasterworked),t.xp6(1),t.Q6J("ngIf",!o.config_assumeClassItemMasterworked),t.xp6(1),t.Q6J("ngVar",null==o.element?null:o.element.statsNoMods),t.xp6(5),t.Q6J("ngIf",0!==o.configValues[o.ArmorStat.Mobility]),t.xp6(2),t.Q6J("ngIf",0!==o.configValues[o.ArmorStat.Resilience]),t.xp6(2),t.Q6J("ngIf",0!==o.configValues[o.ArmorStat.Recovery]),t.xp6(2),t.Q6J("ngIf",0!==o.configValues[o.ArmorStat.Discipline]),t.xp6(2),t.Q6J("ngIf",0!==o.configValues[o.ArmorStat.Intellect]),t.xp6(2),t.Q6J("ngIf",0!==o.configValues[o.ArmorStat.Strength]),t.xp6(1),t.Q6J("ngVar",null==o.element?null:o.element.mods),t.xp6(1),t.Q6J("ngVar",null==o.element?null:o.element.mods),t.xp6(1),t.Q6J("ngVar",null==o.element?null:o.element.artifice),t.xp6(1),t.Q6J("ngVar",null==o.element?null:o.element.stats),t.xp6(1),t.Q6J("ngVar",o.calculateRequiredMasterworkCost()),t.xp6(2),t.Q6J("ngVar",o.buildItemIdString(o.element)),t.xp6(22),t.Q6J("ngIf",o.config_assumeClassItemMasterworked),t.xp6(2),t.Q6J("ngVar",o.getItemsThatMustBeMasterworked()),t.xp6(1),t.Q6J("ngIf",(null==o.element?null:o.element.mods).length>0&&t.xi3(73,23,null==o.element?null:o.element.mods,o.StatModifier.NONE)<5),t.xp6(2),t.Q6J("ngIf",o.config_enabledMods.length>0),t.xp6(33),t.Q6J("ngForOf",o.armorStatIds),t.xp6(14),t.Q6J("ngVar",null==o.element?null:o.element.exotic))},dependencies:[T.sg,T.O5,g.lW,N.gM,j.Hw,W.Ye,J.pp,J.ib,J.yz,J.yK,J.u4,Xn.Ou,wt.i3,Ct,co,Ht,Wt,T.JJ,ue],styles:[".element-icon[_ngcontent-%COMP%]{width:22px}.element-icon-mini[_ngcontent-%COMP%]{height:12px}.item-loading-spinner[_ngcontent-%COMP%]{width:22px;height:22px;margin-bottom:6px}.item-icon[_ngcontent-%COMP%]{width:22px}.item-icon-overlay[_ngcontent-%COMP%]{width:22px;margin-left:-22px}.item-icon-container[_ngcontent-%COMP%]{position:relative;contain:layout paint style;box-sizing:border-box;width:var(--item-size);transition:opacity .2s,transform .2s;margin-top:-4px}.item-icon-masterwork-overlay[_ngcontent-%COMP%]{pointer-events:none;box-sizing:border-box;top:-1px;left:-1px;border-width:0;height:24px;width:24px;position:absolute;background-repeat:no-repeat;background-position:center;background-size:22px 22px;background-image:url(data:image/png;base64,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)}.negative[_ngcontent-%COMP%]{color:#f08080}.positive[_ngcontent-%COMP%]{color:#6495ed}table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{text-align:right}table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:not(:last-child) td[_ngcontent-%COMP%]{border-bottom:rgba(240,248,255,.08) solid .5px}.result-total-gear[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:aliceblue solid 1px!important}.result-total-all[_ngcontent-%COMP%] > td[_ngcontent-%COMP%], .result-total-gear[_ngcontent-%COMP%] > td[_ngcontent-%COMP%]{border-top:aliceblue double}.buttonContainer[_ngcontent-%COMP%]{margin-top:10px;margin-bottom:10px}.buttonContainer[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:not(:last-of-type){margin-right:6px;margin-bottom:3px}.result-total[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{position:relative;padding-right:14px}.statIcon[_ngcontent-%COMP%]{position:absolute;height:14px;margin-left:2px;top:3px}.item-info-menu-btn[_ngcontent-%COMP%]{height:22px!important;width:22px!important;line-height:22px!important;top:-4px;left:-4px}.item-info-menu-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:22px}.item-moved-icon[_ngcontent-%COMP%]{color:#7fffd4}.report-problem-icon[_ngcontent-%COMP%]{color:#f08080}.invalid-item-box[_ngcontent-%COMP%]{text-align:center;margin-right:auto;margin-left:auto;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;font-size:15px;line-height:20px}.text-centered[_ngcontent-%COMP%]{text-align:center!important}.specificStatTable[_ngcontent-%COMP%]{border-collapse:separate;border-spacing:0 0}.highlight-row[_ngcontent-%COMP%]{background-color:#6e6e6e21}tr.legend[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding-top:3px}.tier-column[_ngcontent-%COMP%]{min-width:27px}.energy-bar[_ngcontent-%COMP%]{width:25px;height:10px;border:white solid 2px;position:relative}.energy-bar.normal[_ngcontent-%COMP%]{background-color:#fff}.energy-bar.mod[_ngcontent-%COMP%]{background-color:gray;border:white ridge 2px}.energy-bar.config[_ngcontent-%COMP%]{background-color:#a3b1c2;border:white ridge 2px}.energy-bar.over100[_ngcontent-%COMP%]{border-color:#ff5e5e;width:10px}.item-stat-container[_ngcontent-%COMP%]{position:relative}.item-stat-bonus[_ngcontent-%COMP%]{position:absolute;right:20px;font-size:x-small}.item-name-mw[_ngcontent-%COMP%]{text-decoration:underline;-webkit-text-decoration-color:#ffbc00;text-decoration-color:#ffbc00}.text-mw[_ngcontent-%COMP%], .item-stat-bonus[_ngcontent-%COMP%]{color:#ffd86a}app-armor-perk-icon[_ngcontent-%COMP%]{width:23px;height:23px;position:absolute;top:-14px;left:0}td.sum-tiers[_ngcontent-%COMP%]{text-align:center!important;border-left:#6e6e6e solid 1px}.currency-icon[_ngcontent-%COMP%]{width:16px;position:absolute;left:0}.currency-icon-container[_ngcontent-%COMP%]{position:relative;padding-left:19px;padding-right:10px}.icon-column[_ngcontent-%COMP%]{padding-left:4px}"]}),n})();var pe=_(3238),os=_(8729);function is(n,i){1&n&&(t.TgZ(0,"mat-icon",6),t._uU(1,"add_circle_outline "),t.qZA())}function as(n,i){1&n&&(t.TgZ(0,"mat-icon",7),t._uU(1,"remove_circle_outline "),t.qZA())}function ss(n,i){1&n&&(t.TgZ(0,"mat-icon",8),t._uU(1,"change_history "),t.qZA())}function rs(n,i){if(1&n&&(t.TgZ(0,"mat-list-item"),t.YNc(1,is,2,0,"mat-icon",2),t.YNc(2,as,2,0,"mat-icon",3),t.YNc(3,ss,2,0,"mat-icon",4),t.TgZ(4,"div",5)(5,"p"),t._uU(6),t.qZA()()()),2&n){const e=i.$implicit;t.xp6(1),t.Q6J("ngIf",0===e.type),t.xp6(1),t.Q6J("ngIf",1===e.type),t.xp6(1),t.Q6J("ngIf",2===e.type),t.xp6(3),t.Oqu(e.text)}}function ls(n,i){if(1&n&&(t.ynx(0),t.TgZ(1,"div",1),t._uU(2),t.qZA(),t.YNc(3,rs,7,4,"mat-list-item",0),t.TgZ(4,"mat-list-item"),t._UZ(5,"br")(6,"mat-divider"),t.qZA(),t.BQk()),2&n){const e=i.$implicit;t.xp6(2),t.AsE("",e.version,", released on ",e.date,""),t.xp6(1),t.Q6J("ngForOf",e.entries)}}let ge=(()=>{class n{constructor(e){this.changelog=e}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(Rt))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-changelog-list"]],decls:2,vars:1,consts:[[4,"ngFor","ngForOf"],["mat-subheader","",1,"title"],["mat-list-icon","","matTooltip","A new function has been added.",4,"ngIf"],["mat-list-icon","","matTooltip","A function has been removed.",4,"ngIf"],["mat-list-icon","","matTooltip","Something has been modified.",4,"ngIf"],["mat-line","",1,"e"],["mat-list-icon","","matTooltip","A new function has been added."],["mat-list-icon","","matTooltip","A function has been removed."],["mat-list-icon","","matTooltip","Something has been modified."]],template:function(e,o){1&e&&(t.TgZ(0,"mat-list"),t.YNc(1,ls,7,3,"ng-container",0),t.qZA()),2&e&&(t.xp6(1),t.Q6J("ngForOf",o.changelog.changelogData))},dependencies:[T.sg,T.O5,N.gM,j.Hw,bt.i$,bt.Tg,pe.X2,bt.Nh,bt.gs,os.d],styles:["[_nghost-%COMP%] .mat-line{word-wrap:break-word!important;white-space:pre-wrap!important}[_nghost-%COMP%] .mat-list .mat-list-item{height:initial!important}.title[_ngcontent-%COMP%]{text-decoration:underline;font-size:20px}.e[_ngcontent-%COMP%] > p[_ngcontent-%COMP%]:first-child{padding-top:12px}"]}),n})();function cs(n,i){if(1&n&&(t.TgZ(0,"li"),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.Oqu(e)}}let ms=(()=>{class n{constructor(){this.knownIssues=["When you click buttons on the page too fast are able to select an invalid state with no results. Just undo your changed settings. And be patient - the calculation is an expensive task.","Sometimes duplicate results are given. This happens when the inventory got updated twice (Race Condition). Only reported once, and not really a problem."],this.changelog=se}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-help-page"]],decls:116,vars:1,consts:[["id","help-container"],["color","primary","fxShow","false","fxShow.lt-md","true","mat-raised-button","","routerLink","/",1,"returnbutton"],["href","https://twitter.com/MijagoCoding/","target","_blank","matTooltip","Birb App"],["alt","Me on twitter","src","assets/logo-twitter.png",1,"logo-twitter"],["href","https://ko-fi.com/mijago","target","_blank","matTooltip","If you like my work, you can always buy me a coffee!"],["alt","Ko-Fi","src","assets/logo-kofi.png",1,"logo-twitter"],["href","http://discord.d2armorpicker.com/","target","_blank","matTooltip","Visit me at the development & support discord."],["alt","Discord","src","assets/logo-discord.png",1,"logo-twitter"],["href","https://github.com/Mijago/D2-Gear-Calculator","target","_blank"],["href","https://mijago.github.io/D2GearCalculator/","target","_blank"],["href","https://twitter.com/MijagoCoding/","target","_blank"],["href","https://ko-fi.com/mijago","target","_blank"],[1,"preview-image-container"],["alt","Preview of the results table","src","assets/armor-images/preview_result_details.png",1,"preview-image"],["fxLayout","row","id","armor-image-container"],["src","assets/armor-images/kabrs_battlecage.png"],["src","assets/armor-images/lightkin_gauntlets.png"],["src","assets/armor-images/phobos_warden_helm.png"],["src","assets/armor-images/wild_hunt_vest.png"],[4,"ngFor","ngForOf"],[1,"changelog-table-container"]],template:function(e,o){1&e&&(t.TgZ(0,"div",0)(1,"a",1),t._uU(2," Return to D2ArmorPicker "),t.qZA(),t.TgZ(3,"mat-card")(4,"mat-card-title")(5,"span"),t._uU(6,"About D2ArmorPicker "),t.TgZ(7,"small"),t._uU(8," by Mijago"),t.qZA(),t.TgZ(9,"a",2),t._UZ(10,"img",3),t.qZA(),t.TgZ(11,"a",4),t._UZ(12,"img",5),t.qZA(),t.TgZ(13,"a",6),t._UZ(14,"img",7),t.qZA()()(),t.TgZ(15,"mat-card-content"),t._uU(16," D2ArmorPicker (or short D2AP) is a small web-app to quickly find armor that fits your desired stat requirements. It uses the armor in your vault, inventory and postmaster, calculates every possible variation and shows only those that fulfill the given requirements. "),t._UZ(17,"br")(18,"br"),t._uU(19," As I raided a lot and I mainly play meme builds, I wanted to be able to switch exotics and have decent stats without being a burden on my team. That's why I developed the "),t.TgZ(20,"a",8),t._uU(21,"first version of this tool"),t.qZA(),t._uU(22," in Python. After a few days I started to translate this tool "),t.TgZ(23,"a",9),t._uU(24,"into a webpage"),t.qZA(),t._uU(25,". My friends liked it, but it didn't have API access. Thus I created the first version of D2ArmorPicker, and after people started using and liking it, I started to completely rewrite it - that's Version\xa02! "),t._UZ(26,"br")(27,"br"),t._uU(28," I keep updating and improving this tool, but beware that it takes a bit, as I work on it on my spare time. Feel free to follow me on Twitter "),t.TgZ(29,"a",10),t._UZ(30,"img",3),t.qZA(),t._uU(31,", I occasionally post updates there. If you like my tools and want to support me, head to "),t.TgZ(32,"a",11),t._uU(33,"ko-fi.com"),t.qZA(),t._uU(34," and buy me a coffee! \u2764 "),t.qZA()(),t.TgZ(35,"mat-card")(36,"mat-card-title"),t._uU(37," How do I use D2ArmorPicker? "),t.qZA(),t.TgZ(38,"mat-card-content"),t._uU(39," Follow these few steps: "),t.TgZ(40,"ol")(41,"li"),t._uU(42,"Login. You already did this!"),t.qZA(),t.TgZ(43,"li"),t._uU(44," [Optional] Pick an exotic you want to use. The tool will only display results for this exotic. You can always undo this. "),t.qZA(),t.TgZ(45,"li"),t._uU(46," [Optional] Select additional mods/fragments that give a bonus (or penalty). These are important if you want certain stat combinations even if you have penalties on your gear. "),t.qZA(),t.TgZ(47,"li"),t._uU(48," Select the stat distribution you seek. This is the heart of D2ArmorPicker. You just click 100 recovery and it will display you builds that have 100 recovery. "),t.TgZ(49,"i"),t._uU(50,"Note that it automatically adds stat mods if necessary."),t.qZA()(),t.TgZ(51,"li"),t._uU(52," Now look to the result table. On a normal desktop it should be on the right, on smaller devices it might move below the configuration. The table lists multiple results and you can sort it by your requirements."),t._UZ(53,"br"),t.TgZ(54,"b"),t._uU(55,"Click"),t.qZA(),t._uU(56," on an entry to open look the detailed view: "),t.TgZ(57,"div",12),t._UZ(58,"img",13),t.qZA(),t._uU(59," The example above shows a build that utilizes Dunemarchers and a zero-waste-build. To achieve it, I have to move all the items in my inventory and equip them. After this, I "),t.TgZ(60,"i"),t._uU(61,"masterwork"),t.qZA(),t._uU(62," them and "),t.TgZ(63,"i"),t._uU(64,"add the mods"),t.qZA(),t._uU(65," as the table displays them: "),t.TgZ(66,"ul")(67,"li")(68,"b"),t._uU(69,"Discipline:"),t.qZA(),t._uU(70," One major mod, one minor mod;"),t.qZA(),t.TgZ(71,"li")(72,"b"),t._uU(73,"Intellect:"),t.qZA(),t._uU(74," One major mod, one minor mod;"),t.qZA(),t.TgZ(75,"li")(76,"b"),t._uU(77,"Strength:"),t.qZA(),t._uU(78," One major mod;"),t.qZA(),t.TgZ(79,"li"),t._uU(80,"I also add Powerful Friends and Radiant Light, as I chose them in the configuration."),t.qZA()()()()()(),t.TgZ(81,"mat-card")(82,"mat-card-title"),t._uU(83," Where can I grind high stat armor? "),t.qZA(),t.TgZ(84,"mat-card-content"),t._uU(85," There are many spots that give you mediocre armor, but for the really good builds you need the correct armor. Here I provide a list of high-stat armor sources. It may not be complete, but a good starting point. "),t.TgZ(86,"i"),t._uU(87,"Last updated February 8, 2022."),t.qZA(),t.TgZ(88,"ul")(89,"li"),t._uU(90," Farm legendary Dares!"),t.qZA(),t.TgZ(91,"li"),t._uU(92," Clear Pit of Heresy Dungeon, the boss drop guarantees two stats to be 16 (or higher)."),t.qZA(),t.TgZ(93,"li"),t._uU(94," Farm a bunch of Spoils, go into Master Vault of Glass and buy armor at the final chest."),t.qZA(),t.TgZ(95,"li"),t._uU(96," The list will be extended sometime in Witch Queen!"),t.qZA()(),t._uU(97," Some good armor rolls may look like these: "),t.TgZ(98,"div",14),t._UZ(99,"img",15)(100,"img",16)(101,"img",17)(102,"img",18),t.qZA()()(),t.TgZ(103,"mat-card")(104,"mat-card-title"),t._uU(105,"Known Issues"),t.qZA(),t.TgZ(106,"mat-card-content")(107,"ul"),t.YNc(108,cs,2,1,"li",19),t.qZA()()(),t.TgZ(109,"mat-card")(110,"mat-card-title"),t._uU(111,"Changelog"),t.qZA(),t.TgZ(112,"mat-card-content",20),t._UZ(113,"app-changelog-list"),t.qZA()(),t.TgZ(114,"a",1),t._uU(115," Return to D2ArmorPicker "),t.qZA()()),2&e&&(t.xp6(108),t.Q6J("ngForOf",o.knownIssues))},dependencies:[T.sg,Y.xw,H.b8,g.zs,A.a8,A.dn,A.n5,N.gM,I.yS,ge],styles:["#help-container[_ngcontent-%COMP%]{max-width:800px;margin-left:auto;margin-right:auto}.changelog-table-container[_ngcontent-%COMP%]{max-height:700px;overflow-y:scroll}mat-card[_ngcontent-%COMP%]{margin-bottom:8px}#armor-image-container[_ngcontent-%COMP%]{overflow:auto}#armor-image-container[_ngcontent-%COMP%] > img[_ngcontent-%COMP%]:not(:last-of-type){margin-right:20px}#armor-image-container[_ngcontent-%COMP%] > img[_ngcontent-%COMP%]{max-height:300px}.preview-image-container[_ngcontent-%COMP%]{max-width:600px}.preview-image[_ngcontent-%COMP%]{max-width:100%}.returnbutton[_ngcontent-%COMP%]{margin-top:5px;margin-bottom:15px;width:100%}.changelog-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-of-type{min-width:80px}.changelog-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:nth-of-type(2){min-width:40px}.changelog-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-top:#6e6e6e solid 1px}a[_ngcontent-%COMP%]{color:#99afe3}a[_ngcontent-%COMP%]:visited{color:#7294dc}"]}),n})();var V=_(4006),Zt=_(455),vt=_(3217),it=_(811);function ps(n,i){if(1&n&&(t.TgZ(0,"th",5),t._uU(1),t.qZA()),2&n){const e=t.oxw();t.xp6(1),t.hij("\u2206 Tier ",e.differenceTier,"")}}function gs(n,i){if(1&n&&t._UZ(0,"img",9),2&n){const e=t.oxw(3).$implicit;t.MGl("src","https://www.bungie.net/",e.icon,"",t.LSH)}}function _s(n,i){if(1&n&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&n){const e=i.ngVar,o=t.oxw(6).$implicit,a=t.oxw();t.ekj("good",a.differenceTiera.tier),t.xp6(1),t.AsE(" ",e>0?"+":"","",a.formatEntry(o,e)," ")}}function fs(n,i){if(1&n&&(t.TgZ(0,"td"),t.YNc(1,_s,2,6,"span",10),t.qZA()),2&n){const e=t.oxw(2).ngVar,o=t.oxw().ngVar;t.xp6(1),t.Q6J("ngVar",-(e-o))}}function hs(n,i){if(1&n&&(t.TgZ(0,"td")(1,"span"),t._uU(2),t.ALo(3,"number"),t.qZA()()),2&n){const e=t.oxw().ngVar,o=t.oxw(5);t.xp6(1),t.ekj("good",o.differenceTiero.tier),t.xp6(1),t.AsE(" (",e>0?"+":"","",t.xi3(3,6,100*e,"1.0-0"),"%) ")}}function xs(n,i){if(1&n&&(t.ynx(0),t.YNc(1,fs,2,1,"td",6),t.YNc(2,hs,4,9,"td",6),t.BQk()),2&n){const e=t.oxw(5);t.xp6(1),t.Q6J("ngIf",e.differenceTier!==e.tier),t.xp6(1),t.Q6J("ngIf",e.differenceTier!==e.tier)}}function ys(n,i){if(1&n&&(t.ynx(0),t.YNc(1,xs,3,2,"ng-container",7),t.BQk()),2&n){const e=i.ngVar,o=t.oxw().ngVar,a=t.oxw(3);t.xp6(1),t.Q6J("ngVar",a.getPercentageDifference(o,e))}}function Ts(n,i){if(1&n&&(t.ynx(0),t._UZ(1,"app-item-icon",11),t.BQk()),2&n){const e=i.$implicit;t.xp6(1),t.Q6J("itemHash",e)}}function bs(n,i){if(1&n&&(t.ynx(0),t.TgZ(1,"td"),t.YNc(2,gs,1,1,"img",8),t._uU(3),t.qZA(),t.TgZ(4,"td"),t._uU(5),t.qZA(),t.YNc(6,ys,2,1,"ng-container",7),t.TgZ(7,"td"),t.YNc(8,Ts,2,1,"ng-container",4),t._uU(9),t.qZA(),t.BQk()),2&n){const e=i.ngVar,o=t.oxw(2).$implicit,a=t.oxw();t.xp6(2),t.Q6J("ngIf",o.icon),t.xp6(1),t.hij(" ",o.name," "),t.xp6(2),t.Oqu(a.formatEntry(o,e)),t.xp6(1),t.Q6J("ngVar",a.valueFunction(o,a.differenceTier)),t.xp6(2),t.Q6J("ngForOf",o.overrideIcons),t.xp6(1),t.hij(" ",o.description," ")}}function Cs(n,i){if(1&n&&(t.TgZ(0,"tr"),t.YNc(1,bs,10,6,"ng-container",7),t.qZA()),2&n){const e=t.oxw().$implicit,o=t.oxw();t.xp6(1),t.Q6J("ngVar",o.valueFunction(e,o.tier))}}function vs(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Cs,2,1,"tr",6),t.BQk()),2&n){const e=i.$implicit,o=t.oxw();t.xp6(1),t.Q6J("ngIf",null==e.description||!!e.description[o.characterClass])}}let Ss=(()=>{class n{constructor(e,o){this.config=e,this.characterStats=o,this.ArmorStatNames=r.Mi,this.tier=0,this.differenceTier=0,this.stat=r.WB.Mobility,this.entries=[]}get characterClass(){return this.config.readonlyConfigurationSnapshot.characterClass}ngOnInit(){this.entries=this.characterStats.get(r.Mi[this.stat],this.config.readonlyConfigurationSnapshot.characterClass,this.config.readonlyConfigurationSnapshot.selectedModElement,this.config.readonlyConfigurationSnapshot.selectedExotics)}formatEntry(e,o){return o=parseFloat(o.toFixed(2)),e.valueType===R.Speed?(n=>(Math.round(100*n)/100).toFixed(2)+"m/s")(o):e.valueType===R.Percentage?`${o}%`:e.valueType===R.PercentagePerSecond?`${o}%/s`:e.valueType===R.TimeMMSS?function ws(n){var i=function ds(n){n=Math.abs(n),Math.floor(10*n%10);var e=Math.floor(n/60),o=Math.floor(n-60*e);return`${e}:${o<10?"0":""}${o}`}(n);return n<0&&(i="- "+i),i}(o):e.valueType===R.Time?function Zs(n){var i=function us(n){n=Math.abs(n);var i=Math.floor(10*n%10),e=Math.floor(n/60),o=Math.floor(n-60*e);let a=`${o}s`;return i>0&&(a=`${o}.${i}s`),e>0&&(a=`${e}m ${a}`),a}(n);return n<0&&(i="- "+i),i}(o):o}valueFunction(e,o){return e.values[o]}getPercentageDifference(e,o){return(e-o)/Math.max(1,o)}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(B),t.Y36(ae))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-stat-cooldown-tooltip"]],inputs:{tier:"tier",differenceTier:"differenceTier",stat:"stat"},decls:13,vars:5,consts:[[1,"tooltip-container"],["colspan","3",1,"exotic-name"],[2,"min-width","50px"],["style","min-width: 50px","colspan","2",4,"ngIf"],[4,"ngFor","ngForOf"],["colspan","2",2,"min-width","50px"],[4,"ngIf"],[4,"ngVar"],[3,"src",4,"ngIf"],[3,"src"],[3,"good","bad",4,"ngVar"],[3,"itemHash"]],template:function(e,o){1&e&&(t.TgZ(0,"div")(1,"div",0)(2,"table")(3,"tr")(4,"td",1),t._uU(5),t.qZA()(),t.TgZ(6,"tr")(7,"th",2),t._uU(8,"Stat"),t.qZA(),t.TgZ(9,"th",2),t._uU(10),t.qZA(),t.YNc(11,ps,2,1,"th",3),t.qZA(),t.YNc(12,vs,2,1,"ng-container",4),t.qZA()()()),2&e&&(t.xp6(5),t.AsE("",o.ArmorStatNames[o.stat]," at Tier ",o.tier,""),t.xp6(5),t.hij("Tier ",o.tier,""),t.xp6(1),t.Q6J("ngIf",o.differenceTier!==o.tier),t.xp6(1),t.Q6J("ngForOf",o.entries))},dependencies:[T.sg,T.O5,Ct,Ht,T.JJ],styles:["[_nghost-%COMP%]{max-width:420px}.tooltip-container[_ngcontent-%COMP%]{border:1px solid gray;padding:1px 5px 4px;background:linear-gradient(#484848 0px,#2c2c2c 100%)}.exotic-name[_ngcontent-%COMP%]{color:#eedb9e}.good[_ngcontent-%COMP%]{color:#58b458}.bad[_ngcontent-%COMP%]{color:#ff6b6b}table[_ngcontent-%COMP%]{border-collapse:separate;border-spacing:7px 3px}th[_ngcontent-%COMP%]{white-space:nowrap}img[_ngcontent-%COMP%]{width:24px;height:24px;float:left;margin-right:3px}tr[_ngcontent-%COMP%]{line-height:24px}"]}),n})(),Is=(()=>{class n{constructor(e,o,a){this._overlay=e,this._overlayPositionBuilder=o,this._elementRef=a,this.showToolTip=!0,this.tooltipTier=0,this.tooltipStat=r.WB.Mobility,this.tooltipDifferenceTier=0}ngOnInit(){if(!this.showToolTip)return;const e=this._overlayPositionBuilder.flexibleConnectedTo(this._elementRef).withPositions([{originX:"center",originY:"bottom",overlayX:"center",overlayY:"top",offsetY:5},{originX:"center",originY:"top",overlayX:"center",overlayY:"bottom",offsetY:-5}]);this._overlayRef=this._overlay.create({positionStrategy:e}),this._overlayRef.addPanelClass("overlay-no-pointer-event")}show(){if(this._overlayRef&&!this._overlayRef.hasAttached()){const e=this._overlayRef.attach(new Nt.C5(Ss));e.instance.tier=this.tooltipTier,e.instance.differenceTier=this.tooltipDifferenceTier,e.instance.stat=this.tooltipStat}}hide(){this.closeToolTip()}ngOnDestroy(){this.closeToolTip()}closeToolTip(){this._overlayRef&&this._overlayRef.detach()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(pt.aV),t.Y36(pt.wJ),t.Y36(t.SBq))},n.\u0275dir=t.lG2({type:n,selectors:[["","statCooldownTooltip",""]],hostBindings:function(e,o){1&e&&t.NdJ("mouseenter",function(){return o.show()})("mouseleave",function(){return o.hide()})},inputs:{showToolTip:"showToolTip",tooltipTier:"tooltipTier",tooltipStat:"tooltipStat",tooltipDifferenceTier:"tooltipDifferenceTier",contentTemplate:"contentTemplate"}}),n})();function ks(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"mat-button-toggle",4),t.NdJ("click",function(){const s=t.CHM(e).index,l=t.oxw();return t.KtG(l.setValue(s))}),t.TgZ(1,"div",5),t._uU(2),t.qZA()()}if(2&n){const e=i.index,o=t.oxw();t.ekj("isFromMod",o.isAddedByConfigMods(e))("mat-button-toggle-checked",o.selectedTier>=e)("not-checked",o.selectedTier{class n{constructor(){this.TierRange=new Array(11),this.stat=r.WB.Mobility,this.statsByMods=0,this.maximumAvailableTier=10,this.selectedTier=0,this.locked=!1,this.selectedTierChange=new t.vpe,this.lockedChange=new t.vpe}setValue(e){e<=this.maximumAvailableTier&&(this.selectedTier=e,this.selectedTierChange.emit(e))}isAddedByConfigMods(e){return e>0&&(this.selectedTier-e>=0&&this.selectedTier-e{class n{constructor(e,o){this.config=e,this.inventory=o,this.minimumStatTiers=zt(1),this.maximumPossibleTiers=[10,10,10,10,10,10],this.statsByMods=[0,0,0,0,0,0],this._statCombo4x100=[],this._statCombo3x100=[],this.config_zero_waste=!1,this.config_mod_strategy=Tt.None,this.config_reduce_waste=!1,this.ngUnsubscribe=new nt.xQ,this.stats=Object.keys(r.WB).filter(a=>!isNaN(Number(a))).map(a=>({name:r.WB[a],value:+a}))}ngOnInit(){this.config.configuration.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(e=>{const o=[0,0,0,0,0,0];for(let a of e.enabledMods)for(let s of ut[a].bonus)o[s.stat]+=s.value/10;this.statsByMods=o,this.minimumStatTiers=e.minimumStatTiers,this.config_zero_waste=e.onlyShowResultsWithNoWastedStats,this.config_mod_strategy=e.modOptimizationStrategy,this.config_reduce_waste=e.tryLimitWastedStats}),this.inventory.armorResults.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(e=>{const o=e.maximumPossibleTiers||[10,10,10,10,10,10];console.log("d.maximumPossibleTiers",o),o.filter(a=>0==a).length<6&&(this.maximumPossibleTiers=o),this._statCombo3x100=(e.statCombo3x100||[]).sort((a,s)=>_e(s)-_e(a)),this._statCombo4x100=e.statCombo4x100||[]})}setSelectedTier(e,o){this.config.modifyConfiguration(a=>{a.minimumStatTiers[e].value=o})}clearStatSelection(){this.config.modifyConfiguration(e=>{for(let o=0;o<6;o++)e.minimumStatTiers[o]={fixed:!1,value:0}})}useStatPreset(e){0!=e.filter(o=>10!=this.config.readonlyConfigurationSnapshot.minimumStatTiers[o].value).length&&this.config.modifyConfiguration(o=>{for(let a of e)o.minimumStatTiers[a].value=10})}setLockState(e,o){this.config.modifyConfiguration(a=>{a.minimumStatTiers[e].fixed=o})}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}setModOptimizationStrategy(){this.config.modifyConfiguration(e=>{e.modOptimizationStrategy=this.config_mod_strategy})}toggleReduceWaste(){this.config.modifyConfiguration(e=>{e.tryLimitWastedStats=!this.config_reduce_waste})}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(B),t.Y36(K))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-desired-stat-selection"]],decls:41,vars:12,consts:[[4,"ngFor","ngForOf"],["id","tierSelectButtonContainer"],[1,"tierSelectButton"],["mat-stroked-button","","color","warn","id","clearStatButton",3,"click"],["mat-stroked-button","","aria-label","Select builds with three stats at tier 10.",1,"selectStatDistributionButton",3,"matMenuTriggerFor","disabled"],["menu",""],["menu1","matMenu"],["mat-menu-item","",3,"click",4,"ngFor","ngForOf"],["mat-stroked-button","","aria-label","Select builds with four stats at tier 10.",3,"matMenuTriggerFor","disabled"],["menu2","matMenu"],[3,"ngModel","ngModelChange","change"],["matTooltip","Fast. Will result in good and fast results. Some better results *may* be skipped.",3,"value"],["matTooltip","Slower. Reduces the amount of used mods. This means that it will try to give you 4 mods instead of 5 whenever possible.",3,"value"],["matTooltip","Slower. Reduces the total cost of mods. This will result in less Intellect mods, for example.",3,"value"],["color","primary",3,"checked","change"],[1,"statContainerWrapper"],["src","https://www.bungie.net/common/destiny2_content/icons/e26e0e93a9daf4fdd21bf64eb9246340.png","alt","Mobility","class","dialogStatIcon",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/202ecc1c6febeb6b97dafc856e863140.png","alt","Resilience","class","dialogStatIcon",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/128eee4ee7fc127851ab32eac6ca91cf.png","alt","Recovery","class","dialogStatIcon",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/79be2d4adef6a19203f7385e5c63b45b.png","alt","Discipline","class","dialogStatIcon",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/d1c154469670e9a592c9d4cbdcae5764.png","alt","Intellect","class","dialogStatIcon",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/ea5af04ccd6a3470a44fd7bb0f66e2f7.png","alt","Strength","class","dialogStatIcon",4,"ngIf"],[3,"stat","statsByMods","maximumAvailableTier","selectedTier","locked","selectedTierChange","lockedChange"],["src","https://www.bungie.net/common/destiny2_content/icons/e26e0e93a9daf4fdd21bf64eb9246340.png","alt","Mobility",1,"dialogStatIcon"],["src","https://www.bungie.net/common/destiny2_content/icons/202ecc1c6febeb6b97dafc856e863140.png","alt","Resilience",1,"dialogStatIcon"],["src","https://www.bungie.net/common/destiny2_content/icons/128eee4ee7fc127851ab32eac6ca91cf.png","alt","Recovery",1,"dialogStatIcon"],["src","https://www.bungie.net/common/destiny2_content/icons/79be2d4adef6a19203f7385e5c63b45b.png","alt","Discipline",1,"dialogStatIcon"],["src","https://www.bungie.net/common/destiny2_content/icons/d1c154469670e9a592c9d4cbdcae5764.png","alt","Intellect",1,"dialogStatIcon"],["src","https://www.bungie.net/common/destiny2_content/icons/ea5af04ccd6a3470a44fd7bb0f66e2f7.png","alt","Strength",1,"dialogStatIcon"],["mat-menu-item","",3,"click"],["class","statContainerWrapper",4,"ngFor","ngForOf"]],template:function(e,o){if(1&e&&(t.TgZ(0,"table"),t.YNc(1,Js,12,12,"tr",0),t.qZA(),t.TgZ(2,"span",1)(3,"span",2)(4,"button",3),t.NdJ("click",function(){return o.clearStatSelection()}),t._uU(5,"Clear"),t.qZA()(),t.TgZ(6,"span",2)(7,"button",4)(8,"mat-icon"),t._uU(9,"expand_more"),t.qZA(),t._uU(10," Select 3x T10 Builds "),t.qZA(),t.TgZ(11,"mat-menu",5,6),t.YNc(13,Ws,2,1,"button",7),t.qZA()(),t.TgZ(14,"span",2)(15,"button",8)(16,"mat-icon"),t._uU(17,"expand_more"),t.qZA(),t._uU(18," Select 4x T10 Builds "),t.qZA(),t.TgZ(19,"mat-menu",null,9),t.YNc(21,er,2,1,"button",7),t.qZA()()(),t._UZ(22,"br")(23,"br"),t.TgZ(24,"div")(25,"div")(26,"b"),t._uU(27,"Mod optimization strategy:"),t.qZA()(),t.TgZ(28,"div"),t._uU(29,"You can choose if the algorithm should keep an eye on amount or the cost of mods."),t.qZA(),t.TgZ(30,"mat-button-toggle-group",10),t.NdJ("ngModelChange",function(s){return o.config_mod_strategy=s})("change",function(){return o.setModOptimizationStrategy()}),t.TgZ(31,"mat-button-toggle",11),t._uU(32,"No extra logic (fast)"),t.qZA(),t.TgZ(33,"mat-button-toggle",12),t._uU(34,"Fewer mods, high cost (slow)"),t.qZA(),t.TgZ(35,"mat-button-toggle",13),t._uU(36,"Many mods, low cost (slow)"),t.qZA()()(),t._UZ(37,"br"),t.TgZ(38,"div")(39,"mat-slide-toggle",14),t.NdJ("change",function(){return o.toggleReduceWaste()}),t._uU(40," Add mods to reduce wasted stats (slower) "),t.qZA()()),2&e){const a=t.MAs(12),s=t.MAs(20);t.xp6(1),t.Q6J("ngForOf",o.stats),t.xp6(6),t.Q6J("matMenuTriggerFor",a)("disabled",0===o._statCombo3x100.length),t.xp6(6),t.Q6J("ngForOf",o._statCombo3x100),t.xp6(2),t.Q6J("matMenuTriggerFor",s)("disabled",0===o._statCombo4x100.length),t.xp6(6),t.Q6J("ngForOf",o._statCombo4x100),t.xp6(9),t.Q6J("ngModel",o.config_mod_strategy),t.xp6(1),t.Q6J("value",0),t.xp6(2),t.Q6J("value",1),t.xp6(2),t.Q6J("value",2),t.xp6(4),t.Q6J("checked",o.config_reduce_waste)}},dependencies:[T.sg,T.O5,V.JJ,V.On,g.lW,Zt.Rr,N.gM,j.Hw,vt.VK,vt.OP,vt.p6,it.A9,it.Yi,Ds],styles:["#tierSelectButtonContainer[_ngcontent-%COMP%] > .tierSelectButton[_ngcontent-%COMP%]:not(:last-child){margin-right:5px}.dialogStatIcon[_ngcontent-%COMP%]{height:35px}.warn[_ngcontent-%COMP%]{background-color:#8b0000;padding-left:15px;padding-right:15px}"]}),n})();function or(n,i){if(1&n&&(t.TgZ(0,"div")(1,"div",22),t._UZ(2,"img",23)(3,"img",24),t.O4$(),t.TgZ(4,"svg",25)(5,"text",26),t._uU(6,"3"),t.qZA()(),t.TgZ(7,"svg",27)(8,"text",26),t._uU(9,"1"),t.qZA()(),t.kcU(),t._UZ(10,"div",28),t.qZA(),t.TgZ(11,"div",22),t._UZ(12,"img",29)(13,"img",30),t.O4$(),t.TgZ(14,"svg",25)(15,"text",26),t._uU(16,"4"),t.qZA()(),t.TgZ(17,"svg",27)(18,"text",26),t._uU(19,"2"),t.qZA()(),t.kcU(),t._UZ(20,"div",28),t.qZA(),t.TgZ(21,"div",22),t._UZ(22,"img",31)(23,"img",32),t.O4$(),t.TgZ(24,"svg",25)(25,"text",26),t._uU(26,"3"),t.qZA()(),t.TgZ(27,"svg",27)(28,"text",26),t._uU(29,"1"),t.qZA()(),t.kcU(),t._UZ(30,"div",28),t.qZA(),t.TgZ(31,"div",22),t._UZ(32,"img",33)(33,"img",34),t.O4$(),t.TgZ(34,"svg",25)(35,"text",26),t._uU(36,"3"),t.qZA()(),t.TgZ(37,"svg",27)(38,"text",26),t._uU(39,"1"),t.qZA()(),t.kcU(),t._UZ(40,"div",28),t.qZA(),t.TgZ(41,"div",22),t._UZ(42,"img",35)(43,"img",36),t.O4$(),t.TgZ(44,"svg",25)(45,"text",26),t._uU(46,"4"),t.qZA()(),t.TgZ(47,"svg",27)(48,"text",26),t._uU(49,"2"),t.qZA()(),t.kcU(),t._UZ(50,"div",28),t.qZA(),t.TgZ(51,"div",22),t._UZ(52,"img",37)(53,"img",38),t.O4$(),t.TgZ(54,"svg",25)(55,"text",26),t._uU(56,"4"),t.qZA()(),t.TgZ(57,"svg",27)(58,"text",26),t._uU(59,"2"),t.qZA()(),t.kcU(),t._UZ(60,"div",28),t.qZA()()),2&n){const e=i.ngVar;t.xp6(1),t.ekj("major",e>=3)("minor",e>=1&&e<3),t.xp6(10),t.ekj("major",e>=4)("minor",e>=2&&e<4),t.xp6(10),t.ekj("major",e>=3)("minor",e>=1&&e<3),t.xp6(10),t.ekj("major",e>=3)("minor",e>=1&&e<3),t.xp6(10),t.ekj("major",e>=4)("minor",e>=2&&e<4),t.xp6(10),t.ekj("major",e>=4)("minor",e>=2&&e<4)}}function ir(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"mat-button-toggle",39),t.NdJ("click",function(){const s=t.CHM(e).index,l=t.oxw();return t.KtG(l.setValue(s))}),t._uU(1),t.qZA()}if(2&n){const e=i.index,o=t.oxw();t.Gre("select-button ",o.selection>=e?"mat-button-toggle-checked":"",""),t.Q6J("value",e),t.xp6(1),t.Oqu(e)}}function ar(n,i){1&n&&(t.TgZ(0,"mat-icon"),t._uU(1,"lock_open"),t.qZA())}function sr(n,i){1&n&&(t.TgZ(0,"mat-icon"),t._uU(1,"lock"),t.qZA())}function rr(n,i){if(1&n){const e=t.EpF();t.ynx(0),t.TgZ(1,"button",40),t.NdJ("click",function(){const s=t.CHM(e).$implicit,l=t.oxw();return t.KtG(l.setArmorPerk(s))}),t._UZ(2,"app-armor-perk-icon",41),t.TgZ(3,"span",42),t._uU(4),t.qZA()(),t.BQk()}if(2&n){const e=i.$implicit,o=t.oxw();t.xp6(1),t.ekj("selected-menu",e===o.armorPerk),t.xp6(1),t.Q6J("perk",e),t.xp6(2),t.Oqu(o.ArmorPerkOrSlotNames[e])}}function lr(n,i){if(1&n&&t._UZ(0,"img",43,44),2&n){const e=t.oxw();t.MGl("matTooltip","If you enable the lock on the settings on the right they will be forced to exist on a ",e.slotName,".")}}function cr(n,i){if(1&n&&t._UZ(0,"img",45,44),2&n){const e=t.oxw();t.MGl("matTooltip","If you enable the lock on the settings on the right they will be forced to exist on a ",e.slotName,".")}}function mr(n,i){if(1&n&&t._UZ(0,"img",46,44),2&n){const e=t.oxw();t.MGl("matTooltip","If you enable the lock on the settings on the right they will be forced to exist on a ",e.slotName,".")}}function dr(n,i){if(1&n&&t._UZ(0,"img",47,44),2&n){const e=t.oxw();t.MGl("matTooltip","If you enable the lock on the settings on the right they will be forced to exist on a ",e.slotName,".")}}function ur(n,i){if(1&n&&t._UZ(0,"img",48,44),2&n){const e=t.oxw();t.MGl("matTooltip","If you enable the lock on the settings on the right they will be forced to exist on a ",e.slotName,".")}}let pr=(()=>{class n{constructor(e,o,a){this.config=e,this.inventory=o,this.db=a,this.featureDisabled=!S_featureFlags_enableModslotLimitation,this.ArmorSlot=C.y,this.ArmorPerkOrSlotNames=r.cM,this.ArmorPerkOrSlot=r.Pn,this.ModRange=new Array(6),this.selection=5,this.slot=C.y.ArmorSlotHelmet,this.possible=new t.vpe,this.isPossible=!0,this.configSelectedClass=0,this.armorPerk=r.Pn.None,this.armorPerkLock=!1,this.maximumModSlots=5,this.hoveredSlot=-1,this.disabled=!1,this.availableArmorPerks=[r.Pn.None,r.Pn.PerkAscendantProtector,r.Pn.SlotCrotasEnd,r.Pn.SlotRootOfNightmares,r.Pn.SlotKingsFall,r.Pn.SlotVowOfTheDisciple,r.Pn.SlotVaultOfGlass,r.Pn.SlotDeepStoneCrypt,r.Pn.SlotGardenOfSalvation,r.Pn.SlotLastWish,r.Pn.SlotArtifice,r.Pn.PerkIronBanner,r.Pn.SlotNightmare,r.Pn.PerkExhumedExcess,r.Pn.SonarAmplifier,r.Pn.PerkQueensFavor,r.Pn.PerkSeraphSensorArray,r.Pn.PerkPlunderersTrappings,r.Pn.PerkUniformedOfficer],this.ngUnsubscribe=new nt.xQ}runPossibilityCheck(){var e=this;return(0,m.Z)(function*(){if(e.armorPerkLock&&e.armorPerk!=r.Pn.None){var a=yield e.db.inventoryArmor.where("clazz").equals(e.configSelectedClass).and(s=>s.slot==e.slot).and(s=>s.perk==e.armorPerk).count();e.isPossible=a>0}else e.isPossible=!0;e.possible.next(e.isPossible)})()}get slotName(){switch(this.slot){case C.y.ArmorSlotHelmet:return"Helmet";case C.y.ArmorSlotGauntlet:return"Gauntlet";case C.y.ArmorSlotChest:return"Chest";case C.y.ArmorSlotLegs:return"Leg";case C.y.ArmorSlotClass:return"Class Item";default:return""}}ngOnInit(){var e=this;this.config.configuration.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(function(){var o=(0,m.Z)(function*(a){var s=e.configSelectedClass!=a.characterClass||e.selection!=a.maximumModSlots[e.slot].value||e.armorPerk!=a.armorPerks[e.slot].value||e.armorPerkLock!=a.armorPerks[e.slot].fixed||e.maximumModSlots!=a.maximumModSlots[e.slot].value;e.configSelectedClass=a.characterClass,e.selection=a.maximumModSlots[e.slot].value,e.armorPerk=a.armorPerks[e.slot].value,e.armorPerkLock=a.armorPerks[e.slot].fixed,e.maximumModSlots=a.maximumModSlots[e.slot].value,e.disabled=(yield e.inventory.getExoticsForClass(a.characterClass)).filter(l=>a.selectedExotics.indexOf(l.item.hash)>-1).map(l=>l.item.slot).indexOf(e.slot)>-1,s&&(yield e.runPossibilityCheck())});return function(a){return o.apply(this,arguments)}}())}ngAfterViewInit(){S_featureFlags_enableGuardianGamesFeatures&&this.slot===C.y.ArmorSlotClass&&this.availableArmorPerks.splice(1,0,r.Pn.GuardianGamesClassItem)}toggleArmorPerkLock(){this.config.modifyConfiguration(e=>{e.armorPerks[this.slot].fixed=!e.armorPerks[this.slot].fixed})}setArmorPerk(e){this.armorPerk!=e&&this.config.modifyConfiguration(o=>{o.armorPerks[this.slot].value=e})}setValue(e){this.featureDisabled||this.maximumModSlots!=e&&(this.maximumModSlots=e,this.config.modifyConfiguration(o=>o.maximumModSlots[this.slot].value=e))}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(B),t.Y36(K),t.Y36(et))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-slot-limitation-selection"]],inputs:{slot:"slot"},outputs:{possible:"possible"},decls:35,vars:58,consts:[[1,"container"],[1,"energy"],[1,"energy-container",3,"mouseout"],[1,"energy-bar","blocked",3,"click","mouseover"],[1,"energy-bar",3,"click","mouseover"],[4,"ngVar"],["appearance","standard","name","fontStyle",2,"display","none"],[3,"value","class","click",4,"ngFor","ngForOf"],[1,"selector-slots"],["value","bold",3,"matMenuTriggerFor"],[3,"perk"],["disabled","",3,"disabled","matTooltip","click"],[4,"ngIf"],[1,"modslot-select-scroll-menu"],["dropdownArmorModslot","matMenu"],[4,"ngFor","ngForOf"],[1,"slot-icon-container"],["class","slot-icon","src","data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 51'%3e%3cpath d='M24.77 7.03c-8.15.38-14.42 7.41-14.42 15.57v16.06c0 .23.13.44.34.53l10.33 4.68c.78.35 1.66-.22 1.66-1.07V31.9c0-.39-.19-.75-.52-.97l-5.39-3.64c-.87-.52-1.43-1.5-1.34-2.61.13-1.46 1.46-2.52 2.93-2.52h4.36c.65 0 1.17.53 1.17 1.17v6.71s0 .61 1.61.61 1.61-.61 1.61-.61v-6.71c0-.65.52-1.17 1.17-1.17h4.36c1.47 0 2.8 1.06 2.93 2.52.1 1.11-.47 2.09-1.34 2.61l-5.39 3.64c-.32.22-.52.58-.52.97v10.91c0 .85.88 1.42 1.66 1.07l10.33-4.68c.21-.1.34-.3.34-.53v-16.5c.01-8.61-7.18-15.55-15.88-15.14z'/%3e%3c/svg%3e",3,"matTooltip",4,"ngIf"],["class","slot-icon","src","data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 51'%3e%3cpath d='M40.1 30.03c.39-.47.59-1.11.42-1.8-.18-.76-.81-1.39-1.58-1.55-.81-.17-1.54.14-2.01.68 0 0-.03.04-.05.07l-.12.15c-.47.61-1.95 2.37-3.29 2.45-1.62.1 2.51-16.14 2.51-16.14h-.01c.04-.15.07-.31.07-.48 0-.98-.79-1.77-1.77-1.77-.81 0-1.49.55-1.69 1.29h-.01s-.01.03-.01.05l-.03.15c-.24 1.21-1.68 8.2-2.81 8.89-1.24.75-1.22-13.23-1.22-13.23 0-.98-.79-1.77-1.77-1.77s-1.77.79-1.77 1.77c0 0-.35 12.85-1.73 12.73-1.37-.12-2.47-10.67-2.47-10.67 0-.98-.79-1.77-1.77-1.77s-1.77.79-1.77 1.77c0 .15.02.28.06.42.27 2.06 1.36 11.12-.06 11.12-1.6 0-3.68-6.35-3.68-6.35a1.62 1.62 0 0 0-3.14.56c0 .09.01.17.03.25l-.03.01s.02.07.07.19c.02.09.05.17.09.25.99 2.71 6.28 17.46 7.26 26.23.03.25.24.44.49.44H30.5a.5.5 0 0 0 .5-.45c.1-1.04.52-3.68 2.09-5.54 1.8-2.14 6.06-6.89 6.86-7.79.02-.02.03-.04.05-.06.07-.06.11-.1.1-.1z'/%3e%3c/svg%3e",3,"matTooltip",4,"ngIf"],["class","slot-icon","src","data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 51'%3e%3cpath d='M42.49 13.55c-1.06-1.51-4.05-5.05-9.52-6.49a.635.635 0 0 0-.78.5c-.35 2.04-1.78 8.08-6.69 8.08s-6.34-6.04-6.69-8.08a.635.635 0 0 0-.78-.5c-5.47 1.44-8.46 4.98-9.52 6.49-.24.34-.09.8.3.94 2.01.7 7.34 2.94 7.34 7.01 0 4.24-4.47 6.89-5.87 7.61-.25.13-.38.4-.33.67 1.44 7.62 7.55 13.09 8.67 14.04.11.1.25.15.4.15h12.94c.15 0 .29-.05.4-.15 1.12-.95 7.23-6.42 8.67-14.04a.624.624 0 0 0-.33-.67c-1.4-.72-5.87-3.37-5.87-7.61 0-4.08 5.33-6.32 7.34-7.01.41-.14.56-.61.32-.94z'/%3e%3c/svg%3e",3,"matTooltip",4,"ngIf"],["class","slot-icon","src","data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 51'%3e%3cpath d='M13 7.6h13.96c1.73 0 2.99 1.64 2.54 3.32l-5.44 20.46c-.07.28.03.57.28.72.99.62 4.64 2.57 8.15 5.78.12.11 2.92-.03 3.09-.01 2.31.2 3.97-.08 5.05 4.7.09.42-.21.82-.64.82H11.82c-.34 0-.63-.26-.66-.61-.15-1.82-.4-7.23 1.74-9.32a.62.62 0 0 0 .2-.6c-.39-1.74-2.09-9.83-2.74-22.48-.07-1.5 1.12-2.78 2.64-2.78z'/%3e%3c/svg%3e",3,"matTooltip",4,"ngIf"],["class","slot-icon","src","data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 51'%3e%3cpath d='M43.12 7.12c-4.13 2.33-17.62 1.9-17.62 1.9s-13.49.43-17.62-1.9c-.37-.21-.85-.03-.94.39-.36 1.49-.87 4.42.09 5.86.09.13.22.21.38.25 1.23.3 7.36 1.65 18.09 1.65s16.86-1.35 18.09-1.65c.15-.04.29-.12.38-.25.96-1.44.45-4.37.1-5.86-.1-.42-.58-.6-.95-.39zM9.27 28.34s0 2.34 2.27 2.34 2.27-2.34 2.27-2.34V15.73c-1.93-.22-3.45-.45-4.55-.65v13.26zM16.3 34.8s0 2.34 2.27 2.34 2.27-2.34 2.27-2.34V16.24c-1.66-.06-3.18-.16-4.55-.27V34.8zM37.18 28.34s0 2.34 2.27 2.34 2.27-2.34 2.27-2.34V15.08c-1.09.2-2.61.44-4.55.65v12.61zM30.15 34.8s0 2.34 2.27 2.34 2.27-2.34 2.27-2.34V15.97c-1.36.11-2.88.21-4.55.27V34.8zM23.23 16.31v25.31s0 2.34 2.27 2.34 2.27-2.34 2.27-2.34V16.31c-.74.01-1.49.02-2.27.02-.78.01-1.54 0-2.27-.02z'/%3e%3c/svg%3e",3,"matTooltip",4,"ngIf"],[1,"mod-info"],["src","https://www.bungie.net/common/destiny2_content/icons/8861e73c6701b8347cef025d400cd3dc.png",1,"mod-icon","mod-major"],["src","https://www.bungie.net/common/destiny2_content/icons/a6694a4ff65d371d19330fb10415b315.png",1,"mod-icon","mod-minor"],["viewBox","0 0 100 100",1,"mod-number","mod-major"],["font-size","25px","text-anchor","end","x","87","y","30"],["viewBox","0 0 100 100",1,"mod-number","mod-minor"],[1,"overlay"],["src","https://www.bungie.net/common/destiny2_content/icons/b2228e67e72fad2eb37735a33e0d0116.png",1,"mod-icon","mod-major"],["src","https://www.bungie.net/common/destiny2_content/icons/ab1ffe5128806c3639e531f89a2d72d1.png",1,"mod-icon","mod-minor"],["src","https://www.bungie.net/common/destiny2_content/icons/3a5a2d6ee50b2611ebc4d4806d29301a.png",1,"mod-icon","mod-major"],["src","https://www.bungie.net/common/destiny2_content/icons/f841f379751b7672fca0e5f231e92638.png",1,"mod-icon","mod-minor"],["src","https://www.bungie.net/common/destiny2_content/icons/7b64c0b8014a57c6c297babb18c2239e.png",1,"mod-icon","mod-major"],["src","https://www.bungie.net/common/destiny2_content/icons/dbd1615501778b66bca2764b9a561044.png",1,"mod-icon","mod-minor"],["src","https://www.bungie.net/common/destiny2_content/icons/4251f77e3b24900e262f16d5587980ef.png",1,"mod-icon","mod-major"],["src","https://www.bungie.net/common/destiny2_content/icons/e0fc8c022c2ab49ef92caff5843db7da.png",1,"mod-icon","mod-minor"],["src","https://www.bungie.net/common/destiny2_content/icons/98408051297c26cb033cb761ab955fac.png",1,"mod-icon","mod-major"],["src","https://www.bungie.net/common/destiny2_content/icons/f26479a3462676d613f135657ecad45a.png",1,"mod-icon","mod-minor"],[3,"value","click"],["mat-menu-item","",3,"click"],[1,"menuArmorIcon",3,"perk"],[1,"menuArmorText"],["src","data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 51'%3e%3cpath d='M24.77 7.03c-8.15.38-14.42 7.41-14.42 15.57v16.06c0 .23.13.44.34.53l10.33 4.68c.78.35 1.66-.22 1.66-1.07V31.9c0-.39-.19-.75-.52-.97l-5.39-3.64c-.87-.52-1.43-1.5-1.34-2.61.13-1.46 1.46-2.52 2.93-2.52h4.36c.65 0 1.17.53 1.17 1.17v6.71s0 .61 1.61.61 1.61-.61 1.61-.61v-6.71c0-.65.52-1.17 1.17-1.17h4.36c1.47 0 2.8 1.06 2.93 2.52.1 1.11-.47 2.09-1.34 2.61l-5.39 3.64c-.32.22-.52.58-.52.97v10.91c0 .85.88 1.42 1.66 1.07l10.33-4.68c.21-.1.34-.3.34-.53v-16.5c.01-8.61-7.18-15.55-15.88-15.14z'/%3e%3c/svg%3e",1,"slot-icon",3,"matTooltip"],["tooltip","matTooltip"],["src","data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 51'%3e%3cpath d='M40.1 30.03c.39-.47.59-1.11.42-1.8-.18-.76-.81-1.39-1.58-1.55-.81-.17-1.54.14-2.01.68 0 0-.03.04-.05.07l-.12.15c-.47.61-1.95 2.37-3.29 2.45-1.62.1 2.51-16.14 2.51-16.14h-.01c.04-.15.07-.31.07-.48 0-.98-.79-1.77-1.77-1.77-.81 0-1.49.55-1.69 1.29h-.01s-.01.03-.01.05l-.03.15c-.24 1.21-1.68 8.2-2.81 8.89-1.24.75-1.22-13.23-1.22-13.23 0-.98-.79-1.77-1.77-1.77s-1.77.79-1.77 1.77c0 0-.35 12.85-1.73 12.73-1.37-.12-2.47-10.67-2.47-10.67 0-.98-.79-1.77-1.77-1.77s-1.77.79-1.77 1.77c0 .15.02.28.06.42.27 2.06 1.36 11.12-.06 11.12-1.6 0-3.68-6.35-3.68-6.35a1.62 1.62 0 0 0-3.14.56c0 .09.01.17.03.25l-.03.01s.02.07.07.19c.02.09.05.17.09.25.99 2.71 6.28 17.46 7.26 26.23.03.25.24.44.49.44H30.5a.5.5 0 0 0 .5-.45c.1-1.04.52-3.68 2.09-5.54 1.8-2.14 6.06-6.89 6.86-7.79.02-.02.03-.04.05-.06.07-.06.11-.1.1-.1z'/%3e%3c/svg%3e",1,"slot-icon",3,"matTooltip"],["src","data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 51'%3e%3cpath d='M42.49 13.55c-1.06-1.51-4.05-5.05-9.52-6.49a.635.635 0 0 0-.78.5c-.35 2.04-1.78 8.08-6.69 8.08s-6.34-6.04-6.69-8.08a.635.635 0 0 0-.78-.5c-5.47 1.44-8.46 4.98-9.52 6.49-.24.34-.09.8.3.94 2.01.7 7.34 2.94 7.34 7.01 0 4.24-4.47 6.89-5.87 7.61-.25.13-.38.4-.33.67 1.44 7.62 7.55 13.09 8.67 14.04.11.1.25.15.4.15h12.94c.15 0 .29-.05.4-.15 1.12-.95 7.23-6.42 8.67-14.04a.624.624 0 0 0-.33-.67c-1.4-.72-5.87-3.37-5.87-7.61 0-4.08 5.33-6.32 7.34-7.01.41-.14.56-.61.32-.94z'/%3e%3c/svg%3e",1,"slot-icon",3,"matTooltip"],["src","data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 51'%3e%3cpath d='M13 7.6h13.96c1.73 0 2.99 1.64 2.54 3.32l-5.44 20.46c-.07.28.03.57.28.72.99.62 4.64 2.57 8.15 5.78.12.11 2.92-.03 3.09-.01 2.31.2 3.97-.08 5.05 4.7.09.42-.21.82-.64.82H11.82c-.34 0-.63-.26-.66-.61-.15-1.82-.4-7.23 1.74-9.32a.62.62 0 0 0 .2-.6c-.39-1.74-2.09-9.83-2.74-22.48-.07-1.5 1.12-2.78 2.64-2.78z'/%3e%3c/svg%3e",1,"slot-icon",3,"matTooltip"],["src","data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 51'%3e%3cpath d='M43.12 7.12c-4.13 2.33-17.62 1.9-17.62 1.9s-13.49.43-17.62-1.9c-.37-.21-.85-.03-.94.39-.36 1.49-.87 4.42.09 5.86.09.13.22.21.38.25 1.23.3 7.36 1.65 18.09 1.65s16.86-1.35 18.09-1.65c.15-.04.29-.12.38-.25.96-1.44.45-4.37.1-5.86-.1-.42-.58-.6-.95-.39zM9.27 28.34s0 2.34 2.27 2.34 2.27-2.34 2.27-2.34V15.73c-1.93-.22-3.45-.45-4.55-.65v13.26zM16.3 34.8s0 2.34 2.27 2.34 2.27-2.34 2.27-2.34V16.24c-1.66-.06-3.18-.16-4.55-.27V34.8zM37.18 28.34s0 2.34 2.27 2.34 2.27-2.34 2.27-2.34V15.08c-1.09.2-2.61.44-4.55.65v12.61zM30.15 34.8s0 2.34 2.27 2.34 2.27-2.34 2.27-2.34V15.97c-1.36.11-2.88.21-4.55.27V34.8zM23.23 16.31v25.31s0 2.34 2.27 2.34 2.27-2.34 2.27-2.34V16.31c-.74.01-1.49.02-2.27.02-.78.01-1.54 0-2.27-.02z'/%3e%3c/svg%3e",1,"slot-icon",3,"matTooltip"]],template:function(e,o){if(1&e&&(t.TgZ(0,"div",0)(1,"div",1)(2,"div",2),t.NdJ("mouseout",function(){return o.hoveredSlot=-1}),t.TgZ(3,"div",3),t.NdJ("click",function(){return o.setValue(5)})("mouseover",function(){return o.hoveredSlot=0}),t.qZA(),t.TgZ(4,"div",3),t.NdJ("click",function(){return o.setValue(5)})("mouseover",function(){return o.hoveredSlot=0}),t.qZA(),t.TgZ(5,"div",3),t.NdJ("click",function(){return o.setValue(5)})("mouseover",function(){return o.hoveredSlot=0}),t.qZA(),t.TgZ(6,"div",3),t.NdJ("click",function(){return o.setValue(5)})("mouseover",function(){return o.hoveredSlot=0}),t.qZA(),t.TgZ(7,"div",3),t.NdJ("click",function(){return o.setValue(5)})("mouseover",function(){return o.hoveredSlot=0}),t.qZA(),t.TgZ(8,"div",4),t.NdJ("click",function(){return o.setValue(4)})("mouseover",function(){return o.hoveredSlot=1}),t.qZA(),t.TgZ(9,"div",4),t.NdJ("click",function(){return o.setValue(3)})("mouseover",function(){return o.hoveredSlot=2}),t.qZA(),t.TgZ(10,"div",4),t.NdJ("click",function(){return o.setValue(2)})("mouseover",function(){return o.hoveredSlot=3}),t.qZA(),t.TgZ(11,"div",4),t.NdJ("click",function(){return o.setValue(1)})("mouseover",function(){return o.hoveredSlot=4}),t.qZA(),t.TgZ(12,"div",4),t.NdJ("click",function(){return o.setValue(0)})("mouseover",function(){return o.hoveredSlot=5}),t.qZA()(),t._UZ(13,"br"),t.YNc(14,or,61,24,"div",5),t.qZA(),t.TgZ(15,"mat-button-toggle-group",6),t.YNc(16,ir,2,5,"mat-button-toggle",7),t.qZA(),t.TgZ(17,"div",8)(18,"mat-button-toggle-group")(19,"mat-button-toggle",9),t._UZ(20,"app-armor-perk-icon",10),t.TgZ(21,"mat-icon"),t._uU(22,"arrow_drop_down"),t.qZA()(),t.TgZ(23,"mat-button-toggle",11),t.NdJ("click",function(s){return o.toggleArmorPerkLock(),s.stopPropagation()}),t.YNc(24,ar,2,0,"mat-icon",12),t.YNc(25,sr,2,0,"mat-icon",12),t.qZA()(),t.TgZ(26,"mat-menu",13,14),t.YNc(28,rr,5,4,"ng-container",15),t.qZA()(),t.TgZ(29,"span",16),t.YNc(30,lr,2,1,"img",17),t.YNc(31,cr,2,1,"img",18),t.YNc(32,mr,2,1,"img",19),t.YNc(33,dr,2,1,"img",20),t.YNc(34,ur,2,1,"img",21),t.qZA()()),2&e){const a=t.MAs(27);t.ekj("disabled",o.disabled),t.xp6(8),t.ekj("active",5-o.maximumModSlots>=1)("hovered-higher",o.hoveredSlot>-1&&o.hoveredSlot<1)("hovered",o.hoveredSlot>=1)("blocked",o.featureDisabled),t.xp6(1),t.ekj("active",5-o.maximumModSlots>=2)("hovered-higher",o.hoveredSlot>-1&&o.hoveredSlot<2)("hovered",o.hoveredSlot>=2)("blocked",o.featureDisabled),t.xp6(1),t.ekj("active",5-o.maximumModSlots>=3)("hovered-higher",o.hoveredSlot>-1&&o.hoveredSlot<3)("hovered",o.hoveredSlot>=3)("blocked",o.featureDisabled),t.xp6(1),t.ekj("active",5-o.maximumModSlots>=4)("hovered-higher",o.hoveredSlot>-1&&o.hoveredSlot<4)("hovered",o.hoveredSlot>=4)("blocked",o.featureDisabled),t.xp6(1),t.ekj("active",5-o.maximumModSlots==5)("hovered-higher",o.hoveredSlot>-1&&o.hoveredSlot<5)("hovered",5===o.hoveredSlot)("blocked",o.featureDisabled),t.xp6(2),t.Q6J("ngVar",o.hoveredSlot>-1?5-o.hoveredSlot:o.maximumModSlots),t.xp6(2),t.Q6J("ngForOf",o.ModRange),t.xp6(2),t.ekj("impossible",!o.isPossible),t.xp6(1),t.Q6J("matMenuTriggerFor",a),t.xp6(1),t.Q6J("perk",o.armorPerk),t.xp6(3),t.MGl("matTooltip","Force the selected perk or slot to be on a ",o.slotName,"."),t.Q6J("disabled",o.disabled),t.xp6(1),t.Q6J("ngIf",!o.armorPerkLock),t.xp6(1),t.Q6J("ngIf",o.armorPerkLock),t.xp6(3),t.Q6J("ngForOf",o.availableArmorPerks),t.xp6(2),t.Q6J("ngIf",o.slot===o.ArmorSlot.ArmorSlotHelmet),t.xp6(1),t.Q6J("ngIf",o.slot===o.ArmorSlot.ArmorSlotGauntlet),t.xp6(1),t.Q6J("ngIf",o.slot===o.ArmorSlot.ArmorSlotChest),t.xp6(1),t.Q6J("ngIf",o.slot===o.ArmorSlot.ArmorSlotLegs),t.xp6(1),t.Q6J("ngIf",o.slot===o.ArmorSlot.ArmorSlotClass)}},dependencies:[T.sg,T.O5,N.gM,j.Hw,vt.VK,vt.OP,vt.p6,it.A9,it.Yi,Ct,Wt],styles:[".slot-icon-container[_ngcontent-%COMP%]{float:right;position:relative}.slot-icon-container[_ngcontent-%COMP%] .slot-icon[_ngcontent-%COMP%]{height:30px;position:absolute;left:-30px;filter:invert(1) drop-shadow(1px 1px 3px rgba(0,0,0,.25))!important}.container[_ngcontent-%COMP%]{height:60px}.select-button[_ngcontent-%COMP%]{min-width:40px}.selector-element[_ngcontent-%COMP%]{position:relative;float:right;width:90px;height:70px;top:-21px}.selector-element[_ngcontent-%COMP%] .lock[_ngcontent-%COMP%]{position:absolute;bottom:2px;left:60px}.selector-element[_ngcontent-%COMP%] .element-list[_ngcontent-%COMP%]{float:left;width:70px;padding-left:5px}.selector-element[_ngcontent-%COMP%] .element-list[_ngcontent-%COMP%] .element-icon[_ngcontent-%COMP%]{border:rgba(0,0,0,0) solid 2px;height:26px;width:26px;margin-right:1px;margin-bottom:1px;margin-top:1px;cursor:pointer;filter:grayscale(.4)}.selector-element[_ngcontent-%COMP%] .element-list[_ngcontent-%COMP%] .element-icon[_ngcontent-%COMP%]:hover{filter:grayscale(.2)}.selector-element[_ngcontent-%COMP%] .element-list[_ngcontent-%COMP%] .element-icon.selected[_ngcontent-%COMP%]{filter:grayscale(0)}[_nghost-%COMP%] .selector-slots .mat-button-toggle{background-color:inherit}.modslot-selection[_ngcontent-%COMP%]{width:180px}.selector-slots[_ngcontent-%COMP%]{position:relative;float:right;top:-10px}.selector-slots[_ngcontent-%COMP%] .lock[_ngcontent-%COMP%]{position:absolute;bottom:2px;left:140px}.selector-slots[_ngcontent-%COMP%] .element-list[_ngcontent-%COMP%]{float:left;height:70px;width:175px;padding-left:5px}.selector-slots[_ngcontent-%COMP%] .element-list[_ngcontent-%COMP%] .element-icon[_ngcontent-%COMP%]{height:30px;width:30px;border:rgba(0,0,0,0) solid 2px;margin-right:1px;margin-top:-2px;cursor:pointer}.selector-slots[_ngcontent-%COMP%] .element-list[_ngcontent-%COMP%] .element-icon.disabled[_ngcontent-%COMP%]{opacity:.5;cursor:default;border:rgba(0,0,0,0) solid 2px!important}.impossible[_ngcontent-%COMP%]{background-color:#ff00004d;cursor:help}.left_line[_ngcontent-%COMP%]{pointer-events:none;height:15px;width:100%;border-left:1px solid white;border-bottom:1px solid white;position:absolute;bottom:0px;left:0}.overlay-icon-container[_ngcontent-%COMP%]{position:relative}.overlay-icon-container[_ngcontent-%COMP%] .overlay-icon[_ngcontent-%COMP%]{width:20px;position:absolute;left:7px;bottom:11px;pointer-events:none}.element-icon[_ngcontent-%COMP%]:hover{border:cornflowerblue solid 2px!important}.selected[_ngcontent-%COMP%], .selected[_ngcontent-%COMP%]:hover{background-color:#89b2ff3d;border:#0059ff solid 2px!important}.energy-container[_ngcontent-%COMP%] .energy-bar[_ngcontent-%COMP%]{float:left;margin-right:3px;width:20px;height:10px;border:white solid 2px;cursor:pointer}.energy-container[_ngcontent-%COMP%] .energy-bar.none[_ngcontent-%COMP%]{border:indianred solid 2px}.energy-container[_ngcontent-%COMP%] .energy-bar[_ngcontent-%COMP%]:hover, .energy-container[_ngcontent-%COMP%] .hovered[_ngcontent-%COMP%]{background-color:#6e6e6e}.energy-container[_ngcontent-%COMP%] .hovered-higher[_ngcontent-%COMP%]{background-color:#0000!important}.energy-container[_ngcontent-%COMP%] .energy-bar.active[_ngcontent-%COMP%]{background-color:#fff}.energy-container[_ngcontent-%COMP%] .energy-bar.blocked[_ngcontent-%COMP%]{border:#606060 solid 2px;background-color:#6e6e6e}.mod-info[_ngcontent-%COMP%]{position:relative;float:left;height:40px;width:40px;margin-right:5px}.mod-info[_ngcontent-%COMP%] .mod-number[_ngcontent-%COMP%]{position:absolute;top:1px;bottom:1px;right:1px;left:1px;pointer-events:none;fill:#e0e0e0}.mod-info[_ngcontent-%COMP%] .mod-minor[_ngcontent-%COMP%]{display:none}.mod-info[_ngcontent-%COMP%] .overlay[_ngcontent-%COMP%]{position:absolute;top:0px;width:100%;height:100%;background:linear-gradient(to top left,rgba(0,0,0,0) 0%,rgba(0,0,0,0) calc(50% - .8px),rgb(0,0,0) 50%,rgba(0,0,0,0) calc(50% + .8px),rgba(0,0,0,0) 100%),linear-gradient(to top right,rgba(0,0,0,0) 0%,rgba(0,0,0,0) calc(50% - .8px),rgb(0,0,0) 50%,rgba(0,0,0,0) calc(50% + .8px),rgba(0,0,0,0) 100%)}.mod-info[_ngcontent-%COMP%] .mod-icon[_ngcontent-%COMP%]{width:40px;height:40px}.mod-info[_ngcontent-%COMP%] .mod-minor[_ngcontent-%COMP%]{border:rgba(0,0,0,0) solid 3px;width:34px;height:34px}.mod-info.major[_ngcontent-%COMP%] .overlay[_ngcontent-%COMP%], .mod-info.minor[_ngcontent-%COMP%] .overlay[_ngcontent-%COMP%]{display:none}.mod-info.minor[_ngcontent-%COMP%] .mod-minor[_ngcontent-%COMP%]{display:block}.mod-info.minor[_ngcontent-%COMP%] .mod-major[_ngcontent-%COMP%]{display:none}.menuArmorIcon[_ngcontent-%COMP%]{position:absolute;top:8px}.menuArmorText[_ngcontent-%COMP%]{padding-left:35px}.selected-menu[_ngcontent-%COMP%]{background-color:#89b2ff3d}.selected-menu[_ngcontent-%COMP%]:hover{background-color:#89b2ff4d} .modslot-select-scroll-menu{overflow-y:auto;max-height:250px!important}"]}),n})(),gr=(()=>{class n{constructor(){}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-slot-limitation-title"]],decls:5,vars:0,consts:[[1,"energy"],[1,"selector-slots"]],template:function(e,o){1&e&&(t.TgZ(0,"div")(1,"div",0),t._uU(2," Energy "),t.qZA(),t.TgZ(3,"span",1),t._uU(4," Modslots "),t.qZA()())},styles:[".energy[_ngcontent-%COMP%]{border-bottom:#a1a1a1 1px solid;margin-bottom:6px}.selector-element[_ngcontent-%COMP%]{position:relative;float:right;width:90px;top:-26px}.selector-slots[_ngcontent-%COMP%]{position:relative;float:right;width:155px;top:-26px;text-align:center}"]}),n})();function _r(n,i){1&n&&(t.TgZ(0,"mat-toolbar",13),t._uU(1," Some of your chosen limitations contain no armor pieces and will yield no results.\n"),t.qZA())}function fr(n,i){1&n&&(t.TgZ(0,"mat-toolbar",13),t._uU(1," The mod cost limitation is currently disabled. Modslot filtering still works.\n"),t.qZA())}let hr=(()=>{class n{constructor(e){this.config=e,this.ArmorSlot=C.y,this.ArmorPerkOrSlot=r.Pn,this.possibilityList=[!0,!0,!0,!0,!0],this.allPossible=!0,this.disabledSlotLimitation=!S_featureFlags_enableModslotLimitation}updatePossibility(e,o){this.possibilityList[e]=o,this.allPossible=5==this.possibilityList.filter(a=>!!a).length}clear(){this.config.modifyConfiguration(e=>{for(let o=0;o<5;o++)e.armorPerks[o+1]={fixed:!0,value:0},e.maximumModSlots[o+1]={fixed:!0,value:5}})}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(B))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-desired-mod-selection"]],decls:129,vars:16,consts:[["color","warn","class","mat-elevation-z4 impossible-container",4,"ngIf"],[1,"container"],[3,"slot","possible"],["id","clear-container"],["color","warn","mat-stroked-button","",3,"click"],[1,"minispace"],[1,"mat-elevation-z6"],["aria-hidden","false","inline",""],["id","explanation-description"],[1,"text-highlight"],[1,"example-usecase"],[1,"modslot-legend"],[3,"perk"],["color","warn",1,"mat-elevation-z4","impossible-container"]],template:function(e,o){1&e&&(t.YNc(0,_r,2,0,"mat-toolbar",0),t.TgZ(1,"div",1),t._UZ(2,"app-slot-limitation-title"),t.TgZ(3,"app-slot-limitation-selection",2),t.NdJ("possible",function(s){return o.updatePossibility(0,s)}),t.qZA(),t._UZ(4,"br"),t.TgZ(5,"app-slot-limitation-selection",2),t.NdJ("possible",function(s){return o.updatePossibility(1,s)}),t.qZA(),t._UZ(6,"br"),t.TgZ(7,"app-slot-limitation-selection",2),t.NdJ("possible",function(s){return o.updatePossibility(2,s)}),t.qZA(),t._UZ(8,"br"),t.TgZ(9,"app-slot-limitation-selection",2),t.NdJ("possible",function(s){return o.updatePossibility(3,s)}),t.qZA(),t._UZ(10,"br"),t.TgZ(11,"app-slot-limitation-selection",2),t.NdJ("possible",function(s){return o.updatePossibility(4,s)}),t.qZA()(),t.TgZ(12,"div",3)(13,"button",4),t.NdJ("click",function(){return o.clear()}),t._uU(14,"Clear the whole selection"),t.qZA()(),t._UZ(15,"div",5),t.YNc(16,fr,2,0,"mat-toolbar",0),t._UZ(17,"div",5),t.TgZ(18,"mat-accordion")(19,"mat-expansion-panel",6)(20,"mat-expansion-panel-header")(21,"mat-panel-title")(22,"mat-icon",7),t._uU(23,"info"),t.qZA(),t._uU(24," Explanation "),t.qZA(),t.TgZ(25,"mat-panel-description"),t._uU(26," Detailed instructions for this section. "),t.qZA()(),t.TgZ(27,"div",8),t._uU(28," This section allows you to further finetune the results to your requirements."),t._UZ(29,"br")(30,"div",5),t.TgZ(31,"u"),t._uU(32,"Limitation of available stat mod types"),t.qZA(),t._UZ(33,"br"),t._uU(34," First off, you are able to "),t.TgZ(35,"span",9),t._uU(36,"select the kind and amount of stat mods"),t.qZA(),t._uU(37," you want. By filling the bars you "),t.TgZ(38,"span",9),t._uU(39,"specify how many modslots are already occupied"),t.qZA(),t._uU(40," and thus the tool knows how much space it is able to use for your builds. Hover over the bars, it will show you which mods are available after you changed your selection. "),t._UZ(41,"div",5),t.TgZ(42,"div",10),t._uU(43,' Example Use Case: "On one item I can only use up to four recovery mods, no major intellect mod. One item can not hold any mods". In this scenario you would set one slot to 10 used slots, and the rest to 6. '),t.qZA(),t._UZ(44,"br"),t.TgZ(45,"u"),t._uU(46,"Filter for Elemental Affinity and Armor Perk/Slot"),t.qZA(),t._UZ(47,"br"),t._uU(48," This allows you to super-finetune your elemental and armor-perk requirements. You can change the settings for "),t.TgZ(49,"span",9),t._uU(50,"each armor slot"),t.qZA(),t._uU(51,". There are two modes per armor slot: "),t.TgZ(52,"span",9),t._uU(53,"Locked"),t.qZA(),t._uU(54," and "),t.TgZ(55,"span",9),t._uU(56,"Unlocked"),t.qZA(),t._uU(57,". Per default each entry is in the "),t.TgZ(58,"span",9),t._uU(59,"Locked"),t.qZA(),t._uU(60," mode. "),t._UZ(61,"div",5),t.TgZ(62,"span",9),t._uU(63,"Locked"),t.qZA(),t._uU(64," means that "),t.TgZ(65,"span",9),t._uU(66,"this armor slot must have"),t.qZA(),t._uU(67," the selected element or perk. "),t._UZ(68,"div",5),t.TgZ(69,"span",9),t._uU(70,"Unlocked"),t.qZA(),t._uU(71," means that the perk must exist, but "),t.TgZ(72,"span",9),t._uU(73,"the exact armor slot is irrelevant"),t.qZA(),t._uU(74,". That means that the tool can decide where it puts the desired element or perk. "),t._UZ(75,"div",5),t.TgZ(76,"div",10),t._uU(77,' Example Use Case: "The Class Item and Gauntlet '),t.TgZ(78,"span",9),t._uU(79,"must be stasis"),t.qZA(),t._uU(80,'. Oh, and I need two solar and one arc modslots, but the position does not matter". In this scenario, Class Item and Gauntlet would be '),t.TgZ(81,"span",9),t._uU(82,"Locked"),t.qZA(),t._uU(83," and the rest would be "),t.TgZ(84,"span",9),t._uU(85,"Unlocked"),t.qZA(),t._uU(86,". "),t.qZA(),t._UZ(87,"br"),t._uU(88," Legend: "),t.TgZ(89,"table",11)(90,"tr")(91,"td"),t._UZ(92,"app-armor-perk-icon",12),t.qZA(),t.TgZ(93,"td"),t._uU(94,"Vault of Glass"),t.qZA(),t.TgZ(95,"td"),t._UZ(96,"app-armor-perk-icon",12),t.qZA(),t.TgZ(97,"td"),t._uU(98,"Deep Stone Crypt"),t.qZA(),t.TgZ(99,"td"),t._UZ(100,"app-armor-perk-icon",12),t.qZA(),t.TgZ(101,"td"),t._uU(102,"Garden of Salvation"),t.qZA()(),t.TgZ(103,"tr")(104,"td"),t._UZ(105,"app-armor-perk-icon",12),t.qZA(),t.TgZ(106,"td"),t._uU(107,"Last Wish"),t.qZA(),t.TgZ(108,"td"),t._UZ(109,"app-armor-perk-icon",12),t.qZA(),t.TgZ(110,"td"),t._uU(111,"Vow of the Disciple"),t.qZA(),t.TgZ(112,"td"),t._UZ(113,"app-armor-perk-icon",12),t.qZA(),t.TgZ(114,"td"),t._uU(115,"Nightmare Modslot"),t.qZA()(),t.TgZ(116,"tr")(117,"td"),t._UZ(118,"app-armor-perk-icon",12),t.qZA(),t.TgZ(119,"td"),t._uU(120,"Artifice Modslot"),t.qZA(),t.TgZ(121,"td"),t._UZ(122,"app-armor-perk-icon",12),t.qZA(),t.TgZ(123,"td"),t._uU(124,"Iron Banner Perk"),t.qZA(),t.TgZ(125,"td"),t._UZ(126,"app-armor-perk-icon",12),t.qZA(),t.TgZ(127,"td"),t._uU(128,"Uniformed Officer Perk"),t.qZA()()()()()()),2&e&&(t.Q6J("ngIf",!o.allPossible),t.xp6(3),t.Q6J("slot",o.ArmorSlot.ArmorSlotHelmet),t.xp6(2),t.Q6J("slot",o.ArmorSlot.ArmorSlotGauntlet),t.xp6(2),t.Q6J("slot",o.ArmorSlot.ArmorSlotChest),t.xp6(2),t.Q6J("slot",o.ArmorSlot.ArmorSlotLegs),t.xp6(2),t.Q6J("slot",o.ArmorSlot.ArmorSlotClass),t.xp6(5),t.Q6J("ngIf",o.disabledSlotLimitation),t.xp6(76),t.Q6J("perk",o.ArmorPerkOrSlot.SlotVaultOfGlass),t.xp6(4),t.Q6J("perk",o.ArmorPerkOrSlot.SlotDeepStoneCrypt),t.xp6(4),t.Q6J("perk",o.ArmorPerkOrSlot.SlotGardenOfSalvation),t.xp6(5),t.Q6J("perk",o.ArmorPerkOrSlot.SlotLastWish),t.xp6(4),t.Q6J("perk",o.ArmorPerkOrSlot.SlotVowOfTheDisciple),t.xp6(4),t.Q6J("perk",o.ArmorPerkOrSlot.SlotNightmare),t.xp6(5),t.Q6J("perk",o.ArmorPerkOrSlot.SlotArtifice),t.xp6(4),t.Q6J("perk",o.ArmorPerkOrSlot.PerkIronBanner),t.xp6(4),t.Q6J("perk",o.ArmorPerkOrSlot.PerkUniformedOfficer))},dependencies:[T.O5,g.lW,j.Hw,W.Ye,J.pp,J.ib,J.yz,J.yK,J.u4,pr,Wt,gr],styles:[".container[_ngcontent-%COMP%]{margin-bottom:10px}.impossible-container[_ngcontent-%COMP%]{text-align:center;margin-right:auto;margin-left:auto;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;font-size:15px;line-height:20px;margin-bottom:10px}.element-icon[_ngcontent-%COMP%]{height:30px;width:30px}.element-icon.disabled[_ngcontent-%COMP%]{opacity:.5;cursor:default;pointer-events:none}.overlay-icon-container[_ngcontent-%COMP%]{position:relative}.overlay-icon-container[_ngcontent-%COMP%] .overlay-icon[_ngcontent-%COMP%]{width:20px;position:absolute;left:5px;bottom:9px;pointer-events:none}.modslot-legend[_ngcontent-%COMP%]{border-collapse:separate;border-spacing:0 0;width:100%}.modslot-legend[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:0}#explanation-description[_ngcontent-%COMP%]{width:520px}.minispace[_ngcontent-%COMP%]{height:7px}.text-highlight[_ngcontent-%COMP%]{color:#cddcef}.example-usecase[_ngcontent-%COMP%]{font-size:small;line-height:normal}"]}),n})();function xr(n,i){if(1&n&&t._UZ(0,"img",6),2&n){const e=t.oxw();t.s9C("alt",e.exoticPerk.name),t.MGl("src","https://bungie.net/",e.exoticPerk.icon,"",t.LSH)}}function yr(n,i){1&n&&(t.TgZ(0,"tr")(1,"td"),t._uU(2,"Loading exotic perk.."),t.qZA()())}function Tr(n,i){1&n&&(t.TgZ(0,"tr")(1,"td"),t._uU(2,"No (fixed) exotic perk available."),t.qZA()())}function br(n,i){if(1&n&&(t.TgZ(0,"tr")(1,"td")(2,"span"),t._uU(3),t.qZA()()()),2&n){const e=t.oxw();t.xp6(3),t.Oqu(e.exoticPerk.name)}}function Cr(n,i){if(1&n&&(t.TgZ(0,"tr")(1,"td",7),t._uU(2),t.qZA()()),2&n){const e=t.oxw();t.xp6(2),t.hij(" ",e.exoticPerk.description," ")}}function vr(n,i){1&n&&(t.ynx(0),t._uU(1," and "),t.BQk())}function Ar(n,i){if(1&n&&(t.ynx(0),t._uU(1," in your collection "),t.YNc(2,vr,2,0,"ng-container",4),t.BQk()),2&n){const e=t.oxw(2);t.xp6(2),t.Q6J("ngIf",e.vendor)}}function wr(n,i){1&n&&(t.ynx(0),t._uU(1,"available at a vendor"),t.BQk())}function Zr(n,i){if(1&n&&(t.TgZ(0,"tr",8)(1,"td",7),t._uU(2," This exotic is not in your inventory but it is "),t.YNc(3,Ar,3,1,"ng-container",4),t.YNc(4,wr,2,0,"ng-container",4),t._uU(5,". You can still generate a loadout with this exotic, but you will have to grab it by yourself. "),t.qZA()()),2&n){const e=t.oxw();t.xp6(3),t.Q6J("ngIf",e.collection),t.xp6(1),t.Q6J("ngIf",e.vendor)}}let Sr=(()=>{class n{constructor(e,o){this.inv=e,this.iconService=o,this.vendor=!1,this.collection=!1,this.exoticPerkNotThere=!1}ngOnInit(){var e=this;return(0,m.Z)(function*(){e.exoticPerk=yield e.iconService.getItemCached(e.armor?.exoticPerkHash??0),e.exoticPerkNotThere=null==e.exoticPerk})()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(K),t.Y36(de))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-exotic-perk-tooltip"]],inputs:{armor:"armor",vendor:"vendor",collection:"collection"},decls:13,vars:7,consts:[[1,"tooltip-container"],["rowspan","2",1,"perk-icon-col"],["class","perk-icon",3,"alt","src",4,"ngIf"],[1,"exotic-name"],[4,"ngIf"],["class","collection-roll-info",4,"ngIf"],[1,"perk-icon",3,"alt","src"],["colspan","2"],[1,"collection-roll-info"]],template:function(e,o){1&e&&(t.TgZ(0,"div")(1,"div",0)(2,"table")(3,"tr")(4,"td",1),t.YNc(5,xr,1,2,"img",2),t.qZA(),t.TgZ(6,"td",3),t._uU(7),t.qZA()(),t.YNc(8,yr,3,0,"tr",4),t.YNc(9,Tr,3,0,"tr",4),t.YNc(10,br,4,1,"tr",4),t.YNc(11,Cr,3,1,"tr",4),t.YNc(12,Zr,6,2,"tr",5),t.qZA()()()),2&e&&(t.xp6(5),t.Q6J("ngIf",o.exoticPerk),t.xp6(2),t.Oqu(null==o.armor?null:o.armor.name),t.xp6(1),t.Q6J("ngIf",!o.exoticPerk&&!o.exoticPerkNotThere),t.xp6(1),t.Q6J("ngIf",!o.exoticPerk&&o.exoticPerkNotThere),t.xp6(1),t.Q6J("ngIf",o.exoticPerk),t.xp6(1),t.Q6J("ngIf",o.exoticPerk),t.xp6(1),t.Q6J("ngIf",o.collection||o.vendor))},dependencies:[T.O5],styles:["[_nghost-%COMP%]{width:350px}.tooltip-container[_ngcontent-%COMP%]{border:1px solid gray;padding:1px 5px 4px;background:linear-gradient(#484848 0px,#2c2c2c 100%)}.perk-icon[_ngcontent-%COMP%]{width:50px;height:50px}.perk-icon-col[_ngcontent-%COMP%]{width:55px}.exotic-name[_ngcontent-%COMP%]{color:#eedb9e}.collection-roll-info[_ngcontent-%COMP%]{color:#5cc3ec;font-size:12px;margin-top:5px}"]}),n})(),Ir=(()=>{class n{constructor(e,o,a){this._overlay=e,this._overlayPositionBuilder=o,this._elementRef=a,this.showToolTip=!0,this.exoticTooltipInVendor=!1,this.exoticTooltipInCollection=!1}ngOnInit(){if(!this.showToolTip)return;const e=this._overlayPositionBuilder.flexibleConnectedTo(this._elementRef).withPositions([{originX:"center",originY:"bottom",overlayX:"center",overlayY:"top",offsetY:5},{originX:"center",originY:"top",overlayX:"center",overlayY:"bottom",offsetY:-5}]);this._overlayRef=this._overlay.create({positionStrategy:e}),this._overlayRef.addPanelClass("overlay-no-pointer-event")}show(){if(this._overlayRef&&!this._overlayRef.hasAttached()){const e=this._overlayRef.attach(new Nt.C5(Sr));e.instance.collection=this.exoticTooltipInCollection,e.instance.vendor=this.exoticTooltipInVendor,e.instance.armor=this.exoticTooltip}}hide(){this.closeToolTip()}ngOnDestroy(){this.closeToolTip()}closeToolTip(){this._overlayRef&&this._overlayRef.detach()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(pt.aV),t.Y36(pt.wJ),t.Y36(t.SBq))},n.\u0275dir=t.lG2({type:n,selectors:[["","exoticTooltip",""]],hostBindings:function(e,o){1&e&&t.NdJ("mouseenter",function(){return o.show()})("mouseleave",function(){return o.hide()})},inputs:{showToolTip:"showToolTip",exoticTooltip:"exoticTooltip",exoticTooltipInVendor:"exoticTooltipInVendor",exoticTooltipInCollection:"exoticTooltipInCollection",contentTemplate:"contentTemplate"}}),n})();function kr(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"img",5,6),t.NdJ("click",function(a){t.CHM(e);const s=t.oxw(2);return t.KtG(s.selectExotic(-2,a))}),t.qZA()}if(2&n){const e=t.oxw(2);t.Gre("exoticIcon ",e.selectedExotics.indexOf(-2)>-1?"selected":"","")}}function Or(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"img",7,6),t.NdJ("click",function(a){t.CHM(e);const s=t.oxw(2);return t.KtG(s.selectExotic(-1,a))}),t.qZA()}if(2&n){const e=t.oxw(2);t.Gre("exoticIcon ",e.selectedExotics.indexOf(-1)>-1?"selected":"","")}}function Mr(n,i){if(1&n&&t._UZ(0,"img",12),2&n){const e=t.oxw().$implicit;t.MGl("src","https://www.bungie.net/",e.item.watermarkIcon,"",t.LSH)}}function Dr(n,i){if(1&n&&t._UZ(0,"div",13),2&n){const e=t.oxw().$implicit,o=t.oxw(2);t.ekj("vendor-item",o.includeVendorRolls&&e.inVendor)("collection-item",o.includeCollectionRolls&&e.inCollection)}}function Er(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"span",8)(1,"img",9),t.NdJ("click",function(a){const l=t.CHM(e).$implicit,d=t.oxw(2);return t.KtG((l.inInventory||d.includeCollectionRolls&&l.inCollection)&&d.selectExotic(l.item.hash,a))}),t.qZA(),t.YNc(2,Mr,1,1,"img",10),t.YNc(3,Dr,1,4,"div",11),t.qZA()}if(2&n){const e=i.$implicit,o=t.oxw(2);t.xp6(1),t.Gre("exoticIcon ",o.selectedExotics.indexOf(e.item.hash)>-1?"selected":"",""),t.ekj("vendor-item",!e.inInventory&&o.includeVendorRolls&&e.inVendor)("collection-item",!e.inInventory&&o.includeCollectionRolls&&e.inCollection)("disabled",!(e.inInventory||o.includeCollectionRolls&&e.inCollection||o.includeVendorRolls&&e.inVendor)),t.MGl("src","https://www.bungie.net/",e.item.icon,"",t.LSH),t.Q6J("exoticTooltip",e.item)("exoticTooltipInVendor",!e.inInventory&&o.includeVendorRolls&&e.inVendor)("exoticTooltipInCollection",!e.inInventory&&o.includeCollectionRolls&&e.inCollection),t.xp6(1),t.Q6J("ngIf",e.item.watermarkIcon),t.xp6(1),t.Q6J("ngIf",!e.inInventory)}}function Ur(n,i){if(1&n&&(t.TgZ(0,"div"),t.YNc(1,kr,2,3,"img",2),t.YNc(2,Or,2,3,"img",3),t.YNc(3,Er,4,15,"span",4),t.qZA()),2&n){const e=i.$implicit,o=i.index;t.Q6J("@listAnimation",e.length),t.xp6(1),t.Q6J("ngIf",0===o),t.xp6(1),t.Q6J("ngIf",0===o),t.xp6(1),t.Q6J("ngForOf",e)}}const Pr=(0,F.X$)("listAnimation",[(0,F.eR)("* <=> *",[(0,F.IO)(":enter",[(0,F.oB)({opacity:0}),(0,F.EY)("30ms",(0,F.jt)("350ms ease-out",(0,F.oB)({opacity:1})))],{optional:!0})])]);let Rr=(()=>{class n{constructor(e,o){this.inventory=e,this.config=o,this.selectedExotics=[],this.includeCollectionRolls=!1,this.includeVendorRolls=!1,this.ignoreSunsetArmor=!1,this.allowBlueArmorPieces=!1,this.currentClass=D.Titan,this.exotics=[],this.ngUnsubscribe=new nt.xQ}ngOnInit(){var e=this;this.config.configuration.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(function(){var o=(0,m.Z)(function*(a){(a.characterClass!=e.currentClass||0==e.exotics.length)&&(e.currentClass=a.characterClass,yield e.updateExoticsForClass()),e.includeCollectionRolls=a.includeCollectionRolls,e.includeVendorRolls=a.includeVendorRolls,e.selectedExotics=a.selectedExotics,e.ignoreSunsetArmor=a.ignoreSunsetArmor,e.allowBlueArmorPieces=a.allowBlueArmorPieces});return function(a){return o.apply(this,arguments)}}()),this.inventory.manifest.pipe((0,st.b)(10),(0,Q.R)(this.ngUnsubscribe)).subscribe((0,m.Z)(function*(){yield e.updateExoticsForClass()})),this.inventory.inventory.pipe((0,st.b)(10),(0,Q.R)(this.ngUnsubscribe)).subscribe((0,m.Z)(function*(){yield e.updateExoticsForClass()}))}updateExoticsForClass(){var e=this;return(0,m.Z)(function*(){const o=yield e.inventory.getExoticsForClass(e.currentClass);function a(s){var l={};return s.filter(function(d){var u=d.item.hash;return!l.hasOwnProperty(u)&&(l[u]=!0)})}e.exotics=[a(o.filter(s=>s.item.slot==C.y.ArmorSlotHelmet)),a(o.filter(s=>s.item.slot==C.y.ArmorSlotGauntlet)),a(o.filter(s=>s.item.slot==C.y.ArmorSlotChest)),a(o.filter(s=>s.item.slot==C.y.ArmorSlotLegs))]})()}setAllowCollectionRolls(e){this.config.modifyConfiguration(o=>{o.includeCollectionRolls=e})}setAllowVendorItems(e){this.config.modifyConfiguration(o=>{o.includeVendorRolls=e})}setAllowBlueArmorPieces(e){this.config.modifyConfiguration(o=>{o.allowBlueArmorPieces=e})}setIgnoreSunsetArmor(e){this.config.modifyConfiguration(o=>{o.ignoreSunsetArmor=e})}selectExotic(e,o){const a=this.selectedExotics.indexOf(e);a>-1?this.selectedExotics.splice(a,1):-1==e?this.selectedExotics=[-1]:(0==this.selectedExotics.length||!o.shiftKey)&&(this.selectedExotics=[e]),this.config.modifyConfiguration(s=>{s.selectedExotics=this.selectedExotics})}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(K),t.Y36(B))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-desired-exotic-selection"]],decls:19,vars:5,consts:[[4,"ngFor","ngForOf"],["color","primary",3,"checked","change"],["src","https://www.bungie.net/common/destiny2_content/icons/763634b78eb22168ac707500588b7333.jpg","matTooltip","Force to use ANY exotic",3,"class","click",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/b4d05ef69d0c3227a7d4f7f35bbc2848.png","matTooltip","Force to use NO exotic at all",3,"class","click",4,"ngIf"],["class","container",4,"ngFor","ngForOf"],["src","https://www.bungie.net/common/destiny2_content/icons/763634b78eb22168ac707500588b7333.jpg","matTooltip","Force to use ANY exotic",3,"click"],["tooltip","matTooltip"],["src","https://www.bungie.net/common/destiny2_content/icons/b4d05ef69d0c3227a7d4f7f35bbc2848.png","matTooltip","Force to use NO exotic at all",3,"click"],[1,"container"],[3,"src","exoticTooltip","exoticTooltipInVendor","exoticTooltipInCollection","click"],["class","watermarkIcon",3,"src",4,"ngIf"],["class","item-source-overlay",3,"vendor-item","collection-item",4,"ngIf"],[1,"watermarkIcon",3,"src"],[1,"item-source-overlay"]],template:function(e,o){1&e&&(t.YNc(0,Ur,4,4,"div",0),t.TgZ(1,"div")(2,"mat-slide-toggle",1),t.NdJ("change",function(s){return o.setAllowCollectionRolls(s.checked)}),t._uU(3," Include "),t.TgZ(4,"u"),t._uU(5,"exotic"),t.qZA(),t._uU(6," collection rolls "),t.qZA()(),t.TgZ(7,"div")(8,"mat-slide-toggle",1),t.NdJ("change",function(s){return o.setAllowVendorItems(s.checked)}),t._uU(9," Include "),t.TgZ(10,"u"),t._uU(11,"legendary and exotic"),t.qZA(),t._uU(12," vendor armor (slower) "),t.qZA()(),t.TgZ(13,"div")(14,"mat-slide-toggle",1),t.NdJ("change",function(s){return o.setAllowBlueArmorPieces(s.checked)}),t._uU(15," Include white, blue and green items "),t.qZA()(),t.TgZ(16,"div")(17,"mat-slide-toggle",1),t.NdJ("change",function(s){return o.setIgnoreSunsetArmor(!s.checked)}),t._uU(18," Include sunset armor "),t.qZA()()),2&e&&(t.Q6J("ngForOf",o.exotics),t.xp6(2),t.Q6J("checked",o.includeCollectionRolls),t.xp6(6),t.Q6J("checked",o.includeVendorRolls),t.xp6(6),t.Q6J("checked",o.allowBlueArmorPieces),t.xp6(3),t.Q6J("checked",!o.ignoreSunsetArmor))},dependencies:[T.sg,T.O5,Zt.Rr,N.gM,Ir],styles:[".container[_ngcontent-%COMP%]{display:inline-block;position:relative;--icon-size: 36px}.exoticIcon[_ngcontent-%COMP%]{width:36px;height:36px;margin-right:3px;border:rgba(0,0,0,0) solid 2px;cursor:pointer}.watermarkIcon[_ngcontent-%COMP%]{width:36px;height:36px;margin-left:-41px;margin-top:2px;position:absolute;pointer-events:none}.exoticIcon[_ngcontent-%COMP%]:hover{border:cornflowerblue solid 2px}.selected[_ngcontent-%COMP%], .selected[_ngcontent-%COMP%]:hover{border:#0059ff solid 2px}[_nghost-%COMP%]{position:relative}.exoticText[_ngcontent-%COMP%]{position:absolute;text-shadow:0 0 6px #000000;background:rgba(33,33,33,.51);color:#f5f5f5;bottom:4px;right:5px}.disabled[_ngcontent-%COMP%]{filter:grayscale(1) contrast(.6)}.disabled[_ngcontent-%COMP%]:hover{cursor:default}.item-source-overlay[_ngcontent-%COMP%]{margin:2px}.item-source-overlay[_ngcontent-%COMP%]{position:absolute;left:0;top:0;width:0;pointer-events:none;border-top:calc(var(--icon-size) / 2) solid transparent;border-right:calc(var(--icon-size) / 2) solid transparent}.item-source-overlay.vendor-item[_ngcontent-%COMP%]{border-top-color:#00f}.item-source-overlay.collection-item[_ngcontent-%COMP%]{border-top-color:#90ee90}"],data:{animation:[Pr]}}),n})(),Nr=(()=>{class n{constructor(e,o,a){var s=this;this.auth=e,this.membership=o,this.inventory=a,this.characters=[],this.loadCachedData(),e.logoutEvent.subscribe(l=>this.clearCachedData()),this.inventory.inventory.subscribe((0,m.Z)(function*(){yield s.updateCharacterData()}))}clearCachedData(){this.characters=[],localStorage.removeItem("cachedCharacters")}loadCachedData(){let e=localStorage.getItem("cachedCharacters")||"[]";this.characters=JSON.parse(e)}updateCharacterData(){var e=this;return(0,m.Z)(function*(){e.characters=yield e.membership.getCharacters(),localStorage.setItem("cachedCharacters",JSON.stringify(e.characters))})()}}return n.\u0275fac=function(e){return new(e||n)(t.LFG(L),t.LFG(Pt),t.LFG(K))},n.\u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function qr(n,i){1&n&&(t.TgZ(0,"div",11),t._uU(1," Loading characters.. "),t.qZA())}function Jr(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"Titan"),t.qZA())}function Yr(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"Hunter"),t.qZA())}function Lr(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"Warlock"),t.qZA())}function Fr(n,i){if(1&n&&(t.TgZ(0,"div"),t._UZ(1,"img",14),t.TgZ(2,"span",15),t._uU(3),t.qZA()()),2&n){const e=t.oxw().$implicit,o=t.oxw();t.xp6(3),t.hij("\xd7",o.itemCounts[e.clazz],"")}}function Qr(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"div",12),t.NdJ("click",function(){const s=t.CHM(e).$implicit,l=t.oxw();return t.KtG(l.selectClass(s.clazz))}),t.TgZ(1,"div",13),t.YNc(2,Jr,2,0,"span",3),t.YNc(3,Yr,2,0,"span",3),t.YNc(4,Lr,2,0,"span",3),t.qZA(),t.YNc(5,Fr,4,1,"div",3),t.qZA()}if(2&n){const e=i.$implicit,o=i.index,a=t.oxw();t.Udp("background-image","url(https://bungie.net/"+e.emblemUrl+")"),t.ekj("selected",a.selectedClass===e.clazz),t.xp6(2),t.Q6J("ngIf",0===e.clazz),t.xp6(1),t.Q6J("ngIf",1===e.clazz),t.xp6(1),t.Q6J("ngIf",2===e.clazz),t.xp6(1),t.Q6J("ngIf",!!a.itemCounts[o])}}function Br(n,i){if(1&n&&(t.TgZ(0,"div")(1,"span",16),t._UZ(2,"img",17),t._uU(3),t.ALo(4,"number"),t.qZA(),t.TgZ(5,"span",16),t._UZ(6,"img",18),t._uU(7),t.ALo(8,"number"),t.qZA(),t.TgZ(9,"span",16),t._UZ(10,"img",19),t._uU(11),t.ALo(12,"number"),t.qZA(),t.TgZ(13,"span",16),t._UZ(14,"img",20),t._uU(15),t.ALo(16,"number"),t.qZA(),t.TgZ(17,"span",16),t._UZ(18,"img",21),t._uU(19),t.ALo(20,"number"),t.qZA()()),2&n){const e=t.oxw();t.xp6(1),t.MGl("matTooltip","Ascendant Shards: ",e.storedMaterials[4257549985],""),t.xp6(2),t.hij(" ",t.xi3(4,10,e.storedMaterials[4257549985],"1.0-0")," "),t.xp6(2),t.MGl("matTooltip","Enhancement Prisms: ",e.storedMaterials[4257549984],""),t.xp6(2),t.hij(" ",t.xi3(8,13,e.storedMaterials[4257549984],"1.0-0")," "),t.xp6(2),t.MGl("matTooltip","Enhancement Cores: ",e.storedMaterials[3853748946],""),t.xp6(2),t.hij(" ",t.xi3(12,16,e.storedMaterials[3853748946],"1.0-0")," "),t.xp6(2),t.MGl("matTooltip","Legendary Shards: ",e.storedMaterials[1022552290],""),t.xp6(2),t.hij(" ",t.xi3(16,19,e.storedMaterials[1022552290],"1.0-0")," "),t.xp6(2),t.MGl("matTooltip","Glimmer: ",e.storedMaterials[3159615086],""),t.xp6(2),t.hij(" ",t.xi3(20,22,e.storedMaterials[3159615086],"1.0-0")," ")}}let Vr=(()=>{class n{constructor(e,o,a){this.config=e,this.userdata=o,this.inv=a,this.itemCounts=[null,null,null],this.selectedClass=-1,this.storedMaterials=null,this.ngUnsubscribe=new nt.xQ}ngOnInit(){var e=this;this.config.configuration.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(o=>{this.selectedClass=o.characterClass;const a=-1!=this.userdata.characters.findIndex(s=>s.clazz==o.characterClass);this.userdata.characters.length>0&&!a&&this.config.modifyConfiguration(s=>{s.characterClass=this.userdata.characters[0].clazz,s.selectedExotics=[]})}),this.inv.inventory.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(function(){var o=(0,m.Z)(function*(a){yield e.loadStoredMaterials(),yield e.updateItemCount()});return function(a){return o.apply(this,arguments)}}())}selectClass(e){this.config.readonlyConfigurationSnapshot.characterClass!=e&&this.config.modifyConfiguration(o=>{o.characterClass=e,o.selectedExotics=[]})}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}updateItemCount(){var e=this;return(0,m.Z)(function*(){for(let o=0;o<3;o++)e.itemCounts[o]=yield e.inv.getItemCountForClass(o)})()}loadStoredMaterials(){var e=this;return(0,m.Z)(function*(){var o=JSON.parse(localStorage.getItem("stored-materials")||"{}");"3853748946"in o||(o[3853748946]=0),"4257549984"in o||(o[4257549984]=0),"4257549985"in o||(o[4257549985]=0),"3159615086"in o||(o[3159615086]=0),"1022552290"in o||(o[1022552290]=0),e.storedMaterials=o})()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(B),t.Y36(Nr),t.Y36(K))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-desired-class-selection"]],decls:22,vars:3,consts:[[1,"character-container"],["class","character-entry",4,"ngIf"],["class","character-entry","style","float: left",3,"selected","background-image","click",4,"ngFor","ngForOf"],[4,"ngIf"],["color","primary","fxShow","false","fxShow.lt-md","true","mat-flat-button","","routerLink","/help",2,"margin-left","15px"],["inline",""],["color","accent","href","https://ko-fi.com/mijago","matTooltip","You like my work? This leads you to ko-fi.com, where you can easily support me!","target","_blank"],["color","accent","href","http://discord.d2armorpicker.com","target","_blank"],[1,"crayon_logo_container"],["alt","","src","https://cdn.discordapp.com/emojis/917423317139480586.webp?size=96&quality=lossless",1,"crayon_logo"],["href","https://mijago.github.io/Crayon","target","_blank"],[1,"character-entry"],[1,"character-entry",2,"float","left",3,"click"],[1,"class-text"],["matTooltip","Amount of armor pieces for this class.","src","data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 51 51'%3e%3cpath d='M24.77 7.03c-8.15.38-14.42 7.41-14.42 15.57v16.06c0 .23.13.44.34.53l10.33 4.68c.78.35 1.66-.22 1.66-1.07V31.9c0-.39-.19-.75-.52-.97l-5.39-3.64c-.87-.52-1.43-1.5-1.34-2.61.13-1.46 1.46-2.52 2.93-2.52h4.36c.65 0 1.17.53 1.17 1.17v6.71s0 .61 1.61.61 1.61-.61 1.61-.61v-6.71c0-.65.52-1.17 1.17-1.17h4.36c1.47 0 2.8 1.06 2.93 2.52.1 1.11-.47 2.09-1.34 2.61l-5.39 3.64c-.32.22-.52.58-.52.97v10.91c0 .85.88 1.42 1.66 1.07l10.33-4.68c.21-.1.34-.3.34-.53v-16.5c.01-8.61-7.18-15.55-15.88-15.14z'/%3e%3c/svg%3e",1,"head-icon"],["matTooltip","Amount of armor pieces for this class.",1,"armor-text"],[1,"material-listing",3,"matTooltip"],["src","https://www.bungie.net/common/destiny2_content/icons/0271d214fc3ec91b3def799a4b286b46.jpg","alt","Ascendant Shard"],["src","https://www.bungie.net/common/destiny2_content/icons/dea2a35badf7466d4c2c2697ce6e8d87.jpg","alt","Enhancement Prism"],["src","https://www.bungie.net/common/destiny2_content/icons/0a4eb695ed55b4e720ddc401460cc0f9.jpg","alt","Enhancement Core"],["src","https://www.bungie.net/common/destiny2_content/icons/18ddd0bdac721b8eb8e6f8ec2b3e813c.png","alt","Legendary Shard"],["src","https://www.bungie.net/common/destiny2_content/icons/88993eaeedad32f42072df6f77f47311.png","alt","Glimmer"]],template:function(e,o){1&e&&(t.TgZ(0,"div",0),t.YNc(1,qr,2,0,"div",1),t.YNc(2,Qr,6,8,"div",2),t.qZA(),t.YNc(3,Br,21,25,"div",3),t.TgZ(4,"a",4)(5,"mat-icon",5),t._uU(6,"help"),t.qZA(),t._uU(7," Help and Information about D2ArmorPicker\n"),t.qZA(),t.TgZ(8,"div"),t._uU(9," If you like my work, you can "),t.TgZ(10,"a",6),t._uU(11," support me here."),t.qZA(),t._uU(12," You can also "),t.TgZ(13,"a",7),t._uU(14," join my dev Discord! "),t.qZA(),t.TgZ(15,"div"),t._uU(16," Also check out my Discord-Bot "),t.TgZ(17,"div",8),t._UZ(18,"img",9),t.qZA(),t.TgZ(19,"a",10),t._uU(20,"Crayon"),t.qZA(),t._uU(21,", for all your item information needs! "),t.qZA()()),2&e&&(t.xp6(1),t.Q6J("ngIf",0===o.userdata.characters.length),t.xp6(1),t.Q6J("ngForOf",o.userdata.characters),t.xp6(1),t.Q6J("ngIf",null!==o.storedMaterials))},dependencies:[T.sg,T.O5,H.b8,g.zs,N.gM,j.Hw,I.yS,T.JJ],styles:[".discord-btn[_ngcontent-%COMP%]{margin-left:15px}.material-listing[_ngcontent-%COMP%]{position:relative;padding-left:22px;padding-right:10px}.material-listing[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:20px;position:absolute;top:-2px;left:0}.crayon_logo_container[_ngcontent-%COMP%]{position:relative;width:22px;display:inline-block;margin-right:3px}.crayon_logo_container[_ngcontent-%COMP%] .crayon_logo[_ngcontent-%COMP%]{position:absolute;width:22px;top:-14px} .mat-option-text{color:#fff}.character-container[_ngcontent-%COMP%]{height:50px}.character-entry[_ngcontent-%COMP%]{color:#fff;background-size:cover;background-position:left center;background-repeat:no-repeat;width:180px;height:36px;position:relative;margin-right:7px;margin-bottom:7px;border:rgba(255,255,255,0) solid 2px;opacity:.75;cursor:pointer}.character-entry[_ngcontent-%COMP%]:hover{border:rgba(255,255,255,.41) solid 2px;opacity:.98}.character-entry.selected[_ngcontent-%COMP%]{cursor:default;opacity:1;border:white solid 2px}.class-text[_ngcontent-%COMP%]{position:absolute;left:35px;top:8px;font-size:x-large;text-shadow:0 0 6px #000000}.head-icon[_ngcontent-%COMP%]{height:25px;top:6px;right:30px;position:absolute;filter:invert(1) drop-shadow(1px 1px 3px rgba(0,0,0,.25))!important}.armor-text[_ngcontent-%COMP%]{position:absolute;right:4px;top:9px;text-shadow:0 0 6px #000000;font-size:small}a[_ngcontent-%COMP%]{color:#99afe3}a[_ngcontent-%COMP%]:visited{color:#7294dc}"]}),n})();function Hr(n,i){1&n&&t._UZ(0,"img",7)}function Wr(n,i){1&n&&t._UZ(0,"img",8)}function jr(n,i){1&n&&t._UZ(0,"img",9)}function zr(n,i){1&n&&t._UZ(0,"img",10)}function Gr(n,i){1&n&&t._UZ(0,"img",11)}function Kr(n,i){1&n&&t._UZ(0,"img",12)}let fe=(()=>{class n{constructor(){this.stat=r.WB.Mobility}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-stat-icon"]],inputs:{stat:"stat"},decls:7,vars:6,consts:[[1,"statContainerWrapper"],["src","https://www.bungie.net/common/destiny2_content/icons/e26e0e93a9daf4fdd21bf64eb9246340.png","class","dialogStatIcon","alt","Mobility",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/202ecc1c6febeb6b97dafc856e863140.png","class","dialogStatIcon","alt","Resilience",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/128eee4ee7fc127851ab32eac6ca91cf.png","class","dialogStatIcon","alt","Recovery",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/79be2d4adef6a19203f7385e5c63b45b.png","class","dialogStatIcon","alt","Discipline",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/d1c154469670e9a592c9d4cbdcae5764.png","class","dialogStatIcon","alt","Intellect",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/ea5af04ccd6a3470a44fd7bb0f66e2f7.png","class","dialogStatIcon","alt","Strength",4,"ngIf"],["src","https://www.bungie.net/common/destiny2_content/icons/e26e0e93a9daf4fdd21bf64eb9246340.png","alt","Mobility",1,"dialogStatIcon"],["src","https://www.bungie.net/common/destiny2_content/icons/202ecc1c6febeb6b97dafc856e863140.png","alt","Resilience",1,"dialogStatIcon"],["src","https://www.bungie.net/common/destiny2_content/icons/128eee4ee7fc127851ab32eac6ca91cf.png","alt","Recovery",1,"dialogStatIcon"],["src","https://www.bungie.net/common/destiny2_content/icons/79be2d4adef6a19203f7385e5c63b45b.png","alt","Discipline",1,"dialogStatIcon"],["src","https://www.bungie.net/common/destiny2_content/icons/d1c154469670e9a592c9d4cbdcae5764.png","alt","Intellect",1,"dialogStatIcon"],["src","https://www.bungie.net/common/destiny2_content/icons/ea5af04ccd6a3470a44fd7bb0f66e2f7.png","alt","Strength",1,"dialogStatIcon"]],template:function(e,o){1&e&&(t.TgZ(0,"span",0),t.YNc(1,Hr,1,0,"img",1),t.YNc(2,Wr,1,0,"img",2),t.YNc(3,jr,1,0,"img",3),t.YNc(4,zr,1,0,"img",4),t.YNc(5,Gr,1,0,"img",5),t.YNc(6,Kr,1,0,"img",6),t.qZA()),2&e&&(t.xp6(1),t.Q6J("ngIf",0===o.stat),t.xp6(1),t.Q6J("ngIf",1===o.stat),t.xp6(1),t.Q6J("ngIf",2===o.stat),t.xp6(1),t.Q6J("ngIf",3===o.stat),t.xp6(1),t.Q6J("ngIf",4===o.stat),t.xp6(1),t.Q6J("ngIf",5===o.stat))},dependencies:[T.O5],styles:[".dialogStatIcon[_ngcontent-%COMP%]{position:relative;width:25px;margin-right:3px;top:4px}"]}),n})(),$r=(()=>{class n{constructor(){}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-mod-description-tooltip"]],inputs:{mod:"mod"},decls:9,vars:2,consts:[[1,"tooltip-container"],[1,"exotic-name"]],template:function(e,o){1&e&&(t.TgZ(0,"div")(1,"div",0)(2,"table")(3,"tr")(4,"td",1),t._uU(5),t.qZA()(),t.TgZ(6,"tr")(7,"td"),t._uU(8),t.qZA()()()()()),2&e&&(t.xp6(5),t.Oqu(null==o.mod?null:o.mod.name),t.xp6(3),t.Oqu(null==o.mod?null:o.mod.description))},styles:["[_nghost-%COMP%]{width:350px}.tooltip-container[_ngcontent-%COMP%]{border:1px solid gray;padding:1px 5px 4px;background:linear-gradient(#484848 0px,#2c2c2c 100%)}.exotic-name[_ngcontent-%COMP%]{color:#eedb9e}"]}),n})(),Xr=(()=>{class n{constructor(e,o,a){this._overlay=e,this._overlayPositionBuilder=o,this._elementRef=a}ngOnInit(){const e=this._overlayPositionBuilder.flexibleConnectedTo(this._elementRef).withPositions([{originX:"center",originY:"bottom",overlayX:"center",overlayY:"top",offsetY:5},{originX:"center",originY:"top",overlayX:"center",overlayY:"bottom",offsetY:-5}]);this._overlayRef=this._overlay.create({positionStrategy:e}),this._overlayRef.addPanelClass("overlay-no-pointer-event")}show(){this._overlayRef&&!this._overlayRef.hasAttached()&&(this._overlayRef.attach(new Nt.C5($r)).instance.mod=this.mod)}hide(){this.closeToolTip()}ngOnDestroy(){this.closeToolTip()}closeToolTip(){this._overlayRef&&this._overlayRef.detach()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(pt.aV),t.Y36(pt.wJ),t.Y36(t.SBq))},n.\u0275dir=t.lG2({type:n,selectors:[["","modTooltip",""]],hostBindings:function(e,o){1&e&&t.NdJ("mouseenter",function(){return o.show()})("mouseleave",function(){return o.hide()})},inputs:{mod:["modTooltip","mod"]}}),n})();function tl(n,i){if(1&n){const e=t.EpF();t.ynx(0),t._UZ(1,"br"),t.TgZ(2,"mat-button-toggle-group",4)(3,"mat-button-toggle",5),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(2);return t.KtG(a.setElement(a.ModifierType.Arc))}),t._uU(4," Arc "),t.qZA(),t.TgZ(5,"mat-button-toggle",5),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(2);return t.KtG(a.setElement(a.ModifierType.Solar))}),t._uU(6," Solar "),t.qZA(),t.TgZ(7,"mat-button-toggle",5),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(2);return t.KtG(a.setElement(a.ModifierType.Void))}),t._uU(8," Void "),t.qZA(),t.TgZ(9,"mat-button-toggle",5),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(2);return t.KtG(a.setElement(a.ModifierType.Stasis))}),t._uU(10," Stasis "),t.qZA(),t.TgZ(11,"mat-button-toggle",5),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(2);return t.KtG(a.setElement(a.ModifierType.Strand))}),t._uU(12," Strand "),t.qZA()(),t.BQk()}if(2&n){const e=t.oxw(2);t.xp6(2),t.Q6J("value",e.selectedElement),t.xp6(1),t.Q6J("value",e.ModifierType.Arc),t.xp6(2),t.Q6J("value",e.ModifierType.Solar),t.xp6(2),t.Q6J("value",e.ModifierType.Void),t.xp6(2),t.Q6J("value",e.ModifierType.Stasis),t.xp6(2),t.Q6J("value",e.ModifierType.Strand)}}function el(n,i){if(1&n&&(t.TgZ(0,"h3",8),t._uU(1),t.qZA()),2&n){const e=t.oxw(2).$implicit;t.xp6(1),t.Oqu(e.name)}}function nl(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"There are no fragments configured yet. Please be patient."),t.qZA())}function ol(n,i){1&n&&(t.TgZ(0,"th",22),t._uU(1,"Name"),t.qZA())}function il(n,i){if(1&n&&(t.TgZ(0,"td",23)(1,"mat-slide-toggle",24),t._UZ(2,"app-item-icon",25),t._uU(3),t.qZA()()),2&n){const e=i.$implicit,o=t.oxw(4);t.Q6J("modTooltip",e),t.xp6(1),t.Q6J("checked",o.selectedMods.indexOf(e.id)>-1),t.xp6(1),t.Q6J("itemHash",e.hash),t.xp6(1),t.hij(" ",e.name," ")}}function al(n,i){1&n&&(t.TgZ(0,"th",22),t._UZ(1,"app-stat-icon",26),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",0))}function sl(n,i){if(1&n&&(t.TgZ(0,"span",31),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("+",e,"")}}function rl(n,i){if(1&n&&(t.TgZ(0,"span",32),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.Oqu(e)}}function ll(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,sl,2,1,"span",29),t.YNc(2,rl,2,1,"span",30),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(1),t.Q6J("ngIf",e<0)}}function cl(n,i){if(1&n&&(t.TgZ(0,"td",27),t.YNc(1,ll,3,2,"span",28),t.qZA()),2&n){const e=i.$implicit,o=t.oxw(4);t.xp6(1),t.Q6J("ngVar",o.getModifierTextForValue(e.bonus,0))}}function ml(n,i){1&n&&(t.TgZ(0,"th",22),t._UZ(1,"app-stat-icon",26),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",1))}function dl(n,i){if(1&n&&(t.TgZ(0,"span",31),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("+",e,"")}}function ul(n,i){if(1&n&&(t.TgZ(0,"span",32),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.Oqu(e)}}function pl(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,dl,2,1,"span",29),t.YNc(2,ul,2,1,"span",30),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(1),t.Q6J("ngIf",e<0)}}function gl(n,i){if(1&n&&(t.TgZ(0,"td",27),t.YNc(1,pl,3,2,"span",28),t.qZA()),2&n){const e=i.$implicit,o=t.oxw(4);t.xp6(1),t.Q6J("ngVar",o.getModifierTextForValue(e.bonus,1))}}function _l(n,i){1&n&&(t.TgZ(0,"th",22),t._UZ(1,"app-stat-icon",26),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",2))}function fl(n,i){if(1&n&&(t.TgZ(0,"span",31),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("+",e,"")}}function hl(n,i){if(1&n&&(t.TgZ(0,"span",32),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.Oqu(e)}}function xl(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,fl,2,1,"span",29),t.YNc(2,hl,2,1,"span",30),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(1),t.Q6J("ngIf",e<0)}}function yl(n,i){if(1&n&&(t.TgZ(0,"td",27),t.YNc(1,xl,3,2,"span",28),t.qZA()),2&n){const e=i.$implicit,o=t.oxw(4);t.xp6(1),t.Q6J("ngVar",o.getModifierTextForValue(e.bonus,2))}}function Tl(n,i){1&n&&(t.TgZ(0,"th",22),t._UZ(1,"app-stat-icon",26),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",3))}function bl(n,i){if(1&n&&(t.TgZ(0,"span",31),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("+",e,"")}}function Cl(n,i){if(1&n&&(t.TgZ(0,"span",32),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.Oqu(e)}}function vl(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,bl,2,1,"span",29),t.YNc(2,Cl,2,1,"span",30),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(1),t.Q6J("ngIf",e<0)}}function Al(n,i){if(1&n&&(t.TgZ(0,"td",27),t.YNc(1,vl,3,2,"span",28),t.qZA()),2&n){const e=i.$implicit,o=t.oxw(4);t.xp6(1),t.Q6J("ngVar",o.getModifierTextForValue(e.bonus,3))}}function wl(n,i){1&n&&(t.TgZ(0,"th",22),t._UZ(1,"app-stat-icon",26),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",4))}function Zl(n,i){if(1&n&&(t.TgZ(0,"span",31),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("+",e,"")}}function Sl(n,i){if(1&n&&(t.TgZ(0,"span",32),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.Oqu(e)}}function Il(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,Zl,2,1,"span",29),t.YNc(2,Sl,2,1,"span",30),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(1),t.Q6J("ngIf",e<0)}}function kl(n,i){if(1&n&&(t.TgZ(0,"td",27),t.YNc(1,Il,3,2,"span",28),t.qZA()),2&n){const e=i.$implicit,o=t.oxw(4);t.xp6(1),t.Q6J("ngVar",o.getModifierTextForValue(e.bonus,4))}}function Ol(n,i){1&n&&(t.TgZ(0,"th",22),t._UZ(1,"app-stat-icon",26),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",5))}function Ml(n,i){if(1&n&&(t.TgZ(0,"span",31),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.hij("+",e,"")}}function Dl(n,i){if(1&n&&(t.TgZ(0,"span",32),t._uU(1),t.qZA()),2&n){const e=t.oxw().ngVar;t.xp6(1),t.Oqu(e)}}function El(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,Ml,2,1,"span",29),t.YNc(2,Dl,2,1,"span",30),t.qZA()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0),t.xp6(1),t.Q6J("ngIf",e<0)}}function Ul(n,i){if(1&n&&(t.TgZ(0,"td",27),t.YNc(1,El,3,2,"span",28),t.qZA()),2&n){const e=i.$implicit,o=t.oxw(4);t.xp6(1),t.Q6J("ngVar",o.getModifierTextForValue(e.bonus,5))}}function Pl(n,i){1&n&&t._UZ(0,"tr",33)}function Rl(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"tr",34),t.NdJ("click",function(){const s=t.CHM(e).$implicit,l=t.oxw(4);return t.KtG(l.handleRowClick(s))}),t.qZA()}if(2&n){const e=i.$implicit,o=t.oxw(4);t.ekj("selected",o.selectedMods.indexOf(e.id)>-1)}}function Nl(n,i){if(1&n&&(t.TgZ(0,"table",9),t.ynx(1,10),t.YNc(2,ol,2,0,"th",11),t.YNc(3,il,4,4,"td",12),t.BQk(),t.ynx(4,13),t.YNc(5,al,2,1,"th",11),t.YNc(6,cl,2,1,"td",14),t.BQk(),t.ynx(7,15),t.YNc(8,ml,2,1,"th",11),t.YNc(9,gl,2,1,"td",14),t.BQk(),t.ynx(10,16),t.YNc(11,_l,2,1,"th",11),t.YNc(12,yl,2,1,"td",14),t.BQk(),t.ynx(13,17),t.YNc(14,Tl,2,1,"th",11),t.YNc(15,Al,2,1,"td",14),t.BQk(),t.ynx(16,18),t.YNc(17,wl,2,1,"th",11),t.YNc(18,kl,2,1,"td",14),t.BQk(),t.ynx(19,19),t.YNc(20,Ol,2,1,"th",11),t.YNc(21,Ul,2,1,"td",14),t.BQk(),t.YNc(22,Pl,1,0,"tr",20),t.YNc(23,Rl,1,2,"tr",21),t.qZA()),2&n){const e=t.oxw(2).$implicit,o=t.oxw();t.Q6J("dataSource",e.data),t.xp6(22),t.Q6J("matHeaderRowDef",o.displayedColumns),t.xp6(1),t.Q6J("matRowDefColumns",o.displayedColumns)}}function ql(n,i){if(1&n&&(t.ynx(0),t.YNc(1,el,2,1,"h3",6),t.YNc(2,nl,2,0,"span",3),t.YNc(3,Nl,24,3,"table",7),t.BQk()),2&n){const e=t.oxw().$implicit;t.xp6(1),t.Q6J("ngIf",!e.group),t.xp6(1),t.Q6J("ngIf",0===e.data.length),t.xp6(1),t.Q6J("ngIf",e.data.length>0)}}function Jl(n,i){if(1&n&&(t.TgZ(0,"span"),t.YNc(1,tl,13,6,"ng-container",3),t.YNc(2,ql,4,3,"ng-container",3),t.qZA()),2&n){const e=i.$implicit,o=i.index,a=t.oxw();t.xp6(1),t.Q6J("ngIf",0===o),t.xp6(1),t.Q6J("ngIf",!e.group||e.type===a.selectedElement)}}let Yl=(()=>{class n{constructor(e){this.config=e,this.ModifierType=h.O,this.ModOrAbility=f,this.displayedColumns=["name","mobility","resilience","recovery","discipline","intellect","strength"],this.selectedClass=D.None,this.selectedMods=[],this.selectedElement=h.O.Solar,this.ngUnsubscribe=new nt.xQ;const o=Object.values(ut).sort((p,b)=>p.name.toLowerCase()b.name.toLowerCase()?1:0);o.filter(p=>p.type==h.O.CombatStyleMod);let s=o.filter(p=>p.type==h.O.Stasis),l=o.filter(p=>p.type==h.O.Void),d=o.filter(p=>p.type==h.O.Solar),u=o.filter(p=>p.type==h.O.Arc),x=o.filter(p=>p.type==h.O.Strand);this.data=[{name:"Stasis Fragments",data:s,group:!0,type:h.O.Stasis},{name:"Void Fragments",data:l,group:!0,type:h.O.Void},{name:"Solar Fragments",data:d,group:!0,type:h.O.Solar},{name:"Arc Fragments",data:u,group:!0,type:h.O.Arc},{name:"Strand Fragments",data:x,group:!0,type:h.O.Strand}],this.dataSource=o}ngOnInit(){this.config.configuration.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(e=>{this.selectedMods=e.enabledMods,this.selectedClass=e.characterClass,this.selectedElement=e.selectedModElement})}getModifierTextForValue(e,o){return e.filter(a=>a.stat==o||a.stat==r.AR.ClassAbilityRegenerationStat&&(this.selectedClass==D.Titan&&o==r.WB.Resilience||this.selectedClass==D.Hunter&&o==r.WB.Mobility||this.selectedClass==D.Warlock&&o==r.WB.Recovery)).reduce((a,s)=>a+s.value,0)}handleRowClick(e){this.config.modifyConfiguration(o=>{const a=o.enabledMods.indexOf(e.id);a>-1?o.enabledMods.splice(a,1):o.enabledMods.push(e.id)})}clear(){this.config.modifyConfiguration(e=>{e.enabledMods=[]})}getAffinityName(e){return r.vr[e]}getAffinityUrl(e){return r.Sy[e]}setElement(e){this.selectedElement!=e&&this.config.modifyConfiguration(o=>{const a=o.enabledMods.filter(s=>ut[s].type!=h.O.CombatStyleMod&&ut[s].type!=e);o.selectedModElement=e;for(let s of a){const l=o.enabledMods.indexOf(s);o.enabledMods.splice(l,1)}})}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(B))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-desired-mods-selection"]],features:[t._Bn([{provide:Zt.HT,useValue:{disableToggleValue:!1,disableDragValue:!0}}])],decls:4,vars:1,consts:[[4,"ngFor","ngForOf"],["id","clear-container"],["color","warn","mat-stroked-button","",3,"click"],[4,"ngIf"],[3,"value"],[3,"value","click"],["class","stat-part-title",4,"ngIf"],["mat-table","",3,"dataSource",4,"ngIf"],[1,"stat-part-title"],["mat-table","",3,"dataSource"],["matColumnDef","name"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",3,"modTooltip",4,"matCellDef"],["matColumnDef","mobility"],["mat-cell","",4,"matCellDef"],["matColumnDef","resilience"],["matColumnDef","recovery"],["matColumnDef","discipline"],["matColumnDef","intellect"],["matColumnDef","strength"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",3,"selected","click",4,"matRowDef","matRowDefColumns"],["mat-header-cell",""],["mat-cell","",3,"modTooltip"],["color","primary","disabled","",2,"cursor","pointer !important",3,"checked"],[3,"itemHash"],[3,"stat"],["mat-cell",""],[4,"ngVar"],["class","stat-positive",4,"ngIf"],["class","stat-negative",4,"ngIf"],[1,"stat-positive"],[1,"stat-negative"],["mat-header-row",""],["mat-row","",3,"click"]],template:function(e,o){1&e&&(t.YNc(0,Jl,3,2,"span",0),t.TgZ(1,"div",1)(2,"button",2),t.NdJ("click",function(){return o.clear()}),t._uU(3,"Clear the whole selection"),t.qZA()()),2&e&&t.Q6J("ngForOf",o.data)},dependencies:[T.sg,T.O5,g.lW,Zt.Rr,w.BZ,w.fO,w.as,w.w1,w.Dz,w.nj,w.ge,w.ev,w.XQ,w.Gk,it.A9,it.Yi,fe,Ct,Ht,Xr],styles:[".mat-slide-toggle.mat-disabled[_ngcontent-%COMP%]{opacity:1}.stat-part-title[_ngcontent-%COMP%]{margin-top:10px;margin-bottom:5px}.modTable[_ngcontent-%COMP%]{width:100%}.mat-header-row[_ngcontent-%COMP%], .mat-row[_ngcontent-%COMP%]{height:30px}.mat-column-mobility[_ngcontent-%COMP%], .mat-column-resilience[_ngcontent-%COMP%], .mat-column-recovery[_ngcontent-%COMP%], .mat-column-discipline[_ngcontent-%COMP%], .mat-column-intellect[_ngcontent-%COMP%], .mat-column-strength[_ngcontent-%COMP%], .mat-column-cost[_ngcontent-%COMP%]{min-width:40px;text-align:center}.mat-row[_ngcontent-%COMP%]:hover{background-color:#494949}.mat-column-mobility[_ngcontent-%COMP%], .mat-column-recovery[_ngcontent-%COMP%], .mat-column-intellect[_ngcontent-%COMP%]{background-color:#464646}.mat-column-name[_ngcontent-%COMP%]{padding-right:4px;border-right:1px solid currentColor;min-width:150px}.mat-column-name[_ngcontent-%COMP%] app-item-icon[_ngcontent-%COMP%]{float:left;margin-right:5px}.mat-row[_ngcontent-%COMP%]{cursor:pointer}th.mat-header-cell[_ngcontent-%COMP%]:last-of-type, td.mat-cell[_ngcontent-%COMP%]:last-of-type, td.mat-footer-cell[_ngcontent-%COMP%]:last-of-type{padding-right:0}.mat-cell[_ngcontent-%COMP%]:last-of-type, .mat-header-cell[_ngcontent-%COMP%]:last-of-type, .mat-footer-cell[_ngcontent-%COMP%]:last-of-type{padding-right:0}.stat-negative[_ngcontent-%COMP%], .stat-positive[_ngcontent-%COMP%]{margin-right:3px}.stat-negative[_ngcontent-%COMP%]{color:#f08080}.stat-positive[_ngcontent-%COMP%]{color:#b6cbfc}.stat-display[_ngcontent-%COMP%]{width:60px;float:left;align-content:end;text-align:right}.mat-row[_ngcontent-%COMP%]:hover, .mat-row[_ngcontent-%COMP%]:hover .mat-cell[_ngcontent-%COMP%]{background-color:#494949}.mat-row.selected[_ngcontent-%COMP%]:hover, .mat-row.selected[_ngcontent-%COMP%]:hover .mat-cell[_ngcontent-%COMP%]{background-color:#89b2ff30}.selected[_ngcontent-%COMP%], .selected[_ngcontent-%COMP%] .mat-column-mobility[_ngcontent-%COMP%], .selected[_ngcontent-%COMP%] .mat-column-recovery[_ngcontent-%COMP%], .selected[_ngcontent-%COMP%] .mat-column-intellect[_ngcontent-%COMP%]{background-color:#89b2ff1c}.mat-column-name[_ngcontent-%COMP%]{min-width:190px}.element-icon[_ngcontent-%COMP%]{width:22px}#clear-container[_ngcontent-%COMP%]{padding-top:10px}#retrofit-table[_ngcontent-%COMP%] .rft-icon-container[_ngcontent-%COMP%]{width:22px;display:inline-block}#retrofit-table[_ngcontent-%COMP%] .rft-icon-container[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{position:relative}#retrofit-table[_ngcontent-%COMP%] .rft-icon-container[_ngcontent-%COMP%] app-stat-icon[_ngcontent-%COMP%]{position:absolute;top:-22px;left:-10px}"]}),n})();function Ll(n,i){if(1&n&&(t.TgZ(0,"mat-icon",8,9),t._uU(2," help "),t.qZA()),2&n){const e=t.oxw().$implicit;t.s9C("matTooltip",e.help)}}function Fl(n,i){1&n&&(t.TgZ(0,"mat-icon",10,9),t._uU(2," report_problem "),t.qZA())}function Ql(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"div",4)(1,"mat-slide-toggle",5),t.NdJ("change",function(a){const l=t.CHM(e).$implicit;return t.KtG(l.cp(a.checked))}),t._uU(2),t.qZA(),t.YNc(3,Ll,3,1,"mat-icon",6),t.YNc(4,Fl,3,0,"mat-icon",7),t.qZA()}if(2&n){const e=i.$implicit;t.xp6(1),t.Q6J("disabled",e.disabled)("checked",e.value),t.xp6(1),t.hij(" ",e.name," "),t.xp6(1),t.Q6J("ngIf",e.help),t.xp6(1),t.Q6J("ngIf",e.impactsResultCount)}}function Bl(n,i){if(1&n&&(t.TgZ(0,"div")(1,"span",1),t._uU(2),t.qZA(),t.YNc(3,Ql,5,5,"div",2),t._UZ(4,"div",3),t.qZA()),2&n){const e=i.$implicit,o=t.oxw();t.xp6(2),t.Oqu(e),t.xp6(1),t.Q6J("ngForOf",o.fields2[e])}}let Vl=(()=>{class n{constructor(e){this.config=e,this.fields2={},this.fieldKeys=[],this.ngUnsubscribe=new nt.xQ}ngOnInit(){this.config.configuration.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(e=>{this.fields2={Events:[{name:"Enforce the usage of a Festival of the Lost Mask.",cp:o=>this.config.modifyConfiguration(a=>a.useFotlArmor=o),value:e.useFotlArmor,disabled:!1,impactsResultCount:!0,help:"Only use a FotL masks. You will not get results if you do not own the mask."}],Masterwork:[{name:"Assume all legendary items are masterworked",cp:o=>this.config.modifyConfiguration(a=>a.assumeLegendariesMasterworked=o),value:e.assumeLegendariesMasterworked,disabled:!1,impactsResultCount:!1,help:void 0},{name:"Assume all exotic items are masterworked",cp:o=>this.config.modifyConfiguration(a=>a.assumeExoticsMasterworked=o),value:e.assumeExoticsMasterworked,disabled:!1,impactsResultCount:!1,help:"If this setting is enabled, the tool will treat non-masterworked exotic armor as if it were masterworked-."},{name:"Assume that class items are masterworked",cp:o=>this.config.modifyConfiguration(a=>a.assumeClassItemMasterworked=o),value:e.assumeClassItemMasterworked,disabled:!1,impactsResultCount:!1,help:"If this setting is enabled, a plain +2 is added to every stat. This means that your Class Item must be masterworked."},{name:"Only use already masterworked exotic items",cp:o=>this.config.modifyConfiguration(a=>a.onlyUseMasterworkedExotics=o),value:e.onlyUseMasterworkedExotics,disabled:!1,impactsResultCount:!0,help:void 0},{name:"Only use already masterworked legendary items",cp:o=>this.config.modifyConfiguration(a=>a.onlyUseMasterworkedLegendaries=o),value:e.onlyUseMasterworkedLegendaries,disabled:!1,impactsResultCount:!0,help:void 0}],"Performance Optimization":[{name:"Use security features to prevent app crashes (resets on reload).",cp:o=>this.config.modifyConfiguration(a=>a.limitParsedResults=o),value:e.limitParsedResults,disabled:!1,impactsResultCount:!0,help:"Only parse the first 30,000 results. Deactivating this may crash your browser. The results will still be limited to 1,000,000 entries. Note that you will not miss any significant results by leaving this enabled."}],"Extra Columns":[{name:"Show maximum reachable tiers in the Tiers-Column instead of real Tiers.",cp:o=>this.config.modifyConfiguration(a=>a.showPotentialTierColumn=o),value:e.showPotentialTierColumn,disabled:!1,impactsResultCount:!1,help:"Shows an additional column in the table that shows how many tiers this build would have, if all stat mods were used. This is important when builds do not use all 5 stat mods."},{name:"Show the wasted stats in an extra column.",cp:o=>this.config.modifyConfiguration(a=>a.showWastedStatsColumn=o),value:e.showWastedStatsColumn,disabled:!1,impactsResultCount:!1,help:"Shows an additional column in the table that shows how many stats are wasted in a build."}],"Wasted Stats":[{name:"Try to optimize wasted stats (slower)",cp:o=>this.config.modifyConfiguration(a=>a.tryLimitWastedStats=o),value:e.tryLimitWastedStats,disabled:!1,impactsResultCount:!1,help:"The tool will try to add minor stat mods to minimize wasted stats. This only works for combinations that fulfill your desired stat combination with enough mods so at least one mod slot is still open."},{name:"Only show builds with no wasted stats",cp:o=>this.config.modifyConfiguration(a=>a.onlyShowResultsWithNoWastedStats=o),value:S_featureFlags_enableZeroWaste&&e.onlyShowResultsWithNoWastedStats,disabled:!S_featureFlags_enableZeroWaste,impactsResultCount:!0,help:"Only show builds with zero wasted stats - this means, its highly likely that you won't get any results."}],"Data-Science":[{name:"Add a constant +1 resilience to the results with non-exotic chests (resets on reload).",cp:o=>this.config.modifyConfiguration(a=>a.addConstent1Resilience=o),value:e.addConstent1Resilience,disabled:!1,impactsResultCount:!1,help:"You usually do not want to use this."},{name:"Assume every legendary is an artifice armor.",cp:o=>this.config.modifyConfiguration(a=>a.assumeEveryLegendaryIsArtifice=o),value:e.assumeEveryLegendaryIsArtifice,disabled:!1,impactsResultCount:!0,help:"This is for debugging purposes. Do not complain if you enable this. Reload after changing this setting."}]},this.fieldKeys=Object.keys(this.fields2)})}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(B))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-advanced-settings"]],decls:1,vars:1,consts:[[4,"ngFor","ngForOf"],[1,"category-header"],["class","adv-settings",4,"ngFor","ngForOf"],[1,"category-spacer"],[1,"adv-settings"],["color","primary",3,"disabled","checked","change"],["inline","","aria-hidden","false","aria-label","Help",3,"matTooltip",4,"ngIf"],["inline","","aria-hidden","false","aria-label","Help","class","report-problem-icon","matTooltip","This setting might impact the amount of results. It may happen that you won't get any results if you change this setting. In this case, simply switch it back to its default state.",4,"ngIf"],["inline","","aria-hidden","false","aria-label","Help",3,"matTooltip"],["tooltip","matTooltip"],["inline","","aria-hidden","false","aria-label","Help","matTooltip","This setting might impact the amount of results. It may happen that you won't get any results if you change this setting. In this case, simply switch it back to its default state.",1,"report-problem-icon"]],template:function(e,o){1&e&&t.YNc(0,Bl,5,2,"div",0),2&e&&t.Q6J("ngForOf",o.fieldKeys)},dependencies:[T.sg,T.O5,Zt.Rr,N.gM,j.Hw],styles:[".category-spacer[_ngcontent-%COMP%]{height:3px}.category-header[_ngcontent-%COMP%]{font-style:italic}.adv-settings[_ngcontent-%COMP%]{margin-left:20px}.report-problem-icon[_ngcontent-%COMP%]{color:#f08080}"]}),n})(),qt=(()=>{class n{constructor(e,o){this.dialogRef=e,this.data=o}onNoClick(){this.dialogRef.close()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36($.so),t.Y36($.WI))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-confirm-dialog"]],decls:10,vars:2,consts:[["mat-dialog-title",""],["mat-dialog-content",""],["mat-dialog-actions",""],["mat-button","",3,"click"],["mat-raised-button","","color","primary",3,"mat-dialog-close"]],template:function(e,o){1&e&&(t.TgZ(0,"h1",0),t._uU(1,"Confirm"),t.qZA(),t.TgZ(2,"div",1)(3,"p"),t._uU(4),t.qZA()(),t.TgZ(5,"div",2)(6,"button",3),t.NdJ("click",function(){return o.onNoClick()}),t._uU(7,"No Thanks"),t.qZA(),t.TgZ(8,"button",4),t._uU(9,"Ok"),t.qZA()()),2&e&&(t.xp6(4),t.Oqu(o.data.description),t.xp6(4),t.Q6J("mat-dialog-close",!0))},dependencies:[g.lW,$.ZT,$.uh,$.xY,$.H8]}),n})();var lt=_(9549),Hl=_(4385),Jt=_(4144);function Wl(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"Titan"),t.qZA())}function jl(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"Hunter"),t.qZA())}function zl(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"Warlock"),t.qZA())}function Gl(n,i){if(1&n&&(t.TgZ(0,"mat-option",30)(1,"span"),t._uU(2,"("),t.YNc(3,Wl,2,0,"span",26),t.YNc(4,jl,2,0,"span",26),t.YNc(5,zl,2,0,"span",26),t._uU(6,") "),t.qZA(),t.TgZ(7,"span"),t._uU(8),t.qZA()()),2&n){const e=i.$implicit;t.Q6J("value",e.name),t.xp6(3),t.Q6J("ngIf",0===e.configuration.characterClass),t.xp6(1),t.Q6J("ngIf",1===e.configuration.characterClass),t.xp6(1),t.Q6J("ngIf",2===e.configuration.characterClass),t.xp6(3),t.hij(" ",e.name,"")}}function Kl(n,i){1&n&&(t.TgZ(0,"th",31),t._uU(1,"Name"),t.qZA())}function $l(n,i){if(1&n&&(t.TgZ(0,"td",32),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.hij("",e.name," ")}}function Xl(n,i){1&n&&(t.TgZ(0,"th",31),t._uU(1," Class "),t.qZA())}function tc(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"Titan"),t.qZA())}function ec(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"Hunter"),t.qZA())}function nc(n,i){1&n&&(t.TgZ(0,"span"),t._uU(1,"Warlock"),t.qZA())}function oc(n,i){if(1&n&&(t.TgZ(0,"td",32),t.YNc(1,tc,2,0,"span",26),t.YNc(2,ec,2,0,"span",26),t.YNc(3,nc,2,0,"span",26),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.Q6J("ngIf",0===e.configuration.characterClass),t.xp6(1),t.Q6J("ngIf",1===e.configuration.characterClass),t.xp6(1),t.Q6J("ngIf",2===e.configuration.characterClass)}}function ic(n,i){1&n&&(t.TgZ(0,"th",31),t._UZ(1,"app-stat-icon",33),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",0))}function ac(n,i){if(1&n&&(t.TgZ(0,"td",32),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.hij(" ",10*e.configuration.minimumStatTiers[0].value," ")}}function sc(n,i){1&n&&(t.TgZ(0,"th",31),t._UZ(1,"app-stat-icon",33),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",1))}function rc(n,i){if(1&n&&(t.TgZ(0,"td",32),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.hij(" ",10*e.configuration.minimumStatTiers[1].value," ")}}function lc(n,i){1&n&&(t.TgZ(0,"th",31),t._UZ(1,"app-stat-icon",33),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",2))}function cc(n,i){if(1&n&&(t.TgZ(0,"td",32),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.hij(" ",10*e.configuration.minimumStatTiers[2].value," ")}}function mc(n,i){1&n&&(t.TgZ(0,"th",31),t._UZ(1,"app-stat-icon",33),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",3))}function dc(n,i){if(1&n&&(t.TgZ(0,"td",32),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.hij(" ",10*e.configuration.minimumStatTiers[3].value," ")}}function uc(n,i){1&n&&(t.TgZ(0,"th",31),t._UZ(1,"app-stat-icon",33),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",4))}function pc(n,i){if(1&n&&(t.TgZ(0,"td",32),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.hij(" ",10*e.configuration.minimumStatTiers[4].value," ")}}function gc(n,i){1&n&&(t.TgZ(0,"th",31),t._UZ(1,"app-stat-icon",33),t.qZA()),2&n&&(t.xp6(1),t.Q6J("stat",5))}function _c(n,i){if(1&n&&(t.TgZ(0,"td",32),t._uU(1),t.qZA()),2&n){const e=i.$implicit;t.xp6(1),t.hij(" ",10*e.configuration.minimumStatTiers[5].value," ")}}function fc(n,i){1&n&&t._UZ(0,"th",31)}function hc(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"td",32)(1,"button",34),t.NdJ("click",function(){const s=t.CHM(e).$implicit,l=t.oxw();return t.KtG(l.delete(s.name))}),t.TgZ(2,"mat-icon"),t._uU(3,"delete_forever"),t.qZA()(),t.TgZ(4,"button",35),t.NdJ("click",function(){const s=t.CHM(e).$implicit,l=t.oxw();return t.KtG(l.load(s.name))}),t.TgZ(5,"mat-icon"),t._uU(6,"check_circle_outline"),t.qZA()(),t.TgZ(7,"button",36),t.NdJ("click",function(){const s=t.CHM(e).$implicit,l=t.oxw();return t.KtG(l.copySingleSettingToClipboard(s))}),t.TgZ(8,"mat-icon"),t._uU(9,"get_app"),t.qZA()()()}}function xc(n,i){1&n&&t._UZ(0,"tr",37)}function yc(n,i){1&n&&t._UZ(0,"tr",38)}function Tc(n,i){if(1&n){const e=t.EpF();t.ynx(0),t._UZ(1,"br"),t.TgZ(2,"button",39),t.NdJ("click",function(){t.CHM(e);const a=t.oxw();return t.KtG(a.copyAllSettingsToClipboard())}),t._uU(3," Copy all saved configurations to the clipboard "),t.qZA(),t.BQk()}}let bc=(()=>{class n{constructor(e,o,a,s,l){this.config=e,this.formBuilder=o,this.dialog=a,this._snackBar=s,this.clipboard=l,this.selectedEntry="",this.storedConfigs=[],this.displayedColumns=["name","class","mobility","resilience","recovery","discipline","intellect","strength","delete"],this.ngUnsubscribe=new nt.xQ,this.settingsNameForm=this.formBuilder.group({name:[null]}),this.importTextForm=this.formBuilder.group({content:[null]})}ngOnInit(){this.config.storedConfigurations.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(e=>this.storedConfigs=e)}submit(){const e=this.settingsNameForm.get("name")?.value;!e||(this.config.doesSavedConfigurationExist(e)?this.dialog.open(qt,{width:"300px",data:{description:"Do you want to overwrite this configuration?"}}).afterClosed().subscribe(a=>{a&&(this.config.saveCurrentConfigurationToName(e),this.settingsNameForm.reset(),this.selectedEntry=e)}):(this.config.saveCurrentConfigurationToName(e),this.settingsNameForm.reset(),this.selectedEntry=e))}delete(e){this.dialog.open(qt,{width:"300px",data:{description:"Do you want to delete this configuration?"}}).afterClosed().subscribe(a=>{a&&this.config.deleteStoredConfiguration(e)})}clearEverything(){this.dialog.open(qt,{width:"300px",data:{description:"Do you want to clear all settings?"}}).afterClosed().subscribe(o=>{o&&this.config.resetCurrentConfiguration()})}load(e){this.dialog.open(qt,{width:"300px",data:{description:"Do you want to load this preset?"}}).afterClosed().subscribe(a=>{a&&this.config.loadSavedConfiguration(e)})}runImport(){const e=this.importTextForm.get("content")?.value;if(!e)return this.openSnackBar("Invalid input.");try{const o=rt.decompress(e,{inputEncoding:"Base64"}),a="["==o.substr(0,1);let s=JSON.parse(o);a||(s=[s]),console.log("Incoming json:",s);for(let l of s)this.config.checkAndFixOldSavedConfigurations(l),l.hasOwnProperty("name")?a?this.config.saveConfiguration(l.name,l.configuration):this.config.saveCurrentConfiguration(l.configuration):this.config.saveCurrentConfiguration(l);this.openSnackBar("Successfully loaded this configuration"),this.importTextForm.get("content")?.reset()}catch(o){this.openSnackBar("Invalid input."),console.error(o)}}copySingleSettingToClipboard(e){this.clipboard.copy(this.config.getStoredConfigurationBase64Compressed(e.name)),this.openSnackBar("Copied the configuration to your clipboard. You can share it with your friends.")}copyAllSettingsToClipboard(){this.clipboard.copy(this.config.getAllStoredConfigurationsBase64Compressed()),this.openSnackBar("Exported all configurations to the clipboard. You can then save and share them.")}openSnackBar(e){this._snackBar.open(e,"",{duration:2500,politeness:"polite"})}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(B),t.Y36(V.QS),t.Y36($.uw),t.Y36(Vt.ux),t.Y36(wt.TU))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-load-and-save-settings"]],decls:78,vars:13,consts:[[3,"formGroup","submit"],["id","settings"],["appearance","outline"],["formControlName","name","matInput","","maxlength","30","minlength","4","placeholder","Awesome Discipline Build 4"],["color","primary","mat-raised-button","","type","submit",3,"disabled"],["color","warn","mat-raised-button","","matTooltip","Clears the ENTIRE configuration and uses the default settings. Use with caution.",3,"click"],["color","primary","mat-raised-button","","matTooltip","Copy your current configuration into your clipboard. You will be able to share it with others and import it later.",3,"cdkCopyToClipboard","click"],[2,"display","none"],[3,"value","disabled","valueChange"],[3,"value",4,"ngFor","ngForOf"],["color","primary","mat-raised-button","","matTooltip","Load the currently selected configuration.",3,"disabled","click"],["color","warn","mat-stroked-button","","matTooltip","Delete the currently selected configuration. Can not be undone.",3,"disabled","click"],["mat-table","",3,"dataSource"],["matColumnDef","name"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","class"],["matColumnDef","mobility"],["matColumnDef","resilience"],["matColumnDef","recovery"],["matColumnDef","discipline"],["matColumnDef","intellect"],["matColumnDef","strength"],["matColumnDef","delete"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],[4,"ngIf"],[3,"formGroup"],["formControlName","content","matInput",""],["color","primary","mat-raised-button","","matTooltip","Import the given configuration",3,"click"],[3,"value"],["mat-header-cell",""],["mat-cell",""],[3,"stat"],["color","warn","mat-icon-button","","matTooltip","Delete this configuration permanently.",3,"click"],["color","primary","mat-icon-button","","matTooltip","Load this configuration. Your current settings will be overwritten.",3,"click"],["color","primary","mat-icon-button","","matTooltip","Copy this configuration into your clipboard. You will be able to share it with others and import it later.",3,"click"],["mat-header-row",""],["mat-row",""],["color","primary","mat-raised-button","","matTooltip","Export all configurations to the clipboard. You can then save and share them.",3,"click"]],template:function(e,o){if(1&e&&(t.TgZ(0,"form",0),t.NdJ("submit",function(){return o.submit()}),t.TgZ(1,"table",1)(2,"tr")(3,"td")(4,"mat-form-field",2)(5,"mat-label"),t._uU(6,"Name to save the configuration"),t.qZA(),t._UZ(7,"input",3),t.qZA()(),t.TgZ(8,"td")(9,"button",4),t._uU(10," Save current "),t.qZA()(),t.TgZ(11,"td")(12,"button",5),t.NdJ("click",function(){return o.clearEverything()}),t._uU(13,"Clear everything "),t.qZA()(),t.TgZ(14,"td")(15,"button",6),t.NdJ("click",function(){return o.openSnackBar("Copied the configuration to your clipboard. You can share it with your friends.")}),t._uU(16," Copy Current "),t.qZA()()(),t.TgZ(17,"tr",7)(18,"td")(19,"mat-form-field",2)(20,"mat-label"),t._uU(21,"Load saved configuration"),t.qZA(),t.TgZ(22,"mat-select",8),t.NdJ("valueChange",function(s){return o.selectedEntry=s}),t.YNc(23,Gl,9,5,"mat-option",9),t.qZA()()(),t.TgZ(24,"td")(25,"button",10),t.NdJ("click",function(){return o.load(o.selectedEntry)}),t._uU(26,"Load "),t.qZA()(),t.TgZ(27,"td")(28,"button",11),t.NdJ("click",function(){return o.delete(o.selectedEntry)}),t._uU(29,"Delete "),t.qZA()()()()(),t._UZ(30,"br"),t.TgZ(31,"table",12),t.ynx(32,13),t.YNc(33,Kl,2,0,"th",14),t.YNc(34,$l,2,1,"td",15),t.BQk(),t.ynx(35,16),t.YNc(36,Xl,2,0,"th",14),t.YNc(37,oc,4,3,"td",15),t.BQk(),t.ynx(38,17),t.YNc(39,ic,2,1,"th",14),t.YNc(40,ac,2,1,"td",15),t.BQk(),t.ynx(41,18),t.YNc(42,sc,2,1,"th",14),t.YNc(43,rc,2,1,"td",15),t.BQk(),t.ynx(44,19),t.YNc(45,lc,2,1,"th",14),t.YNc(46,cc,2,1,"td",15),t.BQk(),t.ynx(47,20),t.YNc(48,mc,2,1,"th",14),t.YNc(49,dc,2,1,"td",15),t.BQk(),t.ynx(50,21),t.YNc(51,uc,2,1,"th",14),t.YNc(52,pc,2,1,"td",15),t.BQk(),t.ynx(53,22),t.YNc(54,gc,2,1,"th",14),t.YNc(55,_c,2,1,"td",15),t.BQk(),t.ynx(56,23),t.YNc(57,fc,1,0,"th",14),t.YNc(58,hc,10,0,"td",15),t.BQk(),t.YNc(59,xc,1,0,"tr",24),t.YNc(60,yc,1,0,"tr",25),t.qZA(),t.YNc(61,Tc,4,0,"ng-container",26),t._UZ(62,"br"),t.TgZ(63,"div"),t._UZ(64,"hr"),t.TgZ(65,"h2"),t._uU(66,"Import a previously exported configuration"),t.qZA(),t.TgZ(67,"form",27)(68,"table")(69,"tr")(70,"td")(71,"mat-form-field",2)(72,"mat-label"),t._uU(73,"Copied configuration"),t.qZA(),t._UZ(74,"input",28),t.qZA()(),t.TgZ(75,"td")(76,"button",29),t.NdJ("click",function(){return o.runImport()}),t._uU(77," Start the import "),t.qZA()()()()()()),2&e){let a;t.Q6J("formGroup",o.settingsNameForm),t.xp6(9),t.Q6J("disabled",!(null!=(a=o.settingsNameForm.get("name"))&&a.value)||(null==(a=o.settingsNameForm.get("name"))?null:a.value.length)<4||(null==(a=o.settingsNameForm.get("name"))?null:a.value.length)>30),t.xp6(6),t.Q6J("cdkCopyToClipboard",o.config.getCurrentConfigBase64Compressed()),t.xp6(7),t.Q6J("value",o.selectedEntry)("disabled",0===o.storedConfigs.length),t.xp6(1),t.Q6J("ngForOf",o.storedConfigs),t.xp6(2),t.Q6J("disabled",!o.selectedEntry||0===o.storedConfigs.length),t.xp6(3),t.Q6J("disabled",!o.selectedEntry||0===o.storedConfigs.length),t.xp6(3),t.Q6J("dataSource",o.storedConfigs),t.xp6(28),t.Q6J("matHeaderRowDef",o.displayedColumns),t.xp6(1),t.Q6J("matRowDefColumns",o.displayedColumns),t.xp6(1),t.Q6J("ngIf",o.storedConfigs.length>0),t.xp6(6),t.Q6J("formGroup",o.importTextForm)}},dependencies:[T.sg,T.O5,V._Y,V.Fj,V.JJ,V.JL,V.wO,V.nD,V.sg,V.u,g.lW,lt.KE,lt.hX,Hl.gD,pe.ey,Jt.Nt,w.BZ,w.fO,w.as,w.w1,w.Dz,w.nj,w.ge,w.ev,w.XQ,w.Gk,N.gM,j.Hw,wt.i3,fe],styles:[".modTable[_ngcontent-%COMP%]{width:100%}.mat-header-row[_ngcontent-%COMP%], .mat-row[_ngcontent-%COMP%]{height:30px}.mat-column-class[_ngcontent-%COMP%]{min-width:55px;padding-right:2px;padding-left:2px;text-align:center;border-right:1px solid currentColor}.mat-column-mobility[_ngcontent-%COMP%], .mat-column-resilience[_ngcontent-%COMP%], .mat-column-recovery[_ngcontent-%COMP%], .mat-column-discipline[_ngcontent-%COMP%], .mat-column-intellect[_ngcontent-%COMP%], .mat-column-strength[_ngcontent-%COMP%]{min-width:40px;text-align:center}.mat-row[_ngcontent-%COMP%]:hover{background-color:#494949}.mat-column-mobility[_ngcontent-%COMP%], .mat-column-recovery[_ngcontent-%COMP%], .mat-column-intellect[_ngcontent-%COMP%]{background-color:#464646}.mat-column-name[_ngcontent-%COMP%]{padding-right:4px;border-right:1px solid currentColor;min-width:150px}th.mat-header-cell[_ngcontent-%COMP%]:last-of-type, td.mat-cell[_ngcontent-%COMP%]:last-of-type, td.mat-footer-cell[_ngcontent-%COMP%]:last-of-type{padding-right:0}.mat-cell[_ngcontent-%COMP%]:last-of-type, .mat-header-cell[_ngcontent-%COMP%]:last-of-type, .mat-footer-cell[_ngcontent-%COMP%]:last-of-type{padding-right:0}.stat-negative[_ngcontent-%COMP%], .stat-positive[_ngcontent-%COMP%]{margin-right:3px}.stat-negative[_ngcontent-%COMP%]{color:#f08080}.stat-positive[_ngcontent-%COMP%]{color:#6495ed}.stat-display[_ngcontent-%COMP%]{width:60px;float:left;align-content:end;text-align:right}.mat-row[_ngcontent-%COMP%]:hover, .mat-row[_ngcontent-%COMP%]:hover .mat-cell[_ngcontent-%COMP%]{background-color:#494949}.mat-row.selected[_ngcontent-%COMP%]:hover, .mat-row.selected[_ngcontent-%COMP%]:hover .mat-cell[_ngcontent-%COMP%]{background-color:#89b2ff30}.selected[_ngcontent-%COMP%], .selected[_ngcontent-%COMP%] .mat-column-mobility[_ngcontent-%COMP%], .selected[_ngcontent-%COMP%] .mat-column-recovery[_ngcontent-%COMP%], .selected[_ngcontent-%COMP%] .mat-column-intellect[_ngcontent-%COMP%]{background-color:#89b2ff1c}.mat-column-load[_ngcontent-%COMP%], .mat-column-delete[_ngcontent-%COMP%]{padding-left:3px;padding-right:3px}[_nghost-%COMP%] .mat-form-field-wrapper{margin:0!important;padding:0}"]}),n})();function Cc(n,i){1&n&&t._UZ(0,"br")}function vc(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"span",2)(1,"img",3),t.NdJ("click",function(){const s=t.CHM(e).$implicit,l=t.oxw();return t.KtG(l.enableItem(s.itemInstanceId))}),t.qZA(),t.YNc(2,Cc,1,0,"br",4),t.qZA()}if(2&n){const e=i.$implicit,o=i.index,a=t.oxw();t.xp6(1),t.MGl("src","https://bungie.net/",e.icon,"",t.LSH),t.Q6J("matTooltip",a.generateTooltip(e)),t.xp6(1),t.Q6J("ngIf",(o+1)%10==0)}}let Ac=(()=>{class n{constructor(e,o){this.config=e,this.db=o,this.disabledItems=[],this.ngUnsubscribe=new nt.xQ}enableItem(e){this.config.modifyConfiguration(o=>{o.disabledItems.splice(o.disabledItems.indexOf(e),1)})}generateTooltip(e){return"Click this icon to activate this item again.\r\n"+e.name+" "+(e.mobility+(e.masterworked?2:0))+"/"+(e.resilience+(e.masterworked?2:0))+"/"+(e.recovery+(e.masterworked?2:0))+"/"+(e.discipline+(e.masterworked?2:0))+"/"+(e.intellect+(e.masterworked?2:0))+"/"+(e.strength+(e.masterworked?2:0))}ngOnInit(){var e=this;this.config.configuration.pipe((0,Q.R)(this.ngUnsubscribe)).subscribe(function(){var o=(0,m.Z)(function*(a){let s=[];for(let l of a.disabledItems){let d=yield e.db.inventoryArmor.where("itemInstanceId").equals(l).first();d&&s.push(d)}e.disabledItems=s});return function(a){return o.apply(this,arguments)}}())}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(B),t.Y36(et))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-ignored-items-list"]],decls:2,vars:1,consts:[[1,"item-icon-container"],["class","item-sub",4,"ngFor","ngForOf"],[1,"item-sub"],["matTooltipClass","allow-cr",1,"item-icon",3,"src","matTooltip","click"],[4,"ngIf"]],template:function(e,o){1&e&&(t.TgZ(0,"div",0),t.YNc(1,vc,3,3,"span",1),t.qZA()),2&e&&(t.xp6(1),t.Q6J("ngForOf",o.disabledItems))},dependencies:[T.sg,T.O5,N.gM],styles:[".item-icon[_ngcontent-%COMP%]{width:40px}.item-icon[_ngcontent-%COMP%]:hover{filter:brightness(.8) hue-rotate(350deg) saturate(3) blur(2px) contrast(.6);cursor:not-allowed}.item-sub[_ngcontent-%COMP%]{margin-right:3px}.item-icon-container[_ngcontent-%COMP%]{position:relative;contain:layout paint style;box-sizing:border-box;width:var(--item-size);transition:opacity .2s,transform .2s}"]}),n})(),wc=(()=>{class n{constructor(){}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-settings"]],decls:71,vars:0,consts:[["id","card-config"],["id","content-char-selection"],["inline","","aria-hidden","false","aria-label","Help","matTooltip","Cooldowns and Stats provided by Clarity."],["tooltip","matTooltip"]],template:function(e,o){1&e&&(t.TgZ(0,"div",0)(1,"mat-card")(2,"mat-card-title"),t._uU(3,"Character Selection"),t.qZA(),t.TgZ(4,"mat-card-content",1),t._UZ(5,"app-desired-class-selection"),t.qZA()(),t.TgZ(6,"mat-card")(7,"mat-card-title"),t._uU(8,"Select the stats you want to achieve"),t.qZA(),t.TgZ(9,"mat-card-subtitle"),t._uU(10,"The heart of this tool. Select the stats you want! "),t.TgZ(11,"mat-icon",2,3),t._uU(13," info "),t.qZA()(),t.TgZ(14,"mat-card-content"),t._UZ(15,"app-desired-stat-selection"),t.qZA()(),t.TgZ(16,"mat-card")(17,"mat-card-title"),t._uU(18,"Armor Selection"),t.qZA(),t.TgZ(19,"mat-card-subtitle"),t._uU(20," This section allows you to limit the armor pieces that are used in the buildcrafting process."),t._UZ(21,"br"),t._uU(22," If you want, limit all results to one exotic. "),t._UZ(23,"br"),t._uU(24," Exotics you do not have in the inventory or vault are grayed out. "),t.qZA(),t.TgZ(25,"mat-card-content"),t._UZ(26,"app-desired-exotic-selection"),t.qZA()(),t.TgZ(27,"mat-card")(28,"mat-card-title"),t._uU(29,"Armor limitation"),t.qZA(),t.TgZ(30,"mat-card-subtitle"),t._uU(31," This section allows you to further specify what kind of armor and mods you want. "),t.qZA(),t.TgZ(32,"mat-card-content"),t._UZ(33,"app-desired-mod-selection"),t.qZA()(),t.TgZ(34,"mat-card")(35,"mat-card-title"),t._uU(36,"Stat-Boost Selection"),t.qZA(),t.TgZ(37,"mat-card-subtitle"),t._uU(38,"Select Mods and Skills that affect your overall stats."),t._UZ(39,"br"),t._uU(40," Please note that D2AP also allows theoretical, but impossible input."),t._UZ(41,"br"),t.TgZ(42,"b"),t._uU(43,"Only fragments that affect stats are shown."),t.qZA()(),t.TgZ(44,"mat-card-content"),t._UZ(45,"app-desired-mods-selection"),t.qZA()(),t.TgZ(46,"mat-card")(47,"mat-card-title"),t._uU(48,"Advanced Settings"),t.qZA(),t.TgZ(49,"mat-card-subtitle"),t._uU(50,"More settings! Use them to fine-tune your buildcrafting process."),t.qZA(),t.TgZ(51,"mat-card-content"),t._UZ(52,"app-advanced-settings"),t.qZA()(),t.TgZ(53,"mat-card")(54,"mat-card-title"),t._uU(55,"Disabled Armor Pieces"),t.qZA(),t.TgZ(56,"mat-card-subtitle"),t._uU(57," These armor pieces are disabled. Click them to enable them again."),t._UZ(58,"br"),t._uU(59," They won't show up in any results."),t._UZ(60,"br"),t._uU(61," You can disable items in the detailed result overview. "),t.qZA(),t.TgZ(62,"mat-card-content"),t._UZ(63,"app-ignored-items-list"),t.qZA()(),t.TgZ(64,"mat-card")(65,"mat-card-title"),t._uU(66,"Configuration Management"),t.qZA(),t.TgZ(67,"mat-card-subtitle"),t._uU(68,"Save and load your buildcrafting settings for another day!"),t.qZA(),t.TgZ(69,"mat-card-content"),t._UZ(70,"app-load-and-save-settings"),t.qZA()()())},dependencies:[A.a8,A.dn,A.n5,A.$j,N.gM,j.Hw,nr,hr,Rr,Vr,Yl,Vl,bc,Ac],styles:["#card-config[_ngcontent-%COMP%]{width:-moz-fit-content;width:fit-content;display:inline-block;vertical-align:top;white-space:normal;margin-bottom:20px;margin-left:3px;margin-right:3px}#card-config[_ngcontent-%COMP%] > mat-card[_ngcontent-%COMP%]{margin-bottom:4px}#content-char-selection[_ngcontent-%COMP%]{margin-bottom:0}"]}),n})(),Zc=(()=>{class n{constructor(){}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-armor-picker-page"]],decls:3,vars:0,consts:[["id","container"]],template:function(e,o){1&e&&(t.TgZ(0,"div",0),t._UZ(1,"app-settings")(2,"app-results"),t.qZA())},dependencies:[wc,me],styles:["#container[_ngcontent-%COMP%]{width:-moz-fit-content;width:fit-content;margin-right:3px;white-space:nowrap}"]}),n})();const he=function(){return["","Mobility","Resilience","Recovery","Discipline","Intellect","Strength"]};function Sc(n,i){if(1&n&&(t.TgZ(0,"tr",27)(1,"td"),t._uU(2),t.qZA(),t.TgZ(3,"td",22)(4,"div",28),t._UZ(5,"div",29),t.TgZ(6,"span",30),t._uU(7),t.ALo(8,"number"),t.qZA()()()()),2&n){const e=t.oxw().index,o=t.oxw(2).index,a=t.oxw();t.Q6J("matTooltip",t.DdM(9,he)[e]),t.xp6(2),t.hij(" ",t.DdM(10,he)[e]," "),t.xp6(3),t.Jzz("width:",a.clusterInformation[o].mean[e]/32*100,"%"),t.xp6(2),t.hij(" ",t.xi3(8,6,a.clusterInformation[o].mean[e],"1.0-0")," ")}}function Ic(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Sc,9,11,"tr",26),t.BQk()),2&n){const e=i.index;t.xp6(1),t.Q6J("ngIf",e>0)}}function kc(n,i){if(1&n){const e=t.EpF();t.TgZ(0,"mat-card",21)(1,"mat-card-title"),t._uU(2),t.qZA(),t.TgZ(3,"mat-card-subtitle"),t._uU(4),t.qZA(),t.TgZ(5,"mat-card-content")(6,"div")(7,"table",22),t.YNc(8,Ic,2,1,"ng-container",18),t.qZA()(),t.TgZ(9,"mat-form-field",23)(10,"mat-label"),t._uU(11,"DIM Search Query"),t.qZA(),t._UZ(12,"input",24),t.qZA(),t.TgZ(13,"button",25),t.NdJ("click",function(){t.CHM(e);const a=t.oxw(2);return t.KtG(a.openSnackBar("Copied the DIM search query to your clipboard."))}),t._uU(14," Copy DIM query to clipboard "),t.qZA()()()}if(2&n){const e=t.oxw(),o=e.index,a=e.$implicit,s=t.oxw();t.xp6(2),t.hij(" Cluster ",o+1," "),t.xp6(2),t.AsE(" Contains ",a.length," item",a.length>1?"s":""," "),t.xp6(4),t.Q6J("ngForOf",s.clusterInformation[o].mean),t.xp6(4),t.Q6J("value",s.getDIMStringForCluster(a)),t.xp6(1),t.Q6J("cdkCopyToClipboard",s.getDIMStringForCluster(a))}}function Oc(n,i){if(1&n&&(t.ynx(0),t.YNc(1,kc,15,6,"mat-card",20),t.BQk()),2&n){const e=i.$implicit;t.xp6(1),t.Q6J("ngIf",e.length>0)}}var xe=[{id:0,size:214,centroids:[5.242990654205609,3.4392523364485994,23.074766355140188,4.52336448598131,17.99532710280374,8.074766355140188],std:[3.262185500658884,3.137958193527344,2.0745611905196912,3.223158380401712,2.6478649185881147,3.356022774004607,3.3823650213485315],mean:[62.350467289719624,5.242990654205608,3.439252336448598,23.074766355140188,4.5233644859813085,17.99532710280374,8.074766355140186]},{id:1,size:264,centroids:[13.613636363636365,3.060606060606063,14.431818181818182,6.731060606060606,12.575757575757574,10.575757575757576],std:[4.915624932359143,2.735897756946947,1.897597343200423,3.036390647550984,3.2253188618447473,3.0097969617389406,3.1372197425220545],mean:[60.98863636363637,13.613636363636363,3.0606060606060606,14.431818181818182,6.731060606060606,12.575757575757576,10.575757575757576]},{id:2,size:220,centroids:[5.209090909090909,15.586363636363636,10.936363636363636,13.281818181818181,13.604545454545452,3.8818181818181836],std:[3.3631090204013643,2.931782865076046,2.9200605883727038,3.289049973803757,2.6349662061268395,2.6591750828428204,2.395703224398619],mean:[62.5,5.209090909090909,15.586363636363636,10.936363636363636,13.281818181818181,13.604545454545455,3.881818181818182]},{id:3,size:230,centroids:[8.6,15.330434782608698,6.943478260869563,6.408695652173913,5.578260869565216,18.26086956521739],std:[4.27370926113142,3.855014315301441,3.2487061290912984,3.5081098914433078,3.559587955581114,3.1761194803539676,3.596667444705349],mean:[61.12173913043478,8.6,15.330434782608696,6.943478260869565,6.408695652173913,5.578260869565217,18.26086956521739]},{id:4,size:261,centroids:[11.74712643678161,5.655172413793104,13.873563218390803,11.022988505747126,16.57088122605364,3.0038314176245224],std:[3.5878146263573103,2.8197860971981994,2.9890605143791737,2.9825309245974925,2.7497287061744258,2.8324620286123516,1.8428616632651005],mean:[61.87356321839081,11.74712643678161,5.655172413793103,13.873563218390805,11.022988505747126,16.57088122605364,3.003831417624521]},{id:5,size:249,centroids:[6.598393574297189,7.2289156626506035,7.674698795180722,6.831325301204822,5.995983935742974,7.425702811244981],std:[12.188382924990831,3.7780346472852226,3.7855581933977014,3.9659084518463055,3.2508780840166134,2.4288222155150856,3.23718036285365],mean:[41.75502008032129,6.598393574297189,7.228915662650603,7.674698795180723,6.831325301204819,5.995983935742972,7.42570281124498]},{id:6,size:241,centroids:[4.580912863070541,10.62655601659751,15.72199170124481,20.186721991701248,5.7634854771784205,4.8672199170124495],std:[4.0360666526825675,2.5776864620318327,2.726712032141287,2.7236414380869185,3.4135743182998106,3.164594939982558,2.8952195061747896],mean:[61.74688796680498,4.580912863070539,10.62655601659751,15.721991701244812,20.186721991701244,5.763485477178423,4.867219917012448]},{id:7,size:352,centroids:[4.96875,10.849431818181818,15.676136363636362,5.085227272727275,13.079545454545453,12.113636363636365],std:[3.864447558701623,2.876694966732471,2.825917840642513,2.8500410080793133,2.604753041986593,2.753797030174534,3.084495990290069],mean:[61.77272727272727,4.96875,10.849431818181818,15.676136363636363,5.0852272727272725,13.079545454545455,12.113636363636363]},{id:8,size:219,centroids:[21.401826484018265,4.529680365296804,4.954337899543379,14.022831050228312,7.168949771689496,6.8036529680365305],std:[7.654498360234386,3.856746305047457,3.0774088630224354,3.486239910130717,4.509361233853425,3.691515724130434,3.433882092856456],mean:[58.881278538812786,21.401826484018265,4.529680365296803,4.954337899543379,14.02283105022831,7.168949771689498,6.80365296803653]},{id:9,size:183,centroids:[4.448087431693989,22.114754098360656,4.868852459016392,7.459016393442623,11.240437158469945,9.765027322404372],std:[7.900837110469869,3.265921971202623,3.896032191192026,3.424902708986657,3.3556927380910535,3.7206143627650876,3.9564220813839577],mean:[59.89617486338798,4.448087431693989,22.114754098360656,4.868852459016393,7.459016393442623,11.240437158469945,9.765027322404372]},{id:10,size:197,centroids:[13.563451776649746,10.761421319796954,6.527918781725887,20.654822335025383,4.934010152284262,5.18274111675127],std:[4.239153654030002,3.3077343290831713,2.8924486501981233,2.9338771160608355,3.5098461495889413,3.192898794854312,2.920215710334156],mean:[61.6243654822335,13.563451776649746,10.761421319796954,6.527918781725888,20.65482233502538,4.934010152284264,5.182741116751269]},{id:11,size:176,centroids:[8.255681818181818,16.181818181818183,7.11931818181818,4.619318181818182,21.0625,5.505681818181819],std:[3.349621998445128,3.4620343467651815,3.3296776490755446,2.945693532873097,2.7583580190103967,3.126214049887545,3.078027492852078],mean:[62.74431818181818,8.255681818181818,16.181818181818183,7.119318181818182,4.619318181818182,21.0625,5.505681818181818]},{id:12,size:194,centroids:[3.5670103092783503,14.773195876288659,13.036082474226804,13.185567010309278,4.979381443298967,12.144329896907218],std:[3.89886364980042,2.255251632823776,2.5893570716174388,3.248552824613239,3.1004926799108317,2.8845824993776903,2.8864151735009584],mean:[61.68556701030928,3.5670103092783507,14.77319587628866,13.036082474226804,13.185567010309278,4.979381443298969,12.144329896907216]},{id:13,size:302,centroids:[5.311258278145695,4.4701986754966905,21.897350993377486,10.688741721854305,6.834437086092715,12.605960264900663],std:[5.1142628152416245,2.9920946350614983,2.6882491851253567,3.071581172564087,2.99431450280505,3.116626644660552,2.58548804104293],mean:[61.80794701986755,5.311258278145695,4.470198675496689,21.897350993377483,10.688741721854305,6.8344370860927155,12.605960264900663]},{id:14,size:364,centroids:[12.263736263736265,11.32967032967033,5.936813186813188,8.524725274725274,12.07142857142857,7.782967032967034],std:[6.666392881793753,2.8942239993391565,2.947866371540881,3.041289192757803,3.0876888182534996,2.4540644069260296,2.6803305558675676],mean:[57.90934065934066,12.263736263736265,11.32967032967033,5.936813186813187,8.524725274725276,12.071428571428571,7.782967032967033]},{id:15,size:219,centroids:[6.981735159817351,5.9908675799086755,18.127853881278536,4.97716894977169,5.182648401826483,20.89041095890411],std:[4.3335830659244685,3.5503759593138464,3.5270785628911785,4.123339305032141,2.7998081886699646,3.283747903424203,2.8311584355558064],mean:[62.15068493150685,6.981735159817352,5.9908675799086755,18.12785388127854,4.9771689497716896,5.1826484018264845,20.89041095890411]},{id:16,size:147,centroids:[6.285714285714285,20.836734693877553,4.8639455782312915,17.510204081632654,5.897959183673469,7.394557823129253],std:[3.358145469360083,3.4877476344546254,3.2245649941865486,3.0557367019327,4.0937094190209065,3.1136788219952605,3.842013283457479],mean:[62.7891156462585,6.285714285714286,20.836734693877553,4.863945578231292,17.510204081632654,5.8979591836734695,7.394557823129252]},{id:17,size:202,centroids:[18.425742574257423,6.871287128712871,6.678217821782177,5.06930693069307,20.40594059405941,5.876237623762377],std:[3.0226636827682554,3.292828132097339,3.518715749263091,3.4627255810748356,3.075363266145594,3.5804283293104753,3.315804113390658],mean:[63.32673267326733,18.425742574257427,6.871287128712871,6.678217821782178,5.069306930693069,20.405940594059405,5.876237623762377]},{id:18,size:286,centroids:[11.22027972027972,7.073426573426573,12.65034965034965,12.594405594405593,4.209790209790211,13.220279720279722],std:[4.720510224882134,2.8685361372318168,2.6005789112305338,3.052197922484291,2.451602446915686,2.7244266014541174,2.7638787756329526],mean:[60.96853146853147,11.22027972027972,7.073426573426573,12.65034965034965,12.594405594405595,4.20979020979021,13.22027972027972]},{id:19,size:197,centroids:[6.263959390862944,8.568527918781726,16.80710659898477,4.000000000000003,22.593908629441625,4.883248730964468],std:[2.7333118141791917,3.3626657547151964,3.4540163497542435,2.646397291854302,2.565469285152567,3.018237668617547,2.8287109641017594],mean:[63.11675126903553,6.2639593908629445,8.568527918781726,16.80710659898477,4,22.593908629441625,4.883248730964467]},{id:20,size:279,centroids:[18.025089605734767,6.150537634408602,6.161290322580646,5.767025089605736,7.999999999999998,15.602150537634408],std:[6.590788110639117,3.6436721401086296,3.165505073725202,3.13700467469825,2.7769973891540207,3.4672154149710614,4.017425492621824],mean:[59.70609318996416,18.025089605734767,6.150537634408602,6.161290322580645,5.767025089605735,8,15.602150537634408]},{id:21,size:78,centroids:[15.96153846153846,16.85897435897436,16.807692307692307,3552713678800501e-30,5329070518200751e-30,-5329070518200751e-30],std:[2.095815090231219,7.438828122504502,7.482836393563639,8.12413063050432,0,0,0],mean:[49.62820512820513,15.961538461538462,16.858974358974358,16.807692307692307,0,0,0]},{id:22,size:137,centroids:[4.525547445255475,3.583941605839417,23.532846715328468,19.948905109489054,4.3576642335766405,6.248175182481752],std:[2.9351806639916567,2.7575572416084317,2.2707939003224227,2.908029186302962,3.3306093063017315,2.6644092885703916,3.4848010785869454],mean:[62.197080291970806,4.525547445255475,3.5839416058394162,23.532846715328468,19.94890510948905,4.357664233576642,6.248175182481752]},{id:23,size:194,centroids:[13.242268041237114,3.5103092783505163,14.675257731958762,19.55154639175258,6.139175257731957,5.092783505154641],std:[3.810494814771566,2.886105181640385,2.0818477512276696,2.6197152448917316,3.409818599464837,3.0311357231629183,2.9733966349516936],mean:[62.21134020618557,13.242268041237113,3.5103092783505154,14.675257731958762,19.551546391752577,6.139175257731959,5.092783505154639]},{id:24,size:239,centroids:[5.569037656903766,5.401673640167365,20.92468619246862,13.09205020920502,13.497907949790793,4.096234309623432],std:[3.8502204432228733,3.071015816571908,3.081143061480697,2.79904271710946,2.169280265760518,2.62802363192924,2.3450167178621983],mean:[62.58158995815899,5.569037656903766,5.401673640167364,20.92468619246862,13.092050209205022,13.497907949790795,4.096234309623431]}];let Mc=(()=>{class n{constructor(e,o,a){this.db=e,this._snackBar=o,this.inventory=a,this.clusterInformation=xe,this.items=[],this.clusters=[],this.exoticFilter=0,this.masterworkFilter=0,this.classFilter=-1,this.clusterInformation=xe.sort((s,l)=>l.mean[3]-s.mean[3])}ngAfterViewInit(){var e=this;return(0,m.Z)(function*(){e.inventory.inventory.pipe((0,st.b)(200)).subscribe((0,m.Z)(function*(){yield e.Update(),e.openSnackBar("Clusters were updated.")}))})()}Update(){var e=this;return(0,m.Z)(function*(){var o=(yield e.db.inventoryArmor.toArray()).filter(l=>l.source===E.Inventory),a=[];for(let l=0;l`id:'${o.itemInstanceId}'`).join(" or ")}vectorDistance(e,o){return Math.sqrt(e.reduce((a,s,l)=>a+Math.pow(s-o[l],2),0))}getClusterid(e){var o=Number.MAX_VALUE,a=-1;for(let l=0;l0)}}function Uc(n,i){if(1&n&&(t.TgZ(0,"div",9,5),t._UZ(2,"img",10),t.TgZ(3,"span",11),t._uU(4),t.qZA()()),2&n){const e=t.oxw().ngVar,o=t.oxw().$implicit,a=t.oxw().$implicit,s=t.oxw();t.Q6J("matTooltip",s.getStatName(a)),t.xp6(2),t.ekj("minor",1===o),t.Q6J("src",s.ModUrl[o+3*a],t.LSH),t.xp6(1),t.ekj("minor",1===o),t.xp6(1),t.hij("\xd7",e,"")}}function Pc(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Uc,5,7,"div",8),t.BQk()),2&n){const e=i.ngVar;t.xp6(1),t.Q6J("ngIf",e>0)}}function Rc(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Pc,2,1,"ng-container",1),t.ALo(2,"count"),t.BQk()),2&n){const e=i.$implicit,o=t.oxw().$implicit,a=t.oxw();t.xp6(1),t.Q6J("ngVar",t.xi3(2,1,a.mods,e+3*o))}}function Nc(n,i){if(1&n&&(t.ynx(0),t.YNc(1,Rc,3,4,"ng-container",2),t.BQk()),2&n){const e=t.oxw();t.xp6(1),t.Q6J("ngForOf",e.modTypeIndex)}}const qc={[r.iV.MINOR_MOBILITY]:"https://www.bungie.net/common/destiny2_content/icons/a6694a4ff65d371d19330fb10415b315.png",[r.iV.MAJOR_MOBILITY]:"https://www.bungie.net/common/destiny2_content/icons/8861e73c6701b8347cef025d400cd3dc.png",[r.iV.ARTIFICE_MOBILITY]:"https://www.bungie.net/common/destiny2_content/icons/a6694a4ff65d371d19330fb10415b315.png",[r.iV.MINOR_RESILIENCE]:"https://www.bungie.net/common/destiny2_content/icons/ab1ffe5128806c3639e531f89a2d72d1.png",[r.iV.MAJOR_RESILIENCE]:"https://www.bungie.net/common/destiny2_content/icons/b2228e67e72fad2eb37735a33e0d0116.png",[r.iV.ARTIFICE_RESILIENCE]:"https://www.bungie.net/common/destiny2_content/icons/ab1ffe5128806c3639e531f89a2d72d1.png",[r.iV.MINOR_RECOVERY]:"https://www.bungie.net/common/destiny2_content/icons/e0fc8c022c2ab49ef92caff5843db7da.png",[r.iV.MAJOR_RECOVERY]:"https://www.bungie.net/common/destiny2_content/icons/4251f77e3b24900e262f16d5587980ef.png",[r.iV.ARTIFICE_RECOVERY]:"https://www.bungie.net/common/destiny2_content/icons/e0fc8c022c2ab49ef92caff5843db7da.png",[r.iV.MINOR_DISCIPLINE]:"https://www.bungie.net/common/destiny2_content/icons/f841f379751b7672fca0e5f231e92638.png",[r.iV.MAJOR_DISCIPLINE]:"https://www.bungie.net/common/destiny2_content/icons/3a5a2d6ee50b2611ebc4d4806d29301a.png",[r.iV.ARTIFICE_DISCIPLINE]:"https://www.bungie.net/common/destiny2_content/icons/f841f379751b7672fca0e5f231e92638.png",[r.iV.MINOR_INTELLECT]:"https://www.bungie.net/common/destiny2_content/icons/f26479a3462676d613f135657ecad45a.png",[r.iV.MAJOR_INTELLECT]:"https://www.bungie.net/common/destiny2_content/icons/98408051297c26cb033cb761ab955fac.png",[r.iV.ARTIFICE_INTELLECT]:"https://www.bungie.net/common/destiny2_content/icons/f26479a3462676d613f135657ecad45a.png",[r.iV.MINOR_STRENGTH]:"https://www.bungie.net/common/destiny2_content/icons/dbd1615501778b66bca2764b9a561044.png",[r.iV.MAJOR_STRENGTH]:"https://www.bungie.net/common/destiny2_content/icons/7b64c0b8014a57c6c297babb18c2239e.png",[r.iV.ARTIFICE_STRENGTH]:"https://www.bungie.net/common/destiny2_content/icons/dbd1615501778b66bca2764b9a561044.png"};let Jc=(()=>{class n{constructor(){this.artificeUrl=r.X9[r.Pn.SlotArtifice],this.modIndex=[0,1,2,3,4,5],this.modTypeIndex=[1,2],this.ModUrl=qc,this.mods=[],this.artifice=[]}getStatName(e){return r.Mi[e]}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-table-mod-display"]],inputs:{mods:"mods",artifice:"artifice"},decls:4,vars:4,consts:[[1,"row-mod"],[4,"ngVar"],[4,"ngFor","ngForOf"],["class","container","matTooltip","Artifice",4,"ngIf"],["matTooltip","Artifice",1,"container"],["tooltip","matTooltip"],[1,"artificeIcon","artifice",3,"src"],[1,"modText","artifice"],["class","container",3,"matTooltip",4,"ngIf"],[1,"container",3,"matTooltip"],[1,"modIcon",3,"src"],[1,"modText"]],template:function(e,o){1&e&&(t.TgZ(0,"div",0),t.YNc(1,Ec,2,1,"ng-container",1),t.ALo(2,"count"),t.YNc(3,Nc,2,1,"ng-container",2),t.qZA()),2&e&&(t.xp6(1),t.Q6J("ngVar",t.lcZ(2,2,o.artifice)),t.xp6(2),t.Q6J("ngForOf",o.modIndex))},dependencies:[T.sg,T.O5,N.gM,Ct,ue],styles:[".container[_ngcontent-%COMP%]{display:inline-block;width:32px;height:30px;position:relative}.modIcon[_ngcontent-%COMP%]{position:absolute;top:-12px;left:-12px;width:50px;height:50px;filter:contrast(2.3);border:#00000000 solid 2px;-webkit-mask-image:url(modmask.f03dde91561a62d6.svg);mask-image:image(url(modmask.f03dde91561a62d6.svg),black)}.modIcon.minor[_ngcontent-%COMP%]{filter:contrast(1.3)}.artificeIcon[_ngcontent-%COMP%]{height:28px;width:28px;filter:saturate(40) hue-rotate(40deg)}.selected[_ngcontent-%COMP%]{border:red solid 2px}[_nghost-%COMP%]{position:relative}.modText[_ngcontent-%COMP%]{position:absolute;text-shadow:0 0 6px #000000;font-size:smaller;color:#f5f5f5;bottom:-6px;right:-1px}"]}),n})();var Yc=_(7314);function Lc(n,i){if(1&n&&t._UZ(0,"div"),2&n){const e=i.$implicit,o=i.index,a=t.oxw().index;t.Jzz("width:",e/32*100,"%"),t.Gre("stat-range-bar stat-range-bar",o+(a>=3?3:0),"")}}const ye=function(){return["Mobility","Resilience","Recovery","Discipline","Intellect","Strength"]};function Fc(n,i){if(1&n&&(t.ynx(0),t.TgZ(1,"tr",16)(2,"td"),t._uU(3),t.qZA(),t.TgZ(4,"td"),t._uU(5),t.ALo(6,"number"),t.qZA(),t.TgZ(7,"td",17)(8,"div",18),t.YNc(9,Lc,1,6,"div",19),t.qZA()()(),t.BQk()),2&n){const e=i.$implicit,o=i.index,a=t.oxw().$implicit;t.xp6(1),t.Q6J("matTooltip",t.DdM(7,ye)[o]),t.xp6(2),t.hij(" ",t.DdM(8,ye)[o]," "),t.xp6(2),t.Oqu(t.xi3(6,4,a.totalStats[o],"1.0-0")),t.xp6(4),t.Q6J("ngForOf",e)}}function Qc(n,i){if(1&n&&(t.TgZ(0,"tr")(1,"td")(2,"a",20),t._UZ(3,"img",15),t.qZA(),t._uU(4),t.qZA(),t.TgZ(5,"td",21),t._uU(6),t.qZA(),t.TgZ(7,"td"),t._uU(8),t.qZA()()),2&n){const e=i.$implicit,o=t.oxw(3);t.xp6(2),t.MGl("href","https://data.destinysets.com/i/InventoryItem:",e,"",t.LSH),t.xp6(2),t.hij(" ",e,""),t.xp6(2),t.Oqu(o.getPlugSum(e)),t.xp6(2),t.Oqu(o.getPlugString(e))}}const Bc=function(n,i,e,o,a,s){return[n,i,e,o,a,s]};function Vc(n,i){if(1&n&&(t.ynx(0),t.TgZ(1,"mat-card",12)(2,"mat-card-title"),t._uU(3),t.qZA(),t.TgZ(4,"mat-card-content")(5,"table")(6,"tr")(7,"td",13),t._uU(8,"Hash:"),t.qZA(),t.TgZ(9,"td")(10,"a",14),t._UZ(11,"img",15),t.qZA(),t._uU(12),t.qZA()(),t.TgZ(13,"tr")(14,"td",13),t._uU(15,"ItemInstanceId:"),t.qZA(),t.TgZ(16,"td"),t._uU(17),t.qZA()(),t.TgZ(18,"tr")(19,"td",13),t._uU(20,"Sunset?"),t.qZA(),t.TgZ(21,"td"),t._uU(22),t.qZA()(),t.TgZ(23,"tr")(24,"td"),t._uU(25,"Total"),t.qZA(),t.TgZ(26,"td"),t._uU(27),t.qZA()(),t.YNc(28,Fc,10,9,"ng-container",10),t.qZA()(),t.TgZ(29,"mat-card-content"),t._uU(30," Plugs: "),t.TgZ(31,"table")(32,"tr")(33,"td"),t._uU(34,"Plug"),t.qZA(),t.TgZ(35,"td"),t._uU(36,"Total"),t.qZA(),t.TgZ(37,"td"),t._uU(38,"Values"),t.qZA()(),t.YNc(39,Qc,9,4,"tr",10),t.qZA()()(),t.BQk()),2&n){const e=i.$implicit;t.xp6(3),t.hij(" ",e.name," "),t.xp6(7),t.MGl("href","https://data.destinysets.com/i/InventoryItem:",e.hash,"",t.LSH),t.xp6(2),t.hij(" ",e.hash,""),t.xp6(5),t.Oqu(e.itemInstanceId),t.xp6(5),t.Oqu(e.isSunset),t.xp6(5),t.Oqu(e.totalSum),t.xp6(1),t.Q6J("ngForOf",t.HTZ(8,Bc,e.mobility,e.resilience,e.recovery,e.discipline,e.intellect,e.strength)),t.xp6(11),t.Q6J("ngForOf",e.statPlugHashes)}}function Hc(n,i){if(1&n&&(t.ynx(0),t.TgZ(1,"mat-toolbar"),t._uU(2),t.qZA(),t._UZ(3,"br"),t.TgZ(4,"div",11),t.YNc(5,Vc,40,15,"ng-container",10),t.qZA(),t.BQk()),2&n){const e=i.$implicit,o=t.oxw();t.xp6(2),t.hij(" ",o.getCategoryName(e.key)," "),t.xp6(3),t.Q6J("ngForOf",e.value)}}let Wc=(()=>{class n{constructor(e,o){this.inventory=e,this.db=o,this.minMobility=0,this.minResilience=0,this.minRecovery=0,this.minDiscipline=0,this.minIntellect=0,this.minStrength=0,this.anyPlugWithN=0,this.anyPlugBelowN=17,this.allPlugsWithN=0,this.allPlugsBelowN=17,this.armorName="",this.armorHash="",this.armorId="",this.armorItemsPerSlot=new Map,this.plugData={},this.ngUnsubscribe=new nt.xQ}ngOnInit(){var e=this;this.inventory.inventory.pipe((0,st.b)(10),(0,Q.R)(this.ngUnsubscribe)).subscribe((0,m.Z)(function*(){e.updateItems()}))}getPlugString(e){var o=this.plugData[e];let a=[0,0,0,0,0,0];for(let s of o.investmentStats)switch(s.statTypeHash){case 2996146975:a[0]+=s.value;break;case 392767087:a[1]+=s.value;break;case 1943323491:a[2]+=s.value;break;case 1735777505:a[3]+=s.value;break;case 144602215:a[4]+=s.value;break;case 4244567218:a[5]+=s.value}return"["+a.join(" ")+"]"}updateItems(){var e=this;return(0,m.Z)(function*(){const a=(yield e.db.manifestArmor.toArray()).filter(d=>19==d.itemType);let s=Object.fromEntries(a.map(d=>[d.hash,d]));e.plugData=s;let l=(yield e.db.inventoryArmor.toArray()).filter(d=>d.source===E.Inventory).sort((d,u)=>(""+d.name).localeCompare(u.name)).map(d=>{var u={name:d.name,hash:d.hash,isSunset:d.isSunset,itemInstanceId:d.itemInstanceId,statPlugHashes:d.statPlugHashes,mobility:[],resilience:[],recovery:[],discipline:[],intellect:[],strength:[],totalStats:[0,0,0,0,0,0],totalSum:0,slot:d.slot};if(d.statPlugHashes)for(let p of d.statPlugHashes){var x=s[p];for(let b of x.investmentStats)switch(b.statTypeHash){case 2996146975:u.mobility.push(b.value),u.totalStats[0]+=b.value;break;case 392767087:u.resilience.push(b.value),u.totalStats[1]+=b.value;break;case 1943323491:u.recovery.push(b.value),u.totalStats[2]+=b.value;break;case 1735777505:u.discipline.push(b.value),u.totalStats[3]+=b.value;break;case 144602215:u.intellect.push(b.value),u.totalStats[4]+=b.value;break;case 4244567218:u.strength.push(b.value),u.totalStats[5]+=b.value}}if(d.investmentStats)for(let p of d.investmentStats)switch(p.statTypeHash){case 2996146975:u.mobility.push(p.value),u.totalStats[0]+=p.value;break;case 392767087:u.resilience.push(p.value),u.totalStats[1]+=p.value;break;case 1943323491:u.recovery.push(p.value),u.totalStats[2]+=p.value;break;case 1735777505:u.discipline.push(p.value),u.totalStats[3]+=p.value;break;case 144602215:u.intellect.push(p.value),u.totalStats[4]+=p.value;break;case 4244567218:u.strength.push(p.value),u.totalStats[5]+=p.value}for(let p of u.totalStats)u.totalSum+=p;return u});l=e.filterItems(l),e.armorItemsPerSlot=l.reduce((d,u)=>{const x=u.slot?u.slot:10;return d.has(x)||d.set(x,[]),d.get(x)?.push(u),d},new Map)})()}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}getCategoryName(e){switch(e){case 1:return"Helmets";case 2:return"Gauntlets";case 3:return"Chest Pieces";case 4:return"Legs";case 5:return"Class Items"}return"Unknown Category"}getPlugSum(e){var o=this.plugData[e],a=0;for(let s of o.investmentStats)switch(s.statTypeHash){case 2996146975:case 392767087:case 1943323491:case 1735777505:case 144602215:case 4244567218:a+=s.value}return a}clear(){this.armorName="",this.armorHash="",this.armorId="",this.minMobility=0,this.minResilience=0,this.minRecovery=0,this.minDiscipline=0,this.minIntellect=0,this.minStrength=0,this.anyPlugWithN=0,this.anyPlugBelowN=17}filterItems(e){return this.armorName&&(e=e.filter(o=>o.name.toLowerCase().indexOf(this.armorName)>-1)),this.armorHash&&(e=e.filter(o=>(o.hash||0).toString().indexOf(this.armorHash)>-1)),this.armorId&&(e=e.filter(o=>(o.itemInstanceId||0).toString().indexOf(this.armorId)>-1)),e=(e=(e=(e=(e=(e=e.filter(o=>o.totalStats[0]>=(this.minMobility||0))).filter(o=>o.totalStats[1]>=(this.minResilience||0))).filter(o=>o.totalStats[2]>=(this.minRecovery||0))).filter(o=>o.totalStats[3]>=(this.minDiscipline||0))).filter(o=>o.totalStats[4]>=(this.minIntellect||0))).filter(o=>o.totalStats[5]>=(this.minStrength||0)),(this.anyPlugWithN??0)>0&&(e=e.filter(o=>(o.statPlugHashes||[]).filter(a=>this.getPlugSum(a)>=(this.anyPlugWithN||0)).length>0)),(this.anyPlugBelowN??0)<17&&(e=e.filter(o=>(o.statPlugHashes||[]).filter(a=>this.getPlugSum(a)<=(this.anyPlugBelowN||0)).length>0)),(this.allPlugsWithN??0)>0&&(e=e.filter(o=>0==(o.statPlugHashes||[]).filter(a=>this.getPlugSum(a)<(this.allPlugsWithN||0)).length)),(this.allPlugsBelowN??0)<17&&(e=e.filter(o=>0==(o.statPlugHashes||[]).filter(a=>this.getPlugSum(a)>(this.allPlugsBelowN||0)).length)),e}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(K),t.Y36(et))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-armor-investigation-page"]],decls:112,vars:26,consts:[["id","description"],["href","https://www.reddit.com/r/DestinyTheGame/comments/mpaopq/how_armor_stats_roll_an_advanced_insight_into/","target","_blank"],["colspan","3"],["appearance","outline"],["matInput","","placeholder","Stronghold",3,"ngModel","ngModelChange"],["matInput","",3,"ngModel","ngModelChange"],["max","32","min","0","step","1","thumbLabel","","tickInterval","1",3,"value","valueChange"],["max","17","min","0","step","1","thumbLabel","","tickInterval","1",3,"value","valueChange"],["mat-raised-button","","color","primary",3,"click"],["mat-raised-button","","color","warn",3,"click"],[4,"ngFor","ngForOf"],["fxLayout","row","fxLayout.xs","column","fxLayoutGap","10px",1,"armor-container"],[1,"cluster-item"],["colspan","2"],["alt","This armor on data.destinysets.com","target","_blank",3,"href"],["src","https://data.destinysets.com/static/media/logo.556bd7bd.svg",2,"width","15px"],[3,"matTooltip"],["width","100%"],[1,"stat-range"],[3,"class","style",4,"ngFor","ngForOf"],["alt","This plug on data.destinysets.com","target","_blank",3,"href"],[1,"plug-sum-col"]],template:function(e,o){1&e&&(t.TgZ(0,"mat-card",0)(1,"mat-card-title"),t._uU(2," Armor Investigation "),t.qZA(),t.TgZ(3,"mat-card-subtitle"),t._uU(4," A visualization tool for data scientists. "),t.qZA(),t.TgZ(5,"mat-card-content"),t._uU(6," This part of the D2ArmorPicker lists all of your armor items. For each armor it shows how it is generated. It shows every used "),t.TgZ(7,"i"),t._uU(8,'"plug"'),t.qZA(),t._uU(9,", as well as the intrinsic stats of exotics. For more information about plugs, see "),t.TgZ(10,"a",1),t._uU(11,"here"),t.qZA(),t._uU(12,". Make sure to give the author an upvote for the hard work! "),t._UZ(13,"br")(14,"br"),t._uU(15," Please note that this feature is mainly targeted for data nerds and people interested in the basic stats of armor. It is just a data visualization. Mobile layout and a search function "),t.TgZ(16,"i"),t._uU(17,"may"),t.qZA(),t._uU(18," happen in the future. "),t.qZA(),t.TgZ(19,"mat-card-title"),t._uU(20," Filters "),t.qZA(),t.TgZ(21,"mat-card-subtitle"),t._uU(22," Some filters. Nothing fancy but it works. Sorry ;) "),t.qZA(),t.TgZ(23,"mat-card-content")(24,"table")(25,"tr")(26,"td",2)(27,"mat-form-field",3)(28,"mat-label"),t._uU(29,"Item Name"),t.qZA(),t.TgZ(30,"input",4),t.NdJ("ngModelChange",function(s){return o.armorName=s}),t.qZA()()(),t.TgZ(31,"td",2)(32,"mat-form-field",3)(33,"mat-label"),t._uU(34,"Item Hash"),t.qZA(),t.TgZ(35,"input",5),t.NdJ("ngModelChange",function(s){return o.armorHash=s}),t.qZA()()(),t.TgZ(36,"td",2)(37,"mat-form-field",3)(38,"mat-label"),t._uU(39,"Item ID"),t.qZA(),t.TgZ(40,"input",5),t.NdJ("ngModelChange",function(s){return o.armorId=s}),t.qZA()()()(),t.TgZ(41,"tr")(42,"td"),t._uU(43," Mobility: "),t.qZA(),t.TgZ(44,"td"),t._uU(45),t.qZA(),t.TgZ(46,"td")(47,"mat-slider",6),t.NdJ("valueChange",function(s){return o.minMobility=s}),t.qZA()(),t.TgZ(48,"td"),t._uU(49," Resilience: "),t.qZA(),t.TgZ(50,"td"),t._uU(51),t.qZA(),t.TgZ(52,"td")(53,"mat-slider",6),t.NdJ("valueChange",function(s){return o.minResilience=s}),t.qZA()(),t.TgZ(54,"td"),t._uU(55," Recovery: "),t.qZA(),t.TgZ(56,"td"),t._uU(57),t.qZA(),t.TgZ(58,"td")(59,"mat-slider",6),t.NdJ("valueChange",function(s){return o.minRecovery=s}),t.qZA()()(),t.TgZ(60,"tr")(61,"td"),t._uU(62," Discipline: "),t.qZA(),t.TgZ(63,"td"),t._uU(64),t.qZA(),t.TgZ(65,"td")(66,"mat-slider",6),t.NdJ("valueChange",function(s){return o.minDiscipline=s}),t.qZA()(),t.TgZ(67,"td"),t._uU(68," Intellect: "),t.qZA(),t.TgZ(69,"td"),t._uU(70),t.qZA(),t.TgZ(71,"td")(72,"mat-slider",6),t.NdJ("valueChange",function(s){return o.minIntellect=s}),t.qZA()(),t.TgZ(73,"td"),t._uU(74," Strength: "),t.qZA(),t.TgZ(75,"td"),t._uU(76),t.qZA(),t.TgZ(77,"td")(78,"mat-slider",6),t.NdJ("valueChange",function(s){return o.minStrength=s}),t.qZA()()(),t.TgZ(79,"tr")(80,"td"),t._uU(81," Any plug >=: "),t.qZA(),t.TgZ(82,"td"),t._uU(83),t.qZA(),t.TgZ(84,"td")(85,"mat-slider",7),t.NdJ("valueChange",function(s){return o.anyPlugWithN=s}),t.qZA()(),t.TgZ(86,"td"),t._uU(87," Any Plug <=: "),t.qZA(),t.TgZ(88,"td"),t._uU(89),t.qZA(),t.TgZ(90,"td")(91,"mat-slider",7),t.NdJ("valueChange",function(s){return o.anyPlugBelowN=s}),t.qZA()()(),t.TgZ(92,"tr")(93,"td"),t._uU(94," All plugs >=: "),t.qZA(),t.TgZ(95,"td"),t._uU(96),t.qZA(),t.TgZ(97,"td")(98,"mat-slider",7),t.NdJ("valueChange",function(s){return o.allPlugsWithN=s}),t.qZA()(),t.TgZ(99,"td"),t._uU(100," All Plugs <=: "),t.qZA(),t.TgZ(101,"td"),t._uU(102),t.qZA(),t.TgZ(103,"td")(104,"mat-slider",7),t.NdJ("valueChange",function(s){return o.allPlugsBelowN=s}),t.qZA()()()(),t.TgZ(105,"a",8),t.NdJ("click",function(){return o.updateItems()}),t._uU(106,"Update"),t.qZA(),t._uU(107,"\xa0 "),t.TgZ(108,"a",9),t.NdJ("click",function(){return o.clear()}),t._uU(109,"Clear"),t.qZA()()(),t.YNc(110,Hc,6,2,"ng-container",10),t.ALo(111,"keyvalue")),2&e&&(t.xp6(30),t.Q6J("ngModel",o.armorName),t.xp6(5),t.Q6J("ngModel",o.armorHash),t.xp6(5),t.Q6J("ngModel",o.armorId),t.xp6(5),t.hij(" ",o.minMobility,""),t.xp6(2),t.Q6J("value",o.minMobility),t.xp6(4),t.hij(" ",o.minResilience,""),t.xp6(2),t.Q6J("value",o.minResilience),t.xp6(4),t.hij(" ",o.minRecovery,""),t.xp6(2),t.Q6J("value",o.minRecovery),t.xp6(5),t.hij(" ",o.minDiscipline,""),t.xp6(2),t.Q6J("value",o.minDiscipline),t.xp6(4),t.hij(" ",o.minIntellect,""),t.xp6(2),t.Q6J("value",o.minIntellect),t.xp6(4),t.Oqu(o.minStrength),t.xp6(2),t.Q6J("value",o.minStrength),t.xp6(5),t.Oqu(o.anyPlugWithN),t.xp6(2),t.Q6J("value",o.anyPlugWithN),t.xp6(4),t.Oqu(o.anyPlugBelowN),t.xp6(2),t.Q6J("value",o.anyPlugBelowN),t.xp6(5),t.Oqu(o.allPlugsWithN),t.xp6(2),t.Q6J("value",o.allPlugsWithN),t.xp6(4),t.Oqu(o.allPlugsBelowN),t.xp6(2),t.Q6J("value",o.allPlugsBelowN),t.xp6(6),t.Q6J("ngForOf",t.lcZ(111,24,o.armorItemsPerSlot)))},dependencies:[T.sg,Y.xw,Y.SQ,V.Fj,V.JJ,V.On,g.zs,lt.KE,lt.hX,Yc.pH,Jt.Nt,A.a8,A.dn,A.n5,A.$j,N.gM,W.Ye,T.JJ,T.Nd],styles:["#description[_ngcontent-%COMP%], #filter[_ngcontent-%COMP%]{max-width:700px;margin-bottom:10px;margin-left:auto;margin-right:auto}.cluster-item[_ngcontent-%COMP%]{flex-grow:1;flex-basis:0;min-width:250px;max-width:350px;margin-bottom:10px}.armor-container[_ngcontent-%COMP%], .plug-sum-col[_ngcontent-%COMP%]{padding-left:5px}.armor-container[_ngcontent-%COMP%]{flex-wrap:wrap}.stat-range[_ngcontent-%COMP%]{height:20px;width:100%;margin-bottom:3px;float:left;background-color:gray}.stat-range-bar[_ngcontent-%COMP%]{height:100%;float:left;background-color:#fff}.stat-range-bar0[_ngcontent-%COMP%]{background-color:#acfff1}.stat-range-bar1[_ngcontent-%COMP%]{background-color:#5e9eff}.stat-range-bar3[_ngcontent-%COMP%]{background-color:#ffc2ac}.stat-range-bar4[_ngcontent-%COMP%]{background-color:#ffb45e}.stat-range-bar2[_ngcontent-%COMP%], .stat-range-bar5[_ngcontent-%COMP%]{background-color:#c246ff}a[_ngcontent-%COMP%]{color:#99afe3}a[_ngcontent-%COMP%]:visited{color:#7294dc}"]}),n})(),jc=(()=>{class n{constructor(e,o,a){this.db=e,this.inv=o,this.loginService=a}downloadArmorInformation(){var e=this;return(0,m.Z)(function*(){const o=yield e.db.inventoryArmor.toArray(),a=window.URL.createObjectURL(new Blob([JSON.stringify(o,null,2)])),s=document.createElement("a");s.href=a,s.setAttribute("download","d2ap_armor.json"),document.body.appendChild(s),s.click()})()}downloadManifestInformation(){var e=this;return(0,m.Z)(function*(){const o=yield e.db.manifestArmor.toArray(),a=window.URL.createObjectURL(new Blob([JSON.stringify(o,null,1)])),s=document.createElement("a");s.href=a,s.setAttribute("download","d2ap_manifest.json"),document.body.appendChild(s),s.click()})()}resetDatabase(){var e=this;return(0,m.Z)(function*(){yield e.db.resetDatabase(),yield e.inv.refreshAll(!0,!0)})()}resetEverything(){var e=this;return(0,m.Z)(function*(){localStorage.clear(),yield e.db.resetDatabase(),yield e.loginService.logout()})()}}return n.\u0275fac=function(e){return new(e||n)(t.Y36(et),t.Y36(K),t.Y36(L))},n.\u0275cmp=t.Xpm({type:n,selectors:[["app-account-config-page"]],decls:35,vars:0,consts:[["id","account-config-container"],["color","primary","fxShow","false","fxShow.lt-md","true","mat-raised-button","","routerLink","/",1,"returnbutton"],["color","primary","mat-raised-button","",1,"btn-download",3,"click"],["color","warn","mat-raised-button","",1,"btn-download",3,"click"]],template:function(e,o){1&e&&(t.TgZ(0,"div",0)(1,"a",1),t._uU(2," Return to D2ArmorPicker "),t.qZA(),t.TgZ(3,"mat-card")(4,"mat-card-title"),t._uU(5," Account Configuration "),t.qZA(),t.TgZ(6,"mat-card-subtitle"),t._uU(7," The configuration on this page will not be reset when you reset your build settings. "),t.qZA(),t.TgZ(8,"mat-card-content"),t._uU(9,' This will come in a future update. Right now, I just wanted to push the "Debugging" section out. '),t.qZA()(),t.TgZ(10,"mat-card")(11,"mat-card-title"),t._uU(12," Debugging "),t.qZA(),t.TgZ(13,"mat-card-subtitle"),t._uU(14," Some options for debugging purposes. "),t.qZA(),t.TgZ(15,"mat-card-content"),t._uU(16," If the team asks you to send some specific data, you can find it here:"),t._UZ(17,"br"),t.TgZ(18,"a",2),t.NdJ("click",function(){return o.downloadArmorInformation()}),t._uU(19," Download armor information (d2ap_armor.json) "),t.qZA(),t.TgZ(20,"a",2),t.NdJ("click",function(){return o.downloadManifestInformation()}),t._uU(21," Download manifest information (d2ap_manifest.json) "),t.qZA(),t._UZ(22,"br")(23,"br"),t._uU(24," If you experience issues with the local database - for example, exotics not being found, try this:"),t._UZ(25,"br"),t.TgZ(26,"a",3),t.NdJ("click",function(){return o.resetDatabase()}),t._uU(27," Delete Database "),t.qZA(),t._UZ(28,"br"),t._uU(29," If you really want to reset EVERYTHING, use this: "),t._UZ(30,"br"),t.TgZ(31,"a",3),t.NdJ("click",function(){return o.resetEverything()}),t._uU(32," Reset the whole application "),t.qZA()()(),t.TgZ(33,"a",1),t._uU(34," Return to D2ArmorPicker "),t.qZA()())},dependencies:[H.b8,g.zs,A.a8,A.dn,A.n5,A.$j,I.yS],styles:[".returnbutton[_ngcontent-%COMP%]{margin-top:5px;margin-bottom:15px;width:100%}#account-config-container[_ngcontent-%COMP%]{max-width:800px;margin-left:auto;margin-right:auto}mat-card[_ngcontent-%COMP%]{margin-bottom:8px}.btn-download[_ngcontent-%COMP%]{margin-right:10px}"]}),n})();var zc=_(4661),Te=_(7331);const Gc=[{path:"",component:Ve,canActivate:[kt],children:[{path:"",component:Zc},{path:"help",component:ms},{path:"cluster",component:Mc},{path:"investigate",component:Wc},{path:"theory",loadChildren:()=>_.e(613).then(_.bind(_,8613)).then(n=>n.TheorizerPageModule)},{path:"account",component:jc}]},{path:"login",component:St,canActivate:[Ot]},{path:"login-bungie",component:_t},{path:"**",redirectTo:"/"}];let Kc=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=t.oAB({type:n,bootstrap:[xt]}),n.\u0275inj=t.cJS({imports:[T.ez,zc.V,v.b2,It.PW,at.JF,I.Bz.forRoot(Gc,{useHash:!0}),wt.Iq,mt.xu]}),n})();t.B6R(me,function(){return[T.sg,T.O5,Y.xw,Y.SQ,Y.Wh,Y.yH,g.lW,lt.KE,lt.hX,lt.R9,Jt.Nt,w.BZ,w.fO,w.as,w.w1,w.Dz,w.nj,w.ge,w.ev,w.XQ,w.Gk,A.a8,A.dn,A.n5,A.$j,A.hq,N.gM,j.Hw,Bt.YE,Bt.nU,ce.NW,Te.qn,Te.HS,ns,Jc]},function(){return[T.JJ]}),t.B6R(re,function(){return[g.lW,$.ZT,$.uh,$.xY,$.H8,ge]},[]),(0,t.G48)(),v.q6().bootstrapModule(Kc).catch(n=>console.error(n))},2361:()=>{},4616:()=>{}},ot=>{ot.O(0,[736],()=>ot(ot.s=7789)),ot.O()}]); \ No newline at end of file