use mina_curves::pasta::Fp;
use mina_poseidon::poseidon::ArithmeticSpongeParams;
use once_cell::sync::Lazy;
use std::str::FromStr;
fn params() -> ArithmeticSpongeParams<Fp> {
ArithmeticSpongeParams {
mds: vec![
vec![
Fp::from_str(
"17388788707812278340106653511601894605475912579070132834621611278702208069948",
)
.unwrap(),
Fp::from_str(
"17484584120788581687009266825661802806046812681695930884887739179865612965127",
)
.unwrap(),
Fp::from_str(
"20222273432119919392686413983240325343169175238980369682703494201925192338899",
)
.unwrap(),
],
vec![
Fp::from_str(
"14793820945145615522977558374530426960607001062183458732338387735995846367929",
)
.unwrap(),
Fp::from_str(
"24787707239600295030700826184349996599183995839090051611212698450493462645188",
)
.unwrap(),
Fp::from_str(
"11771148817784101747527405739120145967567678238800527722783086805798857719651",
)
.unwrap(),
],
vec![
Fp::from_str(
"16508716375116042997058036529670318392110322034848187961172707099352209518970",
)
.unwrap(),
Fp::from_str(
"15739116651395406608562600713426271836308703424634565895791987909508466043243",
)
.unwrap(),
Fp::from_str(
"28623605191971738918745661811750738408184674297522199948691317659919248886550",
)
.unwrap(),
],
],
round_constants: vec![
vec![
Fp::from_str(
"1903562405400753576949243515269615285116054102783580876258645693850149702661",
)
.unwrap(),
Fp::from_str(
"12145461980598517942900142457759733122151931961026478643201020186654724736651",
)
.unwrap(),
Fp::from_str(
"14420796192651222913546080713404272156939957726765855389858995038789820001804",
)
.unwrap(),
],
vec![
Fp::from_str(
"21517370503810233496366468547482074588221727989678744286247330878704544316383",
)
.unwrap(),
Fp::from_str(
"15225969289722373268482465496656569076419025051705782716566389303532217084020",
)
.unwrap(),
Fp::from_str(
"8846000659801689151731760047733045550865254271798157362719412362663614394491",
)
.unwrap(),
],
vec![
Fp::from_str(
"18935097269079670283337692690687684251434263151180779624497759807708536797425",
)
.unwrap(),
Fp::from_str(
"11880535611248806296873834922322963716995235558587915595960665294503164390775",
)
.unwrap(),
Fp::from_str(
"4966952290863524466749992685720848103165088080154965644116548363728505924898",
)
.unwrap(),
],
vec![
Fp::from_str(
"5695601123099377308535230161063260357462084030710977307989288026703494805867",
)
.unwrap(),
Fp::from_str(
"19358923941951882694765531912678559430342446235206141930368077372251272883095",
)
.unwrap(),
Fp::from_str(
"23755683990903955379102881242285720263800457546329246011571293009879382037324",
)
.unwrap(),
],
vec![
Fp::from_str(
"4614529323886042491467258281398251320543001635932884238869706056505001561622",
)
.unwrap(),
Fp::from_str(
"18178687842435997804040286122580760454724076239014435481522060920560363791313",
)
.unwrap(),
Fp::from_str(
"28707081058841709750305029757116229949752540572908874123074300632976262675560",
)
.unwrap(),
],
vec![
Fp::from_str(
"26513451653917043248828666298783032866650283517004393405152662808871544852578",
)
.unwrap(),
Fp::from_str(
"637856924048776362122688101401335178593824113300752902740192957438857482880",
)
.unwrap(),
Fp::from_str(
"27061302593749942872613984145427359044280931099730672299593145016397559316854",
)
.unwrap(),
],
vec![
Fp::from_str(
"17086541175064333656429923353437749638367197672441131421818336471076792274417",
)
.unwrap(),
Fp::from_str(
"22378823921446696593158648054751403544895402815949246849930871622932273897262",
)
.unwrap(),
Fp::from_str(
"7471606467058823404243598955192476956109765276588361711436869278415715685555",
)
.unwrap(),
],
vec![
Fp::from_str(
"3928557571078601542767907007995998918860813953786788104700668054202369027920",
)
.unwrap(),
Fp::from_str(
"1622978988680538412469464393021497104205344379488036513691059738730485529384",
)
.unwrap(),
Fp::from_str(
"25348298722272181188944604553143133888199723971524975712225477416979636153809",
)
.unwrap(),
],
vec![
Fp::from_str(
"20022907445604144480168608448347765614919496369114903389791611894930600639457",
)
.unwrap(),
Fp::from_str(
"3481377079329113165496017180069328360206210042097594787790118481438395375457",
)
.unwrap(),
Fp::from_str(
"21166609738526710164626635462319727216177558537946938784205031450271659242855",
)
.unwrap(),
],
vec![
Fp::from_str(
"8455925034386545871718277080905034740388604003477849955924129416748089646116",
)
.unwrap(),
Fp::from_str(
"26773441169691515057846574967585859574582109639578915243928785569726140606553",
)
.unwrap(),
Fp::from_str(
"2913159669517815269065793193229148371685518752834788468451989637044410562890",
)
.unwrap(),
],
vec![
Fp::from_str(
"13733055659842873083929035789685705127937709073081728761593630538541660386631",
)
.unwrap(),
Fp::from_str(
"7094841152246788883784693079790542928345429024501849515338143672220402116718",
)
.unwrap(),
Fp::from_str(
"23335458498693263537039637624930590026964628612174283981996523395533970491788",
)
.unwrap(),
],
vec![
Fp::from_str(
"8323603019831115078884312497677083774960255504588814695508394138083910737764",
)
.unwrap(),
Fp::from_str(
"10889037464529438880594665188490627457838577370305053321795090351671849480580",
)
.unwrap(),
Fp::from_str(
"19741077166253609781036624985094621933484635487186919619811795992181317229193",
)
.unwrap(),
],
vec![
Fp::from_str(
"8667395531522799146020035900615581833701541904060363209924245474697787860767",
)
.unwrap(),
Fp::from_str(
"23480515713546465861699304270258279318295610326421313287700256087428145719346",
)
.unwrap(),
Fp::from_str(
"27665947217093168220707439172668384413890100764912309430345254226832078720314",
)
.unwrap(),
],
vec![
Fp::from_str(
"4639795971462048070973072285594933544611389371813424479637597322647960287645",
)
.unwrap(),
Fp::from_str(
"18948400171613058934992563839850391566413075429250683972497145999530094050320",
)
.unwrap(),
Fp::from_str(
"28279109981622486378191729952830852562479044052286399608321497750394545699625",
)
.unwrap(),
],
vec![
Fp::from_str(
"2092038810157687026205598249212363846030222883362654794505008774922109661877",
)
.unwrap(),
Fp::from_str(
"1794105537573874633098411080527826917947521521262259715828763077454147743552",
)
.unwrap(),
Fp::from_str(
"28398830565043683871884394691026125204053425054457912681111511801642616450943",
)
.unwrap(),
],
vec![
Fp::from_str(
"1473064465334694881231726328414560915880003310324779851459193409409641831424",
)
.unwrap(),
Fp::from_str(
"13921517838484129412715278616815809758789091105166071016229326715660827585214",
)
.unwrap(),
Fp::from_str(
"4389330634029172310373488087578956450630142427385288782494595113779386643702",
)
.unwrap(),
],
vec![
Fp::from_str(
"27122272032648674069752689649732648302114648582621981437921265216529832360222",
)
.unwrap(),
Fp::from_str(
"3288061546803754191885978583730966733886381991277253711650695644030239520860",
)
.unwrap(),
Fp::from_str(
"21341688199305617719670692377730177476913828575425542077698540153025069415671",
)
.unwrap(),
],
vec![
Fp::from_str(
"8218182644930435745666848816651777405577055711696681086133242403956009509291",
)
.unwrap(),
Fp::from_str(
"12459324410302708241422860670946935589758584065477332528893821612381418188320",
)
.unwrap(),
Fp::from_str(
"20727739665318638529185321321383253409564642610127652500624694963112552024769",
)
.unwrap(),
],
vec![
Fp::from_str(
"23892261917575116777187905858809323351280923458863739792394583728503471961761",
)
.unwrap(),
Fp::from_str(
"17683465006569325745513034545571120190469151492225906086935445748635807917924",
)
.unwrap(),
Fp::from_str(
"21870378779613474342041808692670827012911667706358950547255098894249690046288",
)
.unwrap(),
],
vec![
Fp::from_str(
"12506368118150834468930194117868897693463472763327986261447720462304069000570",
)
.unwrap(),
Fp::from_str(
"16363070805461420960870543541744870758454731928475945586355394093468060430399",
)
.unwrap(),
Fp::from_str(
"1943516193735799009739607039743724089512930723510180083535989879731754316273",
)
.unwrap(),
],
vec![
Fp::from_str(
"7129998627870285953220701383518862449554741396274635204771810951731053784770",
)
.unwrap(),
Fp::from_str(
"15664058584028571395004373641450989214161646789967183904969389720357082283250",
)
.unwrap(),
Fp::from_str(
"20552066943271163327442451767659532197126635966059277605534778781484138633139",
)
.unwrap(),
],
vec![
Fp::from_str(
"837384561060063770502319677871011758112768694414166390079328653082931386489",
)
.unwrap(),
Fp::from_str(
"3704263561344746110064913824500321149484804257881233835698811910531316541086",
)
.unwrap(),
Fp::from_str(
"6393900199557481719092294199323547003374571791762662902261426564763652369401",
)
.unwrap(),
],
vec![
Fp::from_str(
"15279200860211060844541067991654350499760515939535039833307994223016429031915",
)
.unwrap(),
Fp::from_str(
"26985260264072804233457332565625452265819057118175712295039599663785867528686",
)
.unwrap(),
Fp::from_str(
"23762344035136554592534657492259843646585644687247859154099686371337251180558",
)
.unwrap(),
],
vec![
Fp::from_str(
"28629412652946773219137169933363498238539857584436327956640824482910132247750",
)
.unwrap(),
Fp::from_str(
"28534296835085804577921789342106129297870492252602947746397766207330777800687",
)
.unwrap(),
Fp::from_str(
"7010171840415685376889067428592526835996702763760124252243310579212924906336",
)
.unwrap(),
],
vec![
Fp::from_str(
"15115877507769307865100373437455075067963362433824296860517549375604509199077",
)
.unwrap(),
Fp::from_str(
"27322038485974585090796976492935612725270747730646246142287058395919972668833",
)
.unwrap(),
Fp::from_str(
"12545303079405384360051990119898298947201962285928865565849006166887510681847",
)
.unwrap(),
],
vec![
Fp::from_str(
"22402229074453220589136435699079429777640817397671403381476785296372580549858",
)
.unwrap(),
Fp::from_str(
"9901365148685926116427078767190546933876050085091579016922595079995750903884",
)
.unwrap(),
Fp::from_str(
"24337498889894620917237382701526353977081850869701385679164276459683148226638",
)
.unwrap(),
],
vec![
Fp::from_str(
"12082441852836765995894129255249968009151939521235506465636962125135332440553",
)
.unwrap(),
Fp::from_str(
"13591394560787149077761220569421990892747904559677202394178297433750401517295",
)
.unwrap(),
Fp::from_str(
"820346578826664446967541661807671907060311534721583510850758219254789063525",
)
.unwrap(),
],
vec![
Fp::from_str(
"24215695518459878742143068844160846527323444039971532300823464386645604087000",
)
.unwrap(),
Fp::from_str(
"13101964695384096763097324862644947302557977695504072497333846057745440467108",
)
.unwrap(),
Fp::from_str(
"24051759082465526600028122824371590042247611846854441985088350490205244474164",
)
.unwrap(),
],
vec![
Fp::from_str(
"14134815818472985968740149708977389980339449561590100111958140232669752667785",
)
.unwrap(),
Fp::from_str(
"15403703790366432688624212690576313146300536172390325431587338971565850239268",
)
.unwrap(),
Fp::from_str(
"3860940122072688789678493869688816836883700739879926728493744350258318418970",
)
.unwrap(),
],
vec![
Fp::from_str(
"25455283782061227089561784456070939721429904550086416675926941481988389611408",
)
.unwrap(),
Fp::from_str(
"26977357393229872205773968079088763115741561597073371811262615331984270947870",
)
.unwrap(),
Fp::from_str(
"24834730534015581468734043243902112857058318830375336906511622322355136736596",
)
.unwrap(),
],
vec![
Fp::from_str(
"27652398859855980013005741036309435387669937475210024717304846274535246837370",
)
.unwrap(),
Fp::from_str(
"16434196447540864286943770626416181484651278178598979685376365171138289731486",
)
.unwrap(),
Fp::from_str(
"7922731384656857738011738126442917481655592952969291616357780117919476015055",
)
.unwrap(),
],
vec![
Fp::from_str(
"15709070462558549336491348992414374370973707720054659786530259503570602246228",
)
.unwrap(),
Fp::from_str(
"28337292776941413201036572795861511102372227244242970132891465942851528836861",
)
.unwrap(),
Fp::from_str(
"25426460061895780663299560424657402107131480564650073175026211502391078663882",
)
.unwrap(),
],
vec![
Fp::from_str(
"2625713925773366883469271869689397545542254691907461055484428506278119836700",
)
.unwrap(),
Fp::from_str(
"18893574847900839380547868476930946750088960440844419973918601764038727814681",
)
.unwrap(),
Fp::from_str(
"766631282190587378177611951477031021550773640264111386671837572118633719809",
)
.unwrap(),
],
vec![
Fp::from_str(
"13137601490246132986137466920796584607886655745019808761526435041805205717317",
)
.unwrap(),
Fp::from_str(
"18259286816093077983468656656237071231169868820742465348544118978069177543570",
)
.unwrap(),
Fp::from_str(
"26757597187175444885193670853080212204940693683428672422895009364630049028206",
)
.unwrap(),
],
vec![
Fp::from_str(
"15653769708758819121178811259026600787053993280353635479680029218091331593417",
)
.unwrap(),
Fp::from_str(
"13419246943959211329987723815853581344931700894862789561848126275923663717128",
)
.unwrap(),
Fp::from_str(
"8246136206295335525843735689248256487311631616664947617631250251488088775292",
)
.unwrap(),
],
vec![
Fp::from_str(
"4648299921946646012251054417595794331655655293458746215060084503543519513637",
)
.unwrap(),
Fp::from_str(
"9743757880994843874328260661480407066979773294827260780036126204020122446689",
)
.unwrap(),
Fp::from_str(
"28848155389668727551633588553511280530765255045419419435004024289027914544446",
)
.unwrap(),
],
vec![
Fp::from_str(
"10709971516224634369084875632690920087873994425819305220522050064040270914692",
)
.unwrap(),
Fp::from_str(
"6406328864104874055055834491697206998962575444374922213291036274060410244732",
)
.unwrap(),
Fp::from_str(
"8609244662654888009367200669994278401918186336049196594307540095574503942361",
)
.unwrap(),
],
vec![
Fp::from_str(
"7941068229552817686752437248744552041703010226226513022642595220249577488302",
)
.unwrap(),
Fp::from_str(
"14600142520093224163990036885240402551895887296526851496250352494620360954106",
)
.unwrap(),
Fp::from_str(
"23081105723211054332615217306201375022785160149300992361133036123950858272161",
)
.unwrap(),
],
vec![
Fp::from_str(
"25145386407108334893663917883742050070744522677607944262416596312572418856110",
)
.unwrap(),
Fp::from_str(
"22415032089702588589943876844173210430005217493899276012184671097877647559690",
)
.unwrap(),
Fp::from_str(
"25794838706252143228475932981269875142662580183382355816219518241697349965126",
)
.unwrap(),
],
vec![
Fp::from_str(
"28280271973628642728204240619577482766879646721263904790314880789683284786153",
)
.unwrap(),
Fp::from_str(
"22931262827100816124759692095131386101929469695656151272643079155600267780221",
)
.unwrap(),
Fp::from_str(
"1565584453094019973482028442040272288669276571682674054524209013569923578826",
)
.unwrap(),
],
vec![
Fp::from_str(
"6176119092619641909755543614365503575755823782036505145363923576352647502270",
)
.unwrap(),
Fp::from_str(
"14718283097048302858008219596481145523858456878760570559346085512848406401803",
)
.unwrap(),
Fp::from_str(
"14026593842054434070610926143877468309529731518748953977793091018486749904942",
)
.unwrap(),
],
vec![
Fp::from_str(
"28204851003893693047702499213921311944599169390101794939028138808109049040591",
)
.unwrap(),
Fp::from_str(
"5016753140288828986502233151126294971871174105161700925754095820220266223892",
)
.unwrap(),
Fp::from_str(
"7973403363737358149457257297277923114511617066406497494746386837087163674642",
)
.unwrap(),
],
vec![
Fp::from_str(
"19072245656175440040557406435572739595903535117323585374950538753629903559860",
)
.unwrap(),
Fp::from_str(
"5895955315480535531190434880350785096314979368725672362470113474967721384904",
)
.unwrap(),
Fp::from_str(
"15361544953620210040531548559776865378252632698543079305928467170054695183446",
)
.unwrap(),
],
vec![
Fp::from_str(
"651504417665181682948041922247515404791725230006382748879704277725664764202",
)
.unwrap(),
Fp::from_str(
"10424974975578578024653985758412888912364191430425514312351050189523438935518",
)
.unwrap(),
Fp::from_str(
"2704357630034530476415155083392819826297328990599197368573629854494696107510",
)
.unwrap(),
],
vec![
Fp::from_str(
"9967165781104268851556312839513912991882679874086243203063983754479587202683",
)
.unwrap(),
Fp::from_str(
"4521829700958821910734707941695050304452742079173589559101469846854042608545",
)
.unwrap(),
Fp::from_str(
"2998903411973640806805465273398154562735583964536850253848556867756388980285",
)
.unwrap(),
],
vec![
Fp::from_str(
"26429477232785835851298220245960275967938738628597310655820557830242665904855",
)
.unwrap(),
Fp::from_str(
"21678436092012596248378956354730602656351869767989635487409918503988290184483",
)
.unwrap(),
Fp::from_str(
"24063665784074951477368898210440817717884477863516236933384693405846596412482",
)
.unwrap(),
],
vec![
Fp::from_str(
"25430143753711785859579965731150092218728133630080931796591554990359469220658",
)
.unwrap(),
Fp::from_str(
"26815274039242379661454506747661568656069040162204136102861214910454990923904",
)
.unwrap(),
Fp::from_str(
"3430118456678344681897851157335683628162555912328852095953534308373439660104",
)
.unwrap(),
],
vec![
Fp::from_str(
"2981274969203350321903730794067603535094244032208803309667813208952049092596",
)
.unwrap(),
Fp::from_str(
"19651230574896516182887662893630354490594265491835883047458795623880643881162",
)
.unwrap(),
Fp::from_str(
"16094332558630876779073727324702015599602304069749665753669556130114772373413",
)
.unwrap(),
],
vec![
Fp::from_str(
"19601749824025963954313915092665025360520289856101185686338038789042709250125",
)
.unwrap(),
Fp::from_str(
"23327888594672849870327674644151087157611742523569944071966728815429929652938",
)
.unwrap(),
Fp::from_str(
"8116745397777693260858870181009677972224760693455022816265297486527432945045",
)
.unwrap(),
],
vec![
Fp::from_str(
"4137571281002932521130058362546115360865156001608021813820779022979489660619",
)
.unwrap(),
Fp::from_str(
"11761622932288686989130933541784121202686598493467608591293488578255939501435",
)
.unwrap(),
Fp::from_str(
"1477471281573077920490967814842546296206517201272066092463513135414201737665",
)
.unwrap(),
],
vec![
Fp::from_str(
"13213470188615826068959233674301632840131326862016240364178432423050398911829",
)
.unwrap(),
Fp::from_str(
"8292570860382474814437956284198549626305083694280495916838765504191531215719",
)
.unwrap(),
Fp::from_str(
"27752166055295315896861968133714816463396127145387525431061852199916374334174",
)
.unwrap(),
],
vec![
Fp::from_str(
"25286350190750659331352050652212587441953337718070847188880599248224021669632",
)
.unwrap(),
Fp::from_str(
"16498832049600508872577329754971814475950970528852711408876393746284042426939",
)
.unwrap(),
Fp::from_str(
"7392191762292840825729788948558830929865673368941777854236773613330343865068",
)
.unwrap(),
],
vec![
Fp::from_str(
"21249495110129175388076546800063944487064178143642566808220266761214562773750",
)
.unwrap(),
Fp::from_str(
"7465463298790484828954279498789998238969853918772021592217194784214120853718",
)
.unwrap(),
Fp::from_str(
"13946746439585416804412368608158016335742973976921109234593198399138179526861",
)
.unwrap(),
],
vec![
Fp::from_str(
"14793765608310114884548507442019029529042234633561254614180297773338630723865",
)
.unwrap(),
Fp::from_str(
"5228748839064876489771894388718869363423171800475936916385717054387856756818",
)
.unwrap(),
Fp::from_str(
"6229807347296064570491153926273834011507648416709272963104385150388106445223",
)
.unwrap(),
],
vec![
Fp::from_str(
"26042678024105467318614085746031057804729215620050706867703802616290481588552",
)
.unwrap(),
Fp::from_str(
"9053451132804987755572468447657406503881013072149560732536522060099876403552",
)
.unwrap(),
Fp::from_str(
"14110853126804402715907233830338691719977501655861749631604908726533408970320",
)
.unwrap(),
],
vec![
Fp::from_str(
"14288656666085023020088118422129853486594106622284724092353512077848915125114",
)
.unwrap(),
Fp::from_str(
"1212682384116502438654433042071647615118591089203880808333382883873619921662",
)
.unwrap(),
Fp::from_str(
"5988899602387758330558731670436738270751794428407170408962179005119993219587",
)
.unwrap(),
],
vec![
Fp::from_str(
"1434317295830874756899512684995913826508209647433651974750835573907602685329",
)
.unwrap(),
Fp::from_str(
"15203591931895943523011062306208531325016707325495264405003917136727119291747",
)
.unwrap(),
Fp::from_str(
"23086489036620293939736469046064122088358371666195380813522996849945295023336",
)
.unwrap(),
],
vec![
Fp::from_str(
"24105037587019929735298246017974918300824784678105378543277326520108773515634",
)
.unwrap(),
Fp::from_str(
"12189227049757868086225331406747956954270474255091400827432756832961798683570",
)
.unwrap(),
Fp::from_str(
"21952062283147919705092413713671635544216290792441007949439117937492432437237",
)
.unwrap(),
],
vec![
Fp::from_str(
"17041683802932506063779028216158120947310712754022635110675172523772989287677",
)
.unwrap(),
Fp::from_str(
"20042557027275102787522087348982852275244256400725639332062987749821748414919",
)
.unwrap(),
Fp::from_str(
"13492385017578082290900892131214249854374840588907466293618874316679735484809",
)
.unwrap(),
],
vec![
Fp::from_str(
"16869753134138798313943079259853823216757998094193096682584190132057006154113",
)
.unwrap(),
Fp::from_str(
"16799687027512627515219958217734359517253987866039702314209148477371706686085",
)
.unwrap(),
Fp::from_str(
"27812183967136745156253055220651069728071975872515090894475195502138561993819",
)
.unwrap(),
],
],
}
}
pub fn static_params() -> &'static ArithmeticSpongeParams<Fp> {
static PARAMS: Lazy<ArithmeticSpongeParams<Fp>> = Lazy::new(params);
&PARAMS
}