;; tenacious-b
;; contractType: editions
(impl-trait 'SP2PABAF9FTAJYNFZH93XENAJ8FVY99RRM50D2JG9.nft-trait.nft-trait)
(define-non-fungible-token tenacious-b uint)
;; Constants
(define-constant DEPLOYER tx-sender)
(define-constant COMM u1000)
(define-constant COMM-ADDR 'SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S)
(define-constant ERR-NO-MORE-NFTS u100)
(define-constant ERR-NOT-ENOUGH-PASSES u101)
(define-constant ERR-PUBLIC-SALE-DISABLED u102)
(define-constant ERR-CONTRACT-INITIALIZED u103)
(define-constant ERR-NOT-AUTHORIZED u104)
(define-constant ERR-INVALID-USER u105)
(define-constant ERR-LISTING u106)
(define-constant ERR-WRONG-COMMISSION u107)
(define-constant ERR-NOT-FOUND u108)
(define-constant ERR-PAUSED u109)
(define-constant ERR-MINT-LIMIT u110)
(define-constant ERR-METADATA-FROZEN u111)
(define-constant ERR-AIRDROP-CALLED u112)
(define-constant ERR-NO-MORE-MINTS u113)
(define-constant ERR-INVALID-PERCENTAGE u114)
(define-constant ERR-CONTRACT-LOCKED u115)
;; Internal variables
(define-data-var mint-limit uint u596)
(define-data-var last-id uint u1)
(define-data-var total-price uint u0)
(define-data-var artist-address principal 'SP2ABNX65BSKVM00ZQZ7K174DFV18CXVGGEMP7Y6X)
(define-data-var ipfs-root (string-ascii 80) "ipfs://ipfs/QmRq6UvDzcFtS9WWffsCjMYQVHabi4pFFjyE1sGXQ7Vgzx/")
(define-data-var mint-paused bool false)
(define-data-var premint-enabled bool false)
(define-data-var sale-enabled bool false)
(define-data-var metadata-frozen bool false)
(define-data-var airdrop-called bool false)
(define-data-var mint-cap uint u0)
(define-data-var locked bool false)
(define-map mints-per-user principal uint)
(define-map mint-passes principal uint)
(define-public (lock-contract)
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-NOT-AUTHORIZED))
(var-set locked true)
(ok true)))
(define-public (claim)
(mint (list true)))
(define-public (claim-two) (mint (list true true)))
(define-public (claim-three) (mint (list true true true)))
(define-public (claim-four) (mint (list true true true true)))
(define-public (claim-five) (mint (list true true true true true)))
(define-public (claim-ten) (mint (list true true true true true true true true true true)))
;; Mintpass Minting
(define-private (mint (orders (list 25 bool)))
(let
(
(passes (get-passes tx-sender))
)
(if (var-get premint-enabled)
(begin
(asserts! (>= passes (len orders)) (err ERR-NOT-ENOUGH-PASSES))
(map-set mint-passes tx-sender (- passes (len orders)))
(mint-many orders)
)
(begin
(asserts! (var-get sale-enabled) (err ERR-PUBLIC-SALE-DISABLED))
(mint-many orders)
)
)))
(define-private (mint-many (orders (list 25 bool )))
(let
(
(last-nft-id (var-get last-id))
(enabled (asserts! (or (is-eq (var-get mint-limit) u0) (<= last-nft-id (var-get mint-limit))) (err ERR-NO-MORE-NFTS)))
(art-addr (var-get artist-address))
(id-reached (fold mint-many-iter orders last-nft-id))
(price (* (var-get total-price) (- id-reached last-nft-id)))
(total-commission (/ (* price COMM) u10000))
(current-balance (get-balance tx-sender))
(total-artist (- price total-commission))
(capped (> (var-get mint-cap) u0))
(user-mints (get-mints tx-sender))
)
(asserts! (or (is-eq false (var-get mint-paused)) (is-eq tx-sender DEPLOYER)) (err ERR-PAUSED))
(asserts! (is-eq (var-get locked) false) (err ERR-CONTRACT-LOCKED))
(asserts! (or (not capped) (is-eq tx-sender DEPLOYER) (is-eq tx-sender art-addr) (>= (var-get mint-cap) (+ (len orders) user-mints))) (err ERR-NO-MORE-MINTS))
(map-set mints-per-user tx-sender (+ (len orders) user-mints))
(if (or (is-eq tx-sender art-addr) (is-eq tx-sender DEPLOYER) (is-eq (var-get total-price) u0000000))
(begin
(var-set last-id id-reached)
(map-set token-count tx-sender (+ current-balance (- id-reached last-nft-id)))
)
(begin
(var-set last-id id-reached)
(map-set token-count tx-sender (+ current-balance (- id-reached last-nft-id)))
(try! (stx-transfer? total-artist tx-sender (var-get artist-address)))
(try! (stx-transfer? total-commission tx-sender COMM-ADDR))
)
)
(ok id-reached)))
(define-private (mint-many-iter (ignore bool) (next-id uint))
(if (or (is-eq (var-get mint-limit) u0) (<= next-id (var-get mint-limit)))
(begin
(unwrap! (nft-mint? tenacious-b next-id tx-sender) next-id)
(+ next-id u1)
)
next-id))
(define-public (set-artist-address (address principal))
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-INVALID-USER))
(ok (var-set artist-address address))))
(define-public (set-price (price uint))
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-INVALID-USER))
(ok (var-set total-price price))))
(define-public (toggle-pause)
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-INVALID-USER))
(ok (var-set mint-paused (not (var-get mint-paused))))))
(define-public (set-mint-limit (limit uint))
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-INVALID-USER))
(asserts! (< limit (var-get mint-limit)) (err ERR-MINT-LIMIT))
(ok (var-set mint-limit limit))))
(define-public (burn (token-id uint))
(begin
(asserts! (is-owner token-id tx-sender) (err ERR-NOT-AUTHORIZED))
(asserts! (is-none (map-get? market token-id)) (err ERR-LISTING))
(nft-burn? tenacious-b token-id tx-sender)))
(define-private (is-owner (token-id uint) (user principal))
(is-eq user (unwrap! (nft-get-owner? tenacious-b token-id) false)))
(define-public (set-base-uri (new-base-uri (string-ascii 80)))
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-NOT-AUTHORIZED))
(asserts! (not (var-get metadata-frozen)) (err ERR-METADATA-FROZEN))
(print { notification: "token-metadata-update", payload: { token-class: "nft", contract-id: (as-contract tx-sender) }})
(var-set ipfs-root new-base-uri)
(ok true)))
(define-public (freeze-metadata)
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-NOT-AUTHORIZED))
(var-set metadata-frozen true)
(ok true)))
;; Non-custodial SIP-009 transfer function
(define-public (transfer (id uint) (sender principal) (recipient principal))
(begin
(asserts! (is-eq tx-sender sender) (err ERR-NOT-AUTHORIZED))
(asserts! (is-none (map-get? market id)) (err ERR-LISTING))
(trnsfr id sender recipient)))
;; read-only functions
(define-read-only (get-owner (token-id uint))
(ok (nft-get-owner? tenacious-b token-id)))
(define-read-only (get-last-token-id)
(ok (- (var-get last-id) u1)))
(define-read-only (get-token-uri (token-id uint))
(ok (some (var-get ipfs-root))))
(define-read-only (get-paused)
(ok (var-get mint-paused)))
(define-read-only (get-price)
(ok (var-get total-price)))
(define-read-only (get-artist-address)
(ok (var-get artist-address)))
(define-read-only (get-locked)
(ok (var-get locked)))
(define-read-only (get-mints (caller principal))
(default-to u0 (map-get? mints-per-user caller)))
(define-read-only (get-mint-limit)
(ok (var-get mint-limit)))
(define-data-var license-uri (string-ascii 80) "https://arweave.net/zmc1WTspIhFyVY82bwfAIcIExLFH5lUcHHUN0wXg4W8/4")
(define-data-var license-name (string-ascii 40) "PERSONAL")
(define-read-only (get-license-uri)
(ok (var-get license-uri)))
(define-read-only (get-license-name)
(ok (var-get license-name)))
(define-public (set-license-uri (uri (string-ascii 80)))
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-NOT-AUTHORIZED))
(ok (var-set license-uri uri))))
(define-public (set-license-name (name (string-ascii 40)))
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-NOT-AUTHORIZED))
(ok (var-set license-name name))))
;; Non-custodial marketplace extras
(use-trait commission-trait 'SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.commission-trait.commission)
(define-map token-count principal uint)
(define-map market uint {price: uint, commission: principal, royalty: uint})
(define-read-only (get-balance (account principal))
(default-to u0
(map-get? token-count account)))
(define-private (trnsfr (id uint) (sender principal) (recipient principal))
(match (nft-transfer? tenacious-b id sender recipient)
success
(let
((sender-balance (get-balance sender))
(recipient-balance (get-balance recipient)))
(map-set token-count
sender
(- sender-balance u1))
(map-set token-count
recipient
(+ recipient-balance u1))
(ok success))
error (err error)))
(define-private (is-sender-owner (id uint))
(let ((owner (unwrap! (nft-get-owner? tenacious-b id) false)))
(or (is-eq tx-sender owner) (is-eq contract-caller owner))))
(define-read-only (get-listing-in-ustx (id uint))
(map-get? market id))
(define-public (list-in-ustx (id uint) (price uint) (comm-trait <commission-trait>))
(let ((listing {price: price, commission: (contract-of comm-trait), royalty: (var-get royalty-percent)}))
(asserts! (is-sender-owner id) (err ERR-NOT-AUTHORIZED))
(map-set market id listing)
(print (merge listing {a: "list-in-ustx", id: id}))
(ok true)))
(define-public (unlist-in-ustx (id uint))
(begin
(asserts! (is-sender-owner id) (err ERR-NOT-AUTHORIZED))
(map-delete market id)
(print {a: "unlist-in-ustx", id: id})
(ok true)))
(define-public (buy-in-ustx (id uint) (comm-trait <commission-trait>))
(let ((owner (unwrap! (nft-get-owner? tenacious-b id) (err ERR-NOT-FOUND)))
(listing (unwrap! (map-get? market id) (err ERR-LISTING)))
(price (get price listing))
(royalty (get royalty listing)))
(asserts! (is-eq (contract-of comm-trait) (get commission listing)) (err ERR-WRONG-COMMISSION))
(try! (stx-transfer? price tx-sender owner))
(try! (pay-royalty price royalty))
(try! (contract-call? comm-trait pay id price))
(try! (trnsfr id owner tx-sender))
(map-delete market id)
(print {a: "buy-in-ustx", id: id})
(ok true)))
(define-data-var royalty-percent uint u500)
(define-read-only (get-royalty-percent)
(ok (var-get royalty-percent)))
(define-public (set-royalty-percent (royalty uint))
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-INVALID-USER))
(asserts! (and (>= royalty u0) (<= royalty u1000)) (err ERR-INVALID-PERCENTAGE))
(ok (var-set royalty-percent royalty))))
(define-private (pay-royalty (price uint) (royalty uint))
(let (
(royalty-amount (/ (* price royalty) u10000))
)
(if (and (> royalty-amount u0) (not (is-eq tx-sender (var-get artist-address))))
(try! (stx-transfer? royalty-amount tx-sender (var-get artist-address)))
(print false)
)
(ok true)))
;; Extra functionality required for mintpass
(define-public (toggle-sale-state)
(let
(
;; (premint (not (var-get premint-enabled)))
(sale (not (var-get sale-enabled)))
)
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-NOT-AUTHORIZED))
(var-set premint-enabled false)
(var-set sale-enabled sale)
(print { sale: sale })
(ok true)))
(define-public (enable-premint)
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-NOT-AUTHORIZED))
(ok (var-set premint-enabled true))))
(define-public (disable-premint)
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-NOT-AUTHORIZED))
(ok (var-set premint-enabled false))))
(define-read-only (get-passes (caller principal))
(default-to u0 (map-get? mint-passes caller)))
(define-read-only (get-premint-enabled)
(ok (var-get premint-enabled)))
(define-read-only (get-sale-enabled)
(ok (var-get sale-enabled)))
(map-set mint-passes 'SP136AXDAQ41R31GJWJX8KX14E2T4K8PA08NCE6Q5 u5)
(map-set mint-passes 'SP14V9BXQR5A6M32REYYFDBQQE7FA0Q2R41GD90NK u5)
(map-set mint-passes 'SP15DFB4QF9E4AD8PCA1Z69Z8ZKENK77ETMGP82X5 u1)
(map-set mint-passes 'SP15PKJS4ZPNQV7TZJSSNQYAS2RYDETAM7AJBRK24 u26)
(map-set mint-passes 'SP162D87CY84QVVCMJKNKGHC7GGXFGA0TAR9D0XJW u1)
(map-set mint-passes 'SP1742Q3QT5W250RT3RDX9B6DTC6Y61771DX8TEF5 u1)
(map-set mint-passes 'SP17RHAMKDDEWVH3C3ST1011VYC931HXCB2BKD6SW u1)
(map-set mint-passes 'SP19MNWTQ06X709ZA0T1KXXWWSG629MGB0QS0D16X u2)
(map-set mint-passes 'SP1A32MBZDN1B28ZT5DH6MA739VJ0BFH05CJHCM8W u1)
(map-set mint-passes 'SP1DPNP3RRD6JG1557SP6JMX68W5BV6R2Z74BQEXV u2)
(map-set mint-passes 'SP1EGWE0FKXBZF0QFM966MS9KYWT9Z3VNGQ75N7N4 u3)
(map-set mint-passes 'SP1G9PZMQSFRQ7Q98XP7JMNE2C22RXK1W61RXTNKP u1)
(map-set mint-passes 'SP1KBVBP3AZP7YA968Y3G14A17P9XXFPBPEVF5EG9 u1)
(map-set mint-passes 'SP1KJ023PFH1VNJK2JCF6GGC1WSRJW0C21K3N7JXQ u1)
(map-set mint-passes 'SP1QAQYT0X31DJ1NZT82XWRM4CGZQ582NSSFX2TYD u1)
(map-set mint-passes 'SP1QCG58KQX10Q726VYJ8RY8V91MDZ7X745DG7YF9 u3)
(map-set mint-passes 'SP1QS3X6DF6GR55T4PBGPGWB5JZ5RJT6FCPWB13DX u5)
(map-set mint-passes 'SP1QZT85MFT8HBAG3XEK7K6QY4GGP3MSG5C3H9PQ1 u4)
(map-set mint-passes 'SP1R3EWZM6M102P5A9AJGJMA5YZTR6PXANK9Z13G3 u1)
(map-set mint-passes 'SP1TRJR66FTZZGJWDG3ZK6VCS4SNQ10CHWTTMHMHZ u2)
(map-set mint-passes 'SP1VFMMXJXH7AYA9TKYFVE28MGFTZ0E5N79H6WMCB u3)
(map-set mint-passes 'SP1WXMX9PYKSH86XW29Y30PKKSEAS4MKX9XJQ4GTG u1)
(map-set mint-passes 'SP1WYHPJJVN3P0PS32BMF33P6WVVK1SNRRS28ZF0G u1)
(map-set mint-passes 'SP1Y60B0GCM1P040N7Y0QD9R93Y5EZRJ8YH2BV5NW u3)
(map-set mint-passes 'SP1ZQSWQ9QNNW388VFG45HYX1H592147V2FZZJY8V u1)
(map-set mint-passes 'SP21665394YPPDZ40SMC8F6NX9R5KZKF0YSRFGX8C u1)
(map-set mint-passes 'SP22NY3PR97YA5AG3NMSPCHGFZXXJNJXGTW2A2WJ0 u1)
(map-set mint-passes 'SP22PRWZR37T6KZT9J4HTYTY6H5FJYAXSJSYSMJVB u2)
(map-set mint-passes 'SP23B3GJ1AZ95NAGZ38P6RJ6P78MFPGQE3BP8EEW4 u1)
(map-set mint-passes 'SP23F3QZEWF0J4QBPQJZE6AVWD3JS7P6ADD9H7VZA u1)
(map-set mint-passes 'SP23MDNANPJDANJ5ZBN8YJW9V6DRCGSENM9NHKDQK u1)
(map-set mint-passes 'SP24AGF98C1WYWSDDCA021JGSTTZ90V4BAD4R4SSS u1)
(map-set mint-passes 'SP24GYRG3M7T0S6FZE9RVVP9PNNZQJQ614650G590 u3)
(map-set mint-passes 'SP25QY5WZ8Z4DFC5HGDTEGDNJEAM0DDT433A8QSK2 u2)
(map-set mint-passes 'SP271CPRFRDSX26GZND9YDD3FSE0JK2B61SBJRAG2 u1)
(map-set mint-passes 'SP2791RKSYJJ39MVHC09J8NARWBMK5G9C79EJB0RV u13)
(map-set mint-passes 'SP2ABNX65BSKVM00ZQZ7K174DFV18CXVGGEMP7Y6X u11)
(map-set mint-passes 'SP2C20XGZBAYFZ1NYNHT1J6MGMM0EW9X7PFBWK7QG u1)
(map-set mint-passes 'SP2E03GHWY145XMFDTHX4Z913EADP4RMZ0P0DCTE9 u1)
(map-set mint-passes 'SP2EK6MPWJYXM0JE3K19AWCDT0041DFPMJERAPP9Y u2)
(map-set mint-passes 'SP2HV9HYWZRAPTCC10VXCK72P3W4F9NDB8E1HBEZH u1)
(map-set mint-passes 'SP2JKPKJCCRTEC1K81W8S3HCFXCP0H7PDKTN0CEGS u1)
(map-set mint-passes 'SP2KYP13520BR3CN0JAGRJGHEF0EATAVT4580WF3G u2)
(map-set mint-passes 'SP2MXBQSYS8HJ6ZHNFDJNDYVFQG551Y21X9B0YRD7 u1)
(map-set mint-passes 'SP2P336EM6HGAX7NQJGR0A4W7KP11BNY25YDSTA6W u3)
(map-set mint-passes 'SP2QE60HPRY41A767SFT0189KV8JT1MZNFK0BQ3QX u1)
(map-set mint-passes 'SP2R3J2ZJ7A8BKCG2A2SBP8E2708V27KYTHYPERFF u72)
(map-set mint-passes 'SP2SWMAHV98BN57FSHHK6HR2TYGWDSW5XZY19RMBD u3)
(map-set mint-passes 'SP2TGN9DJWTV02B9HRGX6Z43Y7052DTZW6FZVZH0S u3)
(map-set mint-passes 'SP2TW1D8YF5CE0NDP5VCR5NMTPHQ4PQR1KBB4NQ5Q u4)
(map-set mint-passes 'SP2WB2K6T6V9E1JXPM2CCDQK6K137DGGE68R7GC0G u2)
(map-set mint-passes 'SP2WJZCH7S7XN31W63H76CQDYH1SBK08ZM7M06G3F u1)
(map-set mint-passes 'SP3079W6DMRE2TV7B79T0B7B3Q0YZAS2TH42GAAK4 u2)
(map-set mint-passes 'SP30E7R3ZQVT7XE4GGQ4XVFR90V161263VG2F5YHC u1)
(map-set mint-passes 'SP30MX9SS3S6DAY1BRXSQT5SQGQ0PX391MY1YPBF8 u1)
(map-set mint-passes 'SP31QFBF2M32B94JQQMDE5JGRT4T9R0E0HHJ48QKV u2)
(map-set mint-passes 'SP329G766AV8Z01X9EEAHPDQ4WDJXT2A0XB383MGP u1)
(map-set mint-passes 'SP32V5EAKRWZ66VVA67XGDK18VYMZM5NT7NP98M9 u1)
(map-set mint-passes 'SP35E73RP0EV411FP3Y34GX89P171VHWSF7QKC8JT u3)
(map-set mint-passes 'SP35MER4PHM6XGB99YDRQAK0M0JQ8F9CVF04VZ1VX u1)
(map-set mint-passes 'SP364J7EDJXRE1FPDZDABP9M58HPY4G88BFCP2HD0 u1)
(map-set mint-passes 'SP36MCQHXPP0DZ2KPC1KEY6ERC8GKB6QVCAK0PQYG u1)
(map-set mint-passes 'SP38WZ44X5X4ZYJQ4V9A9R756AY0BAH3S524M81XE u1)
(map-set mint-passes 'SP39HKSZVWV2PJQWGYGX6RZPAAJYXJZ2SRSQ7RM7Z u2)
(map-set mint-passes 'SP39QMCAN545Q2VEA2M9JJQJ4J2GJNRRBWXQVWRBK u1)
(map-set mint-passes 'SP3A09H1JEB4F85FZ6XEXRSZA210SC6RB7Q7V7DAF u1)
(map-set mint-passes 'SP3B84QWAXRAKB67Z4TB33SY5G0BGGVQC36526QN6 u1)
(map-set mint-passes 'SP3FRR202NGRSN2XYMRJG3RSTN5PHP9TYHC2JSDGV u1)
(map-set mint-passes 'SP3FRT6WTV0NGX5NX8EHJZDA7R79CKGGNQJEC0WQ9 u3)
(map-set mint-passes 'SP3JMPP4S5CZBC68XEV2DPWEFTXHDFFHQYJXHM119 u2)
(map-set mint-passes 'SP3KXV3J6MRHAH4H89MDS390X1KS0GQN4DWQ5RFVB u1)
(map-set mint-passes 'SP3M72S3S5085CHCMH6KWQG6NGFT9MYFJRZX036P2 u1)
(map-set mint-passes 'SP3P53KJAMZMJEQACWZQ4T7NP2P52T7RZ843JJ0HA u1)
(map-set mint-passes 'SP3P8PMKMYJQ9V16A6EZW2XHH1P29JN58R31VQ4VJ u1)
(map-set mint-passes 'SP3Q1ZEEG5K9K4DEWG475B2CTH93237RTZ3NERYD8 u17)
(map-set mint-passes 'SP3QDNXG15V93J3BNTHEY3A7YTED9SZS43AFWCFBF u1)
(map-set mint-passes 'SP3RRA0RQDNGRQYM0K64EVX8E0MBH0DEPPPN4KQG8 u2)
(map-set mint-passes 'SP3TZ3BCB16A0W0PPFYMGTTWTT3DVWTQEP8DFRAG1 u4)
(map-set mint-passes 'SP3VGV6K1NC5BTK82S06FD9YK3FPZ4KD6YNRJCV2R u1)
(map-set mint-passes 'SP3VYCKS11684SPB5M73AVS692B1GR35XBQPSYS2Z u3)
(map-set mint-passes 'SP3W6K52WCJR6VDJSHAJ9VNMXRFAXAQZS64JA8KY2 u60)
(map-set mint-passes 'SP3XVFQ1AB7DD5N19GS0412CG4JG7XWSBYAG98PVW u1)
(map-set mint-passes 'SP4ZZRRZHD344VCABQNZ9MDQ09TBKWXVCY4T0760 u1)
(map-set mint-passes 'SP661DNB6KZH6YBT1Y32NCDHNJE042ZY7B8JA9WW u4)
(map-set mint-passes 'SP6HYDNWHSSTZFS0HAR4FDRPXK3EK603S0BYJHFJ u1)
(map-set mint-passes 'SP779SC9CDWQVMTRXT0HZCEHSDBXCHNGG7BC1H9B u1)
(map-set mint-passes 'SP8N846PR1492HB2A08R5G96RYNKWRHDJDTBM227 u1)
(map-set mint-passes 'SPA99HZ7KCPMNBHAHWREE95P0M1FNT9FR4AA6HZG u1)
(map-set mint-passes 'SPAFPBD7M89973WDEN68FKYW761RQVYNHSEFQZB9 u1)
(map-set mint-passes 'SPCBX0GCHMK9GP717F23ZP7V2NM2A0EJ8D634N44 u2)
(map-set mint-passes 'SPCS40085ZG3ZQ1ZFRFDX7EVQGKBVDE3C347Z1K7 u1)
(map-set mint-passes 'SPEJ2JKG5SVZD793CEWFZQ0VDPEGZ6QVP39QFAHM u1)
(map-set mint-passes 'SPEXRA92V0H67ETCVGCX89D3Q4YRCV40T3DB001S u1)
(map-set mint-passes 'SPHK8A7P61C6ASWKYDX1PCDX9YA54DKVJN49EXGJ u3)
(map-set mint-passes 'SPJSCH3DDEJ8GQPGYZBHSB4F3HX5Q222CG89PSAB u1)
(map-set mint-passes 'SPKFMMZ410F5KVX5G8JCYH46TB3D175YAQF2AGX u1)
(map-set mint-passes 'SPM1Q7YG18378H6W254YN8PABEVRPT38ZCY01SJD u1)
(map-set mint-passes 'SPMR3Z3W08TXBYRBCM95Q9BZ4CKMSFTRD7KJGEZJ u1)
(map-set mint-passes 'SPN4Y5QPGQA8882ZXW90ADC2DHYXMSTN8VAR8C3X u1)
(map-set mint-passes 'SPP28QCMZ51GVN9933VFH9TXKQ3XCT4WE5A07533 u4)
(map-set mint-passes 'SPP33RRR5CJ7C7X5Y8M0G1MH01B34HJ82D2T4PRF u23)
(map-set mint-passes 'SPQ2HN9TYF8ZYY9D3G45NGYA9GHA6QZHQ8AXF5QM u1)
(map-set mint-passes 'SPQ52NQC3QY4TMZ716MHZGHZSGNQQ9G365MC0EE8 u18)
(map-set mint-passes 'SPQE3J7XMMK0DN0BWJZHGE6B05VDYQRXRMDV734D u3)
(map-set mint-passes 'SPQKQNJHK9EASVBQY0A21B4DSAGHJ9F10WHYQMWJ u1)
(map-set mint-passes 'SPRQKYT0HQK2BMC4B6GZJD12R85RVAAP55WD6V08 u1)
(map-set mint-passes 'SPSS7WAYA17Y8Z5Q6GJTMH4FH4MRJ7HZZ6JPGAGR u2)
(map-set mint-passes 'SPSYE0KJ6QC8MMBG8417Y11460X3X94A640CVH8W u1)
(map-set mint-passes 'SPT5W2M6KVGZN4PRP85HP1ASTZV84ZN9YAJB9Z4D u2)
(map-set mint-passes 'SPTBXT6YRNYZE85F9AZ0W5RMBQQGY0ACBNH7YJR7 u2)
(map-set mint-passes 'SPTJ8KDX7AA6VDEJQNYNV4PJ832NEMPEPTY3F4WW u1)
(map-set mint-passes 'SPXEAQN4H2MW9YVSJ48B6PA4362MYPW2SAW0GAHZ u3)
(map-set mint-passes 'SPY294PE2BBZSXDN5WP9ZNBQQJ2JWVGVFNCBZHAM u1)
(map-set mint-passes 'SPZWZQS7QZVPQ7FAKPSDW9BJ6P7JD1S62KPGV5WJ u3)
(map-set mint-passes 'SP0DMJV9BHBYM6V9HT53VW83KB7C893353C4AN7E u1)
(map-set mint-passes 'SP11TY21GMBE1VJV2VXYC3A4AZZX55KB65JVP4VN u1)
(map-set mint-passes 'SP11XJ4K5KNHSC8JQYQBZDBSZF1K26A4A2EV72723 u1)
(map-set mint-passes 'SP13TJVNGAJWYBFEB1XYZ9BE5F84HR4QNF6DSJFAC u1)
(map-set mint-passes 'SP14ZPGMNAZHRV4HKX02K1QCARG0MR0KC4X55DNJ7 u1)
(map-set mint-passes 'SP150KYC2R9NMNCAARM65R1E0WR0J5HXMVB5H5FFX u1)
(map-set mint-passes 'SP17FWYXVRHX26E9M1YJFDY2V6N8FTJ3587DXTJM9 u1)
(map-set mint-passes 'SP17Q9KRANVRWTSGN3QP00RVTMB5ZBG6RJTV06S4Q u1)
(map-set mint-passes 'SP18PQ14F3BHPFXT93ESST4ARXTXS2Q8VMYYSMSDG u1)
(map-set mint-passes 'SP18Y24NWAKSN4JNTE7DRMA1DQFCNEJY5PC5ZQRBS u1)
(map-set mint-passes 'SP19M73R6P84DEQ6A992CMKFY1S92JCJZJ34Z1XH3 u1)
(map-set mint-passes 'SP19R97W8G29BW3V9TC81VCQPAGVPVZJSPY97CE86 u1)
(map-set mint-passes 'SP1AG1B05N1H315P2HD5K1T39914G7Q64W8Z80TFA u1)
(map-set mint-passes 'SP1AGMTSFFT0HD2R08CM88NQPE1QSWRJZRZDZJ1KD u1)
(map-set mint-passes 'SP1ARX7MBNQ93NF3G21SA1EWRCNHBPBHXRGBCDTB9 u1)
(map-set mint-passes 'SP1EF4AMGEZ6T8VZJZFZ9G0MJ3YHYG9GJYZ7CWC3F u1)
(map-set mint-passes 'SP1EKT8A221JHKTBC4J5DV1PZGEEZWQ55HYG1EF59 u1)
(map-set mint-passes 'SP1FHDB27Y0RZWWX5E1HD9A53A0ZX5SF8297ZSDW8 u1)
(map-set mint-passes 'SP1FKP2KHZKXSPY7ZFMXBCZS19E149T2S936EJYVJ u1)
(map-set mint-passes 'SP1GXY8JFXBBZYQ2AX36E1C9KPHDTCRK8CNTJZNYD u1)
(map-set mint-passes 'SP1H4VFDEEGG2MQZNPBYKF9YHM19JZ20RK1DM9Z52 u1)
(map-set mint-passes 'SP1K4S6CNTS6R7QQCA07ADPEV6HJWCTN7AZH9BCD5 u1)
(map-set mint-passes 'SP1K6BNGAPDHVV1XWM3X767FNFT09SM6R74F5FR47 u1)
(map-set mint-passes 'SP1KJ54Q3JZ8E4B6QXS5B0J7RM76RBCC7BM1B469Z u1)
(map-set mint-passes 'SP1KM5DDK79WAXMX0BSG0GJQQMWVCD0BEG0QNQHK u1)
(map-set mint-passes 'SP1MBN0MN0WTY2KFHH11D2PH0FV2XE79BS6ZNWYZ8 u1)
(map-set mint-passes 'SP1NVMMAGH7R7B8VVH120YWXSRZPHWD1CXT3B51KE u1)
(map-set mint-passes 'SP1PNV3QPGVY5W2R8Q8S094Y1HPPWCJ37J1GMRQ04 u1)
(map-set mint-passes 'SP1Q650SXH4EZFQHT4TVWGJGH9D9KVBSBV87ZYDCW u1)
(map-set mint-passes 'SP1Q87CQQ75RPX7AM4VAAT0ZFXRFAP1VQKST8EKEC u1)
(map-set mint-passes 'SP1QC6MZXCPG253X0FVVSRZA9HWCYBW913Y38N1A3 u1)
(map-set mint-passes 'SP1R1EJ1BKBYM3GS37NBV0D8YQ21AZ8G5R9NEFXVM u1)
(map-set mint-passes 'SP1RHHXFYABJ5D9G4T1NJKA7ZGYVP5C5AE7S5G77Q u1)
(map-set mint-passes 'SP1RMX2B5ZVHDP475BSVGC2RT7MQSEGBD0SRDRGGK u1)
(map-set mint-passes 'SP1RTRQ34BEY04XBHVWGMSZGY2WVMTGXVBMQD80BY u1)
(map-set mint-passes 'SP1SMMESJ5EYQGM0DXRYT1A2FX5CQ10R0FBDTX9X2 u1)
(map-set mint-passes 'SP1V1TZ70QNMMM9GA0NCVD1EXD3BQMBP70ABBYVMW u1)
(map-set mint-passes 'SP1VK7TM5VJ45FYZPM62XS6M3H1TW5PW9PYBQM0YQ u1)
(map-set mint-passes 'SP1VKPWJDY81WFCJPRZ8TSV56HCRY2JPVF2AMR6BB u1)
(map-set mint-passes 'SP1WAZVPYX3VRM8QS4SXQPFNT5ZK39TVD5NMMYJ5T u1)
(map-set mint-passes 'SP1WMRGBEAPH1M9EX6925E56W4WF7ZYD5H8MGYVN1 u1)
(map-set mint-passes 'SP1XDJG6H8XTHX9EKEKTV6WZ41D3MJ9JM501RADXQ u1)
(map-set mint-passes 'SP1XXYEYNZZ8Y8TDYN4AGA6GVZQNVFP28SNG0NZ5J u1)
(map-set mint-passes 'SP1YA6F9B9F3TJP1QJDGAME5JTRHDF7PG8NRMR2WJ u1)
(map-set mint-passes 'SP1Z868BMNS3ZAX2HQZWN0DRYS7XGWWSEQ9530808 u1)
(map-set mint-passes 'SP2048SR9JG3HFE6ECTMPR0Q8GAAP0YSVMNJ1ERPW u1)
(map-set mint-passes 'SP20ENEVFH9G6G8CE5NM3JGP32YB323J4CEKKZDTR u1)
(map-set mint-passes 'SP20Q9365F33SRPH6AGMN3DP5V274JFX940S21Y22 u1)
(map-set mint-passes 'SP214JA779ZANMX51951B4BRBCDZD22MWDR4T7E19 u1)
(map-set mint-passes 'SP217AA60NEF216QGHAVN9EDSH9EAQE729CK7FNP u1)
(map-set mint-passes 'SP21A01KWHAQS50SKAH0RNRD01ZQ9NBKTZQ6A8JHA u1)
(map-set mint-passes 'SP21T2KS3HMH2HGYD3AZBX7KGJ9K5P384BXJTQR3K u1)
(map-set mint-passes 'SP21VD30Y74Q8TEAQQ9AMSBFCYQAKG9BS9QSPF7SG u1)
(map-set mint-passes 'SP234ETPCX4EAJKYFVW5DGPZHZGB0JA1KYCAEP1PE u1)
(map-set mint-passes 'SP23CG7RN0FH7TN47T1K87K1J8PM2Q6068331J36Z u1)
(map-set mint-passes 'SP23D8X18HPRX1MSAQSSRH6ASB9ZDG9RPND2BYKKY u1)
(map-set mint-passes 'SP23KESMNPKSBMMKWD4T4ZPM8Y63WXA5MWJVEPR46 u1)
(map-set mint-passes 'SP23YH08NRQM3F669KF120C90K70KS740BYH7H0XB u1)
(map-set mint-passes 'SP2430EVWMRHYNGTF0ZMJ13WW428KVT6FNDDRQA67 u1)
(map-set mint-passes 'SP26EJ7MYVWF4MME98BK1T3ETYDF9Q1261ZDF4ZJ0 u1)
(map-set mint-passes 'SP26WSBA2W8RSDNBEPZQK24W6CY4VNTEFMC9FG7SQ u1)
(map-set mint-passes 'SP27BP4AJ150TYH4EABPHNA7DK5772CWFWW3XQRZJ u1)
(map-set mint-passes 'SP27EP3677K1B80X0FK4T8QFMH2KVJ6CGE8TH5HD4 u1)
(map-set mint-passes 'SP27H5Q49BY293DYZ4A9GG9RR7MHN1RYCMKHFGB2H u1)
(map-set mint-passes 'SP27XTTA396NHVMGYAX17FD6D5XRV0F3809MM7PP4 u1)
(map-set mint-passes 'SP2AVEGAEHHVPXJYGA36P2755QMFSFJ042P46CTV4 u1)
(map-set mint-passes 'SP2BKH711Q1DYKCN9XHG6R4SRRFYR0CRSWACG7A8Y u1)
(map-set mint-passes 'SP2DWM70P3ZGZYWN9QBMP7T500MFVK6MFCGHP6HWX u1)
(map-set mint-passes 'SP2K8114WJHF2S33FMYCD9CQS42WDX7MVBS34WVFV u1)
(map-set mint-passes 'SP2MT5HVBAF0G1EAQFKRSKFGTJWTF7MVASVDWK1A6 u1)
(map-set mint-passes 'SP2NBX2CEQZ2XVYXP162TMAAAVQ30M4R92EHM7AAP u1)
(map-set mint-passes 'SP2PRN572TKSDDKK9BPG6P2AT4EJW8C8KC8W6GT4C u1)
(map-set mint-passes 'SP2QBJAS921X8SPYW0ZVAVQ0E9SD5F7XDV2VCFRYG u1)
(map-set mint-passes 'SP2QG3SM5J4EAR13Z6ZP1YH5NPBSW17RZA3J2H80P u1)
(map-set mint-passes 'SP2T7YBTHRZ068S8YVVX4HFHFHW83F0DSVQ3ARJV8 u1)
(map-set mint-passes 'SP2TCJCX4DWFZ1Z29QP3DEYR10QVRMQ3VXQG2N11A u1)
(map-set mint-passes 'SP2TND1RWVD0QMGRTBSMA6T0MTYGWNKEHAAF1Z7BG u1)
(map-set mint-passes 'SP2TTEG2QM2370GW6AKTHZZ4VZNM1N7XKXMR7PTX5 u1)
(map-set mint-passes 'SP2VM8V5Z0GKDSKXNJBR2W9Q2ANHRM460AZ85RT9J u1)
(map-set mint-passes 'SP2VN16FBAX64GCNECM69WM896WJ2MD34AFC6DPXJ u1)
(map-set mint-passes 'SP2VRAHA5TXA6770DVDYS3RQM2AM6M3XGEV3PKCKJ u1)
(map-set mint-passes 'SP2W4JHS4FCDHF6N4KDAC47T5DW337MFZQJ0WTYBC u1)
(map-set mint-passes 'SP2WFN0ZKGTCKRK38BTPB1NMZT3NYKY1F1GWR8ZHN u1)
(map-set mint-passes 'SP2WH56CVERRYA212QAEJHRFHKEK8VZ2BMQWVP6PD u1)
(map-set mint-passes 'SP2WS28J7A725HPCGPFBG9F0973JQTQ8Z0FX3GDJP u1)
(map-set mint-passes 'SP2XSHZHXB67HZBR21CRTG9P0ZZX15S1CW81T1GJ3 u1)
(map-set mint-passes 'SP2YKR9JTYJYYQ3S052W9FS0MWGEWAEMZM1G3BHAG u1)
(map-set mint-passes 'SP2ZJW0F17SMK1HQDF35E2RPY7GRX1NA89J34WRHC u1)
(map-set mint-passes 'SP2ZW6NKRRWPD6668CFE2YES5A0GJ4PCZ5Q2K1TGX u1)
(map-set mint-passes 'SP316XZXJSHX2FNFY4ZNCT9KV38HTXKK2JY2RY9RZ u1)
(map-set mint-passes 'SP31TXDRVVBAQCNCRP4SJ5E3ZQE58B82VS94Y2EPA u1)
(map-set mint-passes 'SP31YQRSSM1568E7Q29R9ZNQH22FNDJZENXHAX7NA u1)
(map-set mint-passes 'SP328EKE9QY9RHJ87W6T7GKJA93HBRZNCRFHKAJYH u1)
(map-set mint-passes 'SP329G766AV8Z01X9EEAHPDQ4WDJXT2A0XB383MGP u1)
(map-set mint-passes 'SP33C51WMM6SM8PGD8CKJFREPR7CS384XZEX4BF55 u1)
(map-set mint-passes 'SP34KQ8607Y4VJ5V78MZ5C2RGS2HZSEW1M5QR5DAS u1)
(map-set mint-passes 'SP3562P56J6F7Z7JD2Z9B3KENPCNNF84NZSJQ277F u1)
(map-set mint-passes 'SP35MEYYBHSFCFXY296YGP7NAT6Y4XBJW2VETR8AV u1)
(map-set mint-passes 'SP36B5DBZNJ3KG46K21NM8KSTZ4900D3J0XG5FCWW u1)
(map-set mint-passes 'SP37MNFBPBWA5CMB11HTA93769TXS3EKP8HZD591B u1)
(map-set mint-passes 'SP37SXZWXXM7139B02W4TKDMXE6XDWXGAC5ME4N2V u1)
(map-set mint-passes 'SP38HKC1WEDP1W0ZY2E1JRD09DKVJB00SV1R3TFFS u1)
(map-set mint-passes 'SP38X3XYQTJ4J9FFNKP2ZX4H47065M1E98STFMVP1 u1)
(map-set mint-passes 'SP394Z7MZ6MZGRB4MTCNGR2BWAWZSBFCPZHBDFTFF u1)
(map-set mint-passes 'SP39M9CVRFA8AJ6SN93V9K0QZZT34YK1VZ8Z0B8YZ u1)
(map-set mint-passes 'SP3A838AXF0EF8FPERM70QR173PYTHR7CW37GJ7GE u1)
(map-set mint-passes 'SP3AEXRH62C1JT3ZFZJFVTYEXW9W0V9WRM6RM5209 u1)
(map-set mint-passes 'SP3F3BSESRV5ZRZJ80ZNRT51K989GRNXGFRGMM8AG u1)
(map-set mint-passes 'SP3F3TVXCCKKCFFVQGZE4BD2Y2WYD2T7610W9W8QN u1)
(map-set mint-passes 'SP3GE3WBHB18DGTNNJG8GHYFPQYC3GZ7EH2D0X09M u1)
(map-set mint-passes 'SP3GWC8CSC201WA46XBYBHQ19JKYY3RRZZ6RSRYSW u1)
(map-set mint-passes 'SP3HJ7KDB0JJV4M5D0YRA85K47W3WTR5N03T1SSZ0 u1)
(map-set mint-passes 'SP3JFTPNQVPB3H2XFW3AD3JQFRA35G1X7YAWZECF4 u1)
(map-set mint-passes 'SP3JJ8S5K67KJ07VAGQBQ2Q45KXSA07TTNGN13Y7M u1)
(map-set mint-passes 'SP3K4RC1T9WMQK7Z1A126VT78152PPR4WXY5YAGDB u1)
(map-set mint-passes 'SP3KMGHQ0AZY23G1RABGD8VT0BY8P2C91J604AA8G u1)
(map-set mint-passes 'SP3N256FS41FC7ME1V2HXCMWC7J9CWM6HZ3SXRHYJ u1)
(map-set mint-passes 'SP3P6H109E48NMDEWGCK233EQ1GTKCD5SP3T8G7TD u1)
(map-set mint-passes 'SP3P6TJ6X0D0CPPVQRWM08AVCHHQGNTT9Z8E2XVS1 u1)
(map-set mint-passes 'SP3QP393F7N34Q5C3K5JMJ3YNRVKQGCYAZMYP94KC u1)
(map-set mint-passes 'SP3QZA415GNFDGNQXZGMS1EN7F46A3NA4CFD0RB4P u1)
(map-set mint-passes 'SP3S3V57Y5YBD44ZEGVJ7TQ76J2G1J2MCB2R91X9P u1)
(map-set mint-passes 'SP3STK8RNPM7803DNFZF7682129QXX54WNCGHA7AC u1)
(map-set mint-passes 'SP3T9CDHEQWHN4E1TME2NBSXEC0JW41KVH4GZ9BSJ u1)
(map-set mint-passes 'SP3WSYXFX3BFJ1KBGT5Q4FXH1FCPDDVSMAF4J32J3 u1)
(map-set mint-passes 'SP3X10ZHWQ70VF1FX4VKF5E3RJ7DBSG3GJSYRPFRJ u1)
(map-set mint-passes 'SP3X4TDFVNT60F8T52N0G8E3N1SMVZWW2Q6J630QP u1)
(map-set mint-passes 'SP3ZM9T4Q9R12D8NQNRMZK63VTNBS6XV8H603PYZ0 u1)
(map-set mint-passes 'SP3ZRXY0YTRYHE5A904BRSYCNQW639CCDC4CVSJE5 u1)
(map-set mint-passes 'SP40ZTCM8J427GA15PXSRB8NAS1N552ZT68QGXDP u1)
(map-set mint-passes 'SP4SAC4XGT0NJH151ZXFYF8Y27HNRKG0TZ9GQ2VA u1)
(map-set mint-passes 'SP670BYYFVKJM5TXT110E8W16TH8E8Y55EYECXJZ u1)
(map-set mint-passes 'SP760W6EGA4V3VB2AZGJCX7F12WG9BMVF1XSZ43R u1)
(map-set mint-passes 'SP9583DDKWDXECR53J4XSE2579MQ9TEAQMZHMCDK u1)
(map-set mint-passes 'SP9AS19VBEXRCKFPX089RXZ9KT9WFCQWSQQNBM9S u1)
(map-set mint-passes 'SPA6RYW94XM5H834Y6V9BCAZ4FMFWY1MWAYJJRFA u1)
(map-set mint-passes 'SPBMPEV08NP960W6GRNGW021K4342JHD1ZKDWJFV u1)
(map-set mint-passes 'SPC03RPZTEBJG0WWZWQJEK3QJ3VB7D0BP8CK1RE4 u1)
(map-set mint-passes 'SPC20XV30S3Z5DZP4G5P3PV7ARG0NT60Q2YMZ4XH u1)
(map-set mint-passes 'SPD1FGYTNQE7AZ3CRTH7FTZNC0QHGHJJW56KSTS9 u1)
(map-set mint-passes 'SPD40C3XV1826V8PFFNAAKW2GPYRF0E08Y3YF2VH u1)
(map-set mint-passes 'SPDNFPB0XW0A1JTZCB2DVG94PNFNNGK2Z34CFTHF u1)
(map-set mint-passes 'SPDV6J2QQ9MAWS61KKPFHKV6H3C0J67X622QX46Z u1)
(map-set mint-passes 'SPDW4H3NPEM1NHDP7AYCN51EJJKEBYKXK32500H3 u1)
(map-set mint-passes 'SPE2855MX6SYFGMZJKPRVH3TZ9SG3R67X4MJNWFB u1)
(map-set mint-passes 'SPE2K9RAA0W5A3WQ7GR7ESMBCPKMZYM4S1YGQ1PS u1)
(map-set mint-passes 'SPEF0S0KCQ2ZRKA3NSFH39TCR5B04PS9DCE60TZE u1)
(map-set mint-passes 'SPFF63MDCQBKAV6FWBA0F191H7AVAVM9X605KWFE u1)
(map-set mint-passes 'SPH3E7ZERR8M79K1PSWJP5CJYTCPFSM553DFJGX9 u1)
(map-set mint-passes 'SPH7NJ85RF9YEECNQE7GVGHQRVBARAM2D198FFRE u1)
(map-set mint-passes 'SPHHHHSZK94Z86Y435GVHRSWTRJCQYQHPR5CW00V u1)
(map-set mint-passes 'SPHK8A7P61C6ASWKYDX1PCDX9YA54DKVJN49EXGJ u1)
(map-set mint-passes 'SPHPTBRR3CT52BTJPT927JTYXQECPHEQ83B1MJF3 u1)
(map-set mint-passes 'SPJ1CVRRQGRDEQ4BW4A9HH442KXJ91C8D1NVXD15 u1)
(map-set mint-passes 'SPJTPD9N23RX5XKPWVPQ3WJJ31K7J5VWWNF2D02X u1)
(map-set mint-passes 'SPNP07X25ZZRH4BT2V292BMZAH6SMQA7PAJZQ2E1 u1)
(map-set mint-passes 'SPNSFZW9F88BNKER2Q6PDQ04QVDQBYA0RDYQQP37 u1)
(map-set mint-passes 'SPP2ZRFA66MVD8YR1SF2JBYZBRF6AQT142W80GPR u1)
(map-set mint-passes 'SPPWJMGVFH4PAFVZDZX7J8X16XQMSCVQYWRTMF09 u1)
(map-set mint-passes 'SPQE3J7XMMK0DN0BWJZHGE6B05VDYQRXRMDV734D u1)
(map-set mint-passes 'SPQKDZ8HV2R5VAGKJ60XFMKMY0NXHXFCYEBFQN1G u1)
(map-set mint-passes 'SPSQ7SBJNNYJWP44TS2YZ1192ECWJNW4EQTRB854 u1)
(map-set mint-passes 'SPT6EH5WHMC58YNRKVQ0C1YXYQGR0YHJG19K3GR9 u1)
(map-set mint-passes 'SPTNSDWV7GKHR1F998PGMDWDY2ND8GCNNFBR7K1P u1)
(map-set mint-passes 'SPV2SN7KCS26C6QB47G41DJ44GC60XZB9S57847W u1)
(map-set mint-passes 'SPVB3T6WCR9S4M88QZE3BNJQJ42FR3HXQJFW7Y9H u1)
(map-set mint-passes 'SPVCG9X4ZEGJM520YC8F4XSMXM0AVMY3XY4RQ35E u1)
(map-set mint-passes 'SPW81GRPSDQ3SH5PKV1JHV0N6NFMQ2EQAYHW22QV u1)
(map-set mint-passes 'SPXNG6WC8WYXWE9M8WDDKYM1BF4HZBRW5DZMB38 u1)
(map-set mint-passes 'SPXSBTXZ1AVP337ZT50M6YDKD0H8FEE5BXHTPA1 u1)
(map-set mint-passes 'SPZGN5G4Q7J6APY3RNNYFG055S07TKV0HPKN4CQ7 u1)