@flesh-and-blood/search 3.4.56 → 3.4.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/filters.d.ts +3 -1
- package/dist/index.js +2 -2
- package/dist/metaFilters.d.ts +1 -0
- package/package.json +5 -5
package/dist/filters.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Card, Foiling, Hero, Release, Treatment } from "@flesh-and-blood/types";
|
|
1
|
+
import { Card, Foiling, Hero, Rarity, Release, Treatment } from "@flesh-and-blood/types";
|
|
2
2
|
export interface AppliedFilter {
|
|
3
3
|
filterToPropertyMapping: FilterToPropertyMapping;
|
|
4
4
|
values: string[];
|
|
@@ -18,6 +18,7 @@ export interface FilterToPropertyMapping {
|
|
|
18
18
|
property: string;
|
|
19
19
|
exclusion?: Exclusion;
|
|
20
20
|
isArray?: boolean;
|
|
21
|
+
isNestedPropertyArray?: boolean;
|
|
21
22
|
isNumber?: boolean;
|
|
22
23
|
isString?: boolean;
|
|
23
24
|
isBoolean?: boolean;
|
|
@@ -105,6 +106,7 @@ export declare const getKeywordsAndAppliedFiltersFromText: (text: string, cards:
|
|
|
105
106
|
artists: string[];
|
|
106
107
|
foilings: Foiling[];
|
|
107
108
|
isExpansionSlot: boolean;
|
|
109
|
+
rarities: Rarity[];
|
|
108
110
|
releases: Release[];
|
|
109
111
|
treatments: Treatment[];
|
|
110
112
|
};
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var Jr=Object.create;var de=Object.defineProperty,Ur=Object.defineProperties,Yr=Object.getOwnPropertyDescriptor,Xr=Object.getOwnPropertyDescriptors,Zr=Object.getOwnPropertyNames,kt=Object.getOwnPropertySymbols,Qr=Object.getPrototypeOf,bt=Object.prototype.hasOwnProperty,qr=Object.prototype.propertyIsEnumerable;var vt=(e,t,r)=>t in e?de(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,$=(e,t)=>{for(var r in t||(t={}))bt.call(t,r)&&vt(e,r,t[r]);if(kt)for(var r of kt(t))qr.call(t,r)&&vt(e,r,t[r]);return e},j=(e,t)=>Ur(e,Xr(t));var At=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ea=(e,t)=>{for(var r in t)de(e,r,{get:t[r],enumerable:!0})},Dt=(e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Zr(t))!bt.call(e,i)&&i!==r&&de(e,i,{get:()=>t[i],enumerable:!(a=Yr(t,i))||a.enumerable});return e};var X=(e,t,r)=>(r=e!=null?Jr(Qr(e)):{},Dt(t||!e||!e.__esModule?de(r,"default",{value:e,enumerable:!0}):r,e)),ta=e=>Dt(de({},"__esModule",{value:!0}),e);var Z=At((Ds,Yt)=>{var me=Object.defineProperty,ra=Object.defineProperties,aa=Object.getOwnPropertyDescriptor,ia=Object.getOwnPropertyDescriptors,sa=Object.getOwnPropertyNames,Bt=Object.getOwnPropertySymbols,Mt=Object.prototype.hasOwnProperty,na=Object.prototype.propertyIsEnumerable,Ct=(e,t,r)=>t in e?me(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,oa=(e,t)=>{for(var r in t||(t={}))Mt.call(t,r)&&Ct(e,r,t[r]);if(Bt)for(var r of Bt(t))na.call(t,r)&&Ct(e,r,t[r]);return e},la=(e,t)=>ra(e,ia(t)),ca=(e,t)=>{for(var r in t)me(e,r,{get:t[r],enumerable:!0})},da=(e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of sa(t))!Mt.call(e,i)&&i!==r&&me(e,i,{get:()=>t[i],enumerable:!(a=aa(t,i))||a.enumerable});return e},ua=e=>da(me({},"__esModule",{value:!0}),e),Ft={};ca(Ft,{Bond:()=>xt,Class:()=>St,Flow:()=>Rt,Foiling:()=>Et,Format:()=>Lt,Fusion:()=>It,Hero:()=>Wt,Keyword:()=>$t,Language:()=>Vt,Meta:()=>Pt,Metatype:()=>Ht,Rarity:()=>wt,Release:()=>zt,ReleaseEdition:()=>Nt,ReleaseType:()=>Jt,Subtype:()=>Kt,Talent:()=>Ot,Trait:()=>_t,Treatment:()=>Tt,Type:()=>Gt,coreSetIdentifiers:()=>Da,fullSetIdentifiers:()=>Oe,getCanAddToDeck:()=>fa,getCanCardBeTokenForDeck:()=>pa,getCardIdentifier:()=>ha,getDefaultPrinting:()=>Pa,getIsArenaCard:()=>jt,getIsBooster:()=>ya,getIsCardTokenForDeck:()=>ye,getIsDeckCard:()=>Ne,getIsDraftable:()=>va,getIsPreconstructed:()=>Aa,getIsReprint:()=>ka,getPrint:()=>Sa,getShouldRotateCardImage:()=>ga,getSpecialPrinting:()=>Ia,orderedFullSetBlackBorderIdentifiers:()=>xa,promoSetIdentifiers:()=>Ca,releases:()=>Ma,setIdentifierToSetMappings:()=>Ut,setToSetIdentifierMappings:()=>Fa,supplementalSetIdentifiers:()=>Ba});Yt.exports=ua(Ft);var Et=(e=>(e.C="Cold",e.G="Gold",e.R="Rainbow",e))(Et||{}),Tt=(e=>(e.AB="Alternate Border",e.AA="Alternate Art",e.AT="Alternate Text",e.EA="Extended Art",e.FA="Full Art",e))(Tt||{}),St=(e=>(e.NotClassed="NotClassed",e.Generic="Generic",e.Adjudicator="Adjudicator",e.Assassin="Assassin",e.Bard="Bard",e.Brute="Brute",e.Guardian="Guardian",e.Illusionist="Illusionist",e.Mechanologist="Mechanologist",e.Merchant="Merchant",e.Ninja="Ninja",e.Ranger="Ranger",e.Runeblade="Runeblade",e.Shapeshifter="Shapeshifter",e.Warrior="Warrior",e.Wizard="Wizard",e))(St||{}),xt=(e=>(e.Earth="Earth",e))(xt||{}),Rt=(e=>(e.Lightning="Lightning",e))(Rt||{}),Lt=(e=>(e.Blitz="Blitz",e.BlitzLivingLegend="Blitz (Living Legend)",e.Clash="Clash",e.ClassicConstructed="Classic Constructed",e.ClassicConstructedLivingLegend="Classic Constructed (Living Legend)",e.Commoner="Commoner",e.Draft="Draft",e.Open="Open",e.Sealed="Sealed",e.UltimatePitFight="Ultimate Pit Fight",e))(Lt||{}),It=(e=>(e.Earth="Earth",e.Ice="Ice",e.Lightning="Lightning",e))(It||{}),wt=(e=>(e.Token="Token",e.Common="Common",e.Rare="Rare",e.SuperRare="Super Rare",e.Majestic="Majestic",e.Marvel="Marvel",e.Legendary="Legendary",e.Fabled="Fabled",e.Promo="Promo",e))(wt||{}),Pt=(e=>(e.Expansion="Expansion slot",e.Rainbow="Rainbow",e))(Pt||{}),zt=(e=>(e.ArcaneRising="Arcane Rising",e.BrightLights="Bright Lights",e.CrucibleOfWar="Crucible of War",e.DuskTillDawn="Dusk till Dawn",e.Dynasty="Dynasty",e.Everfest="Everfest",e.HeavyHitters="Heavy Hitters",e.HistoryPack1="History Pack 1",e.Monarch="Monarch",e.Outsiders="Outsiders",e.PartTheMistveil="Part the Mistveil",e.Rosetta="Rosetta",e.TalesOfAria="Tales of Aria",e.TheHunted="The Hunted",e.Uprising="Uprising",e.WelcomeToRathe="Welcome to Rathe",e.ArmoryDeckAzalea="Armory Deck: Azalea",e.ArmoryDeckBoltyn="Armory Deck: Boltyn",e.ArmoryDeckDash="Armory Deck: Dash",e.ArmoryDeckKayo="Armory Deck: Kayo",e.ArmoryDeckOriginsJarl="Armory Deck Origins: Jarl",e.ArmoryDeckAurora="Armory Deck: Aurora",e.ArakniBlitzDeck="Arakni Blitz Deck",e.ArakniBlitzDeckARK="Arakni Hunted Blitz Deck",e.AuroraBlitzDeck="Aurora Blitz Deck",e.AzaleaBlitzDeck="Azalea Blitz Deck",e.BenjiBlitzDeck="Benji Blitz Deck",e.BetsyBlitzDeck="Betsy Blitz Deck",e.BoltynBlitzDeck="Boltyn Blitz Deck",e.BriarBlitzDeck="Briar Blitz Deck",e.ChaneBlitzDeck="Chane Blitz Deck",e.DromaiBlitzDeck="Dromai Blitz Deck",e.EnigmaBlitzDeck="Enigma Blitz Deck",e.FaiBlitzDeck="Fai Blitz Deck",e.FlorianBlitzDeck="Florian Blitz Deck",e.KassaiBlitzDeck="Kassai Blitz Deck",e.KatsuBlitzDeck="Katsu Blitz Deck",e.KayoBlitzDeck="Kayo Blitz Deck",e.LeviaBlitzDeck="Levia Blitz Deck",e.LexiBlitzDeck="Lexi Blitz Deck",e.NuuBlitzDeck="Nuu Blitz Deck",e.OldhimBlitzDeck="Oldhim Blitz Deck",e.OlympiaBlitzDeck="Olympia Blitz Deck",e.OscilioBlitzDeck="Oscilio Blitz Deck",e.PrismBlitzDeck="Prism Blitz Deck",e.RhinarBlitzDeck="Rhinar Blitz Deck",e.RiptideBlitzDeck="Riptide Blitz Deck",e.UzuriBlitzDeck="Uzuri Blitz Deck",e.VerdanceBlitzDeck="Verdance Blitz Deck",e.VictorBlitzDeck="Victor Blitz Deck",e.ZenBlitzDeck="Zen Blitz Deck",e.FirstStrikeAurora="1st Strike: Aurora",e.FirstStrikeTerra="1st Strike: Terra",e.BravoHeroDeck="Bravo Hero Deck",e.DorintheaHeroDeck="Dorinthea Hero Deck",e.KatsuHeroDeck="Katsu Hero Deck",e.RhinarHeroDeck="Rhinar Hero Deck",e.ClassicBattlesRhinarDorinthea="Classic Battles: Rhinar vs Dorinthea",e.IraWelcomeDeck="Ira Welcome Deck",e.RoundTheTable="Round the Table: TCC x LSS",e.GEM="GEM",e.Promos="Promos",e))(zt||{}),Nt=(e=>(e.Alpha="Alpha",e.First="First",e.Unlimited="Unlimited",e.Promo="Promo",e))(Nt||{}),Ot=(e=>(e.Chaos="Chaos",e.Draconic="Draconic",e.Earth="Earth",e.Elemental="Elemental",e.Ice="Ice",e.Light="Light",e.Lightning="Lightning",e.Mystic="Mystic",e.Royal="Royal",e.Shadow="Shadow",e))(Ot||{}),_t=(e=>(e.AgentOfChaos="Agent of Chaos",e))(_t||{}),Ht=(e=>(e.Arakni="Arakni",e.Rosetta="Rosetta",e))(Ht||{}),Gt=(e=>(e.Action="Action",e.AttackReaction="Attack Reaction",e.Block="Block",e.DefenseReaction="Defense Reaction",e.DemiHero="Demi-Hero",e.Equipment="Equipment",e.Hero="Hero",e.Instant="Instant",e.Macro="Macro",e.Mentor="Mentor",e.Resource="Resource",e.Token="Token",e.Weapon="Weapon",e))(Gt||{}),Kt=(e=>(e.OneHanded="1H",e.TwoHanded="2H",e.Affliction="Affliction",e.Ally="Ally",e.Angel="Angel",e.Arms="Arms",e.Arrow="Arrow",e.Ash="Ash",e.Attack="Attack",e.Aura="Aura",e.Axe="Axe",e.Base="Base",e.Book="Book",e.Bow="Bow",e.Chest="Chest",e.Chi="Chi",e.Claw="Claw",e.Club="Club",e.Construct="Construct",e.Dagger="Dagger",e.Demon="Demon",e.Dragon="Dragon",e.Evo="Evo",e.Fiddle="Fiddle",e.Figment="Figment",e.Flail="Flail",e.Gem="Gem",e.Gun="Gun",e.Hammer="Hammer",e.Head="Head",e.Invocation="Invocation",e.Item="Item",e.Landmark="Landmark",e.Lute="Lute",e.Legs="Legs",e.NonAttack="Non-Attack",e.OffHand="Off-Hand",e.Orb="Orb",e.Pistol="Pistol",e.Polearm="Polearm",e.Quiver="Quiver",e.Rock="Rock",e.Shuriken="Shuriken",e.Scepter="Scepter",e.Scroll="Scroll",e.Scythe="Scythe",e.Song="Song",e.Staff="Staff",e.Sword="Sword",e.Trap="Trap",e.Wrench="Wrench",e.Young="Young",e))(Kt||{}),Wt=(e=>(e.Arakni="Arakni",e.Aurora="Aurora",e.Azalea="Azalea",e.Benji="Benji",e.Betsy="Betsy",e.Blaze="Blaze",e.Boltyn="Boltyn",e.Bravo="Bravo",e.Brevant="Brevant",e.Briar="Briar",e.Brutus="Brutus",e.Chane="Chane",e.Cindra="Cindra",e.Crackni="Crackni",e.Dash="Dash",e.DataDoll="Data Doll",e.Dorinthea="Dorinthea",e.Dromai="Dromai",e.Emperor="Emperor",e.Enigma="Enigma",e.Fai="Fai",e.Fang="Fang",e.Florian="Florian",e.Genis="Genis",e.Ira="Ira",e.Iyslander="Iyslander",e.Jarl="Jarl",e.Kano="Kano",e.Kassai="Kassai",e.Katsu="Katsu",e.Kavdaen="Kavdaen",e.Kayo="Kayo",e.Levia="Levia",e.Lexi="Lexi",e.Maxx="Maxx",e.Melody="Melody",e.Nuu="Nuu",e.Oldhim="Oldhim",e.Olympia="Olympia",e.Oscilio="Oscilio",e.Prism="Prism",e.Rhinar="Rhinar",e.Riptide="Riptide",e.Ruudi="Ruu'di",e.Shiyana="Shiyana",e.Slippy="Slippy",e.Squizzy="Squizzy",e.Starvo="Starvo",e.Taipanis="Taipanis",e.Taylor="Taylor",e.Teklovossen="Teklovossen",e.Terra="Terra",e.Theryon="Theryon",e.Uzuri="Uzuri",e.Valda="Valda",e.Verdance="Verdance",e.Victor="Victor",e.Vynnset="Vynnset",e.Viserai="Viserai",e.Yorick="Yorick",e.Yoji="Yoji",e.Zen="Zen",e))(Wt||{}),$t=(e=>(e.Ambush="Ambush",e.Amp="Amp",e.ArcaneBarrier="Arcane Barrier",e.ArcaneShelter="Arcane Shelter",e.Awaken="Awaken",e.Battleworn="Battleworn",e.BeatChest="Beat Chest",e.BladeBreak="Blade Break",e.BloodDebt="Blood Debt",e.Boost="Boost",e.Bond="Bond",e.Channel="Channel",e.Charge="Charge",e.Clash="Clash",e.Cloaked="Cloaked",e.Combo="Combo",e.Contract="Contract",e.Crank="Crank",e.Crush="Crush",e.Decompose="Decompose",e.Dominate="Dominate",e.Ephemeral="Ephemeral",e.Essence="Essence",e.EvoUpgrade="Evo Upgrade",e.Flow="Flow",e.Freeze="Freeze",e.Fusion="Fusion",e.Galvanize="Galvanize",e.GoAgain="Go again",e.Guardwell="Guardwell",e.Heave="Heave",e.Heavy="Heavy",e.Intimidate="Intimidate",e.Legendary="Legendary",e.Mark="Mark",e.Material="Material",e.Meld="Meld",e.Modular="Modular",e.Mirage="Mirage",e.Negate="Negate",e.Opt="Opt",e.Overpower="Overpower",e.Pairs="Pairs",e.Piercing="Piercing",e.Phantasm="Phantasm",e.Protect="Protect",e.Quell="Quell",e.Reload="Reload",e.Reprise="Reprise",e.Retrieve="Retrieve",e.RuneGate="Rune Gate",e.Rupture="Rupture",e.Scrap="Scrap",e.Solflare="Solflare",e.Specialization="Specialization",e.Spectra="Spectra",e.Spellvoid="Spellvoid",e.Stealth="Stealth",e.Surge="Surge",e.Temper="Temper",e.Tower="Tower",e.Transform="Transform",e.Transcend="Transcend",e.Universal="Universal",e.Unfreeze="Unfreeze",e.Unity="Unity",e.Wager="Wager",e.Ward="Ward",e))($t||{}),ha=(e,t)=>{let{name:r,pitch:a}=e,i=r.toLowerCase().replace("//","-").normalize("NFD").replace(new RegExp("\\p{Diacritic}","gu"),"").replace(/ /g,"-").replace("\u0111","d").replace("\xED","i").replace(/[^a-z0-9 -]/g,"").replace(/--/,"-"),s="";switch(a){case"1":case 1:s=t?"-1":"-red";break;case"2":case 2:s=t?"-2":"-yellow";break;case"3":case 3:s=t?"-3":"-blue";break}return`${i}${s}`},jt=({keywords:e,traits:t,types:r})=>{let a=Ne({keywords:e,traits:t,types:r}),i=ye({keywords:e,traits:t,types:r}),s=["Demi-Hero","Equipment","Weapon"].some(o=>r.includes(o));return!a&&!i&&s},Ne=({keywords:e,traits:t,types:r})=>{let a=["Action","Attack Reaction","Block","Defense Reaction","Instant","Mentor","Resource"].some(s=>r.includes(s)),i=ye({keywords:e,traits:t,types:r});return a&&!i},ye=({keywords:e,traits:t,types:r})=>{let a=!!t&&(t==null?void 0:t.includes("Agent of Chaos")),i=!!e&&e.includes("Ephemeral"),s=["Macro","Token"].some(o=>r.includes(o));return a||i||s},pa=e=>{let t=e.cardIdentifier==="cracked-bauble-yellow",r=ye(e),a=e.isCardBack&&e.cardIdentifier!=="inner-chi-blue";return t||r||a},fa=({isCardBack:e,keywords:t,traits:r,types:a})=>{let i=jt({keywords:t,traits:r,types:a}),s=Ne({keywords:t,traits:r,types:a});return!e&&(i||s)},ga=e=>{var t,r;return((t=e.keywords)==null?void 0:t.includes("Meld"))||((r=e.subtypes)==null?void 0:r.includes("Landmark"))||!1},Vt=(e=>(e.English="English",e.French="Fran\xE7ais",e.German="Deutsch",e.Italian="Italiano",e.Japanese="\u65E5\u672C\u8A9E",e.Spanish="Espa\xF1ol",e))(Vt||{}),ue=["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],Jt=(e=>(e.ArmoryDeck="Armory Deck",e.BlitzDeck="Blitz Deck",e.ClassicBattles="Classic Battles",e.ExpansionBooster="Expansion Booster",e.FirstStrike="1st Strike",e.HistoryPack="History Pack",e.MasteryPack="Mastery Pack",e.RoundTheTable="Round the Table",e.StandaloneBooster="Standalone Booster",e.WelcomeDeck="Welcome Deck",e))(Jt||{}),ma=["Expansion Booster","Standalone Booster"],ya=e=>ma.includes(e),ka=e=>e==="History Pack",va=e=>e==="Standalone Booster",ba=["Armory Deck","Blitz Deck","Classic Battles","1st Strike","Round the Table","Welcome Deck"],Aa=e=>ba.includes(e),Da={wtr:"Welcome to Rathe",arc:"Arcane Rising",mon:"Monarch",ele:"Tales of Aria",upr:"Uprising",out:"Outsiders",evo:"Bright Lights",hvy:"Heavy Hitters",mst:"Part the Mistveil",ros:"Rosetta"},Ba={cru:"Crucible of War",evr:"Everfest","1hp":"History Pack 1",hp1:"History Pack 1",dyn:"Dynasty",dtd:"Dusk till Dawn"},Ca=["fab","her","jdg","lgs","lss","oxo","xxx","win"],Ma=[{cards:30,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01GJG7Z4WGWSZ95FY74KX4M557"}],heroes:["Ira"],languages:ue,release:"Ira Welcome Deck",relatedReleases:[],releaseDate:"2019-08-31 12:00",releaseType:"Welcome Deck",setIdentifiers:["ira"],talents:[]},{cards:226,classes:["Brute","Guardian","Ninja","Warrior"],deckLinks:[],heroes:["Bravo","Dorinthea","Katsu","Rhinar"],languages:["English"],release:"Welcome to Rathe",relatedReleases:[],releaseDate:"2019-10-11 12:00",releaseType:"Standalone Booster",setIdentifiers:["wtr"],talents:[]},{cards:219,classes:["Mechanologist","Ranger","Runeblade","Wizard"],deckLinks:[],heroes:["Azalea","Dash","Kano","Viserai"],languages:["English"],release:"Arcane Rising",relatedReleases:[],releaseDate:"2020-03-27 12:00",releaseType:"Standalone Booster",setIdentifiers:["arc"],talents:[]},{cards:194,classes:["Brute","Guardian","Mechanologist","Merchant","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Benji","Data Doll","Ira","Kassai","Kavdaen","Kayo","Shiyana"],languages:["English"],release:"Crucible of War",relatedReleases:[],releaseDate:"2020-08-28 12:00",releaseType:"Expansion Booster",setIdentifiers:["cru"],talents:[]},{cards:40,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01G7FD2B3YQAMR8NJ4B3M58H96"}],heroes:["Boltyn"],languages:["English"],release:"Boltyn Blitz Deck",relatedReleases:[],releaseDate:"2021-05-07 12:00",releaseType:"Blitz Deck",setIdentifiers:["bol"],talents:["Light"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01G7FDVRZP35DFWBRK64AG5TKQ"}],heroes:["Chane"],languages:["English"],release:"Chane Blitz Deck",relatedReleases:[],releaseDate:"2021-05-07 12:00",releaseType:"Blitz Deck",setIdentifiers:["chn"],talents:["Shadow"]},{cards:40,classes:["Brute"],languages:["English"],deckLinks:[{url:"https://fabrary.net/decks/01G7B1T1D1M2DAM61K876VJBDK"}],heroes:["Levia"],release:"Levia Blitz Deck",relatedReleases:[],releaseDate:"2021-05-07 12:00",releaseType:"Blitz Deck",setIdentifiers:["lev"],talents:["Shadow"]},{cards:40,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01G7FCP2N7N0MNHWAH6JTP0KFN"}],heroes:["Prism"],languages:["English"],relatedReleases:[],releaseDate:"2021-05-07 12:00",release:"Prism Blitz Deck",releaseType:"Blitz Deck",setIdentifiers:["psm"],talents:["Light"]},{cards:307,classes:["Brute","Illusionist","Runeblade","Warrior"],deckLinks:[],heroes:["Boltyn","Chane","Levia","Prism"],languages:["English"],release:"Monarch",relatedReleases:["Boltyn Blitz Deck","Chane Blitz Deck","Levia Blitz Deck","Prism Blitz Deck"],releaseDate:"2021-05-07 12:00",releaseType:"Standalone Booster",setIdentifiers:["mon"],talents:["Light","Shadow"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01G7K4D304QQCZZSBT7ABCX4XC"}],heroes:["Briar"],languages:["English"],release:"Briar Blitz Deck",relatedReleases:[],releaseDate:"2021-11-24 12:00",releaseType:"Blitz Deck",talents:["Elemental","Earth","Lightning"],setIdentifiers:["bri"]},{cards:40,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01G7K3WGPVKVDXG2J013GXSXNP"}],heroes:["Lexi"],languages:["English"],release:"Lexi Blitz Deck",relatedReleases:[],releaseDate:"2021-11-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["lxi"],talents:["Elemental","Ice","Lightning"]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01G7K464J7VS0K7HKW5E395TBK"}],heroes:["Oldhim"],languages:["English"],release:"Oldhim Blitz Deck",relatedReleases:[],releaseDate:"2021-11-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["old"],talents:["Elemental","Earth","Ice"]},{cards:238,classes:["Guardian","Ranger","Runeblade"],deckLinks:[],heroes:["Briar","Lexi","Oldhim"],languages:["English"],release:"Tales of Aria",relatedReleases:["Briar Blitz Deck","Lexi Blitz Deck","Oldhim Blitz Deck"],releaseDate:"2021-09-24 12:00",releaseType:"Standalone Booster",setIdentifiers:["ele"],talents:["Elemental","Earth","Ice","Lightning"]},{cards:198,classes:["Brute","Guardian","Illusionist","Mechanologist","Merchant","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Genis","Valda"],languages:["English"],release:"Everfest",relatedReleases:[],releaseDate:"2022-02-04 12:00",releaseType:"Expansion Booster",setIdentifiers:["evr"],talents:["Elemental","Earth","Ice","Lightning"]},{cards:423,classes:["Brute","Guardian","Mechanologist","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Azalea","Benji","Bravo","Dash","Data Doll","Dorinthea","Ira","Kassai","Katsu","Kayo","Rhinar","Viserai","Kano"],languages:["English"],release:"History Pack 1",relatedReleases:[],releaseDate:"2022-05-06 12:00",releaseType:"History Pack",setIdentifiers:["1hp","hp1"],talents:[]},{cards:80,classes:["Brute","Warrior"],deckLinks:[{name:"Dorinthea",url:"https://fabrary.net/decks/01GA4WTNSD12YTQB4FY8EYYNG5"},{name:"Rhinar",url:"https://fabrary.net/decks/01GA4WZKX9VEWKKPX7Y7H3MG1F"}],heroes:["Dorinthea","Rhinar"],languages:["English"],release:"Classic Battles: Rhinar vs Dorinthea",relatedReleases:[],releaseDate:"2022-05-27 12:00",releaseType:"Classic Battles",setIdentifiers:["dvr","rvd"],talents:[]},{cards:40,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01G76H1R1ERRBRKS7RVCQAB8RX"}],heroes:["Dromai"],languages:["English"],relatedReleases:[],releaseDate:"2022-06-24 12:00",release:"Dromai Blitz Deck",releaseType:"Blitz Deck",setIdentifiers:["dro"],talents:["Draconic"]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01G76H7RG7GN5ZA10F3BJBH740"}],heroes:["Fai"],languages:["English"],release:"Fai Blitz Deck",relatedReleases:[],releaseDate:"2022-06-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["fai"],talents:["Draconic"]},{cards:226,classes:["Illusionist","Ninja","Wizard"],deckLinks:[],heroes:["Dromai","Fai","Iyslander"],languages:["English"],release:"Uprising",relatedReleases:["Dromai Blitz Deck","Fai Blitz Deck"],releaseDate:"2022-06-24 12:00",releaseType:"Standalone Booster",setIdentifiers:["upr"],talents:["Draconic","Elemental","Ice"]},{cards:247,classes:["Assassin","Brute","Guardian","Illusionist","Mechanologist","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Arakni","Emperor","Yoji"],languages:["English"],release:"Dynasty",relatedReleases:[],releaseDate:"2022-11-11 12:00",releaseType:"Expansion Booster",setIdentifiers:["dyn"],talents:["Royal"]},{cards:40,classes:["Assassin"],deckLinks:[{url:"https://fabrary.net/decks/01GW25PNWBW2FPDHRNTPSET0GT"}],heroes:["Arakni"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Arakni Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["ara"],talents:[]},{cards:40,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01GW26RNH1Q1J0S1VFXPN609S2"}],heroes:["Azalea"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Azalea Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["azl"],talents:[]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01GW28622XSVAK7H9RXZVAVKM0"}],heroes:["Benji"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Benji Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["ben"],talents:[]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01GW28TF5FXFKJ5CGRNXB84CG6"}],heroes:["Katsu"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Katsu Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["kat"],talents:[]},{cards:40,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01GW29DPNZ3XVBJQHHFQHHHDGN"}],heroes:["Riptide"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Riptide Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["rip"],talents:[]},{cards:40,classes:["Assassin"],deckLinks:[{url:"https://fabrary.net/decks/01GW2945GHPH2YSX3FTS7HCBT1"}],heroes:["Uzuri"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Uzuri Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["uzu"],talents:[]},{cards:239,classes:["Assassin","Ranger","Ninja"],deckLinks:[],heroes:["Arakni","Azalea","Benji","Katsu","Riptide","Uzuri"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Outsiders",relatedReleases:["Arakni Blitz Deck","Azalea Blitz Deck","Benji Blitz Deck","Katsu Blitz Deck","Riptide Blitz Deck","Uzuri Blitz Deck"],releaseDate:"2023-03-24 12:00",releaseType:"Standalone Booster",setIdentifiers:["out"],talents:[]},{cards:236,classes:["Illusionist","Runeblade","Warrior","Brute"],deckLinks:[],heroes:["Prism","Vynnset","Boltyn","Levia"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Dusk till Dawn",relatedReleases:[],releaseDate:"2023-07-14 12:00",releaseType:"Expansion Booster",setIdentifiers:["dtd"],talents:["Light","Shadow"]},{cards:107,classes:["Mechanologist","Bard","Guardian","Ninja"],deckLinks:[{name:"Brevant",url:"https://fabrary.net/decks/01HAXKPFH7ZHPDEJZH967VNRW6"},{name:"Ira",url:"https://fabrary.net/decks/01HAXKZMTRN4FR7CFTQA11A70N"},{name:"Melody",url:"https://fabrary.net/decks/01HAXKSFPXGCEH99PDZJ32V4N9"},{name:"Teklovossen",url:"https://fabrary.net/decks/01HAXKZMTRN4FR7CFTQA11A70N"}],heroes:["Teklovossen","Melody","Brevant","Ira"],languages:["English"],release:"Round the Table: TCC x LSS",relatedReleases:[],releaseDate:"2023-09-29 12:00",releaseType:"Round the Table",talents:[],setIdentifiers:["tcc"]},{cards:251,classes:["Mechanologist"],deckLinks:[],heroes:["Dash","Maxx","Teklovossen"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],raritiesExcludedInLimited:["Legendary","Fabled"],release:"Bright Lights",relatedReleases:[],releaseDate:"2023-10-06 12:00",releaseType:"Standalone Booster",setIdentifiers:["evo"],talents:[]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01HN3J1X1NQ9TB9RTVWV42JG46"}],heroes:["Betsy"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Betsy Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["bet"],talents:[]},{cards:40,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01HN3SHBEQBRECYK6ZN1CHRADR"}],heroes:["Kassai"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Kassai Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["ksi"],talents:[]},{cards:40,classes:["Brute"],deckLinks:[{url:"https://fabrary.net/decks/01HN3HK89NA910SK3FQV84H46Z"}],heroes:["Kayo"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Kayo Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["kyo"],talents:[]},{cards:40,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01HN3GP5ZJ1NRC0XBYNE45XQE8"}],heroes:["Olympia"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Olympia Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["ola"],talents:[]},{cards:40,classes:["Brute"],deckLinks:[{url:"https://fabrary.net/decks/01HN3Q4GBDMEFSX98HEN9ET308"}],heroes:["Rhinar"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Rhinar Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["rhi"],talents:[]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01HN3K8ZV7KBRRJKPHW4B13J1K"}],heroes:["Victor"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Victor Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["vic"],talents:[]},{cards:255,classes:["Brute","Guardian","Warrior"],deckLinks:[],heroes:["Kassai","Betsy","Kayo","Olympia","Rhinar","Victor"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],raritiesExcludedInLimited:["Legendary","Fabled"],release:"Heavy Hitters",relatedReleases:["Betsy Blitz Deck","Kassai Blitz Deck","Kayo Blitz Deck","Olympia Blitz Deck","Rhinar Blitz Deck","Victor Blitz Deck"],releaseDate:"2024-02-02 12:00",releaseType:"Standalone Booster",setIdentifiers:["hvy"],talents:[]},{cards:66,classes:["Brute"],deckLinks:[{url:"https://fabrary.net/decks/01HWNCK2BYPVKK6701052YYXMZ"}],heroes:["Kayo"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Kayo",relatedReleases:[],releaseDate:"2024-05-03 12:00",releaseType:"Armory Deck",setIdentifiers:["ako"],talents:[]},{cards:40,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01HX5Z23X2PRQCJ100FP4CAZGK"}],heroes:["Enigma"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Enigma Blitz Deck",relatedReleases:[],releaseDate:"2024-05-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["eng"],talents:["Mystic"]},{cards:40,classes:["Assassin"],deckLinks:[{url:"https://fabrary.net/decks/01HX5Z4BD3TRMS3CP1ME4ZP3T6"}],heroes:["Nuu"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Nuu Blitz Deck",relatedReleases:[],releaseDate:"2024-05-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["nuu"],talents:["Mystic"]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01HX5Z395FD35CM24QCJQKJER1"}],heroes:["Zen"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Zen Blitz Deck",relatedReleases:[],releaseDate:"2024-05-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["zen"],talents:["Mystic"]},{cards:239,classes:["Assassin","Illusionist","Ninja"],deckLinks:[],heroes:["Enigma","Nuu","Zen"],languages:ue,raritiesExcludedInLimited:["Legendary","Fabled"],release:"Part the Mistveil",relatedReleases:["Enigma Blitz Deck","Nuu Blitz Deck","Zen Blitz Deck"],releaseDate:"2024-05-31 12:00",releaseType:"Standalone Booster",setIdentifiers:["mst"],talents:["Mystic"]},{cards:66,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01J202NH0RG8S0V8WXH1FWB2AH"}],heroes:["Boltyn"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Boltyn",relatedReleases:[],releaseDate:"2024-07-12 12:00",releaseType:"Armory Deck",setIdentifiers:["asb"],talents:["Light"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01J45SYSM2ZERW6CWY283ZAT1S"}],heroes:["Aurora"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"1st Strike: Aurora",relatedReleases:[],releaseDate:"2024-08-01 12:00",releaseType:"1st Strike",setIdentifiers:["aur"],talents:["Lightning"]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01J45SWXNDV5XD8PTBACAV8NZ1"}],heroes:["Terra"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"1st Strike: Terra",relatedReleases:[],releaseDate:"2024-08-01 12:00",releaseType:"1st Strike",setIdentifiers:["ter"],talents:["Earth"]},{cards:66,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01J3GKKSTM773CW7BG3RRJ5FJH"}],heroes:["Azalea"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Azalea",relatedReleases:[],releaseDate:"2024-08-02 12:00",releaseType:"Armory Deck",setIdentifiers:["aaz"],talents:[]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01J68KF1TFNN62TC0G7M993FTY"}],heroes:["Aurora"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Aurora Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["aua"],talents:["Lightning"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01J68KFRMJFKRQYJJ7THG1GMTB"}],heroes:["Florian"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Florian Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["flr"],talents:["Earth"]},{cards:40,classes:["Wizard"],deckLinks:[{url:"https://fabrary.net/decks/01J68KGA3JVKFHEXGKYW0441CY"}],heroes:["Oscilio"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Oscilio Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["osc"],talents:["Lightning"]},{cards:40,classes:["Wizard"],deckLinks:[{url:"https://fabrary.net/decks/01J68KGT3XD3HMVVRFT174QNMF"}],heroes:["Verdance"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Verdance Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["ver"],talents:["Earth"]},{cards:258,classes:["Runeblade","Wizard"],deckLinks:[],heroes:["Aurora","Florian","Oscilio","Verdance"],languages:ue,raritiesExcludedInLimited:["Legendary","Fabled"],release:"Rosetta",relatedReleases:["Aurora Blitz Deck","Florian Blitz Deck","Oscilio Blitz Deck","Verdance Blitz Deck"],releaseDate:"2024-09-20 12:00",releaseType:"Standalone Booster",setIdentifiers:["ros"],talents:["Elemental","Earth","Lightning"]},{cards:66,classes:["Mechanologist"],deckLinks:[{url:"https://fabrary.net/decks/01J9822H5PANJAFQVMC4TPK4Z1"}],heroes:["Dash"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Dash",relatedReleases:[],releaseDate:"2024-10-18 12:00",releaseType:"Armory Deck",setIdentifiers:["aio"],talents:[]},{cards:30,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01JCPPENK52DTRBJZMWQF8S0X2"}],heroes:["Jarl"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck Origins: Jarl",relatedReleases:[],releaseDate:"2024-11-29 12:00",releaseType:"Armory Deck",setIdentifiers:["ajv"],talents:["Elemental","Earth","Ice"]},{cards:40,classes:["Assassin"],deckLinks:[],heroes:["Arakni"],languages:ue,release:"Arakni Hunted Blitz Deck",relatedReleases:[],releaseDate:"2025-01-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["ark"],talents:["Chaos"]},{cards:265,classes:["Assassin","Ninja","Warrior"],deckLinks:[],heroes:["Arakni","Cindra","Fang"],heroOverrides:{Arakni:"Crackni"},languages:ue,raritiesExcludedInLimited:["Legendary","Fabled"],release:"The Hunted",relatedReleases:[],releaseDate:"2025-01-31 12:00",releaseType:"Standalone Booster",setIdentifiers:["hnt"],talents:["Chaos","Draconic","Royal"],url:"https://fabtcg.com/en/articles/hnt/"},{cards:30,classes:["Runeblade"],deckLinks:[],heroes:["Aurora"],languages:["English","Fran\xE7ais","\u65E5\u672C\u8A9E"],release:"Armory Deck: Aurora",relatedReleases:[],releaseDate:"2025-03-14 12:00",releaseType:"Armory Deck",setIdentifiers:["ast"],talents:["Elemental","Lightning"]}],Oe={wtr:"Welcome to Rathe",arc:"Arcane Rising",cru:"Crucible of War",mon:"Monarch",ele:"Tales of Aria",evr:"Everfest","1hp":"History Pack 1",hp1:"History Pack 1",upr:"Uprising",dyn:"Dynasty",out:"Outsiders",dtd:"Dusk till Dawn",evo:"Bright Lights",hvy:"Heavy Hitters",mst:"Part the Mistveil",ros:"Rosetta",hnt:"The Hunted"},Ut=la(oa({},Oe),{aaz:"Armory Deck: Azalea",asb:"Armory Deck: Boltyn",aio:"Armory Deck: Dash",ako:"Armory Deck: Kayo",ajv:"Armory Deck Origins: Jarl",ast:"Armory Deck: Aurora",ara:"Arakni Blitz Deck",ark:"Arakni Hunted Blitz Deck",aua:"Aurora Blitz Deck",azl:"Azalea Blitz Deck",ben:"Benji Blitz Deck",bet:"Betsy Blitz Deck",bol:"Boltyn Blitz Deck",bri:"Briar Blitz Deck",chn:"Chane Blitz Deck",dro:"Dromai Blitz Deck",eng:"Enigma Blitz Deck",fai:"Fai Blitz Deck",flr:"Florian Blitz Deck",kat:"Katsu Blitz Deck",ksi:"Kassai Blitz Deck",kyo:"Kayo Blitz Deck",lev:"Levia Blitz Deck",lxi:"Lexi Blitz Deck",nuu:"Nuu Blitz Deck",old:"Oldhim Blitz Deck",ola:"Olympia Blitz Deck",osc:"Oscilio Blitz Deck",psm:"Prism Blitz Deck",rip:"Riptide Blitz Deck",rhi:"Rhinar Blitz Deck",uzu:"Uzuri Blitz Deck",ver:"Verdance Blitz Deck",vic:"Victor Blitz Deck",zen:"Zen Blitz Deck",aur:"1st Strike: Aurora",ter:"1st Strike: Terra",dvr:"Classic Battles: Rhinar vs Dorinthea",rvd:"Classic Battles: Rhinar vs Dorinthea",ira:"Ira Welcome Deck",tcc:"Round the Table: TCC x LSS",bvo:"Bravo Hero Deck",tea:"Dorinthea Hero Deck",ksu:"Katsu Hero Deck",rnr:"Rhinar Hero Deck",gem:"GEM",fab:"Promos",her:"Promos",jdg:"Promos",lgs:"Promos",lss:"Promos",oxo:"Promos",xxx:"Promos",win:"Promos"}),ze={};for(let[e,t]of Object.entries(Ut)){let r=ze[t];r?r.push(e):ze[t]=[e]}var Fa=ze,Ea={},Ta={MST158_V3:"-V3",ROS162_V2:"-V2","ROS008-MV_V2_BACK":"-V3"},Sa=e=>{var t,r,a;let i=Ea[e.set]||"",s=`${e.identifier}${i}`,o=e.edition?`-${e.edition}`:"",n=e.foiling?`-${e.foiling}`:"",l=(t=e.treatments)!=null&&t.length?`-${e.treatments.sort().join("-")}`:e.treatment?`-${e.treatment}`:"",c=(r=e.image)!=null&&r.toLowerCase().includes("back")?"-Back":"",d=Ta[((a=e.image)==null?void 0:a.toUpperCase())||""]||"";return`${s}${o}${n}${l}${c}${d}`},xa=Object.keys(Oe).filter(e=>!e.toLowerCase().includes("hp")).reverse().map(e=>e.toUpperCase()),Ra={"command-and-conquer-red":{print:"DYN000-Cold-Alternate Art-Extended Art"},"cracked-bauble-yellow":{print:"LGS083-Cold"},"fate-foreseen-red":{print:"FAB024-Rainbow"},"pitfall-trap-yellow":{print:"LGS151-Rainbow"},quicken:{print:"EVO250"},"ravenous-rabble-red":{print:"FAB190-Rainbow-Extended Art"},"rockslide-trap-blue":{print:"LGS152-Rainbow"},"rosetta-thorn":{print:"ROS256-Cold"},"sigil-of-solace-red":{print:"FAB178-Rainbow-Alternate Art-Extended Art"},"spectral-shield":{print:"MST158-Alternate Art-V3"},"tripwire-trap-red":{print:"LGS150-Rainbow"},"viserai-rune-blood":{print:"HER011-Cold"}},La=["JDG044-Full Art-Back"],Ia=(e,t)=>{let{cardIdentifier:r}=e,a=Object.entries(Ra).find(([i])=>i===r);if(a&&t.some(i=>{let[,{print:s}]=a;return i.print===s})){let[,{print:i}]=a;return t.find(s=>s.print===i)||t[0]}else{let i,s,o,n,l,c,d,p,u,g,f,k,m,B,h,C,v,A,E,R;for(let y of t){let{edition:M,foiling:S,identifier:w,image:x,print:I,treatments:T}=y,G=w.toLowerCase().includes("win"),O=!!x,Y=x==null?void 0:x.includes("HP"),K=La.includes(I);if(O&&!G&&!Y&&!K){if(i||(i=y),T!=null&&T.includes("Full Art")&&(u=y,S==="Cold"&&(c=y,x.includes("_V3")))){d=y;break}T!=null&&T.includes("Extended Art")&&(p=y,S==="Cold"&&(l=y),S||(g=y),M==="Promo"&&(f=y)),T!=null&&T.includes("Alternate Art")&&(s=y),T!=null&&T.includes("Alternate Border")&&(o=y),T!=null&&T.includes("Alternate Text")&&(n=y),x&&(x.includes("_V2")||x.includes("-MV"))&&T!=null&&T.includes("Full Art")&&(m=y),M==="Alpha"?B=y:M==="First"?h=y:M==="Promo"?C=y:M==="Unlimited"&&(v=y),S==="Cold"?(A=y,M==="Promo"&&(R=y)):S==="Gold"&&(E=y)}}return k||d||c||u||l||m||f||g||p||o||s||n||R||B||h||C||v||E||A||i}},wa={"command-and-conquer-red":{print:"HNT260"},"pitfall-trap-yellow":{print:"LGS151-Rainbow"},"rockslide-trap-blue":{print:"LGS152-Rainbow"},"rosetta-thorn":{print:"ELE222-First"},"spectral-shield":{print:"MST158"},"tripwire-trap-red":{print:"LGS150-Rainbow"}},Pa=(e,t)=>{let{cardIdentifier:r}=e,a=Object.entries(wa).find(([i])=>i===r);if(a&&t.some(i=>{let[,{print:s}]=a;return i.print===s})){let[,{print:i}]=a;return t.find(s=>s.print===i)||t[0]}else{let i,s;for(let o of t){let{edition:n,image:l,treatment:c}=o,d=!!l,p=l==null?void 0:l.includes("HP");if(d&&!p&&(i||(i=o),!s&&n!=="Promo"&&c!=="Full Art"&&(s=o)),i&&s)break}return s||i||t[0]}}});var pr=At((Bs,hr)=>{"use strict";function Xt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,a)}return r}function se(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Xt(Object(r),!0).forEach(function(a){Ge(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Xt(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function He(e){"@babel/helpers - typeof";return He=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},He(e)}function P(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Zt(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function z(e,t,r){return t&&Zt(e.prototype,t),r&&Zt(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ge(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Q(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");Object.defineProperty(e,"prototype",{value:Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),writable:!1}),t&&Ke(e,t)}function ve(e){return ve=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},ve(e)}function Ke(e,t){return Ke=Object.setPrototypeOf||function(a,i){return a.__proto__=i,a},Ke(e,t)}function za(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function Na(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Oa(e,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Na(e)}function q(e){var t=za();return function(){var a=ve(e),i;if(t){var s=ve(this).constructor;i=Reflect.construct(a,arguments,s)}else i=a.apply(this,arguments);return Oa(this,i)}}function ae(e){return _a(e)||Ha(e)||Ga(e)||Ka()}function _a(e){if(Array.isArray(e))return We(e)}function Ha(e){if(typeof Symbol!="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Ga(e,t){if(e){if(typeof e=="string")return We(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return We(e,t)}}function We(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}function Ka(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
2
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function U(e){return Array.isArray?Array.isArray(e):sr(e)==="[object Array]"}var Wa=1/0;function $a(e){if(typeof e=="string")return e;var t=e+"";return t=="0"&&1/e==-Wa?"-0":t}function ja(e){return e==null?"":$a(e)}function V(e){return typeof e=="string"}function ar(e){return typeof e=="number"}function Va(e){return e===!0||e===!1||Ja(e)&&sr(e)=="[object Boolean]"}function ir(e){return He(e)==="object"}function Ja(e){return ir(e)&&e!==null}function _(e){return e!=null}function _e(e){return!e.trim().length}function sr(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var Ua="Incorrect 'index' type",Ya=function(t){return"Invalid value for key ".concat(t)},Xa=function(t){return"Pattern length exceeds max of ".concat(t,".")},Za=function(t){return"Missing ".concat(t," property in key")},Qa=function(t){return"Property 'weight' in key '".concat(t,"' must be a positive integer")},Qt=Object.prototype.hasOwnProperty,qa=function(){function e(t){var r=this;P(this,e),this._keys=[],this._keyMap={};var a=0;t.forEach(function(i){var s=nr(i);a+=s.weight,r._keys.push(s),r._keyMap[s.id]=s,a+=s.weight}),this._keys.forEach(function(i){i.weight/=a})}return z(e,[{key:"get",value:function(r){return this._keyMap[r]}},{key:"keys",value:function(){return this._keys}},{key:"toJSON",value:function(){return JSON.stringify(this._keys)}}]),e}();function nr(e){var t=null,r=null,a=null,i=1,s=null;if(V(e)||U(e))a=e,t=qt(e),r=$e(e);else{if(!Qt.call(e,"name"))throw new Error(Za("name"));var o=e.name;if(a=o,Qt.call(e,"weight")&&(i=e.weight,i<=0))throw new Error(Qa(o));t=qt(o),r=$e(o),s=e.getFn}return{path:t,id:r,weight:i,src:a,getFn:s}}function qt(e){return U(e)?e:e.split(".")}function $e(e){return U(e)?e.join("."):e}function ei(e,t){var r=[],a=!1,i=function s(o,n,l){if(_(o))if(!n[l])r.push(o);else{var c=n[l],d=o[c];if(!_(d))return;if(l===n.length-1&&(V(d)||ar(d)||Va(d)))r.push(ja(d));else if(U(d)){a=!0;for(var p=0,u=d.length;p<u;p+=1)s(d[p],n,l+1)}else n.length&&s(d,n,l+1)}};return i(e,V(t)?t.split("."):t,0),a?r:r[0]}var ti={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},ri={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:function(t,r){return t.score===r.score?t.idx<r.idx?-1:1:t.score<r.score?-1:1}},ai={location:0,threshold:.6,distance:100},ii={useExtendedSearch:!1,getFn:ei,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},D=se(se(se(se({},ri),ti),ai),ii),si=/[^ ]+/g;function ni(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:3,r=new Map,a=Math.pow(10,t);return{get:function(s){var o=s.match(si).length;if(r.has(o))return r.get(o);var n=1/Math.pow(o,.5*e),l=parseFloat(Math.round(n*a)/a);return r.set(o,l),l},clear:function(){r.clear()}}}var Ye=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=t.getFn,a=r===void 0?D.getFn:r,i=t.fieldNormWeight,s=i===void 0?D.fieldNormWeight:i;P(this,e),this.norm=ni(s,3),this.getFn=a,this.isCreated=!1,this.setIndexRecords()}return z(e,[{key:"setSources",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this.docs=r}},{key:"setIndexRecords",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this.records=r}},{key:"setKeys",value:function(){var r=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this.keys=a,this._keysMap={},a.forEach(function(i,s){r._keysMap[i.id]=s})}},{key:"create",value:function(){var r=this;this.isCreated||!this.docs.length||(this.isCreated=!0,V(this.docs[0])?this.docs.forEach(function(a,i){r._addString(a,i)}):this.docs.forEach(function(a,i){r._addObject(a,i)}),this.norm.clear())}},{key:"add",value:function(r){var a=this.size();V(r)?this._addString(r,a):this._addObject(r,a)}},{key:"removeAt",value:function(r){this.records.splice(r,1);for(var a=r,i=this.size();a<i;a+=1)this.records[a].i-=1}},{key:"getValueForItemAtKeyId",value:function(r,a){return r[this._keysMap[a]]}},{key:"size",value:function(){return this.records.length}},{key:"_addString",value:function(r,a){if(!(!_(r)||_e(r))){var i={v:r,i:a,n:this.norm.get(r)};this.records.push(i)}}},{key:"_addObject",value:function(r,a){var i=this,s={i:a,$:{}};this.keys.forEach(function(o,n){var l=o.getFn?o.getFn(r):i.getFn(r,o.path);if(_(l)){if(U(l))(function(){for(var d=[],p=[{nestedArrIndex:-1,value:l}];p.length;){var u=p.pop(),g=u.nestedArrIndex,f=u.value;if(_(f))if(V(f)&&!_e(f)){var k={v:f,i:g,n:i.norm.get(f)};d.push(k)}else U(f)&&f.forEach(function(m,B){p.push({nestedArrIndex:B,value:m})})}s.$[n]=d})();else if(V(l)&&!_e(l)){var c={v:l,n:i.norm.get(l)};s.$[n]=c}}}),this.records.push(s)}},{key:"toJSON",value:function(){return{keys:this.keys,records:this.records}}}]),e}();function or(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=r.getFn,i=a===void 0?D.getFn:a,s=r.fieldNormWeight,o=s===void 0?D.fieldNormWeight:s,n=new Ye({getFn:i,fieldNormWeight:o});return n.setKeys(e.map(nr)),n.setSources(t),n.create(),n}function oi(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.getFn,a=r===void 0?D.getFn:r,i=t.fieldNormWeight,s=i===void 0?D.fieldNormWeight:i,o=e.keys,n=e.records,l=new Ye({getFn:a,fieldNormWeight:s});return l.setKeys(o),l.setIndexRecords(n),l}function ke(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.errors,a=r===void 0?0:r,i=t.currentLocation,s=i===void 0?0:i,o=t.expectedLocation,n=o===void 0?0:o,l=t.distance,c=l===void 0?D.distance:l,d=t.ignoreLocation,p=d===void 0?D.ignoreLocation:d,u=a/e.length;if(p)return u;var g=Math.abs(n-s);return c?u+g/c:g?1:u}function li(){for(var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:D.minMatchCharLength,r=[],a=-1,i=-1,s=0,o=e.length;s<o;s+=1){var n=e[s];n&&a===-1?a=s:!n&&a!==-1&&(i=s-1,i-a+1>=t&&r.push([a,i]),a=-1)}return e[s-1]&&s-a>=t&&r.push([a,s-1]),r}var re=32;function ci(e,t,r){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=a.location,s=i===void 0?D.location:i,o=a.distance,n=o===void 0?D.distance:o,l=a.threshold,c=l===void 0?D.threshold:l,d=a.findAllMatches,p=d===void 0?D.findAllMatches:d,u=a.minMatchCharLength,g=u===void 0?D.minMatchCharLength:u,f=a.includeMatches,k=f===void 0?D.includeMatches:f,m=a.ignoreLocation,B=m===void 0?D.ignoreLocation:m;if(t.length>re)throw new Error(Xa(re));for(var h=t.length,C=e.length,v=Math.max(0,Math.min(s,C)),A=c,E=v,R=g>1||k,y=R?Array(C):[],M;(M=e.indexOf(t,E))>-1;){var S=ke(t,{currentLocation:M,expectedLocation:v,distance:n,ignoreLocation:B});if(A=Math.min(S,A),E=M+h,R)for(var w=0;w<h;)y[M+w]=1,w+=1}E=-1;for(var x=[],I=1,T=h+C,G=1<<h-1,O=0;O<h;O+=1){for(var Y=0,K=T;Y<K;){var ce=ke(t,{errors:O,currentLocation:v+K,expectedLocation:v,distance:n,ignoreLocation:B});ce<=A?Y=K:T=K,K=Math.floor((T-Y)/2+Y)}T=K;var gt=Math.max(1,v-K+1),we=p?C:Math.min(v+K,C)+h,ie=Array(we+2);ie[we+1]=(1<<O)-1;for(var W=we;W>=gt;W-=1){var ge=W-1,mt=r[e.charAt(ge)];if(R&&(y[ge]=+!!mt),ie[W]=(ie[W+1]<<1|1)&mt,O&&(ie[W]|=(x[W+1]|x[W])<<1|1|x[W+1]),ie[W]&G&&(I=ke(t,{errors:O,currentLocation:ge,expectedLocation:v,distance:n,ignoreLocation:B}),I<=A)){if(A=I,E=ge,E<=v)break;gt=Math.max(1,2*v-E)}}var Vr=ke(t,{errors:O+1,currentLocation:v,expectedLocation:v,distance:n,ignoreLocation:B});if(Vr>A)break;x=ie}var Pe={isMatch:E>=0,score:Math.max(.001,I)};if(R){var yt=li(y,g);yt.length?k&&(Pe.indices=yt):Pe.isMatch=!1}return Pe}function di(e){for(var t={},r=0,a=e.length;r<a;r+=1){var i=e.charAt(r);t[i]=(t[i]||0)|1<<a-r-1}return t}var lr=function(){function e(t){var r=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=a.location,s=i===void 0?D.location:i,o=a.threshold,n=o===void 0?D.threshold:o,l=a.distance,c=l===void 0?D.distance:l,d=a.includeMatches,p=d===void 0?D.includeMatches:d,u=a.findAllMatches,g=u===void 0?D.findAllMatches:u,f=a.minMatchCharLength,k=f===void 0?D.minMatchCharLength:f,m=a.isCaseSensitive,B=m===void 0?D.isCaseSensitive:m,h=a.ignoreLocation,C=h===void 0?D.ignoreLocation:h;if(P(this,e),this.options={location:s,threshold:n,distance:c,includeMatches:p,findAllMatches:g,minMatchCharLength:k,isCaseSensitive:B,ignoreLocation:C},this.pattern=B?t:t.toLowerCase(),this.chunks=[],!!this.pattern.length){var v=function(w,x){r.chunks.push({pattern:w,alphabet:di(w),startIndex:x})},A=this.pattern.length;if(A>re){for(var E=0,R=A%re,y=A-R;E<y;)v(this.pattern.substr(E,re),E),E+=re;if(R){var M=A-re;v(this.pattern.substr(M),M)}}else v(this.pattern,0)}}return z(e,[{key:"searchIn",value:function(r){var a=this.options,i=a.isCaseSensitive,s=a.includeMatches;if(i||(r=r.toLowerCase()),this.pattern===r){var o={isMatch:!0,score:0};return s&&(o.indices=[[0,r.length-1]]),o}var n=this.options,l=n.location,c=n.distance,d=n.threshold,p=n.findAllMatches,u=n.minMatchCharLength,g=n.ignoreLocation,f=[],k=0,m=!1;this.chunks.forEach(function(h){var C=h.pattern,v=h.alphabet,A=h.startIndex,E=ci(r,C,v,{location:l+A,distance:c,threshold:d,findAllMatches:p,minMatchCharLength:u,includeMatches:s,ignoreLocation:g}),R=E.isMatch,y=E.score,M=E.indices;R&&(m=!0),k+=y,R&&M&&(f=[].concat(ae(f),ae(M)))});var B={isMatch:m,score:m?k/this.chunks.length:1};return m&&s&&(B.indices=f),B}}]),e}(),ee=function(){function e(t){P(this,e),this.pattern=t}return z(e,[{key:"search",value:function(){}}],[{key:"isMultiMatch",value:function(r){return er(r,this.multiRegex)}},{key:"isSingleMatch",value:function(r){return er(r,this.singleRegex)}}]),e}();function er(e,t){var r=e.match(t);return r?r[1]:null}var ui=function(e){Q(r,e);var t=q(r);function r(a){return P(this,r),t.call(this,a)}return z(r,[{key:"search",value:function(i){var s=i===this.pattern;return{isMatch:s,score:s?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"exact"}},{key:"multiRegex",get:function(){return/^="(.*)"$/}},{key:"singleRegex",get:function(){return/^=(.*)$/}}]),r}(ee),hi=function(e){Q(r,e);var t=q(r);function r(a){return P(this,r),t.call(this,a)}return z(r,[{key:"search",value:function(i){var s=i.indexOf(this.pattern),o=s===-1;return{isMatch:o,score:o?0:1,indices:[0,i.length-1]}}}],[{key:"type",get:function(){return"inverse-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"$/}},{key:"singleRegex",get:function(){return/^!(.*)$/}}]),r}(ee),pi=function(e){Q(r,e);var t=q(r);function r(a){return P(this,r),t.call(this,a)}return z(r,[{key:"search",value:function(i){var s=i.startsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"prefix-exact"}},{key:"multiRegex",get:function(){return/^\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^\^(.*)$/}}]),r}(ee),fi=function(e){Q(r,e);var t=q(r);function r(a){return P(this,r),t.call(this,a)}return z(r,[{key:"search",value:function(i){var s=!i.startsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[0,i.length-1]}}}],[{key:"type",get:function(){return"inverse-prefix-exact"}},{key:"multiRegex",get:function(){return/^!\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^!\^(.*)$/}}]),r}(ee),gi=function(e){Q(r,e);var t=q(r);function r(a){return P(this,r),t.call(this,a)}return z(r,[{key:"search",value:function(i){var s=i.endsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[i.length-this.pattern.length,i.length-1]}}}],[{key:"type",get:function(){return"suffix-exact"}},{key:"multiRegex",get:function(){return/^"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^(.*)\$$/}}]),r}(ee),mi=function(e){Q(r,e);var t=q(r);function r(a){return P(this,r),t.call(this,a)}return z(r,[{key:"search",value:function(i){var s=!i.endsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[0,i.length-1]}}}],[{key:"type",get:function(){return"inverse-suffix-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^!(.*)\$$/}}]),r}(ee),cr=function(e){Q(r,e);var t=q(r);function r(a){var i,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=s.location,n=o===void 0?D.location:o,l=s.threshold,c=l===void 0?D.threshold:l,d=s.distance,p=d===void 0?D.distance:d,u=s.includeMatches,g=u===void 0?D.includeMatches:u,f=s.findAllMatches,k=f===void 0?D.findAllMatches:f,m=s.minMatchCharLength,B=m===void 0?D.minMatchCharLength:m,h=s.isCaseSensitive,C=h===void 0?D.isCaseSensitive:h,v=s.ignoreLocation,A=v===void 0?D.ignoreLocation:v;return P(this,r),i=t.call(this,a),i._bitapSearch=new lr(a,{location:n,threshold:c,distance:p,includeMatches:g,findAllMatches:k,minMatchCharLength:B,isCaseSensitive:C,ignoreLocation:A}),i}return z(r,[{key:"search",value:function(i){return this._bitapSearch.searchIn(i)}}],[{key:"type",get:function(){return"fuzzy"}},{key:"multiRegex",get:function(){return/^"(.*)"$/}},{key:"singleRegex",get:function(){return/^(.*)$/}}]),r}(ee),dr=function(e){Q(r,e);var t=q(r);function r(a){return P(this,r),t.call(this,a)}return z(r,[{key:"search",value:function(i){for(var s=0,o,n=[],l=this.pattern.length;(o=i.indexOf(this.pattern,s))>-1;)s=o+l,n.push([o,s-1]);var c=!!n.length;return{isMatch:c,score:c?0:1,indices:n}}}],[{key:"type",get:function(){return"include"}},{key:"multiRegex",get:function(){return/^'"(.*)"$/}},{key:"singleRegex",get:function(){return/^'(.*)$/}}]),r}(ee),je=[ui,dr,pi,fi,mi,gi,hi,cr],tr=je.length,yi=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,ki="|";function vi(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e.split(ki).map(function(r){for(var a=r.trim().split(yi).filter(function(f){return f&&!!f.trim()}),i=[],s=0,o=a.length;s<o;s+=1){for(var n=a[s],l=!1,c=-1;!l&&++c<tr;){var d=je[c],p=d.isMultiMatch(n);p&&(i.push(new d(p,t)),l=!0)}if(!l)for(c=-1;++c<tr;){var u=je[c],g=u.isSingleMatch(n);if(g){i.push(new u(g,t));break}}}return i})}var bi=new Set([cr.type,dr.type]),Ai=function(){function e(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=r.isCaseSensitive,i=a===void 0?D.isCaseSensitive:a,s=r.includeMatches,o=s===void 0?D.includeMatches:s,n=r.minMatchCharLength,l=n===void 0?D.minMatchCharLength:n,c=r.ignoreLocation,d=c===void 0?D.ignoreLocation:c,p=r.findAllMatches,u=p===void 0?D.findAllMatches:p,g=r.location,f=g===void 0?D.location:g,k=r.threshold,m=k===void 0?D.threshold:k,B=r.distance,h=B===void 0?D.distance:B;P(this,e),this.query=null,this.options={isCaseSensitive:i,includeMatches:o,minMatchCharLength:l,findAllMatches:u,ignoreLocation:d,location:f,threshold:m,distance:h},this.pattern=i?t:t.toLowerCase(),this.query=vi(this.pattern,this.options)}return z(e,[{key:"searchIn",value:function(r){var a=this.query;if(!a)return{isMatch:!1,score:1};var i=this.options,s=i.includeMatches,o=i.isCaseSensitive;r=o?r:r.toLowerCase();for(var n=0,l=[],c=0,d=0,p=a.length;d<p;d+=1){var u=a[d];l.length=0,n=0;for(var g=0,f=u.length;g<f;g+=1){var k=u[g],m=k.search(r),B=m.isMatch,h=m.indices,C=m.score;if(B){if(n+=1,c+=C,s){var v=k.constructor.type;bi.has(v)?l=[].concat(ae(l),ae(h)):l.push(h)}}else{c=0,n=0,l.length=0;break}}if(n){var A={isMatch:!0,score:c/n};return s&&(A.indices=l),A}}return{isMatch:!1,score:1}}}],[{key:"condition",value:function(r,a){return a.useExtendedSearch}}]),e}(),be=[];function Di(){be.push.apply(be,arguments)}function Ve(e,t){for(var r=0,a=be.length;r<a;r+=1){var i=be[r];if(i.condition(e,t))return new i(e,t)}return new lr(e,t)}var Ae={AND:"$and",OR:"$or"},Je={PATH:"$path",PATTERN:"$val"},Ue=function(t){return!!(t[Ae.AND]||t[Ae.OR])},Bi=function(t){return!!t[Je.PATH]},Ci=function(t){return!U(t)&&ir(t)&&!Ue(t)},rr=function(t){return Ge({},Ae.AND,Object.keys(t).map(function(r){return Ge({},r,t[r])}))};function ur(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=r.auto,i=a===void 0?!0:a,s=function o(n){var l=Object.keys(n),c=Bi(n);if(!c&&l.length>1&&!Ue(n))return o(rr(n));if(Ci(n)){var d=c?n[Je.PATH]:l[0],p=c?n[Je.PATTERN]:n[d];if(!V(p))throw new Error(Ya(d));var u={keyId:$e(d),pattern:p};return i&&(u.searcher=Ve(p,t)),u}var g={children:[],operator:l[0]};return l.forEach(function(f){var k=n[f];U(k)&&k.forEach(function(m){g.children.push(o(m))})}),g};return Ue(e)||(e=rr(e)),s(e)}function Mi(e,t){var r=t.ignoreFieldNorm,a=r===void 0?D.ignoreFieldNorm:r;e.forEach(function(i){var s=1;i.matches.forEach(function(o){var n=o.key,l=o.norm,c=o.score,d=n?n.weight:null;s*=Math.pow(c===0&&d?Number.EPSILON:c,(d||1)*(a?1:l))}),i.score=s})}function Fi(e,t){var r=e.matches;t.matches=[],_(r)&&r.forEach(function(a){if(!(!_(a.indices)||!a.indices.length)){var i=a.indices,s=a.value,o={indices:i,value:s};a.key&&(o.key=a.key.src),a.idx>-1&&(o.refIndex=a.idx),t.matches.push(o)}})}function Ei(e,t){t.score=e.score}function Ti(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=r.includeMatches,i=a===void 0?D.includeMatches:a,s=r.includeScore,o=s===void 0?D.includeScore:s,n=[];return i&&n.push(Fi),o&&n.push(Ei),e.map(function(l){var c=l.idx,d={item:t[c],refIndex:c};return n.length&&n.forEach(function(p){p(l,d)}),d})}var ne=function(){function e(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=arguments.length>2?arguments[2]:void 0;P(this,e),this.options=se(se({},D),r),this.options.useExtendedSearch,this._keyStore=new qa(this.options.keys),this.setCollection(t,a)}return z(e,[{key:"setCollection",value:function(r,a){if(this._docs=r,a&&!(a instanceof Ye))throw new Error(Ua);this._myIndex=a||or(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}},{key:"add",value:function(r){_(r)&&(this._docs.push(r),this._myIndex.add(r))}},{key:"remove",value:function(){for(var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(){return!1},a=[],i=0,s=this._docs.length;i<s;i+=1){var o=this._docs[i];r(o,i)&&(this.removeAt(i),i-=1,s-=1,a.push(o))}return a}},{key:"removeAt",value:function(r){this._docs.splice(r,1),this._myIndex.removeAt(r)}},{key:"getIndex",value:function(){return this._myIndex}},{key:"search",value:function(r){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=a.limit,s=i===void 0?-1:i,o=this.options,n=o.includeMatches,l=o.includeScore,c=o.shouldSort,d=o.sortFn,p=o.ignoreFieldNorm,u=V(r)?V(this._docs[0])?this._searchStringList(r):this._searchObjectList(r):this._searchLogical(r);return Mi(u,{ignoreFieldNorm:p}),c&&u.sort(d),ar(s)&&s>-1&&(u=u.slice(0,s)),Ti(u,this._docs,{includeMatches:n,includeScore:l})}},{key:"_searchStringList",value:function(r){var a=Ve(r,this.options),i=this._myIndex.records,s=[];return i.forEach(function(o){var n=o.v,l=o.i,c=o.n;if(_(n)){var d=a.searchIn(n),p=d.isMatch,u=d.score,g=d.indices;p&&s.push({item:n,idx:l,matches:[{score:u,value:n,norm:c,indices:g}]})}}),s}},{key:"_searchLogical",value:function(r){var a=this,i=ur(r,this.options),s=function c(d,p,u){if(!d.children){var g=d.keyId,f=d.searcher,k=a._findMatches({key:a._keyStore.get(g),value:a._myIndex.getValueForItemAtKeyId(p,g),searcher:f});return k&&k.length?[{idx:u,item:p,matches:k}]:[]}for(var m=[],B=0,h=d.children.length;B<h;B+=1){var C=d.children[B],v=c(C,p,u);if(v.length)m.push.apply(m,ae(v));else if(d.operator===Ae.AND)return[]}return m},o=this._myIndex.records,n={},l=[];return o.forEach(function(c){var d=c.$,p=c.i;if(_(d)){var u=s(i,d,p);u.length&&(n[p]||(n[p]={idx:p,item:d,matches:[]},l.push(n[p])),u.forEach(function(g){var f,k=g.matches;(f=n[p].matches).push.apply(f,ae(k))}))}}),l}},{key:"_searchObjectList",value:function(r){var a=this,i=Ve(r,this.options),s=this._myIndex,o=s.keys,n=s.records,l=[];return n.forEach(function(c){var d=c.$,p=c.i;if(_(d)){var u=[];o.forEach(function(g,f){u.push.apply(u,ae(a._findMatches({key:g,value:d[f],searcher:i})))}),u.length&&l.push({idx:p,item:d,matches:u})}}),l}},{key:"_findMatches",value:function(r){var a=r.key,i=r.value,s=r.searcher;if(!_(i))return[];var o=[];if(U(i))i.forEach(function(g){var f=g.v,k=g.i,m=g.n;if(_(f)){var B=s.searchIn(f),h=B.isMatch,C=B.score,v=B.indices;h&&o.push({score:C,key:a,value:f,idx:k,norm:m,indices:v})}});else{var n=i.v,l=i.n,c=s.searchIn(n),d=c.isMatch,p=c.score,u=c.indices;d&&o.push({score:p,key:a,value:n,norm:l,indices:u})}return o}}]),e}();ne.version="6.6.2";ne.createIndex=or;ne.parseIndex=oi;ne.config=D;ne.parseQuery=ur;Di(Ai);var Si=ne;hr.exports=Si});var bs={};ea(bs,{PUNCTUATION:()=>F,abbreviations:()=>Qe,availableExclusions:()=>_r,availableModifiers:()=>Or,clashBannedCards:()=>Xe,clashLegalCards:()=>xi,clashSpecializationOverrides:()=>Ze,default:()=>Kr,filterCard:()=>Wr,filtersToCardPropertyMappings:()=>Re,getAbbreviation:()=>Be,getAbbreviationByCard:()=>Ri,getCardByName:()=>ct,getCleanText:()=>dt,getExcludedMetaFilters:()=>et,getKeywordsAndAppliedFiltersFromText:()=>lt,getMetaFilters:()=>qe,getNormalizedText:()=>pe,getRelatedCards:()=>ft,getRelatedCardsByName:()=>Le,getTokensReferencedByCards:()=>vs,multiWordShorthands:()=>rt,shorthands:()=>tt,singleWordShorthands:()=>at});module.exports=ta(bs);var H=X(Z()),ut=X(pr());var De=X(Z()),Xe=["Amulet of Ice","Ball Lightning","Belittle","Drone of Brutality","Duskblade","Rosetta Thorn","Stubby Hammerers"],xi=[],Ze=[{heroes:[De.Hero.Briar],cardIdentifiers:["rosetta-thorn"]},{heroes:[De.Hero.Emperor],cardIdentifiers:["command-and-conquer-red"]},{heroes:[De.Hero.Prism],cardIdentifiers:["figment-of-erudition-yellow","figment-of-judgment-yellow","figment-of-protection-yellow","figment-of-ravages-yellow","figment-of-rebirth-yellow","figment-of-tenacity-yellow","figment-of-triumph-yellow","figment-of-war-yellow"]}];var F=/[!"#$%&'’(),./:;<=>?@[\]^_`|~]/g;var b=X(Z());var Be=e=>Qe.find(({abbreviations:t})=>t.find(r=>r.toLowerCase()===e)),Ri=e=>Qe.find(({card:t})=>t.toLowerCase()===e.name.toLowerCase()),Qe=[{abbreviations:["10k"],card:"10,000 Year Reunion"},{abbreviations:["Pajamas","PJs"],card:"Alluvion Constellas"},{abbreviations:["Slippy","Arakni, Slipped Through the Cracks"],card:"Arakni, 5L!p3d 7hRu 7h3 cR4X"},{abbreviations:["Dullcap"],card:"Arcanite Skullcap"},{abbreviations:["ALS"],card:"Arc Light Sentinel"},{abbreviations:["AoW"],card:"Art of War"},{abbreviations:["BBD"],card:"Barraging Beatdown"},{abbreviations:["BBS"],card:"Big Blue Sky"},{abbreviations:["Starvo"],card:"Bravo, Star of the Show"},{abbreviations:["BEB"],card:"Bull's Eye Bracers"},{abbreviations:["BLW"],card:"Be Like Water"},{abbreviations:["BoJ"],card:"Balance of Justice"},{abbreviations:["BOHH"],card:"Blood on Her Hands"},{abbreviations:["BRB"],card:"Bloodrush Bellow"},{abbreviations:["Breezies"],card:"Breeze Rider Boots"},{abbreviations:["BTA"],card:"Burn Them All"},{abbreviations:["CStrike","C-Strike","C Strike"],card:"Celestial Cataclysm"},{abbreviations:["CBelly"],card:"Cerebellum Processor"},{abbreviations:["CLF"],card:"Channel Lake Frigid"},{abbreviations:["CLV"],card:"Channel Lightning Valley"},{abbreviations:["CMH"],card:"Channel Mount Heroic"},{abbreviations:["CMT"],card:"Channel the Millennium Tree"},{abbreviations:["CnC","C&C"],card:"Command and Conquer"},{abbreviations:["CYB"],card:"Count Your Blessings"},{abbreviations:["Cat","Kitty"],card:"Crouching Tiger"},{abbreviations:["CoD"],card:"Crown of Dominion"},{abbreviations:["CoP"],card:"Crown of Providence"},{abbreviations:["CtW"],card:"Crush the Weak"},{abbreviations:["DD"],card:"Death Dealer"},{abbreviations:["DnD"],card:"Devotion Never Dies"},{abbreviations:["DIO"],card:"Dash I/O"},{abbreviations:["EBTT"],card:"Even Bigger Than That!"},{abbreviations:["NewNigma"],card:"Enigma, New Moon"},{abbreviations:["EPot","E Pot"],card:"Energy Potion"},{abbreviations:["EStrike","E-Strike","E Strike"],card:"Enlightened Strike"},{abbreviations:["FFS"],card:"Fyendal's Fighting Spirit"},{abbreviations:["FoN"],card:"Force of Nature"},{abbreviations:["Frosty","\u{1F976}","\u{1F9CA}","\u2744\uFE0F"],card:"Frostbite"},{abbreviations:["Yum yum"],card:"Fruits of the Forest"},{abbreviations:["GnT"],card:"Give and Take"},{abbreviations:["Habibi"],card:"Hanabi Blaster"},{abbreviations:["HMH"],card:"Hope Merchant's Hood"},{abbreviations:["HoI"],card:"Heart of Ice"},{abbreviations:["Pumpkin"],card:"Jack-o'-lantern"},{abbreviations:["KKBB"],card:"Knick Knack Bric-a-brac"},{abbreviations:["BStrike"],card:"Levels of Enlightenment"},{abbreviations:["LAG","Twominaris"],card:"Luminaris, Angel's Glow"},{abbreviations:["LCF","Newminaris"],card:"Luminaris, Celestial Fury"},{abbreviations:["LDE"],card:"Last Ditch Effort"},{abbreviations:["LtC"],card:"Lead the Charge"},{abbreviations:["LNW"],card:"Leave No Witnesses"},{abbreviations:["LFaL","L4aL"],card:"Life for a Life"},{abbreviations:["LiT"],card:"Lost in Thought"},{abbreviations:["MMB"],card:"Mage Master Boots"},{abbreviations:["MaxV"],card:"Maximum Velocity"},{abbreviations:["MoM"],card:"Mask of Momentum"},{abbreviations:["MnG"],card:"Meat and Greet"},{abbreviations:["Cake","\u{1F382}"],card:"Ninth Blade of the Blood Oath"},{abbreviations:["PoM"],card:"Peace of Mind"},{abbreviations:["PF","\u{1F525}"],card:"Phoenix Flame"},{abbreviations:["PtW"],card:"Poison the Well"},{abbreviations:["Thanos","Infinity Gauntlet"],card:"Polarity Reversal Script"},{abbreviations:["DPot","D Pot"],card:"Potion of D\xE9j\xE0 Vu"},{abbreviations:["Ponder Run"],card:"Premeditate"},{abbreviations:["Qi Unbound"],card:"Qi Unleashed"},{abbreviations:["RitL"],card:"Red in the Ledger"},{abbreviations:["Cats","Ghost cat","Ghost cats"],card:"Restless Coalescence"},{abbreviations:["SSGB"],card:"Sandscour Greatbow"},{abbreviations:["SSP"],card:"Sand Sketched Plan"},{abbreviations:["SFaS","S4aS"],card:"Scar for a Scar"},{abbreviations:["SWOMB"],card:"Shifting Winds of the Mystic Beast"},{abbreviations:["SWK"],card:"Spinning Wheel Kick"},{abbreviations:["SFTL"],card:"Swing Fist, Think Later"},{abbreviations:["TTT"],card:"Take the Tempo"},{abbreviations:["Ultron"],card:"Teklovossen, the Mechropotent"},{abbreviations:["ToS"],card:"Test of Strength"},{abbreviations:["TAYG"],card:"That All You Got?"},{abbreviations:["TROM"],card:"This Round's on Me"},{abbreviations:["3oak"],card:"Three of a Kind"},{abbreviations:["Pox Malone","Post Malone"],card:"Virulent Touch"},{abbreviations:["Cast Homes"],card:"Visit Goldmane Estate"},{abbreviations:["Frosty Hammer"],card:"Winter's Wail"},{abbreviations:["Wreckless Wing"],card:"War Cry of Bellona"},{abbreviations:["ZTS"],card:"Zero to Sixty"}];var N=X(Z());var Ee=Array.from(Array(50).keys()).map(e=>`${e}`),Li=[{format:N.Format.BlitzLivingLegend,nicknames:["blitz ll"]},{format:N.Format.ClassicConstructed,nicknames:["cc","classic"]},{format:N.Format.ClassicConstructedLivingLegend,nicknames:["cc ll","classic constructed ll","ll cc","ll","living legend"]},{format:N.Format.UltimatePitFight,nicknames:["upf"]}],Ii=Object.values(N.Format).map(e=>{let t=Li.find(({format:a})=>a===e),r=e.toLowerCase().replaceAll(F,"");return t?j($({},t),{format:r}):{format:r}}),wi=[{hero:N.Hero.DataDoll,nicknames:["data","datadoll"]},{hero:N.Hero.Dorinthea,nicknames:["dori"]},{hero:N.Hero.Genis,nicknames:["genis"]},{hero:N.Hero.Iyslander,nicknames:["islander"]}],Pi=Object.values(N.Hero).map(e=>{let t=wi.find(({hero:a})=>a===e),r=e.toLowerCase().replaceAll(F,"");return t?j($({},t),{hero:r}):{hero:r}}),Ce=["common","rare","super rare","majestic","legendary","fabled"],zi=(e,t,r)=>{let a=[];if(!t)a.push(...e);else for(let i of e)switch(t){case">=":let s=!1;for(let c of Ce)s?a.push(c):c===i&&(s=!0,a.push(c));break;case">":let o=!1;for(let c of Ce)o?a.push(c):c===i&&(o=!0);break;case"<=":let n=!1;for(let c of Ce.slice().reverse())n?a.push(c):c===i&&(n=!0,a.push(c));break;case"<":let l=!1;for(let c of Ce.slice().reverse())l?a.push(c):c===i&&(l=!0);break;default:break}return{filterToPropertyMapping:{property:"rarities",isArray:!0},isOr:!0,values:a,excluded:r}},Ni=(e,t)=>{let r=[],a=[],i=[];for(let s of e){let o=Ii.find(({format:n,nicknames:l})=>n===s||!!l&&l.includes(s));if(o)a.push(o.format);else{let n=Pi.find(({hero:l,nicknames:c})=>l===s||!!c&&c.includes(s));n&&i.push(n.hero)}}return a.length>0&&r.push({filterToPropertyMapping:{property:"legalFormats",isArray:!0},values:a,isOr:!0,excluded:t}),i.length>0&&r.push({filterToPropertyMapping:{property:"legalHeroes",isArray:!0},values:i,isOr:!0,excluded:t}),r},qe=(e,t,r,a)=>{let i=[];return Hi(t)?i.push(...Ni(r,e)):Ki(t)&&i.push(zi(r,a,e)),i},oe=[{filterToPropertyMapping:{property:"cost",isNumber:!0},values:Ee,excluded:!0},{filterToPropertyMapping:{property:"specialCost",isString:!0,partialMatch:!0},values:["*","x"],excluded:!0},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["equipment","hero","placeholder","token","weapon"],excluded:!0}],J=[{filterToPropertyMapping:{property:"defense",isNumber:!0},values:Ee,excluded:!0},{filterToPropertyMapping:{property:"specialDefense",isString:!0,partialMatch:!0},values:["*","x"],excluded:!0},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["hero","placeholder","token","weapon"],excluded:!0}],Me=[{filterToPropertyMapping:{property:"pitch",isNumber:!0},excluded:!0,values:Ee},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["equipment","hero","placeholder","token","weapon"],excluded:!0},{filterToPropertyMapping:{property:"isCardBack",isBoolean:!0},values:["true"],excluded:!0}],te=[{filterToPropertyMapping:{property:"power",isNumber:!0},excluded:!0,values:Ee},{filterToPropertyMapping:{property:"specialPower",isString:!0,partialMatch:!0},values:["*","x"],excluded:!0},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["equipment","hero","placeholder","token"],excluded:!0}],Fe=[{filterToPropertyMapping:{property:"talents",isArray:!0},excluded:!0,values:Object.values(N.Talent).map(e=>e.toLowerCase())}],Oi={"!co":oe,"-co":oe,"!cost":oe,"-cost":oe,"!color":oe,"-color":oe,"!b":J,"-b":J,"!block":J,"-block":J,"!d":J,"-d":J,"!def":J,"-def":J,"!defense":J,"-defense":J,"!pitch":Me,"-pitch":Me,"!p":Me,"-p":Me,"!attack":te,"-attack":te,"!power":te,"-power":te,"!pwr":te,"-pwr":te,"!pow":te,"-pow":te,"!talents":Fe,"-talents":Fe,"!tal":Fe,"-tal":Fe},et=e=>{let t=[],r=Oi[e];return r&&t.push(...r),t},_i=["l","legal","hero"],Hi=e=>_i.includes(e),Gi=["r","rarity"],Ki=e=>Gi.includes(e);var tt=[{description:"Attack actions",filters:["st:attack"],shorthands:["AA"]},{description:"Arcane barrier",filters:['k:"arcane barrier"'],shorthands:["AB"]},{description:"Attack reactions",filters:['t:"attack reaction"'],shorthands:["AR"]},{description:"Defense reactions",filters:['t:"defense reaction"'],shorthands:["DR"]},{description:"Flick daggers",filters:["dagger you control deal 1 damage"],shorthands:["Flick","Hurl","Throw"]},{description:"Gain life",filters:["gain {h}"],shorthands:["Gain life","Gains life"]},{description:"Go again",filters:['k:"go again"'],shorthands:["GA"]},{description:"Non-attack actions",filters:["t:action","st:non-attack"],shorthands:["NAA"]},{description:"Plus defense",filters:["+ {d}"],shorthands:["Pump defense","Pumps defense","Buff defense","Buffs defense"]},{description:"Plus power",filters:["+ {p}"],shorthands:["Pumps","Pump","Buff","Buffs","Pump attack","Pump attacks","Pumps attack","Pumps attacks","Buff attack","Buff attacks","Buffs attack","Buffs attacks","Pump power","Pumps power","Buff power","Buffs power"]},{description:"Poppers",filters:["!c:illusionist","st:attack","pwr:>=6","def:>=0"],helper:'6+ power non-Illusionist attacks that can "pop" phantasm attacks when defending',shorthands:["Poppers","Popper"]},{description:"Spellvoid",filters:['k:"spellvoid"'],shorthands:["SV"]}],rt=tt.filter(({shorthands:e})=>e.some(t=>t.includes(" "))).map(e=>j($({},e),{shorthands:e.shorthands.filter(t=>t.includes(" ")).map(t=>t.toLowerCase()).sort((t,r)=>r.length-t.length)})),at=tt.filter(({shorthands:e})=>e.some(t=>!t.includes(" "))).map(e=>j($({},e),{shorthands:e.shorthands.filter(t=>!t.includes(" ")).map(t=>t.toLowerCase()).sort((t,r)=>r.length-t.length)}));var Or=[">=",">","<=","<"],_r=["!","-"],Wi={property:"arcane",specialProperty:"specialArcane",isNumber:!0,partialMatch:!0},it={property:"artists",isArray:!0,partialMatch:!0},fr={property:"bannedFormats",isArray:!0,partialMatch:!0},gr={property:"bonds",isArray:!0},$i={property:"n/a"},mr={property:"classes",isArray:!0,partialMatch:!0},yr={property:"cost",specialProperty:"specialCost",isNumber:!0,partialMatch:!0},he={property:"defense",specialProperty:"specialDefense",isNumber:!0},kr={property:"flows",isArray:!0},vr={nestedProperty:"foiling",property:"printings",isArray:!0},br={property:"fusions",isArray:!0},Ar={property:"intellect",isNumber:!0},Dr={property:"keywords",isArray:!0,partialMatch:!0},st={property:"n/a",isMeta:!0},Br={property:"life",specialProperty:"specialLife",isNumber:!0},Cr={property:"meta",isArray:!0},Mr={property:"name",isString:!0,partialMatch:!0},nt={property:"pitch",isNumber:!0},Te={property:"power",specialProperty:"specialPower",isNumber:!0},Fr={property:"n/a",isMeta:!0},ji={property:"n/a"},Vi={property:"n/a"},Er={property:"sets",isArray:!0,partialMatch:!0},Se={property:"specializations",isArray:!0,partialMatch:!0},Tr={property:"subtypes",isArray:!0},Sr={property:"types",isArray:!0},xr={property:"talents",isArray:!0},Ji={property:"functionalText",isString:!0,partialMatch:!0},Ui={property:"traits",isArray:!0,partialMatch:!0},Yi={property:"typeText",isString:!0,partialMatch:!0},xe={nestedProperty:"treatment",property:"printings",isArray:!0},Re={arcane:Wi,a:it,artist:it,art:it,attack:Te,b:he,block:he,banned:fr,bond:gr,bonds:gr,c:mr,class:mr,chain:$i,co:yr,cost:yr,color:nt,d:he,def:he,defense:he,flow:kr,flows:kr,f:br,fusion:br,foil:vr,foiling:vr,i:Ar,intellect:Ar,is:Cr,k:Dr,keyword:Dr,l:st,legal:st,hero:st,li:Br,life:Br,meta:Cr,n:Mr,name:Mr,p:nt,pitch:nt,pwr:Te,pow:Te,power:Te,r:Fr,rarity:Fr,referencedby:ji,references:Vi,rf:fr,s:Er,set:Er,sp:Se,spec:Se,specialization:Se,specializations:Se,st:Tr,subtype:Tr,t:Sr,type:Sr,tal:xr,talent:xr,text:Ji,trait:Ui,treat:xe,treatment:xe,var:xe,variation:xe,x:Yi},Xi=[{text:b.Release.ClassicBattlesRhinarDorinthea.toLowerCase(),override:b.Release.ClassicBattlesRhinarDorinthea.toLowerCase().replaceAll(F,"")}],Zi=e=>{var i;let t=[],r=e.replaceAll("\u201D",'"');for(let{text:s,override:o}of Xi)r.includes(s)&&(r=r.replace(s,o));if((i=Be(r))==null?void 0:i.card)t.push(r);else{let s=r.split(/[ ]+/),o="",n=0;for(let l of s)n===2&&(t.push(o.trim().replaceAll('"',"")),o="",n=0),n<2&&l.split('"').length===2?(o+=" "+l,n++):n===0&&o===""?t.push(l):n===1&&(o+=" "+l);n===2&&(t.push(o.trim().replaceAll('"',"")),o="",n=0)}return t},Qi=[b.Hero.Briar,b.Hero.Brutus,b.Hero.Emperor,b.Hero.Prism,b.Hero.Shiyana,b.Hero.Taylor,b.Hero.Yorick],lt=(e,t)=>{var g;let r=e.trim().toLowerCase();for(let{filters:f,shorthands:k}of rt)for(let m of k)if(r.includes(m)){r=r.replace(m,f.join(" "));break}for(let[f,k]of Object.entries(b.setToSetIdentifierMappings))r.includes(f.toLowerCase())&&(r=r.replace(f.toLowerCase(),k[0]));let a=Zi(r),i=[];for(let f of a){let k=at.find(({shorthands:m})=>m.includes(f));k?i.push(...k.filters):i.push(f)}let s=[],o=[],n=[],l=[],c=!1,d=[],p=[],u={isClash:!1,heroes:[]};for(let f of i)if(ls(f)){let[k,m]=f.split(":"),{modifier:B,values:h,isAnd:C,isOr:v}=ns(m),{filterKey:A,excluded:E,isMeta:R}=os(k);if(R){if(["rarity","r"].includes(A)&&(h=ss(h)),["legal","l","hero"].includes(A)){for(let y of Qi)m.includes(y.toLowerCase())&&(u.heroes.includes(y)||u.heroes.push(y));m.includes("clash")&&(u.isClash=!0)}s.push(...qe(E,A,h,B))}else{if(["chain"].includes(A)){let y=T=>T.name.toLowerCase().replaceAll(F,""),M=h.map(T=>ct(T,t)).filter(T=>!!T).map(y),S=new Set(M);A="name",v=!0;let w=20,x=0,I=T=>{if(!T.types.includes(b.Type.Hero)){let G=y(T);S.add(G),M.includes(G)||M.push(G)}};for(let T of M){if(x>w)break;let{referencedBy:G,references:O}=Le(T,t);O.forEach(I),x===0&&G.forEach(I),x++}h=Array.from(S)}else if(["referencedby","references"].includes(A)){let y=A,M=[...h].filter(S=>!!S);h=[],A="name",v=!0;for(let S of M){let{referencedBy:w,references:x}=Le(S,t);["referencedby"].includes(y)?h.push(...x.map(({name:I})=>I.toLowerCase().replaceAll(F,""))):["references"].includes(y)&&h.push(...w.map(({name:I})=>I.toLowerCase().replaceAll(F,"")))}}else if(["art","artist"].includes(A))o=h;else if(["is","is","meta"].includes(A)){let y=rs(h);h=y.map(M=>M.toLowerCase().replaceAll(F,"")),y.includes(b.Meta.Expansion)&&!E&&(c=!0)}else["foiling","foil"].includes(A)?(l=as(h),h=l.map(y=>y.toLowerCase())):["treat","treatment","var","variation"].includes(A)?(p=is(h),h=p.map(y=>y.toLowerCase())):["set","s"].includes(A)?(d=qi(h),h=d.map(y=>y.toLowerCase().replaceAll(F,""))):["pitch","p","color"].includes(A)&&(h=ts(h));Re[A]&&s.push({filterToPropertyMapping:Re[A],values:h,isAnd:C,isOr:v,modifier:B,excluded:E})}}else if(f){let k=(g=Be(f))==null?void 0:g.card,m=et(f);k?n.push(`"${k.toLowerCase().replace(F,"")}"`):m&&m.length>0?s.push(...m):n.push(f.replace(F,""))}return{appliedFilters:s,attributes:{artists:o,foilings:l,isExpansionSlot:c,releases:d,treatments:p},keywords:n,specialConditions:u}},qi=e=>{let t=[];for(let r of e)t.push(...es(r));return t},es=e=>{let t=[],r=Object.values(b.Release).find(a=>a.toLowerCase().replaceAll(F,"")===e);if(r&&t.push(r),t.length===0){let a=b.setIdentifierToSetMappings[e];a&&t.push(a)}if(t.length===0){let a=Object.values(b.Release).filter(i=>i.toLowerCase().includes(e));a.length>0&&t.push(...a)}return t},ot={blue:3,yellow:2,red:1,white:0},ts=e=>{let t=[];for(let r of e)ot[r]||ot[r]===0?t.push(ot[r].toString()):t.push(r);return t},Rr={exp:b.Meta.Expansion,expansion:b.Meta.Expansion,expansionSlot:b.Meta.Expansion,rainbow:b.Meta.Rainbow},rs=e=>{let t=[];for(let r of e)Rr[r]&&t.push(Rr[r]);return t},Lr={r:b.Foiling.R,rf:b.Foiling.R,rainbow:b.Foiling.R,c:b.Foiling.C,cf:b.Foiling.C,cold:b.Foiling.C,g:b.Foiling.G,gf:b.Foiling.G,gold:b.Foiling.G},as=e=>{let t=[];for(let r of e)Lr[r]&&t.push(Lr[r]);return t},Ir=j($({},Object.values(b.Treatment).reduce((e,t)=>(e[t.toLowerCase()]=t,e),{})),{aa:b.Treatment.AA,alt:b.Treatment.AA,"alt art":b.Treatment.AA,ab:b.Treatment.AB,"alt border":b.Treatment.AB,at:b.Treatment.AT,"alt text":b.Treatment.AT,ea:b.Treatment.EA,extended:b.Treatment.EA,"extended art":b.Treatment.EA,fa:b.Treatment.FA,full:b.Treatment.FA,"full art":b.Treatment.FA}),is=e=>{let t=[];for(let r of e)Ir[r]?t.push(Ir[r]):b.Treatment[r.toUpperCase()]&&t.push(b.Treatment[r.toUpperCase()]);return t},wr={c:"common",f:"fabled",l:"legendary",m:"majestic",v:"marvel",r:"rare",s:"super rare",t:"token"},ss=e=>{let t=[];for(let r of e)wr[r]?t.push(wr[r]):t.push(r);return t},ns=e=>{let t=[],r,a,i=Or.find(s=>e.includes(s));if(i){let[,s]=e.split(i);Pr(s)?(r=!0,t.push(...s.trim().split("+").map(o=>o.replace(F,"")))):zr(s)?(a=!0,t.push(...s.trim().split(",").map(o=>o.replace(F,"")))):t.push(s.trim().replace(F,""))}else Pr(e)?(r=!0,t.push(...e.trim().split("+").map(s=>s.replace(F,"")))):zr(e)?(a=!0,t.push(...e.trim().split(",").map(s=>s.replace(F,"")))):e.startsWith('"')&&e.endsWith('"')?t.push(e.trim().replaceAll('"',"").replace(F,"")):t.push(e.trim().replace(F,""));return{modifier:i,values:t,isAnd:r,isOr:a}},os=e=>{let t=cs(e);if(t){let[,r]=e.split(t);return{excluded:!0,filterKey:r,isMeta:Nr(r)}}else return{excluded:!1,filterKey:e,isMeta:Nr(e)}},ls=e=>e.indexOf(":")>=0,Pr=e=>e.indexOf("+")>=0,zr=e=>e.indexOf(",")>=0,Nr=e=>{var t;return!!((t=Re[e])!=null&&t.isMeta)},cs=e=>{var t;return(t=_r.find(r=>e.includes(r)))==null?void 0:t.slice(0,1)};var L=X(Z()),Hr={artists:["Hoodwill"],cardIdentifier:"fangs-a-lot-blue",classes:[L.Class.Generic],defaultImage:"FNG000",functionalText:"If Fangs A Lot is put into your banished zone from your graveyard, instead put it into your hand.",legalFormats:[],legalHeroes:[L.Hero.Kayo,L.Hero.Levia,L.Hero.Rhinar],printings:[{artists:["Hoodwill"],identifier:"FNG000",image:"FNG000",print:"FNG000",set:L.Release.Promos},{artists:["Hoodwill"],identifier:"FNG000",image:"FNG000_Marvel",print:`FNG000-${L.Treatment.FA}`,set:L.Release.Promos,treatment:L.Treatment.FA}],name:"Fangs A Lot",rarities:[L.Rarity.Rare],rarity:L.Rarity.Rare,sets:[L.Release.Promos],setIdentifiers:["FNG000"],specialImage:"FNG000_Marvel",subtypes:[L.Subtype.Attack],types:[L.Type.Action],typeText:"Generic Action - Attack"},Gr=[{keyword:Hr.name.toLowerCase(),card:Hr}];var ct=(e,t)=>{let r=t.find(a=>dt(a.name)===e);return r||(r=t.find(a=>dt(a.name).includes(e))),r},dt=e=>pe(e.toLowerCase().trim().replace(F,"")),pe=e=>e.normalize("NFD").replace(new RegExp("\\p{Diacritic}","gu"),"");var ht=class{constructor(t,r=!1){this.log=(t,...r)=>{this.debug&&console.log(t,...r)};this.search=(t,r)=>{let a,{appliedFilters:i,attributes:s,keywords:o,specialConditions:n}=lt(t,this.cards),l=o.join(" "),c=r?Gr.filter(h=>h.keyword===l):[];if(c.length>0?a=c.map(({card:h})=>h):o.length?a=this.fuse.search(l).map(h=>h.item):a=[...this.cards],i.length&&(a=a.filter(h=>h&&Wr(h,i,n))),o.length===0){let h="";if(s.releases.length===1)try{let C=s.releases[0];h=H.setToSetIdentifierMappings[C][0].toUpperCase()}catch(C){console.error("Error getting set identifier from search",C)}h?a.sort((C,v)=>{var R,y;let A=(R=C.setIdentifiers.find(M=>M.includes(h)))==null?void 0:R.replace(h,""),E=(y=v.setIdentifiers.find(M=>M.includes(h)))==null?void 0:y.replace(h,"");return A&&E?A.localeCompare(E):-1}):a.sort((C,v)=>C.name===v.name?`${C.pitch}`.localeCompare(`${v.pitch}`):C.name.localeCompare(v.name))}else{let h=[],C=[],v=o.map(A=>A.toLowerCase().replace(F,"")).join(" ");for(let A of a)A.name.toLowerCase().replace(F,"")===v?h.push(A):C.push(A);a=[...h,...C]}let d,{artists:p,isExpansionSlot:u,foilings:g,releases:f,treatments:k}=s;(p.length>0||u||g.length>0||f.length>0||k.length>0)&&(d=a.map(h=>{let C=h.printings.filter(v=>{let A=!!v.image,E=p.length===0||p.some(x=>v.artists.find(I=>I.replace(F,"").toLowerCase().includes(x))),R=(u||void 0)===v.isExpansionSlot,y=g.length===0||g.includes(v.foiling),M=f.length===0||f.includes(v.set),S=k.length===0||k.includes(v.treatment);return A&&E&&R&&y&&M&&S});return j($({},h),{matchingPrintings:C})}));let B=(d==null?void 0:d.length)>0?d:a;return{appliedFilters:i,attributes:s,keywords:o,searchResults:B}};let a={getFn:(i,s)=>{let o=ut.default.config.getFn(i,s);return o&&(Array.isArray(o)?o.map(n=>pe(n.replace(F,""))):pe(o).replace(F,""))},ignoreLocation:!0,includeScore:!0,keys:[{name:"name",weight:10},{name:"functionalText",weight:6},{name:"setIdentifiers",weight:2},{name:"traits",weight:4},{name:"typeText",weight:6}],threshold:.15,useExtendedSearch:!0};this.cards=[...t],this.debug=r,this.fuse=new ut.default([...t],a)}},Kr=ht,Wr=(e,t,r)=>{let a=!0;for(let i of t){let{isNumber:s,isString:o,isArray:n,isBoolean:l,property:c}=i.filterToPropertyMapping;if((s&&!ds(e,i)||o&&!us(e,i)||n&&!hs(e,i)||l&&!ps(e,i))&&(a=!1),r.isClash&&["rarities","bannedFormats","legalFormats"].includes(c)){let p=[H.Rarity.SuperRare,H.Rarity.Majestic,H.Rarity.Legendary,H.Rarity.Fabled].some(m=>e.rarities.includes(m)),u=!1;for(let{cardIdentifiers:m,heroes:B}of Ze)for(let h of r.heroes)B.includes(h)&&m.includes(e.cardIdentifier)&&(u=!0);let g=!!e.specializations&&e.specializations.length>0||u,f=[H.Type.Mentor,H.Type.Weapon].some(m=>e.types.includes(m)),k=Xe.includes(e.name);!a&&!k&&(g||f)&&p&&(a=!0),k&&(a=!1)}if(r.isClash&&r.heroes.includes(H.Hero.Briar)&&e.name==="Rosetta Thorn"&&(a=!0),!a)break}return a},ds=(e,t)=>{var r;if(Ie(t,e)){let{values:a,modifier:i,excluded:s,filterToPropertyMapping:{partialMatch:o}}=t,n=pt(e,t);if(n!=null&&!isNaN(n))if(n=parseInt(n),i)switch(i){case">=":let l=a==null?void 0:a.some(u=>n>=parseInt(u));return s?!l:l;case">":let c=a==null?void 0:a.some(u=>n>parseInt(u));return s?!c:c;case"<=":let d=a==null?void 0:a.some(u=>n<=parseInt(u));return s?!d:d;case"<":let p=a==null?void 0:a.some(u=>n<parseInt(u));return s?!p:p;default:return!1}else{let l=a==null?void 0:a.some(c=>n===parseInt(c));return s?!l:l}else{let l=(r=gs(e,t))==null?void 0:r.toLowerCase(),c=o?a==null?void 0:a.some(d=>l==null?void 0:l.includes(d)):a==null?void 0:a.some(d=>l===d);return s?!c:c}}else return!0},us=(e,t)=>{var r;if(Ie(t,e)){let{values:a,isAnd:i,excluded:s,filterToPropertyMapping:{partialMatch:o}}=t,n=(r=pt(e,t))==null?void 0:r.replaceAll(F,"");if(o){let l=i?a==null?void 0:a.every(c=>n==null?void 0:n.toLowerCase().includes(c)):a==null?void 0:a.some(c=>n==null?void 0:n.toLowerCase().includes(c));return s?!l:l}else{let l=i?a==null?void 0:a.every(c=>(n==null?void 0:n.toLowerCase())===c):a==null?void 0:a.some(c=>(n==null?void 0:n.toLowerCase())===c);return s?!l:l}}else return!0},hs=(e,t)=>{if(Ie(t,e)){let{values:r,isAnd:a,excluded:i,filterToPropertyMapping:{partialMatch:s}}=t,o=fs(e,t).map(n=>n==null?void 0:n.replaceAll(F,""));if(s){let n=a?r.every(c=>o==null?void 0:o.some(d=>d==null?void 0:d.toLowerCase().includes(c))):r.some(c=>o==null?void 0:o.some(d=>d==null?void 0:d.toLowerCase().includes(c))),l=o.length===0;return i?!n||l:n}else{let n=a?r.every(l=>o==null?void 0:o.some(c=>(c==null?void 0:c.toLowerCase())===l)):r.some(l=>o==null?void 0:o.some(c=>(c==null?void 0:c.toLowerCase())===l));return i?!n:n}}else return!0},ps=(e,t)=>{if(Ie(t,e)){let{excluded:r}=t,a=pt(e,t);return r?!a:a}else return!0},pt=(e,t)=>{let{filterToPropertyMapping:r}=t;return e[r.property]},fs=(e,t)=>{let{filterToPropertyMapping:{nestedProperty:r,property:a}}=t,i=e[a]||[];return r?i.map(s=>s[r]).filter(s=>!!s):i},gs=(e,t)=>{let{filterToPropertyMapping:r}=t;return e[r.specialProperty]},Ie=({cardTypes:e},{types:t,subtypes:r})=>!e||(e==null?void 0:e.some(a=>t.map(i=>i.toLowerCase()).includes(a.toLowerCase())||r.map(i=>i.toLowerCase()).includes(a.toLowerCase())));var le=X(Z());var fe=X(Z()),ms={"Dawnblade, Resplendent":"Dawnblade"},$r=e=>ms[e.name]||e.name,jr=e=>{var t;return(t=e.functionalText)==null?void 0:t.replaceAll(e.name,"")},Le=(e,t)=>{let r=t.find(a=>a.name.toLowerCase().replace(F,"")===e);return r||(r=t.find(a=>a.name.toLowerCase().replace(F,"").includes(e))),ft(r,t)},ft=(e,t)=>{var s,o,n,l,c;let r=[],a=[],i=[];if(e){let d=[],p=[],u=$r(e);for(let g of t){let f=$r(g),k=u===f,m=e.cardIdentifier!==g.cardIdentifier,B=e.pitch!==g.pitch;if(k&&m&&B)r.push(g);else if(!k){let h=e.name==="Seismic Surge",C=(s=g.keywords)==null?void 0:s.includes(fe.Keyword.Heave),v=h&&C,A=e.name==="Marked",E=(o=g.keywords)==null?void 0:o.includes(fe.Keyword.Mark),R=A&&E,y=jr(g),M=(y==null?void 0:y.includes(u))||((n=e.traits)==null?void 0:n.some(ce=>y==null?void 0:y.includes(ce))),S=jr(e);(M||v||R)&&d.push(g);let w=g.traits||[],x=(S==null?void 0:S.includes(f))||w.some(ce=>S==null?void 0:S.includes(ce)),I=g.name==="Seismic Surge",T=(l=e.keywords)==null?void 0:l.includes(fe.Keyword.Heave),G=I&&T,O=g.name==="Marked",Y=(c=e.keywords)==null?void 0:c.includes(fe.Keyword.Mark);(x||G||O&&Y)&&p.push(g)}}for(let g of d)a.push(g);for(let g of p){let f=g.name;u!==f&&!p.some(k=>{let m=k.name;return m!==f&&(m==null?void 0:m.includes(f))})&&i.push(g)}}return{otherPitches:r,referencedBy:a,references:i}},ys=["cash-in-yellow"],ks={[le.Hero.Crackni]:{traits:[le.Trait.AgentOfChaos]},[le.Hero.Maxx]:{tokens:["hyper-driver"]}},vs=(e,t,r)=>{var i,s;let a=new Set;for(let o of e.filter(({cardIdentifier:n})=>!ys.includes(n))){let{references:n}=ft(o,t);for(let l of n.filter(c=>{let d=c.name==="Hyper Driver",p=r===le.Hero.Maxx;return!d||p}))a.add(l)}if(r){let o=ks[r];if(o){if(o.cards)for(let n of e)(i=o.cards)!=null&&i.includes(n.cardIdentifier)&&a.add(n);if(o.tokens)for(let n of t)(s=o.tokens)!=null&&s.includes(n.cardIdentifier)&&a.add(n)}}return Array.from(a)};0&&(module.exports={PUNCTUATION,abbreviations,availableExclusions,availableModifiers,clashBannedCards,clashLegalCards,clashSpecializationOverrides,filterCard,filtersToCardPropertyMappings,getAbbreviation,getAbbreviationByCard,getCardByName,getCleanText,getExcludedMetaFilters,getKeywordsAndAppliedFiltersFromText,getMetaFilters,getNormalizedText,getRelatedCards,getRelatedCardsByName,getTokensReferencedByCards,multiWordShorthands,shorthands,singleWordShorthands});
|
|
1
|
+
var Jr=Object.create;var de=Object.defineProperty,Ur=Object.defineProperties,Yr=Object.getOwnPropertyDescriptor,Xr=Object.getOwnPropertyDescriptors,Zr=Object.getOwnPropertyNames,kt=Object.getOwnPropertySymbols,Qr=Object.getPrototypeOf,bt=Object.prototype.hasOwnProperty,qr=Object.prototype.propertyIsEnumerable;var vt=(e,t,r)=>t in e?de(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,j=(e,t)=>{for(var r in t||(t={}))bt.call(t,r)&&vt(e,r,t[r]);if(kt)for(var r of kt(t))qr.call(t,r)&&vt(e,r,t[r]);return e},V=(e,t)=>Ur(e,Xr(t));var At=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ea=(e,t)=>{for(var r in t)de(e,r,{get:t[r],enumerable:!0})},Dt=(e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Zr(t))!bt.call(e,i)&&i!==r&&de(e,i,{get:()=>t[i],enumerable:!(a=Yr(t,i))||a.enumerable});return e};var X=(e,t,r)=>(r=e!=null?Jr(Qr(e)):{},Dt(t||!e||!e.__esModule?de(r,"default",{value:e,enumerable:!0}):r,e)),ta=e=>Dt(de({},"__esModule",{value:!0}),e);var Z=At((Ds,Yt)=>{var me=Object.defineProperty,ra=Object.defineProperties,aa=Object.getOwnPropertyDescriptor,ia=Object.getOwnPropertyDescriptors,sa=Object.getOwnPropertyNames,Bt=Object.getOwnPropertySymbols,Mt=Object.prototype.hasOwnProperty,na=Object.prototype.propertyIsEnumerable,Ct=(e,t,r)=>t in e?me(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,oa=(e,t)=>{for(var r in t||(t={}))Mt.call(t,r)&&Ct(e,r,t[r]);if(Bt)for(var r of Bt(t))na.call(t,r)&&Ct(e,r,t[r]);return e},la=(e,t)=>ra(e,ia(t)),ca=(e,t)=>{for(var r in t)me(e,r,{get:t[r],enumerable:!0})},da=(e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of sa(t))!Mt.call(e,i)&&i!==r&&me(e,i,{get:()=>t[i],enumerable:!(a=aa(t,i))||a.enumerable});return e},ua=e=>da(me({},"__esModule",{value:!0}),e),Ft={};ca(Ft,{Bond:()=>Rt,Class:()=>Tt,Flow:()=>xt,Foiling:()=>Et,Format:()=>Lt,Fusion:()=>It,Hero:()=>Wt,Keyword:()=>$t,Language:()=>Vt,Meta:()=>Pt,Metatype:()=>Ht,Rarity:()=>wt,Release:()=>zt,ReleaseEdition:()=>Nt,ReleaseType:()=>Jt,Subtype:()=>Kt,Talent:()=>Ot,Trait:()=>_t,Treatment:()=>St,Type:()=>Gt,coreSetIdentifiers:()=>Da,fullSetIdentifiers:()=>Oe,getCanAddToDeck:()=>fa,getCanCardBeTokenForDeck:()=>pa,getCardIdentifier:()=>ha,getDefaultPrinting:()=>Pa,getIsArenaCard:()=>jt,getIsBooster:()=>ya,getIsCardTokenForDeck:()=>ye,getIsDeckCard:()=>Ne,getIsDraftable:()=>va,getIsPreconstructed:()=>Aa,getIsReprint:()=>ka,getPrint:()=>Ta,getShouldRotateCardImage:()=>ga,getSpecialPrinting:()=>Ia,orderedFullSetBlackBorderIdentifiers:()=>Ra,promoSetIdentifiers:()=>Ca,releases:()=>Ma,setIdentifierToSetMappings:()=>Ut,setToSetIdentifierMappings:()=>Fa,supplementalSetIdentifiers:()=>Ba});Yt.exports=ua(Ft);var Et=(e=>(e.C="Cold",e.G="Gold",e.R="Rainbow",e))(Et||{}),St=(e=>(e.AB="Alternate Border",e.AA="Alternate Art",e.AT="Alternate Text",e.EA="Extended Art",e.FA="Full Art",e))(St||{}),Tt=(e=>(e.NotClassed="NotClassed",e.Generic="Generic",e.Adjudicator="Adjudicator",e.Assassin="Assassin",e.Bard="Bard",e.Brute="Brute",e.Guardian="Guardian",e.Illusionist="Illusionist",e.Mechanologist="Mechanologist",e.Merchant="Merchant",e.Ninja="Ninja",e.Ranger="Ranger",e.Runeblade="Runeblade",e.Shapeshifter="Shapeshifter",e.Warrior="Warrior",e.Wizard="Wizard",e))(Tt||{}),Rt=(e=>(e.Earth="Earth",e))(Rt||{}),xt=(e=>(e.Lightning="Lightning",e))(xt||{}),Lt=(e=>(e.Blitz="Blitz",e.BlitzLivingLegend="Blitz (Living Legend)",e.Clash="Clash",e.ClassicConstructed="Classic Constructed",e.ClassicConstructedLivingLegend="Classic Constructed (Living Legend)",e.Commoner="Commoner",e.Draft="Draft",e.Open="Open",e.Sealed="Sealed",e.UltimatePitFight="Ultimate Pit Fight",e))(Lt||{}),It=(e=>(e.Earth="Earth",e.Ice="Ice",e.Lightning="Lightning",e))(It||{}),wt=(e=>(e.Token="Token",e.Common="Common",e.Rare="Rare",e.SuperRare="Super Rare",e.Majestic="Majestic",e.Marvel="Marvel",e.Legendary="Legendary",e.Fabled="Fabled",e.Promo="Promo",e))(wt||{}),Pt=(e=>(e.Expansion="Expansion slot",e.Rainbow="Rainbow",e))(Pt||{}),zt=(e=>(e.ArcaneRising="Arcane Rising",e.BrightLights="Bright Lights",e.CrucibleOfWar="Crucible of War",e.DuskTillDawn="Dusk till Dawn",e.Dynasty="Dynasty",e.Everfest="Everfest",e.HeavyHitters="Heavy Hitters",e.HistoryPack1="History Pack 1",e.Monarch="Monarch",e.Outsiders="Outsiders",e.PartTheMistveil="Part the Mistveil",e.Rosetta="Rosetta",e.TalesOfAria="Tales of Aria",e.TheHunted="The Hunted",e.Uprising="Uprising",e.WelcomeToRathe="Welcome to Rathe",e.ArmoryDeckAzalea="Armory Deck: Azalea",e.ArmoryDeckBoltyn="Armory Deck: Boltyn",e.ArmoryDeckDash="Armory Deck: Dash",e.ArmoryDeckKayo="Armory Deck: Kayo",e.ArmoryDeckOriginsJarl="Armory Deck Origins: Jarl",e.ArmoryDeckAurora="Armory Deck: Aurora",e.ArakniBlitzDeck="Arakni Blitz Deck",e.ArakniBlitzDeckARK="Arakni Hunted Blitz Deck",e.AuroraBlitzDeck="Aurora Blitz Deck",e.AzaleaBlitzDeck="Azalea Blitz Deck",e.BenjiBlitzDeck="Benji Blitz Deck",e.BetsyBlitzDeck="Betsy Blitz Deck",e.BoltynBlitzDeck="Boltyn Blitz Deck",e.BriarBlitzDeck="Briar Blitz Deck",e.ChaneBlitzDeck="Chane Blitz Deck",e.DromaiBlitzDeck="Dromai Blitz Deck",e.EnigmaBlitzDeck="Enigma Blitz Deck",e.FaiBlitzDeck="Fai Blitz Deck",e.FlorianBlitzDeck="Florian Blitz Deck",e.KassaiBlitzDeck="Kassai Blitz Deck",e.KatsuBlitzDeck="Katsu Blitz Deck",e.KayoBlitzDeck="Kayo Blitz Deck",e.LeviaBlitzDeck="Levia Blitz Deck",e.LexiBlitzDeck="Lexi Blitz Deck",e.NuuBlitzDeck="Nuu Blitz Deck",e.OldhimBlitzDeck="Oldhim Blitz Deck",e.OlympiaBlitzDeck="Olympia Blitz Deck",e.OscilioBlitzDeck="Oscilio Blitz Deck",e.PrismBlitzDeck="Prism Blitz Deck",e.RhinarBlitzDeck="Rhinar Blitz Deck",e.RiptideBlitzDeck="Riptide Blitz Deck",e.UzuriBlitzDeck="Uzuri Blitz Deck",e.VerdanceBlitzDeck="Verdance Blitz Deck",e.VictorBlitzDeck="Victor Blitz Deck",e.ZenBlitzDeck="Zen Blitz Deck",e.FirstStrikeAurora="1st Strike: Aurora",e.FirstStrikeTerra="1st Strike: Terra",e.BravoHeroDeck="Bravo Hero Deck",e.DorintheaHeroDeck="Dorinthea Hero Deck",e.KatsuHeroDeck="Katsu Hero Deck",e.RhinarHeroDeck="Rhinar Hero Deck",e.ClassicBattlesRhinarDorinthea="Classic Battles: Rhinar vs Dorinthea",e.IraWelcomeDeck="Ira Welcome Deck",e.RoundTheTable="Round the Table: TCC x LSS",e.GEM="GEM",e.Promos="Promos",e))(zt||{}),Nt=(e=>(e.Alpha="Alpha",e.First="First",e.Unlimited="Unlimited",e.Promo="Promo",e))(Nt||{}),Ot=(e=>(e.Chaos="Chaos",e.Draconic="Draconic",e.Earth="Earth",e.Elemental="Elemental",e.Ice="Ice",e.Light="Light",e.Lightning="Lightning",e.Mystic="Mystic",e.Royal="Royal",e.Shadow="Shadow",e))(Ot||{}),_t=(e=>(e.AgentOfChaos="Agent of Chaos",e))(_t||{}),Ht=(e=>(e.Arakni="Arakni",e.Rosetta="Rosetta",e))(Ht||{}),Gt=(e=>(e.Action="Action",e.AttackReaction="Attack Reaction",e.Block="Block",e.DefenseReaction="Defense Reaction",e.DemiHero="Demi-Hero",e.Equipment="Equipment",e.Hero="Hero",e.Instant="Instant",e.Macro="Macro",e.Mentor="Mentor",e.Resource="Resource",e.Token="Token",e.Weapon="Weapon",e))(Gt||{}),Kt=(e=>(e.OneHanded="1H",e.TwoHanded="2H",e.Affliction="Affliction",e.Ally="Ally",e.Angel="Angel",e.Arms="Arms",e.Arrow="Arrow",e.Ash="Ash",e.Attack="Attack",e.Aura="Aura",e.Axe="Axe",e.Base="Base",e.Book="Book",e.Bow="Bow",e.Chest="Chest",e.Chi="Chi",e.Claw="Claw",e.Club="Club",e.Construct="Construct",e.Dagger="Dagger",e.Demon="Demon",e.Dragon="Dragon",e.Evo="Evo",e.Fiddle="Fiddle",e.Figment="Figment",e.Flail="Flail",e.Gem="Gem",e.Gun="Gun",e.Hammer="Hammer",e.Head="Head",e.Invocation="Invocation",e.Item="Item",e.Landmark="Landmark",e.Lute="Lute",e.Legs="Legs",e.NonAttack="Non-Attack",e.OffHand="Off-Hand",e.Orb="Orb",e.Pistol="Pistol",e.Polearm="Polearm",e.Quiver="Quiver",e.Rock="Rock",e.Shuriken="Shuriken",e.Scepter="Scepter",e.Scroll="Scroll",e.Scythe="Scythe",e.Song="Song",e.Staff="Staff",e.Sword="Sword",e.Trap="Trap",e.Wrench="Wrench",e.Young="Young",e))(Kt||{}),Wt=(e=>(e.Arakni="Arakni",e.Aurora="Aurora",e.Azalea="Azalea",e.Benji="Benji",e.Betsy="Betsy",e.Blaze="Blaze",e.Boltyn="Boltyn",e.Bravo="Bravo",e.Brevant="Brevant",e.Briar="Briar",e.Brutus="Brutus",e.Chane="Chane",e.Cindra="Cindra",e.Crackni="Crackni",e.Dash="Dash",e.DataDoll="Data Doll",e.Dorinthea="Dorinthea",e.Dromai="Dromai",e.Emperor="Emperor",e.Enigma="Enigma",e.Fai="Fai",e.Fang="Fang",e.Florian="Florian",e.Genis="Genis",e.Ira="Ira",e.Iyslander="Iyslander",e.Jarl="Jarl",e.Kano="Kano",e.Kassai="Kassai",e.Katsu="Katsu",e.Kavdaen="Kavdaen",e.Kayo="Kayo",e.Levia="Levia",e.Lexi="Lexi",e.Maxx="Maxx",e.Melody="Melody",e.Nuu="Nuu",e.Oldhim="Oldhim",e.Olympia="Olympia",e.Oscilio="Oscilio",e.Prism="Prism",e.Rhinar="Rhinar",e.Riptide="Riptide",e.Ruudi="Ruu'di",e.Shiyana="Shiyana",e.Slippy="Slippy",e.Squizzy="Squizzy",e.Starvo="Starvo",e.Taipanis="Taipanis",e.Taylor="Taylor",e.Teklovossen="Teklovossen",e.Terra="Terra",e.Theryon="Theryon",e.Uzuri="Uzuri",e.Valda="Valda",e.Verdance="Verdance",e.Victor="Victor",e.Vynnset="Vynnset",e.Viserai="Viserai",e.Yorick="Yorick",e.Yoji="Yoji",e.Zen="Zen",e))(Wt||{}),$t=(e=>(e.Ambush="Ambush",e.Amp="Amp",e.ArcaneBarrier="Arcane Barrier",e.ArcaneShelter="Arcane Shelter",e.Awaken="Awaken",e.Battleworn="Battleworn",e.BeatChest="Beat Chest",e.BladeBreak="Blade Break",e.BloodDebt="Blood Debt",e.Boost="Boost",e.Bond="Bond",e.Channel="Channel",e.Charge="Charge",e.Clash="Clash",e.Cloaked="Cloaked",e.Combo="Combo",e.Contract="Contract",e.Crank="Crank",e.Crush="Crush",e.Decompose="Decompose",e.Dominate="Dominate",e.Ephemeral="Ephemeral",e.Essence="Essence",e.EvoUpgrade="Evo Upgrade",e.Flow="Flow",e.Freeze="Freeze",e.Fusion="Fusion",e.Galvanize="Galvanize",e.GoAgain="Go again",e.Guardwell="Guardwell",e.Heave="Heave",e.Heavy="Heavy",e.Intimidate="Intimidate",e.Legendary="Legendary",e.Mark="Mark",e.Material="Material",e.Meld="Meld",e.Modular="Modular",e.Mirage="Mirage",e.Negate="Negate",e.Opt="Opt",e.Overpower="Overpower",e.Pairs="Pairs",e.Piercing="Piercing",e.Phantasm="Phantasm",e.Protect="Protect",e.Quell="Quell",e.Reload="Reload",e.Reprise="Reprise",e.Retrieve="Retrieve",e.RuneGate="Rune Gate",e.Rupture="Rupture",e.Scrap="Scrap",e.Solflare="Solflare",e.Specialization="Specialization",e.Spectra="Spectra",e.Spellvoid="Spellvoid",e.Stealth="Stealth",e.Surge="Surge",e.Temper="Temper",e.Tower="Tower",e.Transform="Transform",e.Transcend="Transcend",e.Universal="Universal",e.Unfreeze="Unfreeze",e.Unity="Unity",e.Wager="Wager",e.Ward="Ward",e))($t||{}),ha=(e,t)=>{let{name:r,pitch:a}=e,i=r.toLowerCase().replace("//","-").normalize("NFD").replace(new RegExp("\\p{Diacritic}","gu"),"").replace(/ /g,"-").replace("\u0111","d").replace("\xED","i").replace(/[^a-z0-9 -]/g,"").replace(/--/,"-"),s="";switch(a){case"1":case 1:s=t?"-1":"-red";break;case"2":case 2:s=t?"-2":"-yellow";break;case"3":case 3:s=t?"-3":"-blue";break}return`${i}${s}`},jt=({keywords:e,traits:t,types:r})=>{let a=Ne({keywords:e,traits:t,types:r}),i=ye({keywords:e,traits:t,types:r}),s=["Demi-Hero","Equipment","Weapon"].some(o=>r.includes(o));return!a&&!i&&s},Ne=({keywords:e,traits:t,types:r})=>{let a=["Action","Attack Reaction","Block","Defense Reaction","Instant","Mentor","Resource"].some(s=>r.includes(s)),i=ye({keywords:e,traits:t,types:r});return a&&!i},ye=({keywords:e,traits:t,types:r})=>{let a=!!t&&(t==null?void 0:t.includes("Agent of Chaos")),i=!!e&&e.includes("Ephemeral"),s=["Macro","Token"].some(o=>r.includes(o));return a||i||s},pa=e=>{let t=e.cardIdentifier==="cracked-bauble-yellow",r=ye(e),a=e.isCardBack&&e.cardIdentifier!=="inner-chi-blue";return t||r||a},fa=({isCardBack:e,keywords:t,traits:r,types:a})=>{let i=jt({keywords:t,traits:r,types:a}),s=Ne({keywords:t,traits:r,types:a});return!e&&(i||s)},ga=e=>{var t,r;return((t=e.keywords)==null?void 0:t.includes("Meld"))||((r=e.subtypes)==null?void 0:r.includes("Landmark"))||!1},Vt=(e=>(e.English="English",e.French="Fran\xE7ais",e.German="Deutsch",e.Italian="Italiano",e.Japanese="\u65E5\u672C\u8A9E",e.Spanish="Espa\xF1ol",e))(Vt||{}),ue=["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],Jt=(e=>(e.ArmoryDeck="Armory Deck",e.BlitzDeck="Blitz Deck",e.ClassicBattles="Classic Battles",e.ExpansionBooster="Expansion Booster",e.FirstStrike="1st Strike",e.HistoryPack="History Pack",e.MasteryPack="Mastery Pack",e.RoundTheTable="Round the Table",e.StandaloneBooster="Standalone Booster",e.WelcomeDeck="Welcome Deck",e))(Jt||{}),ma=["Expansion Booster","Standalone Booster"],ya=e=>ma.includes(e),ka=e=>e==="History Pack",va=e=>e==="Standalone Booster",ba=["Armory Deck","Blitz Deck","Classic Battles","1st Strike","Round the Table","Welcome Deck"],Aa=e=>ba.includes(e),Da={wtr:"Welcome to Rathe",arc:"Arcane Rising",mon:"Monarch",ele:"Tales of Aria",upr:"Uprising",out:"Outsiders",evo:"Bright Lights",hvy:"Heavy Hitters",mst:"Part the Mistveil",ros:"Rosetta"},Ba={cru:"Crucible of War",evr:"Everfest","1hp":"History Pack 1",hp1:"History Pack 1",dyn:"Dynasty",dtd:"Dusk till Dawn"},Ca=["fab","her","jdg","lgs","lss","oxo","xxx","win"],Ma=[{cards:30,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01GJG7Z4WGWSZ95FY74KX4M557"}],heroes:["Ira"],languages:ue,release:"Ira Welcome Deck",relatedReleases:[],releaseDate:"2019-08-31 12:00",releaseType:"Welcome Deck",setIdentifiers:["ira"],talents:[]},{cards:226,classes:["Brute","Guardian","Ninja","Warrior"],deckLinks:[],heroes:["Bravo","Dorinthea","Katsu","Rhinar"],languages:["English"],release:"Welcome to Rathe",relatedReleases:[],releaseDate:"2019-10-11 12:00",releaseType:"Standalone Booster",setIdentifiers:["wtr"],talents:[]},{cards:219,classes:["Mechanologist","Ranger","Runeblade","Wizard"],deckLinks:[],heroes:["Azalea","Dash","Kano","Viserai"],languages:["English"],release:"Arcane Rising",relatedReleases:[],releaseDate:"2020-03-27 12:00",releaseType:"Standalone Booster",setIdentifiers:["arc"],talents:[]},{cards:194,classes:["Brute","Guardian","Mechanologist","Merchant","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Benji","Data Doll","Ira","Kassai","Kavdaen","Kayo","Shiyana"],languages:["English"],release:"Crucible of War",relatedReleases:[],releaseDate:"2020-08-28 12:00",releaseType:"Expansion Booster",setIdentifiers:["cru"],talents:[]},{cards:40,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01G7FD2B3YQAMR8NJ4B3M58H96"}],heroes:["Boltyn"],languages:["English"],release:"Boltyn Blitz Deck",relatedReleases:[],releaseDate:"2021-05-07 12:00",releaseType:"Blitz Deck",setIdentifiers:["bol"],talents:["Light"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01G7FDVRZP35DFWBRK64AG5TKQ"}],heroes:["Chane"],languages:["English"],release:"Chane Blitz Deck",relatedReleases:[],releaseDate:"2021-05-07 12:00",releaseType:"Blitz Deck",setIdentifiers:["chn"],talents:["Shadow"]},{cards:40,classes:["Brute"],languages:["English"],deckLinks:[{url:"https://fabrary.net/decks/01G7B1T1D1M2DAM61K876VJBDK"}],heroes:["Levia"],release:"Levia Blitz Deck",relatedReleases:[],releaseDate:"2021-05-07 12:00",releaseType:"Blitz Deck",setIdentifiers:["lev"],talents:["Shadow"]},{cards:40,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01G7FCP2N7N0MNHWAH6JTP0KFN"}],heroes:["Prism"],languages:["English"],relatedReleases:[],releaseDate:"2021-05-07 12:00",release:"Prism Blitz Deck",releaseType:"Blitz Deck",setIdentifiers:["psm"],talents:["Light"]},{cards:307,classes:["Brute","Illusionist","Runeblade","Warrior"],deckLinks:[],heroes:["Boltyn","Chane","Levia","Prism"],languages:["English"],release:"Monarch",relatedReleases:["Boltyn Blitz Deck","Chane Blitz Deck","Levia Blitz Deck","Prism Blitz Deck"],releaseDate:"2021-05-07 12:00",releaseType:"Standalone Booster",setIdentifiers:["mon"],talents:["Light","Shadow"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01G7K4D304QQCZZSBT7ABCX4XC"}],heroes:["Briar"],languages:["English"],release:"Briar Blitz Deck",relatedReleases:[],releaseDate:"2021-11-24 12:00",releaseType:"Blitz Deck",talents:["Elemental","Earth","Lightning"],setIdentifiers:["bri"]},{cards:40,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01G7K3WGPVKVDXG2J013GXSXNP"}],heroes:["Lexi"],languages:["English"],release:"Lexi Blitz Deck",relatedReleases:[],releaseDate:"2021-11-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["lxi"],talents:["Elemental","Ice","Lightning"]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01G7K464J7VS0K7HKW5E395TBK"}],heroes:["Oldhim"],languages:["English"],release:"Oldhim Blitz Deck",relatedReleases:[],releaseDate:"2021-11-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["old"],talents:["Elemental","Earth","Ice"]},{cards:238,classes:["Guardian","Ranger","Runeblade"],deckLinks:[],heroes:["Briar","Lexi","Oldhim"],languages:["English"],release:"Tales of Aria",relatedReleases:["Briar Blitz Deck","Lexi Blitz Deck","Oldhim Blitz Deck"],releaseDate:"2021-09-24 12:00",releaseType:"Standalone Booster",setIdentifiers:["ele"],talents:["Elemental","Earth","Ice","Lightning"]},{cards:198,classes:["Brute","Guardian","Illusionist","Mechanologist","Merchant","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Genis","Valda"],languages:["English"],release:"Everfest",relatedReleases:[],releaseDate:"2022-02-04 12:00",releaseType:"Expansion Booster",setIdentifiers:["evr"],talents:["Elemental","Earth","Ice","Lightning"]},{cards:423,classes:["Brute","Guardian","Mechanologist","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Azalea","Benji","Bravo","Dash","Data Doll","Dorinthea","Ira","Kassai","Katsu","Kayo","Rhinar","Viserai","Kano"],languages:["English"],release:"History Pack 1",relatedReleases:[],releaseDate:"2022-05-06 12:00",releaseType:"History Pack",setIdentifiers:["1hp","hp1"],talents:[]},{cards:80,classes:["Brute","Warrior"],deckLinks:[{name:"Dorinthea",url:"https://fabrary.net/decks/01GA4WTNSD12YTQB4FY8EYYNG5"},{name:"Rhinar",url:"https://fabrary.net/decks/01GA4WZKX9VEWKKPX7Y7H3MG1F"}],heroes:["Dorinthea","Rhinar"],languages:["English"],release:"Classic Battles: Rhinar vs Dorinthea",relatedReleases:[],releaseDate:"2022-05-27 12:00",releaseType:"Classic Battles",setIdentifiers:["dvr","rvd"],talents:[]},{cards:40,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01G76H1R1ERRBRKS7RVCQAB8RX"}],heroes:["Dromai"],languages:["English"],relatedReleases:[],releaseDate:"2022-06-24 12:00",release:"Dromai Blitz Deck",releaseType:"Blitz Deck",setIdentifiers:["dro"],talents:["Draconic"]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01G76H7RG7GN5ZA10F3BJBH740"}],heroes:["Fai"],languages:["English"],release:"Fai Blitz Deck",relatedReleases:[],releaseDate:"2022-06-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["fai"],talents:["Draconic"]},{cards:226,classes:["Illusionist","Ninja","Wizard"],deckLinks:[],heroes:["Dromai","Fai","Iyslander"],languages:["English"],release:"Uprising",relatedReleases:["Dromai Blitz Deck","Fai Blitz Deck"],releaseDate:"2022-06-24 12:00",releaseType:"Standalone Booster",setIdentifiers:["upr"],talents:["Draconic","Elemental","Ice"]},{cards:247,classes:["Assassin","Brute","Guardian","Illusionist","Mechanologist","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Arakni","Emperor","Yoji"],languages:["English"],release:"Dynasty",relatedReleases:[],releaseDate:"2022-11-11 12:00",releaseType:"Expansion Booster",setIdentifiers:["dyn"],talents:["Royal"]},{cards:40,classes:["Assassin"],deckLinks:[{url:"https://fabrary.net/decks/01GW25PNWBW2FPDHRNTPSET0GT"}],heroes:["Arakni"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Arakni Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["ara"],talents:[]},{cards:40,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01GW26RNH1Q1J0S1VFXPN609S2"}],heroes:["Azalea"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Azalea Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["azl"],talents:[]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01GW28622XSVAK7H9RXZVAVKM0"}],heroes:["Benji"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Benji Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["ben"],talents:[]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01GW28TF5FXFKJ5CGRNXB84CG6"}],heroes:["Katsu"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Katsu Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["kat"],talents:[]},{cards:40,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01GW29DPNZ3XVBJQHHFQHHHDGN"}],heroes:["Riptide"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Riptide Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["rip"],talents:[]},{cards:40,classes:["Assassin"],deckLinks:[{url:"https://fabrary.net/decks/01GW2945GHPH2YSX3FTS7HCBT1"}],heroes:["Uzuri"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Uzuri Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["uzu"],talents:[]},{cards:239,classes:["Assassin","Ranger","Ninja"],deckLinks:[],heroes:["Arakni","Azalea","Benji","Katsu","Riptide","Uzuri"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Outsiders",relatedReleases:["Arakni Blitz Deck","Azalea Blitz Deck","Benji Blitz Deck","Katsu Blitz Deck","Riptide Blitz Deck","Uzuri Blitz Deck"],releaseDate:"2023-03-24 12:00",releaseType:"Standalone Booster",setIdentifiers:["out"],talents:[]},{cards:236,classes:["Illusionist","Runeblade","Warrior","Brute"],deckLinks:[],heroes:["Prism","Vynnset","Boltyn","Levia"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Dusk till Dawn",relatedReleases:[],releaseDate:"2023-07-14 12:00",releaseType:"Expansion Booster",setIdentifiers:["dtd"],talents:["Light","Shadow"]},{cards:107,classes:["Mechanologist","Bard","Guardian","Ninja"],deckLinks:[{name:"Brevant",url:"https://fabrary.net/decks/01HAXKPFH7ZHPDEJZH967VNRW6"},{name:"Ira",url:"https://fabrary.net/decks/01HAXKZMTRN4FR7CFTQA11A70N"},{name:"Melody",url:"https://fabrary.net/decks/01HAXKSFPXGCEH99PDZJ32V4N9"},{name:"Teklovossen",url:"https://fabrary.net/decks/01HAXKZMTRN4FR7CFTQA11A70N"}],heroes:["Teklovossen","Melody","Brevant","Ira"],languages:["English"],release:"Round the Table: TCC x LSS",relatedReleases:[],releaseDate:"2023-09-29 12:00",releaseType:"Round the Table",talents:[],setIdentifiers:["tcc"]},{cards:251,classes:["Mechanologist"],deckLinks:[],heroes:["Dash","Maxx","Teklovossen"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],raritiesExcludedInLimited:["Legendary","Fabled"],release:"Bright Lights",relatedReleases:[],releaseDate:"2023-10-06 12:00",releaseType:"Standalone Booster",setIdentifiers:["evo"],talents:[]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01HN3J1X1NQ9TB9RTVWV42JG46"}],heroes:["Betsy"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Betsy Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["bet"],talents:[]},{cards:40,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01HN3SHBEQBRECYK6ZN1CHRADR"}],heroes:["Kassai"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Kassai Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["ksi"],talents:[]},{cards:40,classes:["Brute"],deckLinks:[{url:"https://fabrary.net/decks/01HN3HK89NA910SK3FQV84H46Z"}],heroes:["Kayo"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Kayo Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["kyo"],talents:[]},{cards:40,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01HN3GP5ZJ1NRC0XBYNE45XQE8"}],heroes:["Olympia"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Olympia Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["ola"],talents:[]},{cards:40,classes:["Brute"],deckLinks:[{url:"https://fabrary.net/decks/01HN3Q4GBDMEFSX98HEN9ET308"}],heroes:["Rhinar"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Rhinar Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["rhi"],talents:[]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01HN3K8ZV7KBRRJKPHW4B13J1K"}],heroes:["Victor"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Victor Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["vic"],talents:[]},{cards:255,classes:["Brute","Guardian","Warrior"],deckLinks:[],heroes:["Kassai","Betsy","Kayo","Olympia","Rhinar","Victor"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],raritiesExcludedInLimited:["Legendary","Fabled"],release:"Heavy Hitters",relatedReleases:["Betsy Blitz Deck","Kassai Blitz Deck","Kayo Blitz Deck","Olympia Blitz Deck","Rhinar Blitz Deck","Victor Blitz Deck"],releaseDate:"2024-02-02 12:00",releaseType:"Standalone Booster",setIdentifiers:["hvy"],talents:[]},{cards:66,classes:["Brute"],deckLinks:[{url:"https://fabrary.net/decks/01HWNCK2BYPVKK6701052YYXMZ"}],heroes:["Kayo"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Kayo",relatedReleases:[],releaseDate:"2024-05-03 12:00",releaseType:"Armory Deck",setIdentifiers:["ako"],talents:[]},{cards:40,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01HX5Z23X2PRQCJ100FP4CAZGK"}],heroes:["Enigma"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Enigma Blitz Deck",relatedReleases:[],releaseDate:"2024-05-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["eng"],talents:["Mystic"]},{cards:40,classes:["Assassin"],deckLinks:[{url:"https://fabrary.net/decks/01HX5Z4BD3TRMS3CP1ME4ZP3T6"}],heroes:["Nuu"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Nuu Blitz Deck",relatedReleases:[],releaseDate:"2024-05-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["nuu"],talents:["Mystic"]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01HX5Z395FD35CM24QCJQKJER1"}],heroes:["Zen"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Zen Blitz Deck",relatedReleases:[],releaseDate:"2024-05-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["zen"],talents:["Mystic"]},{cards:239,classes:["Assassin","Illusionist","Ninja"],deckLinks:[],heroes:["Enigma","Nuu","Zen"],languages:ue,raritiesExcludedInLimited:["Legendary","Fabled"],release:"Part the Mistveil",relatedReleases:["Enigma Blitz Deck","Nuu Blitz Deck","Zen Blitz Deck"],releaseDate:"2024-05-31 12:00",releaseType:"Standalone Booster",setIdentifiers:["mst"],talents:["Mystic"]},{cards:66,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01J202NH0RG8S0V8WXH1FWB2AH"}],heroes:["Boltyn"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Boltyn",relatedReleases:[],releaseDate:"2024-07-12 12:00",releaseType:"Armory Deck",setIdentifiers:["asb"],talents:["Light"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01J45SYSM2ZERW6CWY283ZAT1S"}],heroes:["Aurora"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"1st Strike: Aurora",relatedReleases:[],releaseDate:"2024-08-01 12:00",releaseType:"1st Strike",setIdentifiers:["aur"],talents:["Lightning"]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01J45SWXNDV5XD8PTBACAV8NZ1"}],heroes:["Terra"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"1st Strike: Terra",relatedReleases:[],releaseDate:"2024-08-01 12:00",releaseType:"1st Strike",setIdentifiers:["ter"],talents:["Earth"]},{cards:66,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01J3GKKSTM773CW7BG3RRJ5FJH"}],heroes:["Azalea"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Azalea",relatedReleases:[],releaseDate:"2024-08-02 12:00",releaseType:"Armory Deck",setIdentifiers:["aaz"],talents:[]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01J68KF1TFNN62TC0G7M993FTY"}],heroes:["Aurora"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Aurora Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["aua"],talents:["Lightning"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01J68KFRMJFKRQYJJ7THG1GMTB"}],heroes:["Florian"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Florian Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["flr"],talents:["Earth"]},{cards:40,classes:["Wizard"],deckLinks:[{url:"https://fabrary.net/decks/01J68KGA3JVKFHEXGKYW0441CY"}],heroes:["Oscilio"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Oscilio Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["osc"],talents:["Lightning"]},{cards:40,classes:["Wizard"],deckLinks:[{url:"https://fabrary.net/decks/01J68KGT3XD3HMVVRFT174QNMF"}],heroes:["Verdance"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Verdance Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["ver"],talents:["Earth"]},{cards:258,classes:["Runeblade","Wizard"],deckLinks:[],heroes:["Aurora","Florian","Oscilio","Verdance"],languages:ue,raritiesExcludedInLimited:["Legendary","Fabled"],release:"Rosetta",relatedReleases:["Aurora Blitz Deck","Florian Blitz Deck","Oscilio Blitz Deck","Verdance Blitz Deck"],releaseDate:"2024-09-20 12:00",releaseType:"Standalone Booster",setIdentifiers:["ros"],talents:["Elemental","Earth","Lightning"]},{cards:66,classes:["Mechanologist"],deckLinks:[{url:"https://fabrary.net/decks/01J9822H5PANJAFQVMC4TPK4Z1"}],heroes:["Dash"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Dash",relatedReleases:[],releaseDate:"2024-10-18 12:00",releaseType:"Armory Deck",setIdentifiers:["aio"],talents:[]},{cards:30,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01JCPPENK52DTRBJZMWQF8S0X2"}],heroes:["Jarl"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck Origins: Jarl",relatedReleases:[],releaseDate:"2024-11-29 12:00",releaseType:"Armory Deck",setIdentifiers:["ajv"],talents:["Elemental","Earth","Ice"]},{cards:40,classes:["Assassin"],deckLinks:[],heroes:["Arakni"],languages:ue,release:"Arakni Hunted Blitz Deck",relatedReleases:[],releaseDate:"2025-01-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["ark"],talents:["Chaos"]},{cards:265,classes:["Assassin","Ninja","Warrior"],deckLinks:[],heroes:["Arakni","Cindra","Fang"],heroOverrides:{Arakni:"Crackni"},languages:ue,raritiesExcludedInLimited:["Legendary","Fabled"],release:"The Hunted",relatedReleases:[],releaseDate:"2025-01-31 12:00",releaseType:"Standalone Booster",setIdentifiers:["hnt"],talents:["Chaos","Draconic","Royal"],url:"https://fabtcg.com/en/articles/hnt/"},{cards:30,classes:["Runeblade"],deckLinks:[],heroes:["Aurora"],languages:["English","Fran\xE7ais","\u65E5\u672C\u8A9E"],release:"Armory Deck: Aurora",relatedReleases:[],releaseDate:"2025-03-14 12:00",releaseType:"Armory Deck",setIdentifiers:["ast"],talents:["Elemental","Lightning"]}],Oe={wtr:"Welcome to Rathe",arc:"Arcane Rising",cru:"Crucible of War",mon:"Monarch",ele:"Tales of Aria",evr:"Everfest","1hp":"History Pack 1",hp1:"History Pack 1",upr:"Uprising",dyn:"Dynasty",out:"Outsiders",dtd:"Dusk till Dawn",evo:"Bright Lights",hvy:"Heavy Hitters",mst:"Part the Mistveil",ros:"Rosetta",hnt:"The Hunted"},Ut=la(oa({},Oe),{aaz:"Armory Deck: Azalea",asb:"Armory Deck: Boltyn",aio:"Armory Deck: Dash",ako:"Armory Deck: Kayo",ajv:"Armory Deck Origins: Jarl",ast:"Armory Deck: Aurora",ara:"Arakni Blitz Deck",ark:"Arakni Hunted Blitz Deck",aua:"Aurora Blitz Deck",azl:"Azalea Blitz Deck",ben:"Benji Blitz Deck",bet:"Betsy Blitz Deck",bol:"Boltyn Blitz Deck",bri:"Briar Blitz Deck",chn:"Chane Blitz Deck",dro:"Dromai Blitz Deck",eng:"Enigma Blitz Deck",fai:"Fai Blitz Deck",flr:"Florian Blitz Deck",kat:"Katsu Blitz Deck",ksi:"Kassai Blitz Deck",kyo:"Kayo Blitz Deck",lev:"Levia Blitz Deck",lxi:"Lexi Blitz Deck",nuu:"Nuu Blitz Deck",old:"Oldhim Blitz Deck",ola:"Olympia Blitz Deck",osc:"Oscilio Blitz Deck",psm:"Prism Blitz Deck",rip:"Riptide Blitz Deck",rhi:"Rhinar Blitz Deck",uzu:"Uzuri Blitz Deck",ver:"Verdance Blitz Deck",vic:"Victor Blitz Deck",zen:"Zen Blitz Deck",aur:"1st Strike: Aurora",ter:"1st Strike: Terra",dvr:"Classic Battles: Rhinar vs Dorinthea",rvd:"Classic Battles: Rhinar vs Dorinthea",ira:"Ira Welcome Deck",tcc:"Round the Table: TCC x LSS",bvo:"Bravo Hero Deck",tea:"Dorinthea Hero Deck",ksu:"Katsu Hero Deck",rnr:"Rhinar Hero Deck",gem:"GEM",fab:"Promos",her:"Promos",jdg:"Promos",lgs:"Promos",lss:"Promos",oxo:"Promos",xxx:"Promos",win:"Promos"}),ze={};for(let[e,t]of Object.entries(Ut)){let r=ze[t];r?r.push(e):ze[t]=[e]}var Fa=ze,Ea={},Sa={MST158_V3:"-V3",ROS162_V2:"-V2","ROS008-MV_V2_BACK":"-V3"},Ta=e=>{var t,r,a;let i=Ea[e.set]||"",s=`${e.identifier}${i}`,o=e.edition?`-${e.edition}`:"",n=e.foiling?`-${e.foiling}`:"",l=(t=e.treatments)!=null&&t.length?`-${e.treatments.sort().join("-")}`:e.treatment?`-${e.treatment}`:"",c=(r=e.image)!=null&&r.toLowerCase().includes("back")?"-Back":"",d=Sa[((a=e.image)==null?void 0:a.toUpperCase())||""]||"";return`${s}${o}${n}${l}${c}${d}`},Ra=Object.keys(Oe).filter(e=>!e.toLowerCase().includes("hp")).reverse().map(e=>e.toUpperCase()),xa={"command-and-conquer-red":{print:"DYN000-Cold-Alternate Art-Extended Art"},"cracked-bauble-yellow":{print:"LGS083-Cold"},"fate-foreseen-red":{print:"FAB024-Rainbow"},"pitfall-trap-yellow":{print:"LGS151-Rainbow"},quicken:{print:"EVO250"},"ravenous-rabble-red":{print:"FAB190-Rainbow-Extended Art"},"rockslide-trap-blue":{print:"LGS152-Rainbow"},"rosetta-thorn":{print:"ROS256-Cold"},"sigil-of-solace-red":{print:"FAB178-Rainbow-Alternate Art-Extended Art"},"spectral-shield":{print:"MST158-Alternate Art-V3"},"tripwire-trap-red":{print:"LGS150-Rainbow"},"viserai-rune-blood":{print:"HER011-Cold"}},La=["JDG044-Full Art-Back"],Ia=(e,t)=>{let{cardIdentifier:r}=e,a=Object.entries(xa).find(([i])=>i===r);if(a&&t.some(i=>{let[,{print:s}]=a;return i.print===s})){let[,{print:i}]=a;return t.find(s=>s.print===i)||t[0]}else{let i,s,o,n,l,c,d,h,u,p,g,k,y,A,v,m,b,F,C,R;for(let M of t){let{edition:D,foiling:S,identifier:I,image:L,print:P,treatments:T}=M,z=I.toLowerCase().includes("win"),w=!!L,W=L==null?void 0:L.includes("HP"),K=La.includes(P);if(w&&!z&&!W&&!K){if(i||(i=M),T!=null&&T.includes("Full Art")&&(u=M,S==="Cold"&&(c=M,L.includes("_V3")))){d=M;break}T!=null&&T.includes("Extended Art")&&(h=M,S==="Cold"&&(l=M),S||(p=M),D==="Promo"&&(g=M)),T!=null&&T.includes("Alternate Art")&&(s=M),T!=null&&T.includes("Alternate Border")&&(o=M),T!=null&&T.includes("Alternate Text")&&(n=M),L&&(L.includes("_V2")||L.includes("-MV"))&&T!=null&&T.includes("Full Art")&&(y=M),D==="Alpha"?A=M:D==="First"?v=M:D==="Promo"?m=M:D==="Unlimited"&&(b=M),S==="Cold"?(F=M,D==="Promo"&&(R=M)):S==="Gold"&&(C=M)}}return k||d||c||u||l||y||g||p||h||o||s||n||R||A||v||m||b||C||F||i}},wa={"command-and-conquer-red":{print:"HNT260"},"pitfall-trap-yellow":{print:"LGS151-Rainbow"},"rockslide-trap-blue":{print:"LGS152-Rainbow"},"rosetta-thorn":{print:"ELE222-First"},"spectral-shield":{print:"MST158"},"tripwire-trap-red":{print:"LGS150-Rainbow"}},Pa=(e,t)=>{let{cardIdentifier:r}=e,a=Object.entries(wa).find(([i])=>i===r);if(a&&t.some(i=>{let[,{print:s}]=a;return i.print===s})){let[,{print:i}]=a;return t.find(s=>s.print===i)||t[0]}else{let i,s;for(let o of t){let{edition:n,image:l,treatment:c}=o,d=!!l,h=l==null?void 0:l.includes("HP");if(d&&!h&&(i||(i=o),!s&&n!=="Promo"&&c!=="Full Art"&&(s=o)),i&&s)break}return s||i||t[0]}}});var pr=At((Bs,hr)=>{"use strict";function Xt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,a)}return r}function se(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Xt(Object(r),!0).forEach(function(a){Ge(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Xt(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function He(e){"@babel/helpers - typeof";return He=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},He(e)}function N(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Zt(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function O(e,t,r){return t&&Zt(e.prototype,t),r&&Zt(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ge(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Q(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");Object.defineProperty(e,"prototype",{value:Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),writable:!1}),t&&Ke(e,t)}function ve(e){return ve=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},ve(e)}function Ke(e,t){return Ke=Object.setPrototypeOf||function(a,i){return a.__proto__=i,a},Ke(e,t)}function za(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function Na(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Oa(e,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Na(e)}function q(e){var t=za();return function(){var a=ve(e),i;if(t){var s=ve(this).constructor;i=Reflect.construct(a,arguments,s)}else i=a.apply(this,arguments);return Oa(this,i)}}function ae(e){return _a(e)||Ha(e)||Ga(e)||Ka()}function _a(e){if(Array.isArray(e))return We(e)}function Ha(e){if(typeof Symbol!="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Ga(e,t){if(e){if(typeof e=="string")return We(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return We(e,t)}}function We(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}function Ka(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
2
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Y(e){return Array.isArray?Array.isArray(e):sr(e)==="[object Array]"}var Wa=1/0;function $a(e){if(typeof e=="string")return e;var t=e+"";return t=="0"&&1/e==-Wa?"-0":t}function ja(e){return e==null?"":$a(e)}function J(e){return typeof e=="string"}function ar(e){return typeof e=="number"}function Va(e){return e===!0||e===!1||Ja(e)&&sr(e)=="[object Boolean]"}function ir(e){return He(e)==="object"}function Ja(e){return ir(e)&&e!==null}function H(e){return e!=null}function _e(e){return!e.trim().length}function sr(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var Ua="Incorrect 'index' type",Ya=function(t){return"Invalid value for key ".concat(t)},Xa=function(t){return"Pattern length exceeds max of ".concat(t,".")},Za=function(t){return"Missing ".concat(t," property in key")},Qa=function(t){return"Property 'weight' in key '".concat(t,"' must be a positive integer")},Qt=Object.prototype.hasOwnProperty,qa=function(){function e(t){var r=this;N(this,e),this._keys=[],this._keyMap={};var a=0;t.forEach(function(i){var s=nr(i);a+=s.weight,r._keys.push(s),r._keyMap[s.id]=s,a+=s.weight}),this._keys.forEach(function(i){i.weight/=a})}return O(e,[{key:"get",value:function(r){return this._keyMap[r]}},{key:"keys",value:function(){return this._keys}},{key:"toJSON",value:function(){return JSON.stringify(this._keys)}}]),e}();function nr(e){var t=null,r=null,a=null,i=1,s=null;if(J(e)||Y(e))a=e,t=qt(e),r=$e(e);else{if(!Qt.call(e,"name"))throw new Error(Za("name"));var o=e.name;if(a=o,Qt.call(e,"weight")&&(i=e.weight,i<=0))throw new Error(Qa(o));t=qt(o),r=$e(o),s=e.getFn}return{path:t,id:r,weight:i,src:a,getFn:s}}function qt(e){return Y(e)?e:e.split(".")}function $e(e){return Y(e)?e.join("."):e}function ei(e,t){var r=[],a=!1,i=function s(o,n,l){if(H(o))if(!n[l])r.push(o);else{var c=n[l],d=o[c];if(!H(d))return;if(l===n.length-1&&(J(d)||ar(d)||Va(d)))r.push(ja(d));else if(Y(d)){a=!0;for(var h=0,u=d.length;h<u;h+=1)s(d[h],n,l+1)}else n.length&&s(d,n,l+1)}};return i(e,J(t)?t.split("."):t,0),a?r:r[0]}var ti={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},ri={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:function(t,r){return t.score===r.score?t.idx<r.idx?-1:1:t.score<r.score?-1:1}},ai={location:0,threshold:.6,distance:100},ii={useExtendedSearch:!1,getFn:ei,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},B=se(se(se(se({},ri),ti),ai),ii),si=/[^ ]+/g;function ni(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:3,r=new Map,a=Math.pow(10,t);return{get:function(s){var o=s.match(si).length;if(r.has(o))return r.get(o);var n=1/Math.pow(o,.5*e),l=parseFloat(Math.round(n*a)/a);return r.set(o,l),l},clear:function(){r.clear()}}}var Ye=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=t.getFn,a=r===void 0?B.getFn:r,i=t.fieldNormWeight,s=i===void 0?B.fieldNormWeight:i;N(this,e),this.norm=ni(s,3),this.getFn=a,this.isCreated=!1,this.setIndexRecords()}return O(e,[{key:"setSources",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this.docs=r}},{key:"setIndexRecords",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this.records=r}},{key:"setKeys",value:function(){var r=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this.keys=a,this._keysMap={},a.forEach(function(i,s){r._keysMap[i.id]=s})}},{key:"create",value:function(){var r=this;this.isCreated||!this.docs.length||(this.isCreated=!0,J(this.docs[0])?this.docs.forEach(function(a,i){r._addString(a,i)}):this.docs.forEach(function(a,i){r._addObject(a,i)}),this.norm.clear())}},{key:"add",value:function(r){var a=this.size();J(r)?this._addString(r,a):this._addObject(r,a)}},{key:"removeAt",value:function(r){this.records.splice(r,1);for(var a=r,i=this.size();a<i;a+=1)this.records[a].i-=1}},{key:"getValueForItemAtKeyId",value:function(r,a){return r[this._keysMap[a]]}},{key:"size",value:function(){return this.records.length}},{key:"_addString",value:function(r,a){if(!(!H(r)||_e(r))){var i={v:r,i:a,n:this.norm.get(r)};this.records.push(i)}}},{key:"_addObject",value:function(r,a){var i=this,s={i:a,$:{}};this.keys.forEach(function(o,n){var l=o.getFn?o.getFn(r):i.getFn(r,o.path);if(H(l)){if(Y(l))(function(){for(var d=[],h=[{nestedArrIndex:-1,value:l}];h.length;){var u=h.pop(),p=u.nestedArrIndex,g=u.value;if(H(g))if(J(g)&&!_e(g)){var k={v:g,i:p,n:i.norm.get(g)};d.push(k)}else Y(g)&&g.forEach(function(y,A){h.push({nestedArrIndex:A,value:y})})}s.$[n]=d})();else if(J(l)&&!_e(l)){var c={v:l,n:i.norm.get(l)};s.$[n]=c}}}),this.records.push(s)}},{key:"toJSON",value:function(){return{keys:this.keys,records:this.records}}}]),e}();function or(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=r.getFn,i=a===void 0?B.getFn:a,s=r.fieldNormWeight,o=s===void 0?B.fieldNormWeight:s,n=new Ye({getFn:i,fieldNormWeight:o});return n.setKeys(e.map(nr)),n.setSources(t),n.create(),n}function oi(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.getFn,a=r===void 0?B.getFn:r,i=t.fieldNormWeight,s=i===void 0?B.fieldNormWeight:i,o=e.keys,n=e.records,l=new Ye({getFn:a,fieldNormWeight:s});return l.setKeys(o),l.setIndexRecords(n),l}function ke(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.errors,a=r===void 0?0:r,i=t.currentLocation,s=i===void 0?0:i,o=t.expectedLocation,n=o===void 0?0:o,l=t.distance,c=l===void 0?B.distance:l,d=t.ignoreLocation,h=d===void 0?B.ignoreLocation:d,u=a/e.length;if(h)return u;var p=Math.abs(n-s);return c?u+p/c:p?1:u}function li(){for(var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:B.minMatchCharLength,r=[],a=-1,i=-1,s=0,o=e.length;s<o;s+=1){var n=e[s];n&&a===-1?a=s:!n&&a!==-1&&(i=s-1,i-a+1>=t&&r.push([a,i]),a=-1)}return e[s-1]&&s-a>=t&&r.push([a,s-1]),r}var re=32;function ci(e,t,r){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=a.location,s=i===void 0?B.location:i,o=a.distance,n=o===void 0?B.distance:o,l=a.threshold,c=l===void 0?B.threshold:l,d=a.findAllMatches,h=d===void 0?B.findAllMatches:d,u=a.minMatchCharLength,p=u===void 0?B.minMatchCharLength:u,g=a.includeMatches,k=g===void 0?B.includeMatches:g,y=a.ignoreLocation,A=y===void 0?B.ignoreLocation:y;if(t.length>re)throw new Error(Xa(re));for(var v=t.length,m=e.length,b=Math.max(0,Math.min(s,m)),F=c,C=b,R=p>1||k,M=R?Array(m):[],D;(D=e.indexOf(t,C))>-1;){var S=ke(t,{currentLocation:D,expectedLocation:b,distance:n,ignoreLocation:A});if(F=Math.min(S,F),C=D+v,R)for(var I=0;I<v;)M[D+I]=1,I+=1}C=-1;for(var L=[],P=1,T=v+m,z=1<<v-1,w=0;w<v;w+=1){for(var W=0,K=T;W<K;){var ce=ke(t,{errors:w,currentLocation:b+K,expectedLocation:b,distance:n,ignoreLocation:A});ce<=F?W=K:T=K,K=Math.floor((T-W)/2+W)}T=K;var gt=Math.max(1,b-K+1),we=h?m:Math.min(b+K,m)+v,ie=Array(we+2);ie[we+1]=(1<<w)-1;for(var $=we;$>=gt;$-=1){var ge=$-1,mt=r[e.charAt(ge)];if(R&&(M[ge]=+!!mt),ie[$]=(ie[$+1]<<1|1)&mt,w&&(ie[$]|=(L[$+1]|L[$])<<1|1|L[$+1]),ie[$]&z&&(P=ke(t,{errors:w,currentLocation:ge,expectedLocation:b,distance:n,ignoreLocation:A}),P<=F)){if(F=P,C=ge,C<=b)break;gt=Math.max(1,2*b-C)}}var Vr=ke(t,{errors:w+1,currentLocation:b,expectedLocation:b,distance:n,ignoreLocation:A});if(Vr>F)break;L=ie}var Pe={isMatch:C>=0,score:Math.max(.001,P)};if(R){var yt=li(M,p);yt.length?k&&(Pe.indices=yt):Pe.isMatch=!1}return Pe}function di(e){for(var t={},r=0,a=e.length;r<a;r+=1){var i=e.charAt(r);t[i]=(t[i]||0)|1<<a-r-1}return t}var lr=function(){function e(t){var r=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=a.location,s=i===void 0?B.location:i,o=a.threshold,n=o===void 0?B.threshold:o,l=a.distance,c=l===void 0?B.distance:l,d=a.includeMatches,h=d===void 0?B.includeMatches:d,u=a.findAllMatches,p=u===void 0?B.findAllMatches:u,g=a.minMatchCharLength,k=g===void 0?B.minMatchCharLength:g,y=a.isCaseSensitive,A=y===void 0?B.isCaseSensitive:y,v=a.ignoreLocation,m=v===void 0?B.ignoreLocation:v;if(N(this,e),this.options={location:s,threshold:n,distance:c,includeMatches:h,findAllMatches:p,minMatchCharLength:k,isCaseSensitive:A,ignoreLocation:m},this.pattern=A?t:t.toLowerCase(),this.chunks=[],!!this.pattern.length){var b=function(I,L){r.chunks.push({pattern:I,alphabet:di(I),startIndex:L})},F=this.pattern.length;if(F>re){for(var C=0,R=F%re,M=F-R;C<M;)b(this.pattern.substr(C,re),C),C+=re;if(R){var D=F-re;b(this.pattern.substr(D),D)}}else b(this.pattern,0)}}return O(e,[{key:"searchIn",value:function(r){var a=this.options,i=a.isCaseSensitive,s=a.includeMatches;if(i||(r=r.toLowerCase()),this.pattern===r){var o={isMatch:!0,score:0};return s&&(o.indices=[[0,r.length-1]]),o}var n=this.options,l=n.location,c=n.distance,d=n.threshold,h=n.findAllMatches,u=n.minMatchCharLength,p=n.ignoreLocation,g=[],k=0,y=!1;this.chunks.forEach(function(v){var m=v.pattern,b=v.alphabet,F=v.startIndex,C=ci(r,m,b,{location:l+F,distance:c,threshold:d,findAllMatches:h,minMatchCharLength:u,includeMatches:s,ignoreLocation:p}),R=C.isMatch,M=C.score,D=C.indices;R&&(y=!0),k+=M,R&&D&&(g=[].concat(ae(g),ae(D)))});var A={isMatch:y,score:y?k/this.chunks.length:1};return y&&s&&(A.indices=g),A}}]),e}(),ee=function(){function e(t){N(this,e),this.pattern=t}return O(e,[{key:"search",value:function(){}}],[{key:"isMultiMatch",value:function(r){return er(r,this.multiRegex)}},{key:"isSingleMatch",value:function(r){return er(r,this.singleRegex)}}]),e}();function er(e,t){var r=e.match(t);return r?r[1]:null}var ui=function(e){Q(r,e);var t=q(r);function r(a){return N(this,r),t.call(this,a)}return O(r,[{key:"search",value:function(i){var s=i===this.pattern;return{isMatch:s,score:s?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"exact"}},{key:"multiRegex",get:function(){return/^="(.*)"$/}},{key:"singleRegex",get:function(){return/^=(.*)$/}}]),r}(ee),hi=function(e){Q(r,e);var t=q(r);function r(a){return N(this,r),t.call(this,a)}return O(r,[{key:"search",value:function(i){var s=i.indexOf(this.pattern),o=s===-1;return{isMatch:o,score:o?0:1,indices:[0,i.length-1]}}}],[{key:"type",get:function(){return"inverse-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"$/}},{key:"singleRegex",get:function(){return/^!(.*)$/}}]),r}(ee),pi=function(e){Q(r,e);var t=q(r);function r(a){return N(this,r),t.call(this,a)}return O(r,[{key:"search",value:function(i){var s=i.startsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"prefix-exact"}},{key:"multiRegex",get:function(){return/^\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^\^(.*)$/}}]),r}(ee),fi=function(e){Q(r,e);var t=q(r);function r(a){return N(this,r),t.call(this,a)}return O(r,[{key:"search",value:function(i){var s=!i.startsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[0,i.length-1]}}}],[{key:"type",get:function(){return"inverse-prefix-exact"}},{key:"multiRegex",get:function(){return/^!\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^!\^(.*)$/}}]),r}(ee),gi=function(e){Q(r,e);var t=q(r);function r(a){return N(this,r),t.call(this,a)}return O(r,[{key:"search",value:function(i){var s=i.endsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[i.length-this.pattern.length,i.length-1]}}}],[{key:"type",get:function(){return"suffix-exact"}},{key:"multiRegex",get:function(){return/^"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^(.*)\$$/}}]),r}(ee),mi=function(e){Q(r,e);var t=q(r);function r(a){return N(this,r),t.call(this,a)}return O(r,[{key:"search",value:function(i){var s=!i.endsWith(this.pattern);return{isMatch:s,score:s?0:1,indices:[0,i.length-1]}}}],[{key:"type",get:function(){return"inverse-suffix-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^!(.*)\$$/}}]),r}(ee),cr=function(e){Q(r,e);var t=q(r);function r(a){var i,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=s.location,n=o===void 0?B.location:o,l=s.threshold,c=l===void 0?B.threshold:l,d=s.distance,h=d===void 0?B.distance:d,u=s.includeMatches,p=u===void 0?B.includeMatches:u,g=s.findAllMatches,k=g===void 0?B.findAllMatches:g,y=s.minMatchCharLength,A=y===void 0?B.minMatchCharLength:y,v=s.isCaseSensitive,m=v===void 0?B.isCaseSensitive:v,b=s.ignoreLocation,F=b===void 0?B.ignoreLocation:b;return N(this,r),i=t.call(this,a),i._bitapSearch=new lr(a,{location:n,threshold:c,distance:h,includeMatches:p,findAllMatches:k,minMatchCharLength:A,isCaseSensitive:m,ignoreLocation:F}),i}return O(r,[{key:"search",value:function(i){return this._bitapSearch.searchIn(i)}}],[{key:"type",get:function(){return"fuzzy"}},{key:"multiRegex",get:function(){return/^"(.*)"$/}},{key:"singleRegex",get:function(){return/^(.*)$/}}]),r}(ee),dr=function(e){Q(r,e);var t=q(r);function r(a){return N(this,r),t.call(this,a)}return O(r,[{key:"search",value:function(i){for(var s=0,o,n=[],l=this.pattern.length;(o=i.indexOf(this.pattern,s))>-1;)s=o+l,n.push([o,s-1]);var c=!!n.length;return{isMatch:c,score:c?0:1,indices:n}}}],[{key:"type",get:function(){return"include"}},{key:"multiRegex",get:function(){return/^'"(.*)"$/}},{key:"singleRegex",get:function(){return/^'(.*)$/}}]),r}(ee),je=[ui,dr,pi,fi,mi,gi,hi,cr],tr=je.length,yi=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,ki="|";function vi(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return e.split(ki).map(function(r){for(var a=r.trim().split(yi).filter(function(g){return g&&!!g.trim()}),i=[],s=0,o=a.length;s<o;s+=1){for(var n=a[s],l=!1,c=-1;!l&&++c<tr;){var d=je[c],h=d.isMultiMatch(n);h&&(i.push(new d(h,t)),l=!0)}if(!l)for(c=-1;++c<tr;){var u=je[c],p=u.isSingleMatch(n);if(p){i.push(new u(p,t));break}}}return i})}var bi=new Set([cr.type,dr.type]),Ai=function(){function e(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=r.isCaseSensitive,i=a===void 0?B.isCaseSensitive:a,s=r.includeMatches,o=s===void 0?B.includeMatches:s,n=r.minMatchCharLength,l=n===void 0?B.minMatchCharLength:n,c=r.ignoreLocation,d=c===void 0?B.ignoreLocation:c,h=r.findAllMatches,u=h===void 0?B.findAllMatches:h,p=r.location,g=p===void 0?B.location:p,k=r.threshold,y=k===void 0?B.threshold:k,A=r.distance,v=A===void 0?B.distance:A;N(this,e),this.query=null,this.options={isCaseSensitive:i,includeMatches:o,minMatchCharLength:l,findAllMatches:u,ignoreLocation:d,location:g,threshold:y,distance:v},this.pattern=i?t:t.toLowerCase(),this.query=vi(this.pattern,this.options)}return O(e,[{key:"searchIn",value:function(r){var a=this.query;if(!a)return{isMatch:!1,score:1};var i=this.options,s=i.includeMatches,o=i.isCaseSensitive;r=o?r:r.toLowerCase();for(var n=0,l=[],c=0,d=0,h=a.length;d<h;d+=1){var u=a[d];l.length=0,n=0;for(var p=0,g=u.length;p<g;p+=1){var k=u[p],y=k.search(r),A=y.isMatch,v=y.indices,m=y.score;if(A){if(n+=1,c+=m,s){var b=k.constructor.type;bi.has(b)?l=[].concat(ae(l),ae(v)):l.push(v)}}else{c=0,n=0,l.length=0;break}}if(n){var F={isMatch:!0,score:c/n};return s&&(F.indices=l),F}}return{isMatch:!1,score:1}}}],[{key:"condition",value:function(r,a){return a.useExtendedSearch}}]),e}(),be=[];function Di(){be.push.apply(be,arguments)}function Ve(e,t){for(var r=0,a=be.length;r<a;r+=1){var i=be[r];if(i.condition(e,t))return new i(e,t)}return new lr(e,t)}var Ae={AND:"$and",OR:"$or"},Je={PATH:"$path",PATTERN:"$val"},Ue=function(t){return!!(t[Ae.AND]||t[Ae.OR])},Bi=function(t){return!!t[Je.PATH]},Ci=function(t){return!Y(t)&&ir(t)&&!Ue(t)},rr=function(t){return Ge({},Ae.AND,Object.keys(t).map(function(r){return Ge({},r,t[r])}))};function ur(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=r.auto,i=a===void 0?!0:a,s=function o(n){var l=Object.keys(n),c=Bi(n);if(!c&&l.length>1&&!Ue(n))return o(rr(n));if(Ci(n)){var d=c?n[Je.PATH]:l[0],h=c?n[Je.PATTERN]:n[d];if(!J(h))throw new Error(Ya(d));var u={keyId:$e(d),pattern:h};return i&&(u.searcher=Ve(h,t)),u}var p={children:[],operator:l[0]};return l.forEach(function(g){var k=n[g];Y(k)&&k.forEach(function(y){p.children.push(o(y))})}),p};return Ue(e)||(e=rr(e)),s(e)}function Mi(e,t){var r=t.ignoreFieldNorm,a=r===void 0?B.ignoreFieldNorm:r;e.forEach(function(i){var s=1;i.matches.forEach(function(o){var n=o.key,l=o.norm,c=o.score,d=n?n.weight:null;s*=Math.pow(c===0&&d?Number.EPSILON:c,(d||1)*(a?1:l))}),i.score=s})}function Fi(e,t){var r=e.matches;t.matches=[],H(r)&&r.forEach(function(a){if(!(!H(a.indices)||!a.indices.length)){var i=a.indices,s=a.value,o={indices:i,value:s};a.key&&(o.key=a.key.src),a.idx>-1&&(o.refIndex=a.idx),t.matches.push(o)}})}function Ei(e,t){t.score=e.score}function Si(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=r.includeMatches,i=a===void 0?B.includeMatches:a,s=r.includeScore,o=s===void 0?B.includeScore:s,n=[];return i&&n.push(Fi),o&&n.push(Ei),e.map(function(l){var c=l.idx,d={item:t[c],refIndex:c};return n.length&&n.forEach(function(h){h(l,d)}),d})}var ne=function(){function e(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=arguments.length>2?arguments[2]:void 0;N(this,e),this.options=se(se({},B),r),this.options.useExtendedSearch,this._keyStore=new qa(this.options.keys),this.setCollection(t,a)}return O(e,[{key:"setCollection",value:function(r,a){if(this._docs=r,a&&!(a instanceof Ye))throw new Error(Ua);this._myIndex=a||or(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}},{key:"add",value:function(r){H(r)&&(this._docs.push(r),this._myIndex.add(r))}},{key:"remove",value:function(){for(var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(){return!1},a=[],i=0,s=this._docs.length;i<s;i+=1){var o=this._docs[i];r(o,i)&&(this.removeAt(i),i-=1,s-=1,a.push(o))}return a}},{key:"removeAt",value:function(r){this._docs.splice(r,1),this._myIndex.removeAt(r)}},{key:"getIndex",value:function(){return this._myIndex}},{key:"search",value:function(r){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=a.limit,s=i===void 0?-1:i,o=this.options,n=o.includeMatches,l=o.includeScore,c=o.shouldSort,d=o.sortFn,h=o.ignoreFieldNorm,u=J(r)?J(this._docs[0])?this._searchStringList(r):this._searchObjectList(r):this._searchLogical(r);return Mi(u,{ignoreFieldNorm:h}),c&&u.sort(d),ar(s)&&s>-1&&(u=u.slice(0,s)),Si(u,this._docs,{includeMatches:n,includeScore:l})}},{key:"_searchStringList",value:function(r){var a=Ve(r,this.options),i=this._myIndex.records,s=[];return i.forEach(function(o){var n=o.v,l=o.i,c=o.n;if(H(n)){var d=a.searchIn(n),h=d.isMatch,u=d.score,p=d.indices;h&&s.push({item:n,idx:l,matches:[{score:u,value:n,norm:c,indices:p}]})}}),s}},{key:"_searchLogical",value:function(r){var a=this,i=ur(r,this.options),s=function c(d,h,u){if(!d.children){var p=d.keyId,g=d.searcher,k=a._findMatches({key:a._keyStore.get(p),value:a._myIndex.getValueForItemAtKeyId(h,p),searcher:g});return k&&k.length?[{idx:u,item:h,matches:k}]:[]}for(var y=[],A=0,v=d.children.length;A<v;A+=1){var m=d.children[A],b=c(m,h,u);if(b.length)y.push.apply(y,ae(b));else if(d.operator===Ae.AND)return[]}return y},o=this._myIndex.records,n={},l=[];return o.forEach(function(c){var d=c.$,h=c.i;if(H(d)){var u=s(i,d,h);u.length&&(n[h]||(n[h]={idx:h,item:d,matches:[]},l.push(n[h])),u.forEach(function(p){var g,k=p.matches;(g=n[h].matches).push.apply(g,ae(k))}))}}),l}},{key:"_searchObjectList",value:function(r){var a=this,i=Ve(r,this.options),s=this._myIndex,o=s.keys,n=s.records,l=[];return n.forEach(function(c){var d=c.$,h=c.i;if(H(d)){var u=[];o.forEach(function(p,g){u.push.apply(u,ae(a._findMatches({key:p,value:d[g],searcher:i})))}),u.length&&l.push({idx:h,item:d,matches:u})}}),l}},{key:"_findMatches",value:function(r){var a=r.key,i=r.value,s=r.searcher;if(!H(i))return[];var o=[];if(Y(i))i.forEach(function(p){var g=p.v,k=p.i,y=p.n;if(H(g)){var A=s.searchIn(g),v=A.isMatch,m=A.score,b=A.indices;v&&o.push({score:m,key:a,value:g,idx:k,norm:y,indices:b})}});else{var n=i.v,l=i.n,c=s.searchIn(n),d=c.isMatch,h=c.score,u=c.indices;d&&o.push({score:h,key:a,value:n,norm:l,indices:u})}return o}}]),e}();ne.version="6.6.2";ne.createIndex=or;ne.parseIndex=oi;ne.config=B;ne.parseQuery=ur;Di(Ai);var Ti=ne;hr.exports=Ti});var bs={};ea(bs,{PUNCTUATION:()=>E,abbreviations:()=>Qe,availableExclusions:()=>_r,availableModifiers:()=>Or,clashBannedCards:()=>Xe,clashLegalCards:()=>Ri,clashSpecializationOverrides:()=>Ze,default:()=>Kr,filterCard:()=>Wr,filtersToCardPropertyMappings:()=>xe,getAbbreviation:()=>Be,getAbbreviationByCard:()=>xi,getCardByName:()=>ct,getCleanText:()=>dt,getExcludedMetaFilters:()=>et,getKeywordsAndAppliedFiltersFromText:()=>lt,getMetaFilters:()=>qe,getNormalizedText:()=>pe,getRelatedCards:()=>ft,getRelatedCardsByName:()=>Le,getTokensReferencedByCards:()=>vs,multiWordShorthands:()=>rt,shorthands:()=>tt,singleWordShorthands:()=>at});module.exports=ta(bs);var G=X(Z()),ut=X(pr());var De=X(Z()),Xe=["Amulet of Ice","Ball Lightning","Belittle","Drone of Brutality","Duskblade","Rosetta Thorn","Stubby Hammerers"],Ri=[],Ze=[{heroes:[De.Hero.Briar],cardIdentifiers:["rosetta-thorn"]},{heroes:[De.Hero.Emperor],cardIdentifiers:["command-and-conquer-red"]},{heroes:[De.Hero.Prism],cardIdentifiers:["figment-of-erudition-yellow","figment-of-judgment-yellow","figment-of-protection-yellow","figment-of-ravages-yellow","figment-of-rebirth-yellow","figment-of-tenacity-yellow","figment-of-triumph-yellow","figment-of-war-yellow"]}];var E=/[!"#$%&'’(),./:;<=>?@[\]^_`|~]/g;var f=X(Z());var Be=e=>Qe.find(({abbreviations:t})=>t.find(r=>r.toLowerCase()===e)),xi=e=>Qe.find(({card:t})=>t.toLowerCase()===e.name.toLowerCase()),Qe=[{abbreviations:["10k"],card:"10,000 Year Reunion"},{abbreviations:["Pajamas","PJs"],card:"Alluvion Constellas"},{abbreviations:["Slippy","Arakni, Slipped Through the Cracks"],card:"Arakni, 5L!p3d 7hRu 7h3 cR4X"},{abbreviations:["Dullcap"],card:"Arcanite Skullcap"},{abbreviations:["ALS"],card:"Arc Light Sentinel"},{abbreviations:["AoW"],card:"Art of War"},{abbreviations:["BBD"],card:"Barraging Beatdown"},{abbreviations:["BBS"],card:"Big Blue Sky"},{abbreviations:["Starvo"],card:"Bravo, Star of the Show"},{abbreviations:["BEB"],card:"Bull's Eye Bracers"},{abbreviations:["BLW"],card:"Be Like Water"},{abbreviations:["BoJ"],card:"Balance of Justice"},{abbreviations:["BOHH"],card:"Blood on Her Hands"},{abbreviations:["BRB"],card:"Bloodrush Bellow"},{abbreviations:["Breezies"],card:"Breeze Rider Boots"},{abbreviations:["BTA"],card:"Burn Them All"},{abbreviations:["CStrike","C-Strike","C Strike"],card:"Celestial Cataclysm"},{abbreviations:["CBelly"],card:"Cerebellum Processor"},{abbreviations:["CLF"],card:"Channel Lake Frigid"},{abbreviations:["CLV"],card:"Channel Lightning Valley"},{abbreviations:["CMH"],card:"Channel Mount Heroic"},{abbreviations:["CMT"],card:"Channel the Millennium Tree"},{abbreviations:["CnC","C&C"],card:"Command and Conquer"},{abbreviations:["CYB"],card:"Count Your Blessings"},{abbreviations:["Cat","Kitty"],card:"Crouching Tiger"},{abbreviations:["CoD"],card:"Crown of Dominion"},{abbreviations:["CoP"],card:"Crown of Providence"},{abbreviations:["CtW"],card:"Crush the Weak"},{abbreviations:["DD"],card:"Death Dealer"},{abbreviations:["DnD"],card:"Devotion Never Dies"},{abbreviations:["DIO"],card:"Dash I/O"},{abbreviations:["EBTT"],card:"Even Bigger Than That!"},{abbreviations:["NewNigma"],card:"Enigma, New Moon"},{abbreviations:["EPot","E Pot"],card:"Energy Potion"},{abbreviations:["EStrike","E-Strike","E Strike"],card:"Enlightened Strike"},{abbreviations:["FFS"],card:"Fyendal's Fighting Spirit"},{abbreviations:["FoN"],card:"Force of Nature"},{abbreviations:["Frosty","\u{1F976}","\u{1F9CA}","\u2744\uFE0F"],card:"Frostbite"},{abbreviations:["Yum yum"],card:"Fruits of the Forest"},{abbreviations:["GnT"],card:"Give and Take"},{abbreviations:["Habibi"],card:"Hanabi Blaster"},{abbreviations:["HMH"],card:"Hope Merchant's Hood"},{abbreviations:["HoI"],card:"Heart of Ice"},{abbreviations:["Pumpkin"],card:"Jack-o'-lantern"},{abbreviations:["KKBB"],card:"Knick Knack Bric-a-brac"},{abbreviations:["BStrike"],card:"Levels of Enlightenment"},{abbreviations:["LAG","Twominaris"],card:"Luminaris, Angel's Glow"},{abbreviations:["LCF","Newminaris"],card:"Luminaris, Celestial Fury"},{abbreviations:["LDE"],card:"Last Ditch Effort"},{abbreviations:["LtC"],card:"Lead the Charge"},{abbreviations:["LNW"],card:"Leave No Witnesses"},{abbreviations:["LFaL","L4aL"],card:"Life for a Life"},{abbreviations:["LiT"],card:"Lost in Thought"},{abbreviations:["MMB"],card:"Mage Master Boots"},{abbreviations:["MaxV"],card:"Maximum Velocity"},{abbreviations:["MoM"],card:"Mask of Momentum"},{abbreviations:["MnG"],card:"Meat and Greet"},{abbreviations:["Cake","\u{1F382}"],card:"Ninth Blade of the Blood Oath"},{abbreviations:["PoM"],card:"Peace of Mind"},{abbreviations:["PF","\u{1F525}"],card:"Phoenix Flame"},{abbreviations:["PtW"],card:"Poison the Well"},{abbreviations:["Thanos","Infinity Gauntlet"],card:"Polarity Reversal Script"},{abbreviations:["DPot","D Pot"],card:"Potion of D\xE9j\xE0 Vu"},{abbreviations:["Ponder Run"],card:"Premeditate"},{abbreviations:["Qi Unbound"],card:"Qi Unleashed"},{abbreviations:["RitL"],card:"Red in the Ledger"},{abbreviations:["Cats","Ghost cat","Ghost cats"],card:"Restless Coalescence"},{abbreviations:["SSGB"],card:"Sandscour Greatbow"},{abbreviations:["SSP"],card:"Sand Sketched Plan"},{abbreviations:["SFaS","S4aS"],card:"Scar for a Scar"},{abbreviations:["SWOMB"],card:"Shifting Winds of the Mystic Beast"},{abbreviations:["SWK"],card:"Spinning Wheel Kick"},{abbreviations:["SFTL"],card:"Swing Fist, Think Later"},{abbreviations:["TTT"],card:"Take the Tempo"},{abbreviations:["Ultron"],card:"Teklovossen, the Mechropotent"},{abbreviations:["ToS"],card:"Test of Strength"},{abbreviations:["TAYG"],card:"That All You Got?"},{abbreviations:["TROM"],card:"This Round's on Me"},{abbreviations:["3oak"],card:"Three of a Kind"},{abbreviations:["Pox Malone","Post Malone"],card:"Virulent Touch"},{abbreviations:["Cast Homes"],card:"Visit Goldmane Estate"},{abbreviations:["Frosty Hammer"],card:"Winter's Wail"},{abbreviations:["Wreckless Wing"],card:"War Cry of Bellona"},{abbreviations:["ZTS"],card:"Zero to Sixty"}];var _=X(Z());var Ee=Array.from(Array(50).keys()).map(e=>`${e}`),Li=[{format:_.Format.BlitzLivingLegend,nicknames:["blitz ll"]},{format:_.Format.ClassicConstructed,nicknames:["cc","classic"]},{format:_.Format.ClassicConstructedLivingLegend,nicknames:["cc ll","classic constructed ll","ll cc","ll","living legend"]},{format:_.Format.UltimatePitFight,nicknames:["upf"]}],Ii=Object.values(_.Format).map(e=>{let t=Li.find(({format:a})=>a===e),r=e.toLowerCase().replaceAll(E,"");return t?V(j({},t),{format:r}):{format:r}}),wi=[{hero:_.Hero.DataDoll,nicknames:["data","datadoll"]},{hero:_.Hero.Dorinthea,nicknames:["dori"]},{hero:_.Hero.Genis,nicknames:["genis"]},{hero:_.Hero.Iyslander,nicknames:["islander"]}],Pi=Object.values(_.Hero).map(e=>{let t=wi.find(({hero:a})=>a===e),r=e.toLowerCase().replaceAll(E,"");return t?V(j({},t),{hero:r}):{hero:r}}),Ce=["common","rare","super rare","majestic","legendary","fabled"],zi=(e,t,r)=>{let a=[];if(!t)a.push(...e);else for(let i of e)switch(t){case">=":let s=!1;for(let c of Ce)s?a.push(c):c===i&&(s=!0,a.push(c));break;case">":let o=!1;for(let c of Ce)o?a.push(c):c===i&&(o=!0);break;case"<=":let n=!1;for(let c of Ce.slice().reverse())n?a.push(c):c===i&&(n=!0,a.push(c));break;case"<":let l=!1;for(let c of Ce.slice().reverse())l?a.push(c):c===i&&(l=!0);break;default:break}return{filterToPropertyMapping:{nestedProperty:"rarity",property:"printings",isArray:!0},isOr:!0,values:a,excluded:r}},Ni=(e,t)=>{let r=[],a=[],i=[];for(let s of e){let o=Ii.find(({format:n,nicknames:l})=>n===s||!!l&&l.includes(s));if(o)a.push(o.format);else{let n=Pi.find(({hero:l,nicknames:c})=>l===s||!!c&&c.includes(s));n&&i.push(n.hero)}}return a.length>0&&r.push({filterToPropertyMapping:{property:"legalFormats",isArray:!0},values:a,isOr:!0,excluded:t}),i.length>0&&r.push({filterToPropertyMapping:{property:"legalHeroes",isArray:!0},values:i,isOr:!0,excluded:t}),r},qe=(e,t,r,a)=>{let i=[];return Hi(t)?i.push(...Ni(r,e)):Ki(t)&&i.push(zi(r,a,e)),i},oe=[{filterToPropertyMapping:{property:"cost",isNumber:!0},values:Ee,excluded:!0},{filterToPropertyMapping:{property:"specialCost",isString:!0,partialMatch:!0},values:["*","x"],excluded:!0},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["equipment","hero","placeholder","token","weapon"],excluded:!0}],U=[{filterToPropertyMapping:{property:"defense",isNumber:!0},values:Ee,excluded:!0},{filterToPropertyMapping:{property:"specialDefense",isString:!0,partialMatch:!0},values:["*","x"],excluded:!0},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["hero","placeholder","token","weapon"],excluded:!0}],Me=[{filterToPropertyMapping:{property:"pitch",isNumber:!0},excluded:!0,values:Ee},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["equipment","hero","placeholder","token","weapon"],excluded:!0},{filterToPropertyMapping:{property:"isCardBack",isBoolean:!0},values:["true"],excluded:!0}],te=[{filterToPropertyMapping:{property:"power",isNumber:!0},excluded:!0,values:Ee},{filterToPropertyMapping:{property:"specialPower",isString:!0,partialMatch:!0},values:["*","x"],excluded:!0},{filterToPropertyMapping:{property:"types",isArray:!0,partialMatch:!0},values:["equipment","hero","placeholder","token"],excluded:!0}],Fe=[{filterToPropertyMapping:{property:"talents",isArray:!0},excluded:!0,values:Object.values(_.Talent).map(e=>e.toLowerCase())}],Oi={"!co":oe,"-co":oe,"!cost":oe,"-cost":oe,"!color":oe,"-color":oe,"!b":U,"-b":U,"!block":U,"-block":U,"!d":U,"-d":U,"!def":U,"-def":U,"!defense":U,"-defense":U,"!pitch":Me,"-pitch":Me,"!p":Me,"-p":Me,"!attack":te,"-attack":te,"!power":te,"-power":te,"!pwr":te,"-pwr":te,"!pow":te,"-pow":te,"!talents":Fe,"-talents":Fe,"!tal":Fe,"-tal":Fe},et=e=>{let t=[],r=Oi[e];return r&&t.push(...r),t},_i=["l","legal","hero"],Hi=e=>_i.includes(e),Gi=["r","rarity"],Ki=e=>Gi.includes(e);var tt=[{description:"Attack actions",filters:["st:attack"],shorthands:["AA"]},{description:"Arcane barrier",filters:['k:"arcane barrier"'],shorthands:["AB"]},{description:"Attack reactions",filters:['t:"attack reaction"'],shorthands:["AR"]},{description:"Defense reactions",filters:['t:"defense reaction"'],shorthands:["DR"]},{description:"Flick daggers",filters:["dagger you control deal 1 damage"],shorthands:["Flick","Hurl","Throw"]},{description:"Gain life",filters:["gain {h}"],shorthands:["Gain life","Gains life"]},{description:"Go again",filters:['k:"go again"'],shorthands:["GA"]},{description:"Non-attack actions",filters:["t:action","st:non-attack"],shorthands:["NAA"]},{description:"Plus defense",filters:["+ {d}"],shorthands:["Pump defense","Pumps defense","Buff defense","Buffs defense"]},{description:"Plus power",filters:["+ {p}"],shorthands:["Pumps","Pump","Buff","Buffs","Pump attack","Pump attacks","Pumps attack","Pumps attacks","Buff attack","Buff attacks","Buffs attack","Buffs attacks","Pump power","Pumps power","Buff power","Buffs power"]},{description:"Poppers",filters:["!c:illusionist","st:attack","pwr:>=6","def:>=0"],helper:'6+ power non-Illusionist attacks that can "pop" phantasm attacks when defending',shorthands:["Poppers","Popper"]},{description:"Spellvoid",filters:['k:"spellvoid"'],shorthands:["SV"]}],rt=tt.filter(({shorthands:e})=>e.some(t=>t.includes(" "))).map(e=>V(j({},e),{shorthands:e.shorthands.filter(t=>t.includes(" ")).map(t=>t.toLowerCase()).sort((t,r)=>r.length-t.length)})),at=tt.filter(({shorthands:e})=>e.some(t=>!t.includes(" "))).map(e=>V(j({},e),{shorthands:e.shorthands.filter(t=>!t.includes(" ")).map(t=>t.toLowerCase()).sort((t,r)=>r.length-t.length)}));var Or=[">=",">","<=","<"],_r=["!","-"],Wi={property:"arcane",specialProperty:"specialArcane",isNumber:!0,partialMatch:!0},it={property:"artists",isArray:!0,partialMatch:!0},fr={property:"bannedFormats",isArray:!0,partialMatch:!0},gr={property:"bonds",isArray:!0},$i={property:"n/a"},mr={property:"classes",isArray:!0,partialMatch:!0},yr={property:"cost",specialProperty:"specialCost",isNumber:!0,partialMatch:!0},he={property:"defense",specialProperty:"specialDefense",isNumber:!0},kr={property:"flows",isArray:!0},vr={nestedProperty:"foiling",property:"printings",isArray:!0},br={property:"fusions",isArray:!0},Ar={property:"intellect",isNumber:!0},Dr={property:"keywords",isArray:!0,partialMatch:!0},st={property:"n/a",isMeta:!0},Br={property:"life",specialProperty:"specialLife",isNumber:!0},Cr={property:"meta",isArray:!0},Mr={property:"name",isString:!0,partialMatch:!0},nt={property:"pitch",isNumber:!0},Se={property:"power",specialProperty:"specialPower",isNumber:!0},Fr={property:"n/a",isMeta:!0},ji={property:"n/a"},Vi={property:"n/a"},Er={property:"sets",isArray:!0,partialMatch:!0},Te={property:"specializations",isArray:!0,partialMatch:!0},Sr={property:"subtypes",isArray:!0},Tr={property:"types",isArray:!0},Rr={property:"talents",isArray:!0},Ji={property:"functionalText",isString:!0,partialMatch:!0},Ui={property:"traits",isArray:!0,partialMatch:!0},Yi={property:"typeText",isString:!0,partialMatch:!0},Re={nestedProperty:"treatments",property:"printings",isArray:!0,isNestedPropertyArray:!0},xe={arcane:Wi,a:it,artist:it,art:it,attack:Se,b:he,block:he,banned:fr,bond:gr,bonds:gr,c:mr,class:mr,chain:$i,co:yr,cost:yr,color:nt,d:he,def:he,defense:he,flow:kr,flows:kr,f:br,fusion:br,foil:vr,foiling:vr,i:Ar,intellect:Ar,is:Cr,k:Dr,keyword:Dr,l:st,legal:st,hero:st,li:Br,life:Br,meta:Cr,n:Mr,name:Mr,p:nt,pitch:nt,pwr:Se,pow:Se,power:Se,r:Fr,rarity:Fr,referencedby:ji,references:Vi,rf:fr,s:Er,set:Er,sp:Te,spec:Te,specialization:Te,specializations:Te,st:Sr,subtype:Sr,t:Tr,type:Tr,tal:Rr,talent:Rr,text:Ji,trait:Ui,treat:Re,treatment:Re,var:Re,variation:Re,x:Yi},Xi=[{text:f.Release.ClassicBattlesRhinarDorinthea.toLowerCase(),override:f.Release.ClassicBattlesRhinarDorinthea.toLowerCase().replaceAll(E,"")}],Zi=e=>{var i;let t=[],r=e.replaceAll("\u201D",'"');for(let{text:s,override:o}of Xi)r.includes(s)&&(r=r.replace(s,o));if((i=Be(r))==null?void 0:i.card)t.push(r);else{let s=r.split(/[ ]+/),o="",n=0;for(let l of s)n===2&&(t.push(o.trim().replaceAll('"',"")),o="",n=0),n<2&&l.split('"').length===2?(o+=" "+l,n++):n===0&&o===""?t.push(l):n===1&&(o+=" "+l);n===2&&(t.push(o.trim().replaceAll('"',"")),o="",n=0)}return t},Qi=[f.Hero.Briar,f.Hero.Brutus,f.Hero.Emperor,f.Hero.Prism,f.Hero.Shiyana,f.Hero.Taylor,f.Hero.Yorick],lt=(e,t)=>{var g;let r=e.trim().toLowerCase();for(let{filters:k,shorthands:y}of rt)for(let A of y)if(r.includes(A)){r=r.replace(A,k.join(" "));break}for(let[k,y]of Object.entries(f.setToSetIdentifierMappings))r.includes(k.toLowerCase())&&(r=r.replace(k.toLowerCase(),y[0]));let a=Zi(r),i=[];for(let k of a){let y=at.find(({shorthands:A})=>A.includes(k));y?i.push(...y.filters):i.push(k)}let s=[],o=[],n=[],l=[],c=!1,d=[],h=[],u=[],p={isClash:!1,heroes:[]};for(let k of i)if(ls(k)){let[y,A]=k.split(":"),{modifier:v,values:m,isAnd:b,isOr:F}=ns(A),{filterKey:C,excluded:R,isMeta:M}=os(y);if(M){if(["rarity","r"].includes(C)&&(d=ss(m),m=d.map(D=>D.toLowerCase())),["legal","l","hero"].includes(C)){for(let D of Qi)A.includes(D.toLowerCase())&&(p.heroes.includes(D)||p.heroes.push(D));A.includes("clash")&&(p.isClash=!0)}s.push(...qe(R,C,m,v))}else{if(["chain"].includes(C)){let D=z=>z.name.toLowerCase().replaceAll(E,""),S=m.map(z=>ct(z,t)).filter(z=>!!z).map(D),I=new Set(S);C="name",F=!0;let L=20,P=0,T=z=>{if(!z.types.includes(f.Type.Hero)){let w=D(z);I.add(w),S.includes(w)||S.push(w)}};for(let z of S){if(P>L)break;let{referencedBy:w,references:W}=Le(z,t);W.forEach(T),P===0&&w.forEach(T),P++}m=Array.from(I)}else if(["referencedby","references"].includes(C)){let D=C,S=[...m].filter(I=>!!I);m=[],C="name",F=!0;for(let I of S){let{referencedBy:L,references:P}=Le(I,t);["referencedby"].includes(D)?m.push(...P.map(({name:T})=>T.toLowerCase().replaceAll(E,""))):["references"].includes(D)&&m.push(...L.map(({name:T})=>T.toLowerCase().replaceAll(E,"")))}}else if(["art","artist"].includes(C))o=m;else if(["is","is","meta"].includes(C)){let D=rs(m);m=D.map(S=>S.toLowerCase().replaceAll(E,"")),D.includes(f.Meta.Expansion)&&!R&&(c=!0)}else["foiling","foil"].includes(C)?(l=as(m),m=l.map(D=>D.toLowerCase())):["treat","treatment","var","variation"].includes(C)?(u=is(m),m=u.map(D=>D.toLowerCase())):["set","s"].includes(C)?(h=qi(m),m=h.map(D=>D.toLowerCase().replaceAll(E,""))):["pitch","p","color"].includes(C)&&(m=ts(m));xe[C]&&s.push({filterToPropertyMapping:xe[C],values:m,isAnd:b,isOr:F,modifier:v,excluded:R})}}else if(k){let y=(g=Be(k))==null?void 0:g.card,A=et(k);y?n.push(`"${y.toLowerCase().replace(E,"")}"`):A&&A.length>0?s.push(...A):n.push(k.replace(E,""))}return{appliedFilters:s,attributes:{artists:o,foilings:l,isExpansionSlot:c,rarities:d,releases:h,treatments:u},keywords:n,specialConditions:p}},qi=e=>{let t=[];for(let r of e)t.push(...es(r));return t},es=e=>{let t=[],r=Object.values(f.Release).find(a=>a.toLowerCase().replaceAll(E,"")===e);if(r&&t.push(r),t.length===0){let a=f.setIdentifierToSetMappings[e];a&&t.push(a)}if(t.length===0){let a=Object.values(f.Release).filter(i=>i.toLowerCase().includes(e));a.length>0&&t.push(...a)}return t},ot={blue:3,yellow:2,red:1,white:0},ts=e=>{let t=[];for(let r of e)ot[r]||ot[r]===0?t.push(ot[r].toString()):t.push(r);return t},xr={exp:f.Meta.Expansion,expansion:f.Meta.Expansion,expansionSlot:f.Meta.Expansion,rainbow:f.Meta.Rainbow},rs=e=>{let t=[];for(let r of e)xr[r]&&t.push(xr[r]);return t},Lr={r:f.Foiling.R,rf:f.Foiling.R,rainbow:f.Foiling.R,c:f.Foiling.C,cf:f.Foiling.C,cold:f.Foiling.C,g:f.Foiling.G,gf:f.Foiling.G,gold:f.Foiling.G},as=e=>{let t=[];for(let r of e)Lr[r]&&t.push(Lr[r]);return t},Ir=V(j({},Object.values(f.Treatment).reduce((e,t)=>(e[t.toLowerCase()]=t,e),{})),{aa:f.Treatment.AA,alt:f.Treatment.AA,"alt art":f.Treatment.AA,ab:f.Treatment.AB,"alt border":f.Treatment.AB,at:f.Treatment.AT,"alt text":f.Treatment.AT,ea:f.Treatment.EA,extended:f.Treatment.EA,"extended art":f.Treatment.EA,fa:f.Treatment.FA,full:f.Treatment.FA,"full art":f.Treatment.FA}),is=e=>{let t=[];for(let r of e)Ir[r]?t.push(Ir[r]):f.Treatment[r.toUpperCase()]&&t.push(f.Treatment[r.toUpperCase()]);return t},wr={c:f.Rarity.Common,f:f.Rarity.Fabled,l:f.Rarity.Legendary,m:f.Rarity.Majestic,v:f.Rarity.Marvel,r:f.Rarity.Rare,s:f.Rarity.SuperRare,t:f.Rarity.Token},ss=e=>{let t=[];for(let r of e)wr[r]?t.push(wr[r]):t.push(r);return t},ns=e=>{let t=[],r,a,i=Or.find(s=>e.includes(s));if(i){let[,s]=e.split(i);Pr(s)?(r=!0,t.push(...s.trim().split("+").map(o=>o.replace(E,"")))):zr(s)?(a=!0,t.push(...s.trim().split(",").map(o=>o.replace(E,"")))):t.push(s.trim().replace(E,""))}else Pr(e)?(r=!0,t.push(...e.trim().split("+").map(s=>s.replace(E,"")))):zr(e)?(a=!0,t.push(...e.trim().split(",").map(s=>s.replace(E,"")))):e.startsWith('"')&&e.endsWith('"')?t.push(e.trim().replaceAll('"',"").replace(E,"")):t.push(e.trim().replace(E,""));return{modifier:i,values:t,isAnd:r,isOr:a}},os=e=>{let t=cs(e);if(t){let[,r]=e.split(t);return{excluded:!0,filterKey:r,isMeta:Nr(r)}}else return{excluded:!1,filterKey:e,isMeta:Nr(e)}},ls=e=>e.indexOf(":")>=0,Pr=e=>e.indexOf("+")>=0,zr=e=>e.indexOf(",")>=0,Nr=e=>{var t;return!!((t=xe[e])!=null&&t.isMeta)},cs=e=>{var t;return(t=_r.find(r=>e.includes(r)))==null?void 0:t.slice(0,1)};var x=X(Z()),Hr={artists:["Hoodwill"],cardIdentifier:"fangs-a-lot-blue",classes:[x.Class.Generic],defaultImage:"FNG000",functionalText:"If Fangs A Lot is put into your banished zone from your graveyard, instead put it into your hand.",legalFormats:[],legalHeroes:[x.Hero.Kayo,x.Hero.Levia,x.Hero.Rhinar],printings:[{artists:["Hoodwill"],identifier:"FNG000",image:"FNG000",print:"FNG000",rarity:x.Rarity.Rare,set:x.Release.Promos},{artists:["Hoodwill"],identifier:"FNG000",image:"FNG000_Marvel",print:`FNG000-${x.Treatment.FA}`,rarity:x.Rarity.Marvel,set:x.Release.Promos,treatment:x.Treatment.FA}],name:"Fangs A Lot",rarities:[x.Rarity.Rare,x.Rarity.Marvel],rarity:x.Rarity.Rare,sets:[x.Release.Promos],setIdentifiers:["FNG000"],specialImage:"FNG000_Marvel",subtypes:[x.Subtype.Attack],types:[x.Type.Action],typeText:"Generic Action - Attack"},Gr=[{keyword:Hr.name.toLowerCase(),card:Hr}];var ct=(e,t)=>{let r=t.find(a=>dt(a.name)===e);return r||(r=t.find(a=>dt(a.name).includes(e))),r},dt=e=>pe(e.toLowerCase().trim().replace(E,"")),pe=e=>e.normalize("NFD").replace(new RegExp("\\p{Diacritic}","gu"),"");var ht=class{constructor(t,r=!1){this.log=(t,...r)=>{this.debug&&console.log(t,...r)};this.search=(t,r)=>{let a,{appliedFilters:i,attributes:s,keywords:o,specialConditions:n}=lt(t,this.cards),l=o.join(" "),c=r?Gr.filter(v=>v.keyword===l):[];if(c.length>0?a=c.map(({card:v})=>v):o.length?a=this.fuse.search(l).map(v=>v.item):a=[...this.cards],i.length&&(a=a.filter(v=>v&&Wr(v,i,n))),o.length===0){let v="";if(s.releases.length===1)try{let m=s.releases[0];v=G.setToSetIdentifierMappings[m][0].toUpperCase()}catch(m){console.error("Error getting set identifier from search",m)}v?a.sort((m,b)=>{var R,M;let F=(R=m.setIdentifiers.find(D=>D.includes(v)))==null?void 0:R.replace(v,""),C=(M=b.setIdentifiers.find(D=>D.includes(v)))==null?void 0:M.replace(v,"");return F&&C?F.localeCompare(C):-1}):a.sort((m,b)=>m.name===b.name?`${m.pitch}`.localeCompare(`${b.pitch}`):m.name.localeCompare(b.name))}else{let v=[],m=[],b=o.map(F=>F.toLowerCase().replace(E,"")).join(" ");for(let F of a)F.name.toLowerCase().replace(E,"")===b?v.push(F):m.push(F);a=[...v,...m]}let d,{artists:h,isExpansionSlot:u,foilings:p,releases:g,treatments:k}=s;(h.length>0||u||p.length>0||g.length>0||k.length>0)&&(d=a.map(v=>{let m=v.printings.filter(b=>{let F=!!b.image,C=h.length===0||h.some(L=>b.artists.find(P=>P.replace(E,"").toLowerCase().includes(L))),R=(u||void 0)===b.isExpansionSlot,M=p.length===0||p.includes(b.foiling),D=g.length===0||g.includes(b.set),S=k.length===0||k.includes(b.treatment);return F&&C&&R&&M&&D&&S});return V(j({},v),{matchingPrintings:m})}));let A=(d==null?void 0:d.length)>0?d:a;return{appliedFilters:i,attributes:s,keywords:o,searchResults:A}};let a={getFn:(i,s)=>{let o=ut.default.config.getFn(i,s);return o&&(Array.isArray(o)?o.map(n=>pe(n.replace(E,""))):pe(o).replace(E,""))},ignoreLocation:!0,includeScore:!0,keys:[{name:"name",weight:10},{name:"functionalText",weight:6},{name:"setIdentifiers",weight:2},{name:"traits",weight:4},{name:"typeText",weight:6}],threshold:.15,useExtendedSearch:!0};this.cards=[...t],this.debug=r,this.fuse=new ut.default([...t],a)}},Kr=ht,Wr=(e,t,r)=>{let a=!0;for(let i of t){let{isNumber:s,isString:o,isArray:n,isBoolean:l,property:c}=i.filterToPropertyMapping;if((s&&!ds(e,i)||o&&!us(e,i)||n&&!hs(e,i)||l&&!ps(e,i))&&(a=!1),r.isClash&&["rarities","bannedFormats","legalFormats"].includes(c)){let h=[G.Rarity.SuperRare,G.Rarity.Majestic,G.Rarity.Legendary,G.Rarity.Fabled].some(y=>e.rarities.includes(y)),u=!1;for(let{cardIdentifiers:y,heroes:A}of Ze)for(let v of r.heroes)A.includes(v)&&y.includes(e.cardIdentifier)&&(u=!0);let p=!!e.specializations&&e.specializations.length>0||u,g=[G.Type.Mentor,G.Type.Weapon].some(y=>e.types.includes(y)),k=Xe.includes(e.name);!a&&!k&&(p||g)&&h&&(a=!0),k&&(a=!1)}if(r.isClash&&r.heroes.includes(G.Hero.Briar)&&e.name==="Rosetta Thorn"&&(a=!0),!a)break}return a},ds=(e,t)=>{var r;if(Ie(t,e)){let{values:a,modifier:i,excluded:s,filterToPropertyMapping:{partialMatch:o}}=t,n=pt(e,t);if(n!=null&&!isNaN(n))if(n=parseInt(n),i)switch(i){case">=":let l=a==null?void 0:a.some(u=>n>=parseInt(u));return s?!l:l;case">":let c=a==null?void 0:a.some(u=>n>parseInt(u));return s?!c:c;case"<=":let d=a==null?void 0:a.some(u=>n<=parseInt(u));return s?!d:d;case"<":let h=a==null?void 0:a.some(u=>n<parseInt(u));return s?!h:h;default:return!1}else{let l=a==null?void 0:a.some(c=>n===parseInt(c));return s?!l:l}else{let l=(r=gs(e,t))==null?void 0:r.toLowerCase(),c=o?a==null?void 0:a.some(d=>l==null?void 0:l.includes(d)):a==null?void 0:a.some(d=>l===d);return s?!c:c}}else return!0},us=(e,t)=>{var r;if(Ie(t,e)){let{values:a,isAnd:i,excluded:s,filterToPropertyMapping:{partialMatch:o}}=t,n=(r=pt(e,t))==null?void 0:r.replaceAll(E,"");if(o){let l=i?a==null?void 0:a.every(c=>n==null?void 0:n.toLowerCase().includes(c)):a==null?void 0:a.some(c=>n==null?void 0:n.toLowerCase().includes(c));return s?!l:l}else{let l=i?a==null?void 0:a.every(c=>(n==null?void 0:n.toLowerCase())===c):a==null?void 0:a.some(c=>(n==null?void 0:n.toLowerCase())===c);return s?!l:l}}else return!0},hs=(e,t)=>{if(Ie(t,e)){let{values:r,isAnd:a,excluded:i,filterToPropertyMapping:{partialMatch:s}}=t,o=fs(e,t).map(n=>n==null?void 0:n.replaceAll(E,""));if(s){let n=a?r.every(c=>o==null?void 0:o.some(d=>d==null?void 0:d.toLowerCase().includes(c))):r.some(c=>o==null?void 0:o.some(d=>d==null?void 0:d.toLowerCase().includes(c))),l=o.length===0;return i?!n||l:n}else{let n=a?r.every(l=>o==null?void 0:o.some(c=>(c==null?void 0:c.toLowerCase())===l)):r.some(l=>o==null?void 0:o.some(c=>(c==null?void 0:c.toLowerCase())===l));return i?!n:n}}else return!0},ps=(e,t)=>{if(Ie(t,e)){let{excluded:r}=t,a=pt(e,t);return r?!a:a}else return!0},pt=(e,t)=>{let{filterToPropertyMapping:r}=t;return e[r.property]},fs=(e,t)=>{let{filterToPropertyMapping:{isNestedPropertyArray:r,nestedProperty:a,property:i}}=t,s=e[i]||[];if(a){let o=new Set;for(let n of s)if(r){let l=n[a]||[];for(let c of l)o.add(c)}else{let l=n[a];l&&o.add(l)}return Array.from(o)}else return s},gs=(e,t)=>{let{filterToPropertyMapping:r}=t;return e[r.specialProperty]},Ie=({cardTypes:e},{types:t,subtypes:r})=>!e||(e==null?void 0:e.some(a=>t.map(i=>i.toLowerCase()).includes(a.toLowerCase())||r.map(i=>i.toLowerCase()).includes(a.toLowerCase())));var le=X(Z());var fe=X(Z()),ms={"Dawnblade, Resplendent":"Dawnblade"},$r=e=>ms[e.name]||e.name,jr=e=>{var t;return(t=e.functionalText)==null?void 0:t.replaceAll(e.name,"")},Le=(e,t)=>{let r=t.find(a=>a.name.toLowerCase().replace(E,"")===e);return r||(r=t.find(a=>a.name.toLowerCase().replace(E,"").includes(e))),ft(r,t)},ft=(e,t)=>{var s,o,n,l,c;let r=[],a=[],i=[];if(e){let d=[],h=[],u=$r(e);for(let p of t){let g=$r(p),k=u===g,y=e.cardIdentifier!==p.cardIdentifier,A=e.pitch!==p.pitch;if(k&&y&&A)r.push(p);else if(!k){let v=e.name==="Seismic Surge",m=(s=p.keywords)==null?void 0:s.includes(fe.Keyword.Heave),b=v&&m,F=e.name==="Marked",C=(o=p.keywords)==null?void 0:o.includes(fe.Keyword.Mark),R=F&&C,M=jr(p),D=(M==null?void 0:M.includes(u))||((n=e.traits)==null?void 0:n.some(ce=>M==null?void 0:M.includes(ce))),S=jr(e);(D||b||R)&&d.push(p);let I=p.traits||[],L=(S==null?void 0:S.includes(g))||I.some(ce=>S==null?void 0:S.includes(ce)),P=p.name==="Seismic Surge",T=(l=e.keywords)==null?void 0:l.includes(fe.Keyword.Heave),z=P&&T,w=p.name==="Marked",W=(c=e.keywords)==null?void 0:c.includes(fe.Keyword.Mark);(L||z||w&&W)&&h.push(p)}}for(let p of d)a.push(p);for(let p of h){let g=p.name;u!==g&&!h.some(k=>{let y=k.name;return y!==g&&(y==null?void 0:y.includes(g))})&&i.push(p)}}return{otherPitches:r,referencedBy:a,references:i}},ys=["cash-in-yellow"],ks={[le.Hero.Crackni]:{traits:[le.Trait.AgentOfChaos]},[le.Hero.Maxx]:{tokens:["hyper-driver"]}},vs=(e,t,r)=>{var i,s;let a=new Set;for(let o of e.filter(({cardIdentifier:n})=>!ys.includes(n))){let{references:n}=ft(o,t);for(let l of n.filter(c=>{let d=c.name==="Hyper Driver",h=r===le.Hero.Maxx;return!d||h}))a.add(l)}if(r){let o=ks[r];if(o){if(o.cards)for(let n of e)(i=o.cards)!=null&&i.includes(n.cardIdentifier)&&a.add(n);if(o.tokens)for(let n of t)(s=o.tokens)!=null&&s.includes(n.cardIdentifier)&&a.add(n)}}return Array.from(a)};0&&(module.exports={PUNCTUATION,abbreviations,availableExclusions,availableModifiers,clashBannedCards,clashLegalCards,clashSpecializationOverrides,filterCard,filtersToCardPropertyMappings,getAbbreviation,getAbbreviationByCard,getCardByName,getCleanText,getExcludedMetaFilters,getKeywordsAndAppliedFiltersFromText,getMetaFilters,getNormalizedText,getRelatedCards,getRelatedCardsByName,getTokensReferencedByCards,multiWordShorthands,shorthands,singleWordShorthands});
|
package/dist/metaFilters.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flesh-and-blood/search",
|
|
3
3
|
"description": "TypeScript search engine for Flesh and Blood cards",
|
|
4
|
-
"version": "3.4.
|
|
4
|
+
"version": "3.4.58",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
@@ -9,15 +9,15 @@
|
|
|
9
9
|
"build": "esbuild src/index.ts --outdir=dist --external:*.test.ts --external:fab-cards --bundle --minify --platform=node --target=es6",
|
|
10
10
|
"postbuild": "tsc --declaration && npm test",
|
|
11
11
|
"test": "jest",
|
|
12
|
-
"test:specific": "jest -t '
|
|
12
|
+
"test:specific": "jest -t 'Matching printing from treatment'",
|
|
13
13
|
"full": "npm run build"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@flesh-and-blood/types": "^3.4.
|
|
16
|
+
"@flesh-and-blood/types": "^3.4.57",
|
|
17
17
|
"fuse.js": "^6.6.2"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
|
-
"@flesh-and-blood/cards": "^3.4.
|
|
20
|
+
"@flesh-and-blood/cards": "^3.4.58",
|
|
21
21
|
"@types/jest": "^29.5.11",
|
|
22
22
|
"@types/node": "^20.10.5",
|
|
23
23
|
"esbuild": "^0.19.10",
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"FAB",
|
|
48
48
|
"FABTCG"
|
|
49
49
|
],
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "606fd732333cfc08573455e7f58b672e8d1a668d"
|
|
51
51
|
}
|