{"version":3,"sources":["components/logo/Logo.tsx","components/menu-item/MenuItem.tsx","components/mobile-menu/MenuButton.tsx","components/mobile-menu/MobileMenu.tsx","components/app-bar/AppBar.tsx","components/collapse/Collapse.tsx","images/twitter.png","components/twitter-link/TwitterLink.tsx","images/discord.png","components/discord-link/DiscordLink.tsx","components/footer/Footer.tsx","images/solana.png","pages/faq/FAQ.tsx","images/correct.png","images/doublesumgang.gif","pages/landing/Landing.tsx","pages/rarity/Rarity.tsx","images/dao.png","pages/about/About.tsx","pages/road-map/RoadMap.tsx","pages/whitepaper/Whitepaper.tsx","App.tsx","reportWebVitals.ts","index.tsx","pages/landing/candy-machine.ts"],"names":["Logo","navigate","useNavigate","className","onClick","src","alt","height","width","isBrowser","isMobile","MenuItem","pathName","path","setIsOpen","location","useLocation","pathname","to","style","textDecoration","display","MenuButton","isOpen","transform","transformOrigin","marginBottom","opacity","marginTop","MobileMenu","children","AppBar","startDate","useState","publicKey","useWallet","menuItems","map","e","index","disabled","getTime","Date","Collapse","collapseTitle","collapseContent","isOpened","TwitterLink","href","color","target","rel","twitter","DiscordLink","discord","Footer","data","q","a","FAQ","item","Landing","candyMachineId","connection","config","treasury","txTimeout","setBalance","setIsSoldOut","setItemsAvailable","setItemsRedeemed","setItemsRemaining","setMintStartDate","wallet","useAnchorWallet","setCandyMachine","refreshCandyMachineState","getCandyMachineState","candyMachine","goLiveDate","itemsAvailable","itemsRemaining","itemsRedeemed","useEffect","getBalance","balance","LAMPORTS_PER_SOL","marginRight","correct","shortenAddress","toBase58","blankImage","attributes","id","value","cards","attributeId","textValue","percentage","isRare","imgPath","Rarity","selectedAttribute","setSelectedAttribute","attribute","attribId","filter","card","About","mining","roadMapItems","title","subTitle","desc","status","RoadMap","cursor","Whitepaper","window","replace","require","anchor","PublicKey","process","network","Connection","startDateSeed","parseInt","App","endpoint","useMemo","clusterApiUrl","wallets","getPhantomWallet","getSlopeWallet","getSolflareWallet","getSolletWallet","getSolletExtensionWallet","element","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode","document","getElementById","CANDY_MACHINE_PROGRAM","SPL_ASSOCIATED_TOKEN_ACCOUNT_PROGRAM_ID","TOKEN_METADATA_PROGRAM_ID","awaitTransactionSignatureConfirmation","txid","timeout","commitment","queryStatus","done","slot","confirmations","err","subId","Promise","resolve","reject","setTimeout","console","log","onSignature","result","context","error","getSignatureStatuses","signatureStatuses","sleep","_signatureSubscriptions","removeSignatureListener","createAssociatedTokenAccountInstruction","associatedTokenAddress","payer","walletAddress","splTokenMintAddress","keys","pubkey","isSigner","isWritable","SystemProgram","programId","TOKEN_PROGRAM_ID","SYSVAR_RENT_PUBKEY","TransactionInstruction","Buffer","from","anchorWallet","provider","preflightCommitment","fetchIdl","idl","program","account","fetch","state","toNumber","getMasterEdition","mint","findProgramAddress","toBuffer","getMetadata","getTokenWallet","mintOneToken","Keypair","generate","token","metadata","masterEdition","getMinimumBalanceForRentExemption","MintLayout","span","rent","rpc","mintNft","accounts","mintAuthority","updateAuthority","tokenMetadataProgram","tokenProgram","systemProgram","clock","SYSVAR_CLOCK_PUBKEY","signers","instructions","createAccount","fromPubkey","newAccountPubkey","space","lamports","Token","createInitMintInstruction","createMintToInstruction","address","chars","slice","ms"],"mappings":"y5BAuBeA,MAlBf,WACE,IAAMC,EAAWC,cAMjB,OACE,sBAAKC,UAAU,OAAOC,QALH,WACnBH,EAAS,MAIT,UACE,qBAAKE,UAAU,WAAf,SACE,qBAAKE,IAAI,kBAAkBC,IAAI,MAAMC,OAAO,KAAKC,MAAM,SAExDC,aAAa,kBACbC,YAAY,U,OCRJ,SAASC,EAAT,GAA6E,IAAzDC,EAAwD,EAAxDA,SAAUC,EAA8C,EAA9CA,KAAMC,EAAwC,EAAxCA,UAC3CC,EAAWC,cACjB,OACE,sBAAKb,UAAU,WAAf,UACE,qBAAKA,UAAU,OAAf,SACE,cAAC,IAAD,CACEA,UAAS,mBAAcY,EAASE,WAAaJ,EAAO,SAAW,IAC/DK,GAAIL,EACJM,MAAO,CAAEC,eAAgB,OAAQC,QAAS,SAC1CjB,QAAS,kBAAMU,GAAU,IAJ3B,SAMGF,MAGL,qBAAKT,UAAU,Y,OCkBNmB,MAlCf,YAAuE,IAAjDC,EAAgD,EAAhDA,OAAQT,EAAwC,EAAxCA,UAK5B,OACE,sBAAKX,UAAU,aAAaC,QALV,WAClBU,GAAWS,IAIX,UACE,qBACEpB,UAAU,OACVgB,MAAO,CACLK,UAAWD,EAAS,qCAAuC,OAC3DE,gBAAiB,WACjBC,aAAc,SAGlB,qBACEvB,UAAU,OACVgB,MAAO,CACLQ,QAASJ,EAAS,EAAI,EACtBC,UAAWD,EAAS,oBAAsB,UAG9C,qBACEpB,UAAU,OACVgB,MAAO,CACLK,UAAWD,EAAS,qCAAuC,OAC3DE,gBAAiB,WACjBG,UAAW,a,OC3BN,SAASC,EAAT,GAAsE,IAAhDN,EAA+C,EAA/CA,OAAQO,EAAuC,EAAvCA,SAC3C,OACE,qBAAK3B,UAAU,aAAagB,MAAO,CAAEZ,OAAQgB,EAAS,MAAQ,GAA9D,SACGA,EAAS,qBAAKpB,UAAU,WAAf,SAA2B2B,IAAkB,O,OCgD9CC,MA5Cf,YAA2D,IAAzCC,EAAwC,EAAxCA,UAChB,EAA4BC,oBAAS,GAArC,mBAAOV,EAAP,KAAeT,EAAf,KACQoB,EAAcC,cAAdD,UAEFE,EAAY,WAShB,MARiB,CACf,CAAEvB,KAAM,UAAWD,SAAU,UAC7B,CAAEC,KAAM,SAAUD,SAAU,SAC5B,CAAEC,KAAM,YAAaD,SAAU,WAC/B,CAAEC,KAAM,OAAQD,SAAU,OAC1B,CAAEC,KAAM,eAAgBD,SAAU,eAGpByB,KAAI,SAACC,EAAGC,GAAJ,OAClB,cAAC,EAAD,CAAsB1B,KAAMyB,EAAEzB,KAAMD,SAAU0B,EAAE1B,SAAUE,UAAWA,GAAtDyB,OAInB,OACE,sBAAKpC,UAAU,UAAf,UACE,cAAC,EAAD,IACCM,aACC,qCACE,qBAAKN,UAAU,OAAf,SAAuBiC,MAEvB,qBAAKjC,UAAU,UAAf,SACG+B,EACC,cAAC,IAAD,CAAwB/B,UAAU,gBAElC,cAAC,IAAD,CAAmBA,UAAU,cAAcqC,UAAmB,OAATR,QAAS,IAATA,OAAA,EAAAA,EAAWS,YAAY,IAAIC,MAAOD,iBAK9F/B,YACC,qCACE,cAAC,EAAD,CAAYa,OAAQA,EAAQT,UAAWA,IACvC,cAAC,EAAD,CAAYS,OAAQA,EAApB,SAA6Ba,a,gBC5BxBO,MAff,YAAkF,IAA9DC,EAA6D,EAA7DA,cAAeC,EAA8C,EAA9CA,gBACjC,EAA4BZ,oBAAS,GAArC,mBAAOV,EAAP,KAAeT,EAAf,KAEA,OACE,qCACE,sBAAKX,UAAU,WAAWC,QAAS,kBAAMU,GAAWS,IAApD,UACGqB,EADH,IACmBrB,EAAS,qBAAKpB,UAAU,SAAf,oBAAkC,qBAAKA,UAAU,SAAf,uBAE9D,cAAC,WAAD,CAAe2C,SAAUvB,EAAzB,SACE,qBAAKpB,UAAU,2BAAf,SAA2C0C,UClBpC,G,OAAA,IAA0B,qCCG1B,SAASE,IACtB,OACE,mCACE,mBACEC,KAAK,oCACL7B,MAAO,CAAEC,eAAgB,OAAQ6B,MAAO,WACxCC,OAAO,SACPC,IAAI,aAJN,SAME,qBAAK9C,IAAK+C,EAAS9C,IAAI,eAAeE,MAAM,KAAKD,OAAO,WCZjD,UAA0B,oCCG1B,SAAS8C,IACtB,OACE,mCACE,mBACEL,KAAK,sBACL7B,MAAO,CAAEC,eAAgB,OAAQ6B,MAAO,WACxCC,OAAO,SACPC,IAAI,aAJN,SAME,qBAAK9C,IAAKiD,EAAShD,IAAI,QAAQE,MAAM,KAAKD,OAAO,WCkD1CgD,MAtDf,WACE,OACE,sBAAKpD,UAAU,SAAf,UACGM,aACC,qCACE,sBAAKN,UAAU,kBAAf,UACE,sBAAKA,UAAU,iBAAf,UACE,qBAAKA,UAAU,wBAAf,6BACA,qBAAKA,UAAU,cAAf,kEACA,qBAAKA,UAAU,UAAf,SACE,mBAAG6C,KAAK,oCAAoC7B,MAAO,CAAEC,eAAgB,OAAQ6B,MAAO,WAApF,4CAKJ,sBAAK9C,UAAU,iBAAf,UACE,qBAAKA,UAAU,wBAAf,uBACA,2DACA,8BACE,mBAAG6C,KAAK,gCAAgC7B,MAAO,CAAEC,eAAgB,OAAQ6B,MAAO,SAAhF,mBAIF,8BACE,mBAAGD,KAAK,kCAAkC7B,MAAO,CAAEC,eAAgB,OAAQ6B,MAAO,SAAlF,2BAKJ,sBAAK9C,UAAU,iBAAf,UACE,qBAAKA,UAAU,wBAAf,uBACA,cAAC4C,EAAD,IACA,cAACM,EAAD,UAGJ,sBAAKlD,UAAU,kBAAf,UACE,cAAC,EAAD,IACA,sBAAKA,UAAU,WAAf,0BACe,qBAAKE,IC9CjB,61CD8C8BC,IAAI,SAASE,MAAM,KAAKD,OAAO,OADhE,+BAMLG,YACC,sBAAKP,UAAU,cAAf,UACE,cAAC,EAAD,IACA,cAAC4C,EAAD,IACA,cAACM,EAAD,WElDJG,G,OAAO,CACX,CACEC,EAAG,4CACHC,EAAG,+DAEL,CACED,EAAG,aACHC,EAAG,uHAEL,CACED,EAAG,iCACHC,EAAG,4DAEL,CACED,EAAG,kCACHC,EAAG,sFAEL,CACED,EAAG,6CACHC,EAAG,4CAoBQC,MAhBf,WACE,OACE,sBAAKxD,UAAU,MAAf,UACE,sBAAKA,UAAU,OAAf,UACE,qBAAKA,UAAU,QAAf,iBACA,qBAAKA,UAAU,YAAf,SACGqD,EAAKnB,KAAI,SAACuB,GAAD,OACR,cAAC,EAAD,CAAuBhB,cAAegB,EAAKH,EAAGZ,gBAAiBe,EAAKF,GAArDE,EAAKH,WAI1B,cAAC,EAAD,Q,+BCvCS,MAA0B,oCCA1B,MAA0B,0C,OCwP1BI,MA5Mf,YAAqH,IAAlG7B,EAAiG,EAAjGA,UAAW8B,EAAsF,EAAtFA,eAAgBC,EAAsE,EAAtEA,WAC5C,GADkH,EAA1DC,OAA0D,EAAlDC,SAAkD,EAAxCC,UAC5CjC,sBAA9B,mBAAgBkC,GAAhB,WACA,EAAgClC,oBAAS,GAAzC,mBACA,GADA,UACkCA,oBAAS,IAA3C,mBAAkBmC,GAAlB,WACA,EAAkCnC,oBAAS,GAA3C,mBAEA,GAFA,UAE4CA,mBAAS,IAArD,mBAAuBoC,GAAvB,WACA,EAA0CpC,mBAAS,GAAnD,mBAAsBqC,GAAtB,WACA,EAA4CrC,mBAAS,GAArD,mBAAuBsC,GAAvB,WAEA,EAA0CtC,mBAASD,GAAnD,mBAAsBwC,GAAtB,WAEMC,EAASC,cAEf,EAAwCzC,qBAAxC,mBAAqB0C,GAArB,WAEMC,EAA2B,WAC/B,sBAAC,sCAAAlB,EAAA,yDACMe,EADN,iEAG2FI,YACxFJ,EACAX,EACAC,GANH,gBAGSe,EAHT,EAGSA,aAAcC,EAHvB,EAGuBA,WAAYC,EAHnC,EAGmCA,eAAgBC,EAHnD,EAGmDA,eAAgBC,EAHnE,EAGmEA,cAMlEb,EAAkBW,GAClBT,EAAkBU,GAClBX,EAAiBY,GAEjBd,EAAgC,IAAnBa,GACbT,EAAiBO,GACjBJ,EAAgBG,GAfjB,2CAAD,IAsIF,OAnHAK,qBAAU,WACR,sBAAC,4BAAAzB,EAAA,0DACKe,EADL,gCAEyBV,EAAWqB,WAAWX,EAAOvC,WAFtD,OAESmD,EAFT,OAGGlB,EAAWkB,EAAUC,oBAHxB,0CAAD,KAMC,CAACb,EAAQV,IAEZoB,oBAAUP,EAA0B,CAACH,EAAQX,EAAgBC,IA2G3D,sBAAK5D,UAAU,UAAf,UACE,sBAAKA,UAAU,WAAf,UACE,sBAAKA,UAAU,QAAf,mCACwB,uBADxB,yBACoD,uBADpD,OAC+D,GAC7D,sBAAMA,UAAU,QAAhB,mBAFF,mBAEsD,uBAFtD,yBAEkF,uBAFlF,6BAIA,sBAAKA,UAAU,OAAf,UACE,mBACE6C,KAAK,oCACL7B,MAAO,CAAEC,eAAgB,OAAQ6B,MAAO,WACxCC,OAAO,SACPC,IAAI,aAJN,SAME,qBAAK9C,IAAK+C,EAAS9C,IAAI,eAAeE,MAAM,KAAKD,OAAO,KAAKY,MAAO,CAAEoE,YAAa,UAErF,mBACEvC,KAAK,sBACL7B,MAAO,CAAEC,eAAgB,OAAQ6B,MAAO,WACxCC,OAAO,SACPC,IAAI,aAJN,SAME,qBAAK9C,IAAKiD,EAAShD,IAAI,UAAUE,MAAM,KAAKD,OAAO,KAAKY,MAAO,CAAEoE,YAAa,UAEhF,sBAAKpF,UAAU,UAAf,UACE,qBAAKE,IAAKmF,EAASlF,IAAI,UAAUE,MAAM,KAAKD,OAAO,OACnD,mBAAGJ,UAAU,gBAAb,0DAEF,sBAAKA,UAAU,UAAf,UACE,qBAAKE,IAAKmF,EAASlF,IAAI,UAAUE,MAAM,KAAKD,OAAO,OACnD,mBAAGJ,UAAU,gBAAb,6DAEF,sBAAKA,UAAU,UAAf,UACE,qBAAKE,IAAKmF,EAASlF,IAAI,UAAUE,MAAM,KAAKD,OAAO,OACnD,oBAAGJ,UAAU,gBAAb,wCAC6B,uBAD7B,+CAON,qBAAKA,UAAU,WAAf,SACE,sBAAKA,UAAU,OAAf,UACGsE,GAAU,sBAAKtE,UAAU,WAAf,oBAAkCsF,YAAehB,EAAOvC,UAAUwD,YAAc,OAC3F,qBAAKvF,UAAU,SAAf,SACE,qBAAKA,UAAU,aAAaE,IAAKsF,EAAYrF,IAAI,0BC7OvDsF,G,OAAa,CACjB,CAAEC,GAAI,EAAGC,MAAO,SAChB,CAAED,GAAI,EAAGC,MAAO,SAChB,CAAED,GAAI,EAAGC,MAAO,UAChB,CAAED,GAAI,EAAGC,MAAO,WAChB,CAAED,GAAI,EAAGC,MAAO,WAChB,CAAED,GAAI,EAAGC,MAAO,SAChB,CAAED,GAAI,EAAGC,MAAO,YAGZC,EAAQ,CACZ,CACEF,GAAI,EACJG,YAAa,EACbC,UAAW,WACXC,WAAY,MACZC,QAAQ,EACRC,QAAS,sCAEX,CACEP,GAAI,EACJG,YAAa,EACbC,UAAW,SACXC,WAAY,MACZC,QAAQ,EACRC,QAAS,sCAEX,CACEP,GAAI,EACJG,YAAa,EACbC,UAAW,SACXC,WAAY,MACZC,QAAQ,EACRC,QAAS,sCAEX,CACEP,GAAI,EACJG,YAAa,EACbC,UAAW,OACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,sCAEX,CACEP,GAAI,EACJG,YAAa,EACbC,UAAW,UACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,sCAEX,CACEP,GAAI,EACJG,YAAa,EACbC,UAAW,QACXC,WAAY,MACZC,QAAQ,EACRC,QAAS,sCAEX,CACEP,GAAI,EACJG,YAAa,EACbC,UAAW,MACXC,WAAY,MACZC,QAAQ,EACRC,QAAS,sCAEX,CACEP,GAAI,EACJG,YAAa,EACbC,UAAW,QACXC,WAAY,MACZC,QAAQ,EACRC,QAAS,sCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,QACXC,WAAY,MACZC,QAAQ,EACRC,QAAS,sCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,MACXC,WAAY,MACZC,QAAQ,EACRC,QAAS,sCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,SACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,sCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,QACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,sCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,OACXC,WAAY,MACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,gBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,gBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,eACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,oBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,kBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,qBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,4BACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,WACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,gBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,iBACXC,WAAY,IACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,WACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,oBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,sBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,0BACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,0BACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,wBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,0BACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,wBACXC,WAAY,IACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,OACXC,WAAY,MACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,oBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,mBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,mBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,oBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,qBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,qBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,eACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,YACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,gBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,kBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,YACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,gBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,SACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,eACXC,WAAY,IACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,aACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,aACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,WACXC,WAAY,IACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,gBACXC,WAAY,IACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,gBACXC,WAAY,IACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,QACXC,WAAY,IACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,QACXC,WAAY,GACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,YACXC,WAAY,IACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,gBACXC,WAAY,IACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,UACXC,WAAY,IACZC,QAAQ,EACRC,QAAS,wCAGX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,OACXC,WAAY,MACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,SACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,WACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,QACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,OACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,YACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,YACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,QACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,QACXC,WAAY,IACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,aACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,eACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,UACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,uBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,MACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,MACXC,WAAY,IACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,SACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,QACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,UACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,SACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,MACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,aACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,OACXC,WAAY,EACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,QACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,gBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,OACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,wCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,OACXC,WAAY,MACZC,QAAQ,EACRC,QAAS,sCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,YACXC,WAAY,MACZC,QAAQ,EACRC,QAAS,sCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,YACXC,WAAY,MACZC,QAAQ,EACRC,QAAS,sCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,YACXC,WAAY,MACZC,QAAQ,EACRC,QAAS,sCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,cACXC,WAAY,MACZC,QAAQ,EACRC,QAAS,sCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,WACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,sCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,WACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,sCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,OACXC,WAAY,MACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,oBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,mBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,iBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,eACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,aACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,aACXC,WAAY,IACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,OACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,GACJG,YAAa,EACbC,UAAW,oBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,IACJG,YAAa,EACbC,UAAW,YACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,IACJG,YAAa,EACbC,UAAW,cACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,IACJG,YAAa,EACbC,UAAW,OACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,IACJG,YAAa,EACbC,UAAW,kBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,IACJG,YAAa,EACbC,UAAW,QACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,IACJG,YAAa,EACbC,UAAW,gBACXC,WAAY,IACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,IACJG,YAAa,EACbC,UAAW,SACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,IACJG,YAAa,EACbC,UAAW,iBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,IACJG,YAAa,EACbC,UAAW,QACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,IACJG,YAAa,EACbC,UAAW,gBACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,IACJG,YAAa,EACbC,UAAW,MACXC,WAAY,KACZC,QAAQ,EACRC,QAAS,uCAEX,CACEP,GAAI,IACJG,YAAa,EACbC,UAAW,mBACXC,WAAY,IACZC,QAAQ,EACRC,QAAS,wCA8CEC,MA1Cf,WACE,MAAkDpE,mBAAS,GAA3D,mBAAOqE,EAAP,KAA0BC,EAA1B,KAMA,OACE,sBAAKpG,UAAU,SAAf,UACE,qBAAKA,UAAU,aAAf,SACGyF,EAAWvD,KAAI,SAACmE,GAAD,OACd,qBAEErG,UAAS,oBAAeqG,EAAUX,KAAOS,EAAoB,SAAW,IACxElG,QAAS,kBAXWqG,EAWgBD,EAAUX,QAVtDU,EAAqBE,GADM,IAACA,GAQtB,SAKGD,EAAUV,OAJNU,EAAUX,SAQrB,qBAAK1F,UAAU,QAAf,SACG4F,EACEW,QAAO,SAACC,GAAD,OAAUA,EAAKX,cAAgBM,KACtCjE,KAAI,SAACsE,GAAD,OACH,sBAAmBxG,UAAU,OAA7B,UACGwG,EAAKR,OACJ,sBAAKhG,UAAU,OAAf,UACE,sBAAMA,UAAU,WAAhB,eADF,WAIA,qBAAKA,UAAU,SAEjB,qBAAKE,IAAKsG,EAAKP,QAAS9F,IAAI,eAC3BqG,EAAKV,UATR,IASmB,uBAChBU,EAAKT,WAAa,MAVXS,EAAKd,aCj5BZ,MAA0B,gC,OCa1Be,MARf,WACE,OACE,qBAAKzG,UAAU,QAAf,SACE,qBAAKE,IAAKwG,EAAQvG,IAAI,SAASH,UAAU,aCDzC2G,G,OAAe,CACnB,CACEjB,GAAI,EACJkB,MAAO,UACPC,SAAU,yBACVC,KAAK,gOAGLC,OAAQ,GAEV,CACErB,GAAI,EACJkB,MAAO,UACPC,SAAU,0CACVC,KAAK,gKAGLC,OAAQ,GAEV,CACErB,GAAI,EACJkB,MAAO,UACPC,SAAU,mCACVC,KAAK,0OAGLC,OAAQ,GAEV,CACErB,GAAI,EACJkB,MAAO,UACPC,SAAU,2CACVC,KAAK,+LAELC,OAAQ,GAEV,CACErB,GAAI,EACJkB,MAAO,UACPC,SAAU,mDACVC,KAAK,oLAELC,OAAQ,GAEV,CACErB,GAAI,EACJkB,MAAO,UACPC,SAAU,oEACVC,KAAK,kRAELC,OAAQ,GAEV,CACErB,GAAI,EACJkB,MAAO,UACPC,SAAU,gDACVC,KAAK,6JAELC,OAAQ,GAEV,CACErB,GAAI,EACJkB,MAAO,UACPC,SAAU,mCACVC,KAAK,2KAELC,OAAQ,KAuBGC,MAnBf,WACE,OACE,qBAAKhH,UAAU,UAAf,SACE,qBAAKA,UAAU,UAAf,SACG2G,EAAazE,KAAI,SAACuB,GAAD,OAChB,sBAAKzD,UAAU,cAAf,UACE,gCACE,qBAAKA,UAAU,QAAf,SAAwByD,EAAKmD,QAC7B,qBAAK5G,UAAU,WAAf,SAA2ByD,EAAKoD,WAChC,qBAAK7G,UAAU,OAAf,SAAuByD,EAAKqD,UAE9B,qBAAK9F,MAAO,CAAEiG,OAAQ,WAAtB,SAAoD,IAAhBxD,EAAKsD,OAAe,sCAAiB,yCANzCtD,EAAKmD,eC3ElCM,MALf,WAEE,OADAC,OAAOvG,SAASwG,QAAQ,kDACjB,yB,OCwBTC,EAAQ,KAER,IAAMvD,EAAW,IAAIwD,IAAYC,UAAUC,gDAErC3D,EAAS,IAAIyD,IAAYC,UAAUC,gDAEnC7D,EAAiB,IAAI2D,IAAYC,UAAUC,+CAE3CC,EAAUD,SAGV5D,EAAa,IAAI0D,IAAYI,WADnBF,sGAGVG,EAAgB,IAAIpF,KAA6D,IAAxDqF,SAASJ,aAAyC,KAqDlEK,MAjDf,WACE,IAAMC,EAAWC,mBAAQ,kBAAMC,wBAAcP,KAAU,IAEjDQ,EAAUF,mBACd,iBAAM,CACJG,cACAC,cACAC,cACAC,YAAgB,CAAEZ,YAClBa,YAAyB,CAAEb,eAE7B,IAGF,OACE,cAAC,IAAD,CAAoBK,SAAUA,EAA9B,SACE,cAAC,IAAD,CAAgBG,QAASA,EAAzB,SACE,cAAC,IAAD,UACE,cAAC,IAAD,UACE,sBAAKjI,UAAU,MAAf,UACE,cAAC,EAAD,CAAQ6B,UAAW8F,IACnB,eAAC,IAAD,WACE,cAAC,IAAD,CAAOjH,KAAK,OAAO6H,QAAS,cAAC,EAAD,MAC5B,cAAC,IAAD,CAAO7H,KAAK,UAAU6H,QAAS,cAAC,EAAD,MAC/B,cAAC,IAAD,CAAO7H,KAAK,SAAS6H,QAAS,cAAC,EAAD,MAC9B,cAAC,IAAD,CAAO7H,KAAK,YAAY6H,QAAS,cAAC,EAAD,MACjC,cAAC,IAAD,CAAO7H,KAAK,eAAe6H,QAAS,cAAC,EAAD,MACpC,cAAC,IAAD,CACE7H,KAAK,IACL6H,QACE,cAAC,EAAD,CACE5E,eAAgBA,EAChBE,OAAQA,EACRD,WAAYA,EACZ/B,UAAW8F,EACX7D,SAAUA,EACVC,UAtCJ,uBC7BHyE,EAZS,SAACC,GACnBA,GAAeA,aAAuBC,UACxC,8BAAqBC,MAAK,YAAkD,IAA/CC,EAA8C,EAA9CA,OAAQC,EAAsC,EAAtCA,OAAQC,EAA8B,EAA9BA,OAAQC,EAAsB,EAAtBA,OAAQC,EAAc,EAAdA,QAC3DJ,EAAOH,GACPI,EAAOJ,GACPK,EAAOL,GACPM,EAAON,GACPO,EAAQP,OCHdQ,IAASC,OACP,cAAC,IAAMC,WAAP,UACE,cAAC,EAAD,MAEFC,SAASC,eAAe,SAM1Bb,K,gOCZac,EAAwB,IAAIhC,IAAYC,UAAU,+CAEzDgC,EAA0C,IAAIjC,IAAYC,UAC9D,gDAGIiC,EAA4B,IAAIlC,IAAYC,UAAU,+CAgB/CkC,EAAqC,uCAAG,WACnDC,EACAC,EACA/F,GAHmD,mCAAAL,EAAA,6DAInDqG,EAJmD,+BAId,SACrCC,EALmD,gCAO/CC,GAAO,EACP/C,EAAoD,CACtDgD,KAAM,EACNC,cAAe,EACfC,IAAK,MAEHC,EAAQ,EAbuC,SAcpC,IAAIC,QAAJ,uCAAY,WAAOC,EAASC,GAAhB,SAAA9G,EAAA,sDACzB+G,YAAW,WACLR,IAGJA,GAAO,EACPS,QAAQC,IAAI,4BACZH,EAAO,CAAEV,SAAS,OACjBA,GACH,IACEO,EAAQtG,EAAW6G,YACjBf,GACA,SAACgB,EAAaC,GACZb,GAAO,EACP/C,EAAS,CACPkD,IAAKS,EAAOT,IACZF,KAAMY,EAAQZ,KACdC,cAAe,GAEbU,EAAOT,KACTM,QAAQC,IAAI,yBAA0BE,EAAOT,KAC7CI,EAAOtD,KAEPwD,QAAQC,IAAI,yBAA0BE,GACtCN,EAAQrD,MAGZ6C,GAEF,MAAOzH,GACP2H,GAAO,EACPS,QAAQK,MAAM,oBAAqBlB,EAAMvH,GA/BlB,UAiCjB2H,IAAQD,EAjCS,uBAmCvB,sBAAC,4BAAAtG,EAAA,+EAEmCK,EAAWiH,qBAAqB,CAACnB,IAFpE,OAESoB,EAFT,OAGG/D,EAAS+D,GAAqBA,EAAkBnF,MAAM,GACjDmE,IACE/C,EAEMA,EAAOkD,KAChBM,QAAQC,IAAI,iBAAkBd,EAAM3C,GACpC+C,GAAO,EACPO,EAAOtD,EAAOkD,MACJlD,EAAOiD,eAGjBO,QAAQC,IAAI,wBAAyBd,EAAM3C,GAC3C+C,GAAO,EACPM,EAAQrD,IAJRwD,QAAQC,IAAI,4BAA6Bd,EAAM3C,GAN/CwD,QAAQC,IAAI,uBAAwBd,EAAM3C,IANjD,gDAoBQ+C,GACHS,QAAQC,IAAI,8BAA+Bd,EAA3C,MArBL,wDAAD,GAnCuB,SA4DjBqB,EAAM,KA5DW,iEAAZ,yDAdoC,cAcnDhE,EAdmD,OA+E9CnD,EAAmBoH,wBAAwBd,IAC9CtG,EAAWqH,wBAAwBf,GAErCJ,GAAO,EACPS,QAAQC,IAAI,mBAAoBzD,GAnFmB,kBAoF5CA,GApF4C,4CAAH,0DAuF/BmE,EAA0C,SAC3DC,EACAC,EACAC,EACAC,GAEA,IAAMC,EAAO,CACX,CAAEC,OAAQJ,EAAOK,UAAU,EAAMC,YAAY,GAC7C,CAAEF,OAAQL,EAAwBM,UAAU,EAAOC,YAAY,GAC/D,CAAEF,OAAQH,EAAeI,UAAU,EAAOC,YAAY,GACtD,CAAEF,OAAQF,EAAqBG,UAAU,EAAOC,YAAY,GAC5D,CACEF,OAAQlE,IAAYqE,cAAcC,UAClCH,UAAU,EACVC,YAAY,GAEd,CAAEF,OAAQK,IAAkBJ,UAAU,EAAOC,YAAY,GACzD,CACEF,OAAQlE,IAAYwE,mBACpBL,UAAU,EACVC,YAAY,IAGhB,OAAO,IAAIpE,IAAYyE,uBAAuB,CAC5CR,OACAK,UAAWrC,EACXlG,KAAM2I,EAAOC,KAAK,OAITvH,EAAoB,uCAAG,WAClCwH,EACAvI,EACAC,GAHkC,+BAAAL,EAAA,6DAK5B4I,EAAW,IAAI7E,IAAgB1D,EAAYsI,EAAc,CAC7DE,oBAAqB,WANW,SAShB9E,IAAe+E,SAAS/C,EAAuB6C,GAT/B,cAS5BG,EAT4B,OAW5BC,EAAU,IAAIjF,IAAegF,EAAKhD,EAAuB6C,GACzDxH,EAAe,CACnBe,GAAI/B,EACJC,aACA2I,WAfgC,SAkBTA,EAAQC,QAAQ7H,aAAa8H,MAAM9I,GAlB1B,cAkB5B+I,EAlB4B,OAoB5B7H,EAAiB6H,EAAMrJ,KAAKwB,eAAe8H,WAC3C5H,EAAgB2H,EAAM3H,cAAc4H,WACpC7H,EAAiBD,EAAiBE,EAEpCH,EAAa8H,EAAMrJ,KAAKuB,WAAW+H,WACvC/H,EAAa,IAAIrC,KAAkB,IAAbqC,GAEtB2F,QAAQC,IAAI,CACV3F,iBACAE,gBACAD,iBACAF,eA/BgC,kBAkC3B,CACLD,eACAE,iBACAE,gBACAD,iBACAF,eAvCgC,4CAAH,0DA2C3BgI,EAAgB,uCAAG,WAAOC,GAAP,SAAAtJ,EAAA,sEAEf+D,IAAYC,UAAUuF,mBAC1B,CAACd,EAAOC,KAAK,YAAazC,EAA0BuD,WAAYF,EAAKE,WAAYf,EAAOC,KAAK,YAC7FzC,GAJmB,uCAMrB,IANqB,2CAAH,sDAShBwD,EAAW,uCAAG,WAAOH,GAAP,SAAAtJ,EAAA,sEAEV+D,IAAYC,UAAUuF,mBAC1B,CAACd,EAAOC,KAAK,YAAazC,EAA0BuD,WAAYF,EAAKE,YACrEvD,GAJc,uCAMhB,IANgB,2CAAH,sDASXyD,EAAc,uCAAG,WAAO3I,EAA+BuI,GAAtC,SAAAtJ,EAAA,sEAEb+D,IAAYC,UAAUuF,mBAC1B,CAACxI,EAAOyI,WAAYlB,IAAiBkB,WAAYF,EAAKE,YACtDxD,GAJiB,uCAMnB,IANmB,2CAAH,wDASP2D,EAAY,uCAAG,WAC1BvI,EACAd,EACAuH,EACAtH,GAJ0B,2BAAAP,EAAA,6DAMpBsJ,EAAOvF,IAAY6F,QAAQC,WANP,SAONH,EAAe7B,EAAOyB,EAAK9K,WAPrB,cAOpBsL,EAPoB,OAQlBzJ,EAAwBe,EAAxBf,WAAY2I,EAAY5H,EAAZ4H,QARM,SASHS,EAAYH,EAAK9K,WATd,cASpBuL,EAToB,iBAUEV,EAAiBC,EAAK9K,WAVxB,eAUpBwL,EAVoB,iBAYP3J,EAAW4J,kCAAkCC,IAAWC,MAZjD,eAYpBC,EAZoB,iBAcbpB,EAAQqB,IAAIC,QAAQ,CAC/BC,SAAU,CACRjK,SACAc,aAAcA,EAAae,GAC3B0F,MAAOA,EACP9G,OAAQR,EACR+I,KAAMA,EAAK9K,UACXuL,WACAC,gBACAQ,cAAe3C,EACf4C,gBAAiB5C,EACjB6C,qBAAsBzE,EACtB0E,aAAcrC,IACdsC,cAAe7G,IAAYqE,cAAcC,UACzC+B,KAAMrG,IAAYwE,mBAClBsC,MAAO9G,IAAY+G,qBAErBC,QAAS,CAACzB,GACV0B,aAAc,CACZjH,IAAYqE,cAAc6C,cAAc,CACtCC,WAAYrD,EACZsD,iBAAkB7B,EAAK9K,UACvB4M,MAAOlB,IAAWC,KAClBkB,SAAUjB,EACV/B,UAAWC,MAEbgD,IAAMC,0BAA0BjD,IAAkBgB,EAAK9K,UAAW,EAAGqJ,EAAOA,GAC5EF,EAAwCmC,EAAOjC,EAAOA,EAAOyB,EAAK9K,WAClE8M,IAAME,wBAAwBlD,IAAkBgB,EAAK9K,UAAWsL,EAAOjC,EAAO,GAAI,MA1C5D,qFAAH,4DA+CZ9F,EAAiB,SAAC0J,GAAwC,IAAvBC,EAAsB,uDAAd,EACtD,MAAM,GAAN,OAAUD,EAAQE,MAAM,EAAGD,GAA3B,cAAuCD,EAAQE,OAAOD,KAGlDlE,EAAQ,SAACoE,GACb,OAAO,IAAIhF,SAAQ,SAACC,GAAD,OAAaE,WAAWF,EAAS+E,S","file":"static/js/main.07a5b5d6.chunk.js","sourcesContent":["import React from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { isBrowser, isMobile } from 'react-device-detect';\nimport './Logo.scss';\n\nfunction Logo(): React.ReactElement {\n const navigate = useNavigate();\n\n const navigateHome = () => {\n navigate('/');\n };\n\n return (\n
\n
\n \"Dog\"\n
\n {isBrowser && 'DOUBLE SUM GANG'}\n {isMobile && 'DSG'}\n
\n );\n}\n\nexport default Logo;\n","import React from 'react';\nimport { Link, useLocation } from 'react-router-dom';\nimport './MenuItem.scss';\n\ntype Props = {\n pathName: string;\n path: string;\n setIsOpen: (v: boolean) => void;\n};\n\nexport default function MenuItem({ pathName, path, setIsOpen }: Props): React.ReactElement {\n const location = useLocation();\n return (\n
\n
\n setIsOpen(false)}\n >\n {pathName}\n \n
\n
\n
\n );\n}\n","import React from 'react';\nimport './MenuButton.scss';\n\ntype Props = {\n isOpen: boolean;\n setIsOpen: (val: boolean) => void;\n};\n\nfunction MenuButton({ isOpen, setIsOpen }: Props): React.ReactElement {\n const handleClick = () => {\n setIsOpen(!isOpen);\n };\n\n return (\n
\n \n \n \n
\n );\n}\n\nexport default MenuButton;\n","import React from 'react';\nimport './MobileMenu.scss';\n\ntype Props = {\n isOpen: boolean;\n children?: React.ReactNode;\n};\n\nexport default function MobileMenu({ isOpen, children }: Props): React.ReactElement {\n return (\n
\n {isOpen ?
{children}
: null}\n
\n );\n}\n","import React, { useState } from 'react';\nimport { WalletMultiButton, WalletDisconnectButton } from '@solana/wallet-adapter-react-ui';\nimport { useWallet } from '@solana/wallet-adapter-react';\nimport { isBrowser, isMobile } from 'react-device-detect';\n\nimport Logo from '../logo/Logo';\nimport MenuItem from '../menu-item/MenuItem';\nimport MenuButton from '../mobile-menu/MenuButton';\nimport MobileMenu from '../mobile-menu/MobileMenu';\nimport './AppBar.scss';\n\ntype Props = {\n startDate: Date;\n};\n\nfunction AppBar({ startDate }: Props): React.ReactElement {\n const [isOpen, setIsOpen] = useState(false);\n const { publicKey } = useWallet();\n\n const menuItems = () => {\n const pathData = [\n { path: '/rarity', pathName: 'RARITY' },\n { path: '/about', pathName: 'ABOUT' },\n { path: '/road-map', pathName: 'ROADMAP' },\n { path: '/faq', pathName: 'FAQ' },\n { path: '/white-paper', pathName: 'WHITEPAPER' },\n ];\n\n return pathData.map((e, index) => (\n \n ));\n };\n\n return (\n
\n \n {isBrowser && (\n <>\n
{menuItems()}
\n\n
\n {publicKey ? (\n \n ) : (\n new Date().getTime()} />\n )}\n
\n \n )}\n {isMobile && (\n <>\n \n {menuItems()}\n \n )}\n
\n );\n}\n\nexport default AppBar;\n","import React, { useState } from 'react';\nimport { Collapse as ReactCollapse } from 'react-collapse';\nimport './Collapse.scss';\n\ntype Props = {\n collapseTitle: string;\n collapseContent: string;\n};\n\nfunction Collapse({ collapseTitle, collapseContent }: Props): React.ReactElement {\n const [isOpen, setIsOpen] = useState(false);\n\n return (\n <>\n
setIsOpen(!isOpen)}>\n {collapseTitle} {isOpen ?
:
}\n
\n \n
{collapseContent}
\n
\n \n );\n}\n\nexport default Collapse;\n","export default __webpack_public_path__ + \"static/media/twitter.8d9ae8c8.png\";","import React from 'react';\nimport twitter from '../../images/twitter.png';\n\nexport default function TwitterLink(): React.ReactElement {\n return (\n <>\n \n \"twitter\n \n \n );\n}\n","export default __webpack_public_path__ + \"static/media/discord.05e33548.png\";","import React from 'react';\nimport discord from '../../images/discord.png';\n\nexport default function DiscordLink(): React.ReactElement {\n return (\n <>\n \n \"logo2\"\n \n \n );\n}\n","import React from 'react';\nimport { isBrowser, isMobile } from 'react-device-detect';\nimport Logo from '../logo/Logo';\nimport solana from '../../images/solana.png';\nimport './Footer.scss';\nimport TwitterLink from '../twitter-link/TwitterLink';\nimport DiscordLink from '../discord-link/DiscordLink';\n\nfunction Footer(): React.ReactElement {\n return (\n
\n {isBrowser && (\n <>\n
\n
\n
DOUBLE SUM GANG
\n
For general enquiries or partner ops please contact.
\n \n
\n
\n
Resources
\n
Whitepaper (Coming soon)
\n
\n \n FAQ\n \n
\n \n
\n
\n
Resources
\n \n \n
\n
\n
\n \n
\n Built on the \"solona\" Solana blockchain.\n
\n
\n \n )}\n {isMobile && (\n
\n \n \n \n
\n )}\n
\n );\n}\n\nexport default Footer;\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAVCAYAAABc6S4mAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAOISURBVHgB1VW9i2RFEK/q7jczmRtq5KCJiMKCGBgcsgYHJygrauwaCBfJJoZ6qwiH0WIggsnERovgZ7QGKhjdIcKZzQQXKcItCM7M6+ryV9X93uz5Bxzce7zX9dVV1dVdv2a69Lz+5S+HksoiJ92TjjQHYUlKORWSaCO+rqiEwka7LpaqB91HVXG52ZtNuR0H50eLn/cDpTOm8EhQZlYm0DTQQYm4QOa0y9RlxhfwsEYOHPwDq3SPMr3mAa5/fmuuGr+jQo+aMmh1xEUZIYy2l4O7HQKQjRaY3bpQDVpsPgLD7V+PvfFDPD69Mw9SzqF8fOfcs21ZVmfmYFyNO6u8OSN36iti2FlKJ6snDj+15NP033KeU5iHYjVmzaVwEBihluZIBKMwx8SUiyqSQX0t86AiwrmAsj3BPME8nvDJnWeufTiUPoWejwJFOIQy29Kyp4es8AVEyqgt07oPvg+TlGktmTorzCxRgtM1JipsVfLFb89fvU0P8uGbx8u5EespfrO1C9d4aUa0MQbjejaYu2bH36er9PfXXljdF+D03eUyhzKXzs60nWPU0852RB/gPJdOna9nXtAHqATOuJ35kmxsuuRzcTrLR9++8uLJEMBO4cGkD6vJJtBkG3iyiRjx9YGnGLtNUOe3gbo+Key46clsp5BPEM30pksSb7z61U9vjSuw3+n15XzC8RYy3cuxdm5bjdG1m43vXI5TZB1OtYs71SrzzvXVgKa+lIOv37zyIw+RPnvn7j5TOReDCTdSL1H2kpmTNhklQ1m8PC0ZbZDBO+jwct5DFx/w5Q354ujukUZdSBzxR7PtQSitxtUBVlL3ZcArGz2BIaj6PsF+SQ/9w/8XnB3+uZ9J9rJt4vihxZN1QaZs577RAADns73NzkYx3azOTZedf3P17xPZ8g1NgAjRimgESOVoYACY6IAcqDUwadolFgWy9bBJCWBYgF0dwAsjcMswDP/VeB+cX/nnGHh4E3ujI1y3GLGhKvZaG4oS2Vh4x480NainVRE58AC/Prc5BPYvgrveQbFDr9aJQ0B3SiOsc70T/LIZeYxL8C998v6zq/j709t9YP8Zps0a5tN4g7ULJdSLxPga3ABgt9J6J7SVwseFJn35g4+f+sOST902LZDWnjlomE/oI+oFzq0XIM/4sd8PkOEuELs7oq0G+yzoFUvM5KoX1NPb750+OUL2fyR4YLGXSBpHAAAAAElFTkSuQmCC\"","import React from 'react';\nimport Collapse from '../../components/collapse/Collapse';\nimport Footer from '../../components/footer/Footer';\nimport './FAQ.scss';\n\nconst data = [\n {\n q: 'WHAT IS THE TOTAL DOUBLE SUM GANG SUPPLY?',\n a: 'The total supply of the Double Sum Gang collection is 7,776',\n },\n {\n q: 'WHEN MINT?',\n a: 'Double Sum Gang minting will begin in late December 2021. Stay tuned to Twitter for further updates @doublesumgang.',\n },\n {\n q: 'WHAT WILL BE THE MINTING COST?',\n a: 'Each Double Sum Gang NFT will cost 1 SOL to mint (each).',\n },\n {\n q: 'WHAT WALLETS WILL BE SUPPORTED?',\n a: 'You will be able to use the following wallets: Phantom, Sollet, Slope and Solflare',\n },\n {\n q: 'WILL THERE BE A PURCHASE LIMIT PER WALLET?',\n a: 'No, there will be no limit per-wallet.',\n },\n];\n\nfunction FAQ(): React.ReactElement {\n return (\n
\n
\n
FAQ
\n
\n {data.map((item) => (\n \n ))}\n
\n
\n
\n
\n );\n}\n\nexport default FAQ;\n","export default __webpack_public_path__ + \"static/media/correct.7de4d6c6.png\";","export default __webpack_public_path__ + \"static/media/doublesumgang.389bc1f6.gif\";","import React, { useState, useEffect } from 'react';\nimport Countdown from 'react-countdown';\n\nimport * as anchor from '@project-serum/anchor';\n\nimport { LAMPORTS_PER_SOL } from '@solana/web3.js';\nimport { useAnchorWallet } from '@solana/wallet-adapter-react';\nimport { WalletMultiButton } from '@solana/wallet-adapter-react-ui';\n\nimport {\n CandyMachine,\n awaitTransactionSignatureConfirmation,\n getCandyMachineState,\n mintOneToken,\n shortenAddress,\n} from './candy-machine';\n\nimport twitter from '../../images/twitter.png';\nimport discord from '../../images/discord.png';\nimport logo3 from '../../images/logo3.png';\nimport correct from '../../images/correct.png';\nimport blankImage from '../../images/doublesumgang.gif';\n\nimport './Landing.scss';\n\ntype Props = {\n candyMachineId: anchor.web3.PublicKey;\n config: anchor.web3.PublicKey;\n connection: anchor.web3.Connection;\n startDate: Date;\n treasury: anchor.web3.PublicKey;\n txTimeout: number;\n};\n\nconst renderCounter = ({ days, hours, minutes, seconds, completed }: any) => {\n const allHours = hours + (days || 0) * 24;\n return (\n
\n {allHours < 10 ? '0' + allHours : allHours}:{minutes < 10 ? '0' + minutes : minutes}:\n {seconds < 10 ? '0' + seconds : seconds}\n
\n );\n};\n\nfunction Landing({ startDate, candyMachineId, connection, config, treasury, txTimeout }: Props): React.ReactElement {\n const [balance, setBalance] = useState();\n const [isActive, setIsActive] = useState(false); // true when countdown completes\n const [isSoldOut, setIsSoldOut] = useState(false); // true when items remaining is zero\n const [isMinting, setIsMinting] = useState(false); // true when user got to press MINT\n\n const [itemsAvailable, setItemsAvailable] = useState(0);\n const [itemsRedeemed, setItemsRedeemed] = useState(0);\n const [itemsRemaining, setItemsRemaining] = useState(0);\n\n const [mintStartDate, setMintStartDate] = useState(startDate);\n\n const wallet = useAnchorWallet();\n\n const [candyMachine, setCandyMachine] = useState();\n\n const refreshCandyMachineState = () => {\n (async () => {\n if (!wallet) return;\n\n const { candyMachine, goLiveDate, itemsAvailable, itemsRemaining, itemsRedeemed } = await getCandyMachineState(\n wallet as anchor.Wallet,\n candyMachineId,\n connection,\n );\n\n setItemsAvailable(itemsAvailable);\n setItemsRemaining(itemsRemaining);\n setItemsRedeemed(itemsRedeemed);\n\n setIsSoldOut(itemsRemaining === 0);\n setMintStartDate(goLiveDate);\n setCandyMachine(candyMachine);\n })();\n };\n\n useEffect(() => {\n (async () => {\n if (wallet) {\n const balance = await connection.getBalance(wallet.publicKey);\n setBalance(balance / LAMPORTS_PER_SOL);\n }\n })();\n }, [wallet, connection]);\n\n useEffect(refreshCandyMachineState, [wallet, candyMachineId, connection]);\n\n const onMint = async () => {\n try {\n if (isSoldOut || isMinting || !isActive) return;\n\n setIsMinting(true);\n if (wallet && candyMachine?.program) {\n const mintTxId = await mintOneToken(candyMachine, config, wallet.publicKey, treasury);\n\n const status = await awaitTransactionSignatureConfirmation(\n mintTxId,\n txTimeout,\n connection,\n 'singleGossip',\n false,\n );\n\n if (!status?.err) {\n alert('Congratulations! Mint succeeded!');\n } else {\n alert('Mint failed! Please try again!');\n }\n }\n } catch (error: any) {\n // TODO: blech:\n let message = error.msg || 'Minting failed! Please try again!';\n if (!error.msg) {\n if (error.message.indexOf('0x138')) {\n } else if (error.message.indexOf('0x137')) {\n message = `SOLD OUT!`;\n } else if (error.message.indexOf('0x135')) {\n message = `Insufficient funds to mint. Please fund your wallet.`;\n }\n } else {\n if (error.code === 311) {\n message = `SOLD OUT!`;\n setIsSoldOut(true);\n } else if (error.code === 312) {\n message = `Minting period hasn't started yet.`;\n }\n }\n\n alert(message);\n } finally {\n if (wallet) {\n const balance = await connection.getBalance(wallet.publicKey);\n setBalance(balance / LAMPORTS_PER_SOL);\n }\n setIsMinting(false);\n refreshCandyMachineState();\n }\n };\n\n // const renderLandingButton = () => {\n // if (mintStartDate.getTime() > new Date().getTime()) {\n // return (\n //
\n // completed && setIsActive(true)}\n // onComplete={() => setIsActive(true)}\n // renderer={renderCounter}\n // />\n //
\n // );\n // }\n // if (wallet) {\n // return (\n // <>\n //
\n // {itemsRedeemed}/{itemsAvailable}\n //
\n // MINTED\n //
\n //
Price: 0.01 SOL
\n // \n // {isSoldOut ? (\n // 'SOLD OUT'\n // ) : isActive ? (\n // isMinting ? (\n // 'MINTING...'\n // ) : (\n // 'MINT NOW'\n // )\n // ) : (\n // completed && setIsActive(true)}\n // onComplete={() => setIsActive(true)}\n // renderer={renderCounter}\n // />\n // )}\n //
\n // \n // );\n // } else {\n // return ;\n // }\n // };\n\n return (\n
\n
\n
\n Double Sum Gang is an
exclusive collection
of {''}\n 7,776 utility-driven
NFT hands flexing on
the Solana blockchain.\n
\n
\n \n \"twitter\n \n \n \"discord\"\n \n
\n \"correct\"\n

UTILITY DRIVEN NFTs (PVP/ON-CHAIN) GAMING

\n
\n
\n \"correct\"\n

DAO WILL ENSURE LIFETIME REVENUE FOR HOLDERS

\n
\n
\n \"correct\"\n

\n LONG-TERM VISION INCLUDING
\n DOUBLE SUM GANG METAVERSE-CASINO\n

\n
\n
\n
\n
\n
\n {wallet &&
Wallet {shortenAddress(wallet.publicKey.toBase58() || '')}
}\n
\n \"blankImage\"\n
\n
\n
\n
\n );\n}\n\nexport default Landing;\n","import React, { useState } from 'react';\nimport './Rarity.scss';\n\nconst attributes = [\n { id: 1, value: 'CARDS' },\n { id: 2, value: 'HANDS' },\n { id: 3, value: 'WRISTS' },\n { id: 4, value: 'SLEEVES' },\n { id: 5, value: 'TATTOOS' },\n { id: 6, value: 'RINGS' },\n { id: 7, value: 'GLOVES' },\n];\n\nconst cards = [\n {\n id: 1,\n attributeId: 1,\n textValue: 'Charcoal',\n percentage: 47.07,\n isRare: false,\n imgPath: '/assets/attr/cards/coming_soon.png',\n },\n {\n id: 2,\n attributeId: 1,\n textValue: 'Bronze',\n percentage: 24.33,\n isRare: false,\n imgPath: '/assets/attr/cards/coming_soon.png',\n },\n {\n id: 3,\n attributeId: 1,\n textValue: 'Silver',\n percentage: 18.87,\n isRare: false,\n imgPath: '/assets/attr/cards/coming_soon.png',\n },\n {\n id: 4,\n attributeId: 1,\n textValue: 'Gold',\n percentage: 7.77,\n isRare: true,\n imgPath: '/assets/attr/cards/coming_soon.png',\n },\n {\n id: 5,\n attributeId: 1,\n textValue: 'Diamond',\n percentage: 1.97,\n isRare: true,\n imgPath: '/assets/attr/cards/coming_soon.png',\n },\n {\n id: 7,\n attributeId: 2,\n textValue: 'BROWN',\n percentage: 20.26,\n isRare: false,\n imgPath: '/assets/attr/hands/coming_soon.png',\n },\n {\n id: 8,\n attributeId: 2,\n textValue: 'TAN',\n percentage: 19.41,\n isRare: false,\n imgPath: '/assets/attr/hands/coming_soon.png',\n },\n {\n id: 9,\n attributeId: 2,\n textValue: 'WHITE',\n percentage: 19.34,\n isRare: false,\n imgPath: '/assets/attr/hands/coming_soon.png',\n },\n {\n id: 10,\n attributeId: 2,\n textValue: 'MECHA',\n percentage: 15.35,\n isRare: false,\n imgPath: '/assets/attr/hands/coming_soon.png',\n },\n {\n id: 11,\n attributeId: 2,\n textValue: 'APE',\n percentage: 15.15,\n isRare: false,\n imgPath: '/assets/attr/hands/coming_soon.png',\n },\n {\n id: 12,\n attributeId: 2,\n textValue: 'ZOMBIE',\n percentage: 8.37,\n isRare: true,\n imgPath: '/assets/attr/hands/coming_soon.png',\n },\n {\n id: 13,\n attributeId: 2,\n textValue: 'ALIEN',\n percentage: 2.11,\n isRare: true,\n imgPath: '/assets/attr/hands/coming_soon.png',\n },\n {\n id: 14,\n attributeId: 3,\n textValue: 'None',\n percentage: 33.02,\n isRare: false,\n imgPath: '/assets/attr/wrists/coming_soon.png',\n },\n {\n id: 15,\n attributeId: 3,\n textValue: 'BRACELET JADE',\n percentage: 6.22,\n isRare: false,\n imgPath: '/assets/attr/wrists/coming_soon.png',\n },\n {\n id: 16,\n attributeId: 3,\n textValue: 'BRACELET RUBY',\n percentage: 5.86,\n isRare: false,\n imgPath: '/assets/attr/wrists/coming_soon.png',\n },\n {\n id: 17,\n attributeId: 3,\n textValue: 'DINNER WATCH',\n percentage: 5.64,\n isRare: false,\n imgPath: '/assets/attr/wrists/coming_soon.png',\n },\n {\n id: 19,\n attributeId: 3,\n textValue: 'SPORTS SILVERFACE',\n percentage: 5.29,\n isRare: false,\n imgPath: '/assets/attr/wrists/coming_soon.png',\n },\n {\n id: 20,\n attributeId: 3,\n textValue: 'SPORTS GOLDFACE',\n percentage: 4.82,\n isRare: false,\n imgPath: '/assets/attr/wrists/coming_soon.png',\n },\n {\n id: 21,\n attributeId: 3,\n textValue: 'BRACELET JADE/GOLD',\n percentage: 4.57,\n isRare: false,\n imgPath: '/assets/attr/wrists/coming_soon.png',\n },\n {\n id: 22,\n attributeId: 3,\n textValue: 'CRYPTOLEX SILVER GOLDFACE',\n percentage: 4.31,\n isRare: false,\n imgPath: '/assets/attr/wrists/coming_soon.png',\n },\n {\n id: 23,\n attributeId: 3,\n textValue: 'LONGFACE',\n percentage: 4.28,\n isRare: false,\n imgPath: '/assets/attr/wrists/coming_soon.png',\n },\n {\n id: 24,\n attributeId: 3,\n textValue: 'BRACELET GOLD',\n percentage: 2.86,\n isRare: false,\n imgPath: '/assets/attr/wrists/coming_soon.png',\n },\n {\n id: 25,\n attributeId: 3,\n textValue: 'CRYPTOLEX GOLD',\n percentage: 2.8,\n isRare: false,\n imgPath: '/assets/attr/wrists/coming_soon.png',\n },\n {\n id: 26,\n attributeId: 3,\n textValue: 'HERMANDO',\n percentage: 2.64,\n isRare: false,\n imgPath: '/assets/attr/wrists/coming_soon.png',\n },\n {\n id: 27,\n attributeId: 3,\n textValue: 'CRYPTOLEX REDBLUE',\n percentage: 2.64,\n isRare: false,\n imgPath: '/assets/attr/wrists/coming_soon.png',\n },\n {\n id: 28,\n attributeId: 3,\n textValue: 'CROSS BRACELET GOLD',\n percentage: 2.48,\n isRare: false,\n imgPath: '/assets/attr/wrists/coming_soon.png',\n },\n {\n id: 29,\n attributeId: 3,\n textValue: 'CRYPTOLEX ICED GOLDFACE',\n percentage: 1.87,\n isRare: true,\n imgPath: '/assets/attr/wrists/coming_soon.png',\n },\n {\n id: 30,\n attributeId: 3,\n textValue: 'CRYPTOLEX ICED RUBYFACE',\n percentage: 1.85,\n isRare: true,\n imgPath: '/assets/attr/wrists/coming_soon.png',\n },\n {\n id: 31,\n attributeId: 3,\n textValue: 'BRACELET DIAMOND GOLD',\n percentage: 1.67,\n isRare: true,\n imgPath: '/assets/attr/wrists/coming_soon.png',\n },\n {\n id: 32,\n attributeId: 3,\n textValue: 'CRYPTOLEX ICED SAPPHIRE',\n percentage: 1.63,\n isRare: true,\n imgPath: '/assets/attr/wrists/coming_soon.png',\n },\n {\n id: 33,\n attributeId: 3,\n textValue: 'CRYPTOLEX DOUBLE ICED',\n percentage: 0.58,\n isRare: true,\n imgPath: '/assets/attr/wrists/coming_soon.png',\n },\n {\n id: 34,\n attributeId: 4,\n textValue: 'NONE',\n percentage: 23.23,\n isRare: false,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 35,\n attributeId: 4,\n textValue: 'LONG SLEEVE OLIVE',\n percentage: 9.95,\n isRare: false,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 36,\n attributeId: 4,\n textValue: 'LONG SLEEVE BLUE',\n percentage: 9.66,\n isRare: false,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 37,\n attributeId: 4,\n textValue: 'LONG SLEEVE PINK',\n percentage: 9.44,\n isRare: false,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 38,\n attributeId: 4,\n textValue: 'LONG SLEEVE GREEN',\n percentage: 9.11,\n isRare: false,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 39,\n attributeId: 4,\n textValue: 'LONG SLEEVE ORANGE',\n percentage: 9.08,\n isRare: false,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 40,\n attributeId: 4,\n textValue: 'LONG SLEEVE PURPLE',\n percentage: 8.78,\n isRare: false,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 41,\n attributeId: 4,\n textValue: 'BANDANNA RED',\n percentage: 2.02,\n isRare: false,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 42,\n attributeId: 4,\n textValue: 'SUIT BLUE',\n percentage: 2.01,\n isRare: false,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 43,\n attributeId: 4,\n textValue: 'BANDANNA GREY',\n percentage: 1.99,\n isRare: false,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 44,\n attributeId: 4,\n textValue: 'BANDANNA PURPLE',\n percentage: 1.91,\n isRare: false,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 45,\n attributeId: 4,\n textValue: 'SUIT GREY',\n percentage: 1.85,\n isRare: true,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 46,\n attributeId: 4,\n textValue: 'BANDANNA BLUE',\n percentage: 1.83,\n isRare: true,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 47,\n attributeId: 4,\n textValue: 'TUXEDO',\n percentage: 1.41,\n isRare: true,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 48,\n attributeId: 4,\n textValue: 'DENIM RIPPED',\n percentage: 1.4,\n isRare: true,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 49,\n attributeId: 4,\n textValue: 'SLAV BLACK',\n percentage: 1.04,\n isRare: true,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 50,\n attributeId: 4,\n textValue: 'SLAV WHITE',\n percentage: 1.04,\n isRare: true,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 51,\n attributeId: 4,\n textValue: 'SLAV RED',\n percentage: 0.89,\n isRare: true,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 52,\n attributeId: 4,\n textValue: 'LEATHER WHITE',\n percentage: 0.55,\n isRare: true,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 53,\n attributeId: 4,\n textValue: 'LEATHER BROWN',\n percentage: 0.53,\n isRare: true,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 54,\n attributeId: 4,\n textValue: 'GUTTI',\n percentage: 0.51,\n isRare: true,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 55,\n attributeId: 4,\n textValue: 'RENDI',\n percentage: 0.5,\n isRare: true,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 56,\n attributeId: 4,\n textValue: 'SLAV BLUE',\n percentage: 0.44,\n isRare: true,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 57,\n attributeId: 4,\n textValue: 'BANDANNA CAMO',\n percentage: 0.44,\n isRare: true,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n {\n id: 58,\n attributeId: 4,\n textValue: 'VERSARI',\n percentage: 0.38,\n isRare: true,\n imgPath: '/assets/attr/sleeves/coming_soon.png',\n },\n\n {\n id: 59,\n attributeId: 5,\n textValue: 'NONE',\n percentage: 49.92,\n isRare: false,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 60,\n attributeId: 5,\n textValue: 'SOLANA',\n percentage: 2.44,\n isRare: false,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 61,\n attributeId: 5,\n textValue: 'ETHEREUM',\n percentage: 2.33,\n isRare: false,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 62,\n attributeId: 5,\n textValue: 'HEART',\n percentage: 2.33,\n isRare: false,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 63,\n attributeId: 5,\n textValue: 'MONK',\n percentage: 2.28,\n isRare: false,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 64,\n attributeId: 5,\n textValue: 'SHIBA INU',\n percentage: 2.27,\n isRare: false,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 65,\n attributeId: 5,\n textValue: 'LOL EMOJI',\n percentage: 2.24,\n isRare: false,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 66,\n attributeId: 5,\n textValue: 'SKULL',\n percentage: 2.22,\n isRare: false,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 67,\n attributeId: 5,\n textValue: 'SNAKE',\n percentage: 2.2,\n isRare: false,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 68,\n attributeId: 5,\n textValue: 'GOOD NIGHT',\n percentage: 2.14,\n isRare: false,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 69,\n attributeId: 5,\n textValue: 'GOOD MORNING',\n percentage: 2.13,\n isRare: false,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 70,\n attributeId: 5,\n textValue: 'BITCOIN',\n percentage: 2.13,\n isRare: false,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 71,\n attributeId: 5,\n textValue: 'NOT FINANCIAL ADVICE',\n percentage: 2.12,\n isRare: false,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 72,\n attributeId: 5,\n textValue: 'EYE',\n percentage: 2.11,\n isRare: false,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 73,\n attributeId: 5,\n textValue: 'NFT',\n percentage: 2.1,\n isRare: false,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 74,\n attributeId: 5,\n textValue: 'STONKS',\n percentage: 2.05,\n isRare: false,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 75,\n attributeId: 5,\n textValue: 'FLAME',\n percentage: 2.04,\n isRare: false,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 76,\n attributeId: 5,\n textValue: 'BINANCE',\n percentage: 2.04,\n isRare: false,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 77,\n attributeId: 5,\n textValue: 'SPIDER',\n percentage: 2.02,\n isRare: false,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 78,\n attributeId: 5,\n textValue: 'LFG',\n percentage: 2.02,\n isRare: false,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 79,\n attributeId: 5,\n textValue: 'ONE OF ONE',\n percentage: 2.01,\n isRare: false,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 80,\n attributeId: 5,\n textValue: 'JPEG',\n percentage: 2.0,\n isRare: false,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 81,\n attributeId: 5,\n textValue: 'CROSS',\n percentage: 1.96,\n isRare: false,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 82,\n attributeId: 5,\n textValue: 'GONNA MAKE IT',\n percentage: 1.85,\n isRare: true,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 83,\n attributeId: 5,\n textValue: '7523',\n percentage: 1.04,\n isRare: true,\n imgPath: '/assets/attr/tattoos/coming_soon.png',\n },\n {\n id: 84,\n attributeId: 6,\n textValue: 'NONE',\n percentage: 49.13,\n isRare: false,\n imgPath: '/assets/attr/rings/coming_soon.png',\n },\n {\n id: 85,\n attributeId: 6,\n textValue: 'GOLD BAND',\n percentage: 10.51,\n isRare: false,\n imgPath: '/assets/attr/rings/coming_soon.png',\n },\n {\n id: 86,\n attributeId: 6,\n textValue: 'JADE BAND',\n percentage: 10.46,\n isRare: false,\n imgPath: '/assets/attr/rings/coming_soon.png',\n },\n {\n id: 87,\n attributeId: 6,\n textValue: 'RUBY BAND',\n percentage: 10.07,\n isRare: false,\n imgPath: '/assets/attr/rings/coming_soon.png',\n },\n {\n id: 88,\n attributeId: 6,\n textValue: 'SILVER BAND',\n percentage: 10.07,\n isRare: false,\n imgPath: '/assets/attr/rings/coming_soon.png',\n },\n {\n id: 89,\n attributeId: 6,\n textValue: 'FAT GOLD',\n percentage: 7.96,\n isRare: false,\n imgPath: '/assets/attr/rings/coming_soon.png',\n },\n {\n id: 90,\n attributeId: 6,\n textValue: 'ICE ROCK',\n percentage: 1.79,\n isRare: true,\n imgPath: '/assets/attr/rings/coming_soon.png',\n },\n {\n id: 91,\n attributeId: 7,\n textValue: 'NONE',\n percentage: 54.17,\n isRare: false,\n imgPath: '/assets/attr/gloves/coming_soon.png',\n },\n {\n id: 92,\n attributeId: 7,\n textValue: 'FINGERLESS PURPLE',\n percentage: 3.34,\n isRare: false,\n imgPath: '/assets/attr/gloves/coming_soon.png',\n },\n {\n id: 93,\n attributeId: 7,\n textValue: 'FINGERLESS BLACK',\n percentage: 3.31,\n isRare: false,\n imgPath: '/assets/attr/gloves/coming_soon.png',\n },\n {\n id: 94,\n attributeId: 7,\n textValue: 'FINGERLESS RED',\n percentage: 3.24,\n isRare: false,\n imgPath: '/assets/attr/gloves/coming_soon.png',\n },\n {\n id: 95,\n attributeId: 7,\n textValue: 'BIKER PURPLE',\n percentage: 3.22,\n isRare: false,\n imgPath: '/assets/attr/gloves/coming_soon.png',\n },\n {\n id: 96,\n attributeId: 7,\n textValue: 'BIKER PINK',\n percentage: 3.21,\n isRare: false,\n imgPath: '/assets/attr/gloves/coming_soon.png',\n },\n {\n id: 97,\n attributeId: 7,\n textValue: 'BIKER BLUE',\n percentage: 3.1,\n isRare: false,\n imgPath: '/assets/attr/gloves/coming_soon.png',\n },\n {\n id: 98,\n attributeId: 7,\n textValue: 'MOTO',\n percentage: 3.07,\n isRare: false,\n imgPath: '/assets/attr/gloves/coming_soon.png',\n },\n {\n id: 99,\n attributeId: 7,\n textValue: 'FINGERLESS YELLOW',\n percentage: 3.03,\n isRare: false,\n imgPath: '/assets/attr/gloves/coming_soon.png',\n },\n {\n id: 100,\n attributeId: 7,\n textValue: 'BIKER RED',\n percentage: 2.99,\n isRare: false,\n imgPath: '/assets/attr/gloves/coming_soon.png',\n },\n {\n id: 101,\n attributeId: 7,\n textValue: 'BIKER BLACK',\n percentage: 2.84,\n isRare: false,\n imgPath: '/assets/attr/gloves/coming_soon.png',\n },\n {\n id: 102,\n attributeId: 7,\n textValue: 'CAMO',\n percentage: 2.12,\n isRare: false,\n imgPath: '/assets/attr/gloves/coming_soon.png',\n },\n {\n id: 103,\n attributeId: 7,\n textValue: 'STANDARD PURPLE',\n percentage: 2.03,\n isRare: false,\n imgPath: '/assets/attr/gloves/coming_soon.png',\n },\n {\n id: 104,\n attributeId: 7,\n textValue: 'COVID',\n percentage: 1.98,\n isRare: false,\n imgPath: '/assets/attr/gloves/coming_soon.png',\n },\n {\n id: 105,\n attributeId: 7,\n textValue: 'BOXING GLOVES',\n percentage: 1.8,\n isRare: true,\n imgPath: '/assets/attr/gloves/coming_soon.png',\n },\n {\n id: 106,\n attributeId: 7,\n textValue: 'SKULLY',\n percentage: 1.24,\n isRare: true,\n imgPath: '/assets/attr/gloves/coming_soon.png',\n },\n {\n id: 107,\n attributeId: 7,\n textValue: 'KNUCKLE DUSTER',\n percentage: 1.16,\n isRare: true,\n imgPath: '/assets/attr/gloves/coming_soon.png',\n },\n {\n id: 108,\n attributeId: 7,\n textValue: 'RENDI',\n percentage: 1.11,\n isRare: true,\n imgPath: '/assets/attr/gloves/coming_soon.png',\n },\n {\n id: 109,\n attributeId: 7,\n textValue: 'LEATHER BROWN',\n percentage: 1.04,\n isRare: true,\n imgPath: '/assets/attr/gloves/coming_soon.png',\n },\n {\n id: 110,\n attributeId: 7,\n textValue: 'UFR',\n percentage: 1.03,\n isRare: true,\n imgPath: '/assets/attr/gloves/coming_soon.png',\n },\n {\n id: 111,\n attributeId: 7,\n textValue: 'STANDARD RAINBOW',\n percentage: 0.94,\n isRare: true,\n imgPath: '/assets/attr/gloves/coming_soon.png',\n },\n];\n\nfunction Rarity(): React.ReactElement {\n const [selectedAttribute, setSelectedAttribute] = useState(1);\n\n const handleClickAttribute = (attribId: number) => {\n setSelectedAttribute(attribId);\n };\n\n return (\n
\n
\n {attributes.map((attribute) => (\n handleClickAttribute(attribute.id)}\n >\n {attribute.value}\n
\n ))}\n
\n
\n {cards\n .filter((card) => card.attributeId === selectedAttribute)\n .map((card) => (\n
\n {card.isRare ? (\n
\n * RARE\n
\n ) : (\n
\n )}\n \"blankImage\"\n {card.textValue}
\n {card.percentage + '%'}\n
\n ))}\n
\n \n );\n}\n\nexport default Rarity;\n","export default __webpack_public_path__ + \"static/media/dao.27a207dc.png\";","import React from 'react';\nimport mining from '../../images/dao.png';\n\nimport './About.scss';\n\nfunction About(): React.ReactElement {\n return (\n
\n \"mining\"\n
\n );\n}\n\nexport default About;\n","import React from 'react';\n\nimport './RoadMap.scss';\n\n// 0 - not completed\n// 1 - completed\n// 2 - deleted\nconst roadMapItems = [\n {\n id: 1,\n title: 'Stage 1',\n subTitle: 'LAUNCH DOUBLE SUM GANG',\n desc: `7,776 Unique Double Sum Gang hands to be used in-game. \n2592 Rock Hands, 2592 Scissor Hands, 2592 Paper Hands are created with multiple races (Human, Zombie, Alien, Ape, Mecha). \nAirdrops and prizes for early supporters`,\n status: 1,\n },\n {\n id: 2,\n title: 'Stage 2',\n subTitle: 'PUBLIC MINTING & SECONDARY MARKET SALES',\n desc: `Public minting to launch in late December. \\n \n Holders will not need all 3 hand types to play game on release \\n\n MagicEden (Planned)`,\n status: 0,\n },\n {\n id: 3,\n title: 'Stage 3',\n subTitle: 'FORMATION OF DOUBLE SUM DAO (V1)',\n desc: `The first release of the Double Sum DAO will be used as a voting contract \n to allow gang members to contribute directly to the direction and success \n of the project. We are currently considering @squads_dapp`,\n status: 0,\n },\n {\n id: 4,\n title: 'Stage 4',\n subTitle: 'DEVELOPMENT & RELEASE OF DOUBLE SUM GAME',\n desc: `First release of Double Sum Game, an on-chain PVP wagering game where people go head to head in games of rock, paper scissors. \nDSG Holders will be able to use their NFTs as in-game skins`,\n status: 0,\n },\n {\n id: 5,\n title: 'Stage 5',\n subTitle: 'RELEASE OF DOUBLE SUM GANG NFTs (SECOND EDITION)',\n desc: `9,799 Unique, in-game playable characters will be released via public mint\n200 original Double Sum Gang holders will have custom designed characters created to their preference`,\n status: 0,\n },\n {\n id: 6,\n title: 'Stage 6',\n subTitle: 'OBTAIN CASINO LICENSE & LAUNCH DOUBLE SUM CITY (METAVERSE CASINO)',\n desc: `Interactive metaverse city with casino where two players wager up anything they want NFT vs. ETH, ETH vs. DOGE, etc in a winner-takes all game of rock-paper-scissors. \nDepending on Double Sum Gang member votes this could also include additional new, provably fair games.`,\n status: 0,\n },\n {\n id: 7,\n title: 'Stage 7',\n subTitle: 'DOUBLE SUM DAO (V2) LIFETIME HOLDER ROYALTIES',\n desc: `Original Double Sum Gang (First edition) holders will recieve lifetime royalties generated from 48% of the casino earnings\nRoyalties will be paid monthly`,\n status: 0,\n },\n {\n id: 8,\n title: 'Stage 8',\n subTitle: 'CONTINUED EXPANSION & INNOVATION',\n desc: `Using the Double Sum DAO, Double Sum Gang NFT holders will be able \\n\n to vote in order to contribute to the direction and future expansion of the project.\\n`,\n status: 0,\n },\n];\n\nfunction RoadMap(): React.ReactElement {\n return (\n
\n
\n {roadMapItems.map((item) => (\n
\n
\n
{item.title}
\n
{item.subTitle}
\n
{item.desc}
\n
\n
{item.status === 1 ?
[X]
:
[]
}
\n
\n ))}\n
\n
\n );\n}\n\nexport default RoadMap;\n","import React from 'react';\n\nfunction Whitepaper(): React.ReactElement {\n window.location.replace('https://doublesumgang.com/assets/LITEPAPER.pdf');\n return
;\n}\n\nexport default Whitepaper;\n","import React, { useMemo } from 'react';\nimport { BrowserRouter as Router, Routes, Route } from 'react-router-dom';\n\nimport * as anchor from '@project-serum/anchor';\nimport { clusterApiUrl } from '@solana/web3.js';\nimport { WalletAdapterNetwork } from '@solana/wallet-adapter-base';\nimport {\n getPhantomWallet,\n getSlopeWallet,\n getSolflareWallet,\n getSolletWallet,\n getSolletExtensionWallet,\n} from '@solana/wallet-adapter-wallets';\n\nimport { ConnectionProvider, WalletProvider } from '@solana/wallet-adapter-react';\n\nimport { WalletModalProvider } from '@solana/wallet-adapter-react-ui';\n\nimport AppBar from './components/app-bar/AppBar';\nimport FAQ from './pages/faq/FAQ';\nimport Landing from './pages/landing/Landing';\nimport Rarity from './pages/rarity/Rarity';\nimport About from './pages/about/About';\nimport RoadMap from './pages/road-map/RoadMap';\nimport Whitepaper from './pages/whitepaper/Whitepaper';\n\nimport './App.css';\n\nrequire('@solana/wallet-adapter-react-ui/styles.css');\n\nconst treasury = new anchor.web3.PublicKey(process.env.REACT_APP_TREASURY_ADDRESS!);\n\nconst config = new anchor.web3.PublicKey(process.env.REACT_APP_CANDY_MACHINE_CONFIG!);\n\nconst candyMachineId = new anchor.web3.PublicKey(process.env.REACT_APP_CANDY_MACHINE_ID!);\n\nconst network = process.env.REACT_APP_SOLANA_NETWORK as WalletAdapterNetwork;\n\nconst rpcHost = process.env.REACT_APP_SOLANA_RPC_HOST!;\nconst connection = new anchor.web3.Connection(rpcHost);\n\nconst startDateSeed = new Date(parseInt(process.env.REACT_APP_CANDY_START_DATE!, 10) * 1000);\n\nconst txTimeout = 30000; // milliseconds (confirm this works for your project)\n\nfunction App(): React.ReactElement {\n const endpoint = useMemo(() => clusterApiUrl(network), []);\n\n const wallets = useMemo(\n () => [\n getPhantomWallet(),\n getSlopeWallet(),\n getSolflareWallet(),\n getSolletWallet({ network }),\n getSolletExtensionWallet({ network }),\n ],\n [],\n );\n\n return (\n \n \n \n \n
\n \n \n } />\n } />\n } />\n } />\n } />\n \n }\n />\n \n
\n
\n
\n
\n
\n );\n}\n\nexport default App;\n","import { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.scss';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root'),\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n","import * as anchor from '@project-serum/anchor';\n\nimport { MintLayout, TOKEN_PROGRAM_ID, Token } from '@solana/spl-token';\n\nexport const CANDY_MACHINE_PROGRAM = new anchor.web3.PublicKey('cndyAnrLdpjq1Ssp1z8xxDsB8dxe7u4HL5Nxi2K5WXZ');\n\nconst SPL_ASSOCIATED_TOKEN_ACCOUNT_PROGRAM_ID = new anchor.web3.PublicKey(\n 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL',\n);\n\nconst TOKEN_METADATA_PROGRAM_ID = new anchor.web3.PublicKey('metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s');\n\nexport interface CandyMachine {\n id: anchor.web3.PublicKey;\n connection: anchor.web3.Connection;\n program: anchor.Program;\n}\n\ninterface CandyMachineState {\n candyMachine: CandyMachine;\n itemsAvailable: number;\n itemsRedeemed: number;\n itemsRemaining: number;\n goLiveDate: Date;\n}\n\nexport const awaitTransactionSignatureConfirmation = async (\n txid: anchor.web3.TransactionSignature,\n timeout: number,\n connection: anchor.web3.Connection,\n commitment: anchor.web3.Commitment = 'recent',\n queryStatus = false,\n): Promise => {\n let done = false;\n let status: anchor.web3.SignatureStatus | null | void = {\n slot: 0,\n confirmations: 0,\n err: null,\n };\n let subId = 0;\n status = await new Promise(async (resolve, reject) => {\n setTimeout(() => {\n if (done) {\n return;\n }\n done = true;\n console.log('Rejecting for timeout...');\n reject({ timeout: true });\n }, timeout);\n try {\n subId = connection.onSignature(\n txid,\n (result: any, context: any) => {\n done = true;\n status = {\n err: result.err,\n slot: context.slot,\n confirmations: 0,\n };\n if (result.err) {\n console.log('Rejected via websocket', result.err);\n reject(status);\n } else {\n console.log('Resolved via websocket', result);\n resolve(status);\n }\n },\n commitment,\n );\n } catch (e) {\n done = true;\n console.error('WS error in setup', txid, e);\n }\n while (!done && queryStatus) {\n // eslint-disable-next-line no-loop-func\n (async () => {\n try {\n const signatureStatuses = await connection.getSignatureStatuses([txid]);\n status = signatureStatuses && signatureStatuses.value[0];\n if (!done) {\n if (!status) {\n console.log('REST null result for', txid, status);\n } else if (status.err) {\n console.log('REST error for', txid, status);\n done = true;\n reject(status.err);\n } else if (!status.confirmations) {\n console.log('REST no confirmations for', txid, status);\n } else {\n console.log('REST confirmation for', txid, status);\n done = true;\n resolve(status);\n }\n }\n } catch (e) {\n if (!done) {\n console.log('REST connection error: txid', txid, e);\n }\n }\n })();\n await sleep(2000);\n }\n });\n\n // eslint-disable-next-line no-underscore-dangle\n if ((connection as any)._signatureSubscriptions[subId]) {\n connection.removeSignatureListener(subId);\n }\n done = true;\n console.log('Returning status', status);\n return status;\n};\n\n/* export */ const createAssociatedTokenAccountInstruction = (\n associatedTokenAddress: anchor.web3.PublicKey,\n payer: anchor.web3.PublicKey,\n walletAddress: anchor.web3.PublicKey,\n splTokenMintAddress: anchor.web3.PublicKey,\n) => {\n const keys = [\n { pubkey: payer, isSigner: true, isWritable: true },\n { pubkey: associatedTokenAddress, isSigner: false, isWritable: true },\n { pubkey: walletAddress, isSigner: false, isWritable: false },\n { pubkey: splTokenMintAddress, isSigner: false, isWritable: false },\n {\n pubkey: anchor.web3.SystemProgram.programId,\n isSigner: false,\n isWritable: false,\n },\n { pubkey: TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },\n {\n pubkey: anchor.web3.SYSVAR_RENT_PUBKEY,\n isSigner: false,\n isWritable: false,\n },\n ];\n return new anchor.web3.TransactionInstruction({\n keys,\n programId: SPL_ASSOCIATED_TOKEN_ACCOUNT_PROGRAM_ID,\n data: Buffer.from([]),\n });\n};\n\nexport const getCandyMachineState = async (\n anchorWallet: anchor.Wallet,\n candyMachineId: anchor.web3.PublicKey,\n connection: anchor.web3.Connection,\n): Promise => {\n const provider = new anchor.Provider(connection, anchorWallet, {\n preflightCommitment: 'recent',\n });\n\n const idl = await anchor.Program.fetchIdl(CANDY_MACHINE_PROGRAM, provider);\n\n const program = new anchor.Program(idl, CANDY_MACHINE_PROGRAM, provider);\n const candyMachine = {\n id: candyMachineId,\n connection,\n program,\n };\n\n const state: any = await program.account.candyMachine.fetch(candyMachineId);\n\n const itemsAvailable = state.data.itemsAvailable.toNumber();\n const itemsRedeemed = state.itemsRedeemed.toNumber();\n const itemsRemaining = itemsAvailable - itemsRedeemed;\n\n let goLiveDate = state.data.goLiveDate.toNumber();\n goLiveDate = new Date(goLiveDate * 1000);\n\n console.log({\n itemsAvailable,\n itemsRedeemed,\n itemsRemaining,\n goLiveDate,\n });\n\n return {\n candyMachine,\n itemsAvailable,\n itemsRedeemed,\n itemsRemaining,\n goLiveDate,\n };\n};\n\nconst getMasterEdition = async (mint: anchor.web3.PublicKey): Promise => {\n return (\n await anchor.web3.PublicKey.findProgramAddress(\n [Buffer.from('metadata'), TOKEN_METADATA_PROGRAM_ID.toBuffer(), mint.toBuffer(), Buffer.from('edition')],\n TOKEN_METADATA_PROGRAM_ID,\n )\n )[0];\n};\n\nconst getMetadata = async (mint: anchor.web3.PublicKey): Promise => {\n return (\n await anchor.web3.PublicKey.findProgramAddress(\n [Buffer.from('metadata'), TOKEN_METADATA_PROGRAM_ID.toBuffer(), mint.toBuffer()],\n TOKEN_METADATA_PROGRAM_ID,\n )\n )[0];\n};\n\nconst getTokenWallet = async (wallet: anchor.web3.PublicKey, mint: anchor.web3.PublicKey) => {\n return (\n await anchor.web3.PublicKey.findProgramAddress(\n [wallet.toBuffer(), TOKEN_PROGRAM_ID.toBuffer(), mint.toBuffer()],\n SPL_ASSOCIATED_TOKEN_ACCOUNT_PROGRAM_ID,\n )\n )[0];\n};\n\nexport const mintOneToken = async (\n candyMachine: CandyMachine,\n config: anchor.web3.PublicKey, // feels like this should be part of candyMachine?\n payer: anchor.web3.PublicKey,\n treasury: anchor.web3.PublicKey,\n): Promise => {\n const mint = anchor.web3.Keypair.generate();\n const token = await getTokenWallet(payer, mint.publicKey);\n const { connection, program } = candyMachine;\n const metadata = await getMetadata(mint.publicKey);\n const masterEdition = await getMasterEdition(mint.publicKey);\n\n const rent = await connection.getMinimumBalanceForRentExemption(MintLayout.span);\n\n return await program.rpc.mintNft({\n accounts: {\n config,\n candyMachine: candyMachine.id,\n payer: payer,\n wallet: treasury,\n mint: mint.publicKey,\n metadata,\n masterEdition,\n mintAuthority: payer,\n updateAuthority: payer,\n tokenMetadataProgram: TOKEN_METADATA_PROGRAM_ID,\n tokenProgram: TOKEN_PROGRAM_ID,\n systemProgram: anchor.web3.SystemProgram.programId,\n rent: anchor.web3.SYSVAR_RENT_PUBKEY,\n clock: anchor.web3.SYSVAR_CLOCK_PUBKEY,\n },\n signers: [mint],\n instructions: [\n anchor.web3.SystemProgram.createAccount({\n fromPubkey: payer,\n newAccountPubkey: mint.publicKey,\n space: MintLayout.span,\n lamports: rent,\n programId: TOKEN_PROGRAM_ID,\n }),\n Token.createInitMintInstruction(TOKEN_PROGRAM_ID, mint.publicKey, 0, payer, payer),\n createAssociatedTokenAccountInstruction(token, payer, payer, mint.publicKey),\n Token.createMintToInstruction(TOKEN_PROGRAM_ID, mint.publicKey, token, payer, [], 1),\n ],\n });\n};\n\nexport const shortenAddress = (address: string, chars = 4): string => {\n return `${address.slice(0, chars)}...${address.slice(-chars)}`;\n};\n\nconst sleep = (ms: number): Promise => {\n return new Promise((resolve) => setTimeout(resolve, ms));\n};\n"],"sourceRoot":""}